Performance and usability are critical to successful mobile apps; this webinar shows you how to improve both when creating a location-based application for Series 40 phones. The webinar discusses techniques and architectural choices you can use to minimise the latency of your application when combining the Nokia Maps API for Java ME with other web services. Understand the correct use of the API, and the pitfalls to avoid, through the discussion of real world examples of web services providing KML and JSON feeds. An in-depth discussion of how to increase the complexity of information displayed without compromising usability by using custom overlays is also included.
http://www.developer.nokia.com/info/sw.nokia.com/id/6bdf62e2-c739-4c29-bd9f-ddf8455f563e/JavaME.htmlFaçade Pattern - hides all the “plumbing” code - the low level connection calls, image manipulation etc. leaving a simple and consistent interface so you don’t need to reinvent the wheel.
Does all the hard bits so you don’t have to bother.
Typical Screen Size 320 x 240 pixels, 2.6 inchesAppropriate Map
Scale Bar, tool tip animator
Typcial Multi-tier architecture.MIDP – Good user experience but ….. …..Network connection setup is slow.Data rates are slow.The processor is slow.Memory is scarce.Because of these constraints, MIDP client applications should be designed to be as small as possible. Do as much as possible server side.
The “What” and the “Where”
The associoation is probably better implemented as a Map Component.
Note that the SAMEDATA can be easily displayed in a multitude of ways.UX design course stated that.GIVE THEM THE OPTION
Static dataHow dynamic is your dynamic data?For an application to remain relevant you need to be able t1) On device:2)How dynamic is your dynamic data?Since maps are not offline will require a web connection anyway
in-app purchasing
JSON used with WEBsites e.g. JavaScript will typically consume JSON feeds – use for cross platform.XML
40.0191219,-105.2746654 - Where does this place me? I’m apparently on 16th Street in Boulder, Colorado, USAArbitrary names for elements.
The title of this slide is slightly misleading as the Display bit has already been covered previously (mainly basic maps webinar)Why do hard first - The discussion for the next couple of slides serves to show the purpose fulfilled by an on-board KML parser.
Parser will read ALL the data first and then start processing.DEVELOPER will need to know data structure Will vary app to app.e.g. that a geo contains a coordinates which is an array.Also Need to know the keys of all the items – re-implement for each app.
SAX not DOM – reduces memory overhead, but can’t jump around the fileNeed to read the whole tag – tag before processing. Could use this to deserialize data
Benefits of KML – everything XML has plus well defined Geo-based structure. In common use. E.g. Earth Viewers.See benefits of Mobile Optimized on screen –compare web and mobile screens – mobile less cluttered and clearer.Ensure Icons are a minimal size 9x9 pixels.Tooltip here is non-standard – give minimal info prior to details. Avoid key press. Man City – nokia blue will be default.
Same as the XML Example –just that the tag names have changed. Well defined NAMESPACE We are still in Boulder Colorado lat/long alt
Use features to associate non-geographic data. Extended Data is a Map ObjectUse Geometries to define the Where on the screenUse Styles to alter the look-and- feel (StyleMap can do highlighting). Styles are MORE EFFICIENT when loading data than Inline Styles,.
parseKML also handles URL connection.Document, Feature,PlaceMark– every class within the kml package have same name as associated KML element (Means there are two POINT classes.)parser.parse(getClass().getResourceAsStream("/premiership.kml"), this); obtain data from bundled resource.createResultSet can also Scale (if necessary) – if you have control do this server side, avoid overhead.
The MapContainer from the ResultSet separates the View of the data on the MapDisplay from the underlining Data ModelAfter 3) you will get markers on the map. They won’t do anything though When d
Why bother? – could use alternate maps – e.g. small text “Standard Web” versions.Easter Egg maps – e.g. Low Glare “Night Mode”. Recommendation – have a fallback.
e.g. Weather, traffic sales data.
MapTiler.org has a useful tool which explains various url addressing systems.Niothing wrong with providing small tiles and expanding them to fit Keep data overhead a munimumConsider adding a MApComponent which overrides paint to display small tileo