Halfway to vespucci 0.9.7

Posted by SimonPoole on 6 August 2015 in English (English).

I’ll be missing this weeks hack weekend in London with the topic of “mobile development”, unluckily it turned out to be on the one weekend this year on which I really coudn’t find a way to attend. In any case I wanted to at least give an update on how far I’ve progressed with the work on vespucci 0.9.7 which is scheduled for release early in Q4.

From a development perspective I try to get stuff that involves major internal changes done as early as possible in the ramp up to a release, for the obvious reason that we then have enough time to find issues in completely new code.

For 0.9.7 the big refactoring has been in the Notes code which in prior versions has been online only (you needed to have a working network connection and any changes to the Notes had to be committed immediately). I’ve reworked the whole subsystem to work more like the way vespucci handles OSM data: you can download Notes for an area manually or using a auto-download setting, work on them, save them locally for uploading at home or upload them immediately. And on top of that the same mechanisms support Osmose bug reports.

A further long time enhancement suggestions by our users was to support translated presets, for both technical and licence reasons we can’t fall back on the work that has already been done for JOSM (vespucci uses JOSM format presets) and I ended up doing it rather different way and using the GNU gettext format for holding the translated strings (there is a long and boring story why the Android i8n system can’t be used). The other preset related thing requested was a search function, which with the translated presets will work with those languages too.

As you can see the search seems to be a bit too fuzzy right now and will need some further tuning (some of the fuzziness is due to searching both in the original preset names and translated ones).

Back to the hack weekend and more interesting stuff. The current build of 0.9.7 contains substantially better support for generating notifications (on your phone and on any attached android wear devices, see my last diary entry) and includes support for Osmose bugs. This is fine where I live but in high error regions will potentially swamp you with notifications, some of this can be avoided by filtering the Osmose bugs, but some kind of distance vs. seriousness filter would likely work best.

The other hot topic is voice support: the current build has an experimental “pure voice” interface that IMHO doesn’t really make a lot of sense and goes against the basic philosophy of vespucci that you should nearly never need to fix data after entering it on the road. What seems to work far better is a hybrid approach that I’ve built: mark the position where you want the new object (as always in vespucci with a long press) and then use a voice command to actually select what you want to add.

Long press:

Press the microphone:



This works better than expected, particularly for names that are in the name suggestion index. Naturally likely one reason this works well is because googles voice recognition works better with well known name and terms.

If you want to play around with the current build (and please: feedback is welcome), as always it is located on google drive

Comment from mvexel on 21 October 2015 at 13:32

I haven’t used Vespucci in a while – no Android device – but it looks like you made some great progress with it! Congratulations.

Cool that it shows Osmose bugs now. Wouldn’t it be interesting if Vespucci could show MapRoulette bugs also?

Comment from SimonPoole on 21 October 2015 at 18:06

Thanks mvexel.

Wrt MapRoulette the Notes/Osmose code was written with an eye to including further services with similar workflow, from that pov adding MapRoulette wouldn’t be an issue. However you would need a public API in some form (likely returning all tasks from all challenges in a bounding box and a call to update the state of a task).

Login to leave a comment