owncloud-archive / maps

:globe_with_meridians: Maps app for ownCloud
GNU Affero General Public License v3.0
42 stars 20 forks source link

show gps data of images #67

Closed v1r0x closed 8 years ago

v1r0x commented 9 years ago

Would be great to have a feature to display images which have gps exif data. And maybe it is possible to collaborate with @oparoz ?

oparoz commented 9 years ago

Could you describe a bit more what you want to achieve?

I'm not even sure what this app does tbh :D

v1r0x commented 9 years ago

Then try it! ;) It shows a map based on openstreetmap and can show several layers (addresses of contacts, gpx tracks (PR), POIs). My idea was to show images on the map base on their GPS Exif Data. Here a screenshot of my current implementation: maps_photos

What I meant with collaboration is, that one can by a click on the picture open this pic in the gallery app and vice versa, if the pic has GPS Exif tags, the user can open the maps app from within the gallery app and show this picture as seen in the screenshot. Hope you got my weird idea ;)

oparoz commented 9 years ago

Got it now :)

I see the following problems:

So, maybe it's best if you pick a simple lightbox script and show the image without opening Gallery?

From within Gallery though, it could be possible to send an array of images with their GPS data to your app when opening it. But every time a user goes from one app to another, it's going to be slow (like going from Files to Gallery), so not an ideal UX. Again, maybe Gallery simply needs to use a maps plugin and show thumbnails on it.

What do you think?

v1r0x commented 9 years ago
People with 1TB of pictures won't be able to turn on the image layer, so there needs to be a way to filter by folder. Do you really want to implement this in Maps? One solution could be to only show images contained in favourite folders, but that still could represent a large amount of pictures

This is really a problem. Yes, setting a favourite folder (or only loading cached previews) could maybe work.

Apps aren't supposed to talk to one another. Per example if next year Gallery has a major update and Maps isn't updated, things could break and you need to start tracking versions and add special switches, etc.

How about an API? I thought OC supports open APIs between Apps (but I may be wrong, though).

So, maybe it's best if you pick a simple lightbox script and show the image without opening Gallery?

As fallback, yes. But imho there is already a really great gallery now and would be cool to use it. How about two Links (<a>open in gallery app</a> and <a>open as popup</a>)?

From within Gallery though, it could be possible to send an array of images with their GPS data to your app when opening it. But every time a user goes from one app to another, it's going to be slow (like going from Files to Gallery), so not an ideal UX. Again, maybe Gallery simply needs to use a maps plugin and show thumbnails on it.

If it is not possible to get a bunch of map tiles + marker position from the maps app I think there is no other way. But would be nice without writing the same code twice ;)

oparoz commented 9 years ago

How about an API? I thought OC supports open APIs between Apps (but I may be wrong, though).

No inter-app communication API I'm afraid. Decision taken at the CTO level.

How about two Links (open in gallery app and open as popup)?

That could work, but I'll let you see how to best implement that with @jancborchardt. You don't need me for that btw, just open the direct URL to the file and the slideshow will start with that picture.

If it is not possible to get a bunch of map tiles + marker position from the maps app I think there is no other way. But would be nice without writing the same code twice ;)

In my mobile apps, all I had to do was send GPS coordinates to the Google Maps API and they were placed on the map. Is the API you're using different?

jancborchardt commented 9 years ago

Apps aren't supposed to talk to one another.

@oparoz this is not true! :) Inter-app communication is very important to us (like the Mail app uses Contacts etc). The point is that it should not be a dependency. So any app should work on its own even when other apps are disabled, but of course can have cool other stuff when other apps are enabled.

oparoz commented 9 years ago

@jancborchardt - Every time proposals are made to help manage dependencies and conflicts, people are shut down and told that there shall be no app dependencies in ownCloud, by design. A rule that apps like mail, contacts and calendar are happy to violate, despite this statement by @DeepDiver1975

Just have a look at the nightmare we have as of today in the area of calendar, contacts and task which "only" share a 3rdparty library.

https://github.com/owncloud/core/issues/15763#issuecomment-94557797

So, it's a jungle out there and people implement their own ways of managing them or to communicate with other apps, but it creates an unstable environment.

It's true that libs which are required to get the app running should live in composer, but apps should be able to register the services they offer so that others can use them, just like what core is doing with search, previews, etc. Offering a REST API is not the most efficient way to communicate between apps.

jancborchardt commented 9 years ago

@oparoz you need to differentiate here.

There should indeed be no hard app dependencies. For example no iOS or Android app depends on another one. A classic example for us is the problem that Tasks depends on Calendar (because of CalDAV, a technical detail not interesting to people).

Soft dependencies though, ideally through APIs, are very welcome and what will make ownCloud even more awesome. Things like the sharing API, the preview API, the Contacts API, etc etc. The thing is that we need to define the proper APIs. :) Otherwise ownCloud would just be a collection of stupid apps which don’t know about each other – which would be kind of pointless, right?

@oparoz I’m sure @DeepDiver1975 can say more regarding that – but just be sure this is not a black/white issue on yes/no to dependencies, because they vary greatly.

v1r0x commented 9 years ago

Ok, let's get back to topic! :)

@jancborchardt what do you think about showing two links on the marker popup? (one for open as simple overlay and one for opening gallery app (if gallery app is enabled))

@jancborchardt @Henni @DJaeger @brantje What do you think about this and #68 in general?

DJaeger commented 9 years ago

How about doing it, like we talked about for gpx files, by showing layer switches for each folder? With that you could minimize the files to load at once and also could simply choose only one daytrip to show. If you are every holidays in the same hotel for example it will be impossible to determine the images location you search for, without a possibility to choose only a part of the images..

DJaeger commented 9 years ago

But here the images should be got recursivly from the pictures folder and be shown in the direct parent folder

v1r0x commented 9 years ago

How about doing it, like we talked about for gpx files, by showing layer switches for each folder? With that you could minimize the files to load at once and also could simply choose only one daytrip to show.

Sounds like a good plan. There should be an option to expand a folder and load subfolders and an option to show pictures (maybe a + sign as expand and onclick as show layers, but maybe @jancborchardt has an idea)

jancborchardt commented 8 years ago

Closed by merging https://github.com/owncloud/maps/pull/68 @v1r0x?

v1r0x commented 8 years ago

yes, we can close this