posm / OpenMapKitAndroid

http://openmapkit.org
BSD 3-Clause "New" or "Revised" License
128 stars 38 forks source link

Control Panel UI #51

Closed hallahan closed 8 years ago

hallahan commented 9 years ago

Currently we have 3 separate buttons in the action bar of the map to show a) basemaps, b) OSM Downloader, and c) OSM file chooser

There should be a Control Panel with tabs to interact with these settings.

dalekunce commented 9 years ago

+1 for this feature. Ideally we have one button and the same menu is activated by the generic android settings button that works in ODK.

dalekunce commented 9 years ago

Anyway we can get this into the Dhaka release. The 3 buttons is really confusing and is causing a lot of usability issues. Ideally we can roll this into one button that opens a panel. For simplicity and consistency I would use a sandwich button.

hallahan commented 9 years ago

Android's tab UI out of the box is bizarre. For normal tabs, we either have to make something super complex like we see in iosched, use depracated tabs, or use tabs out of the box that behave oddly.

I found a simple 3rd party library that gives us tabs that behave like tabs in the Play Store. I'm dumbfounded that the SDK doesn't just have tabs like the tabs in the Play Store.

Tutorial https://guides.codepath.com/android/Sliding-Tabs-with-PagerSlidingTabStrip#install-pagerslidingtabstrip

The Library https://github.com/astuetz/PagerSlidingTabStrip/blob/master/sample/src/com/astuetz/viewpager/extensions/sample/MainActivity.java

hallahan commented 9 years ago

@dalekunce - I'm looking for some guidance on design of the Control Panel.

The following are some exploratory comps from Naomi fleshing out our ideas on how to set up UI in here:

rc_osm_controlpanels1

rc_osm_controlpanels1-1

Right now I'm getting into the weeds of creating ListFragments, somewhat along the lines of what you see here (a screenshot from the S3):

screenshot_2015-04-25-00-51-16

hallahan commented 9 years ago

Getting into ListFragments, it turns out this is a pretty deep thing in Android UI design. I'm thinking about a clean way to have the actual list items have a unique layout, something along the lines of what you see from Naomi's comps.

Right now, the download button simply gets buildings and roads from the Overpass API. My thought is that when we do a download for a given BBox, perhaps it should do a set of separate Overpass queries for a given category. I'm thinking Sim City 2000 here... You can turn on any combination of buildings, roads, administrative boundaries, etc...

My thought is when in the Download OSM tab, we pick a name for our download, and in reality, it downloads 4 or so XML files for each of the given categories we care about. Does that make sense, or am I going in the wrong direction?

Then, rather than it being a single checkbox for each given layer, we could have several buttons to toggle on whatever category of OSM data you want to see on the map.

dalekunce commented 9 years ago

You are going in the right direction with the roads/buildings being separate layers. We might want to have a toggle that allows the user to define the layer to download or to combine them into one layer.

I like where you are going with implementing Naomi's design. I do like being able to set the name of he overpass file.

Keep going down the path you are on I like it.

hallahan commented 9 years ago

I'm thinking maybe we should always download separate OSM XML files per "category", then we can have a global toggle in the layers panel. I figure, we allow the user to choose where their "excerpt" is going to be, but we should get all categories when doing a download.

toggles

With this UI, under the hood, you would name your "exceprt", and the following files would be downloaded:

DaleFancyDhakaExcerpt_roads.osm
DaleFancyDhakaExcerpt_buildings.osm
DaleFancyDhakaExcerpt_other.osm

Some Other Place_roads.osm
Some Other Place_buildings.osm
Some Other Place_other.osm

Three discrete Overpass queries downloading in parallel.

I'm not sure what categories make sense yet. There is a lot of demand for POI support, so one category could be that. Other categories could be water, admin boundaries...

mberg commented 9 years ago

Just want to echo omk is really limited without being able to click on a node or poi.

On Saturday, April 25, 2015, Nicholas Hallahan notifications@github.com wrote:

I'm thinking maybe we should always download separate OSM XML files per "category", then we can have a global toggle in the layers panel. I figure, we allow the user to choose where their "excerpt" is going to be, but we should get all categories when doing a download.

[image: toggles] https://cloud.githubusercontent.com/assets/556367/7330868/1bfb7306-eaad-11e4-9be2-6dd957e0754d.png

With this UI, under the hood, you would name your "exceprt", and the following files would be downloaded:

DaleFancyDhakaExcerpt_roads.osm DaleFancyDhakaExcerpt_buildings.osm DaleFancyDhakaExcerpt_other.osm

Some Other Place_roads.osm Some Other Place_buildings.osm Some Other Place_other.osm

Three discrete Overpass queries downloading in parallel.

I'm not sure what categories make sense yet. There is a lot of demand for POI support, so one category could be that. Other categories could be water, admin boundaries...

— Reply to this email directly or view it on GitHub https://github.com/AmericanRedCross/OpenMapKit/issues/51#issuecomment-96117385 .

dalekunce commented 9 years ago

You can click on existing POIs. The problem is that most POIs that we would want to add data for are not in OSM yet. Thus we need to create the point which is a little funky in the workflow.

hallahan commented 9 years ago

Pull requests are always welcome 😉

dalekunce commented 9 years ago

@hallahan is this sitting unfinished?

hallahan commented 9 years ago

Yes. Note: I want to use the newer material design android lib. Custom list items are easier to setup this way, and it's pretty.

hallahan commented 9 years ago

http://android-developers.blogspot.com/2014/10/appcompat-v21-material-design-for-pre.html?m=1

https://developer.android.com/tools/support-library/features.html#v7-recyclerview

dalekunce commented 9 years ago

material design sounds great to me.

hallahan commented 8 years ago

We want to think differently about this now that we have a deployment paradigm. I can sketch up a few ideas. I think we should meet over how we want to do "deployment UI".

I think the deployment UI will replace this concept.

hallahan commented 8 years ago

I have built a Deployments workflow and UI that replaces this need. #122