Fishpool

To content | To menu | To search

Tag - English

Entries feed - Comments feed

Friday 3 August 2007

Maemo Mapper and route quality

Finally a comment about the navigation routes. This is not really about Maemo Mapper, because it simply displays routes from Google Maps, but nevertheless the suggestions have at times left something to be desired. How it directly relates to Mapper is in the way it might help make corrections to these routes require less manual effort.

Once the route instructed to leave a regional road to turn on a foot path shortcut; fortunately, this instruction was obviously impossible to follow. A second time the route changed from a steep but drivable hillside road to a dirt track a few kilometers later; perhaps it would have indeed taken us to the destination, but only with a 4WD vehicle, so we needed to backtrack and find another road, not necessarily a trivial exercise in the narrow one-way street Sintra region.

In both cases little could be done about the error at that moment, but it sure would be nice to be able to feed this information back to the route database. Surely the track information would be valuable to at least Open Street Maps if not also Google Maps. I've heard Navteq also use a similar mechanism to improve their own route databases from tracks recorded by users' navigation computers, and this collective track mapping for sure is the future for how navigation will develop.

Wednesday 1 August 2007

"Dad, are we there yet?"

Maemo Mapper has a few displays in addition to the primary map information. It can overlay the map itself with routes, tracks, and points of information, and show the current speed as well as way-point directions over the map. It also has a secondary display of GPS position information, including altitude and compass.

However, it's missing a couple of critical displays; the distance to the next way-point as well as to the end of the route, and an estimated arrival time to the end of the route. The first two are simple to provide, and in fact are available through the menus, just not as a constantly displayed overlay. The third one can be tricky; the travel time may not be included in the route information, or it may be inaccurate. Estimating it from average speed is the other alternative, also vulnerable to errors when travel conditions change. However, providing some kind of estimate is still a useful service to the user.

The readability of the overlaid information is not quite ideal in the challenging in-car circumstances. The blue dot signifying current position is small on the high-resolution display, and difficult to see in sunlight. Making larger and animated (I would suggest a rotating symbol of some sort; keep in mind also the suggestion about scaling its size according to position accuracy estimate) would help. The speed indicator flickers; whether this is due to lack of double buffering or otherwise, it's distracting. Finally, the route direction dialog also changes shape about once per second, sometimes laying out the direction on one line, sometimes needing to place the last word on the next. Not surprisingly, this draws too much attention to it (hopefully not from the driver!) as well as requiring extra effort to read.

Tuesday 31 July 2007

Maemo Mapper map display and UI

As a reflection of my previous description of a smarter way to download maps, I would also suggest that the display of the route would benefit from a slightly more automatic mode. The level of detail to display could well be chosen automatically based on a few parameters, such as current travel speed, distance from the next way-point, shape of the route ahead, and availability of detail maps. I realize the current design has preferred battery lifetime and has been limited by the hardware capabilities; however, these suggestions should not be greatly more demanding of the hardware.

A few such suggestions also come to mind; besides the semi-3D tilted map display I have read the author is considering, a "smooth zoom" function by map scaling would make the detail level selection a less jarring switch, especially when it was automatically chosen. In addition, at least this writer is challenged by having to read routes where the direction of travel is, for example, down-and-leftwards. Visualizing correct turn directions becomes an effort not always easy to afford while having to make quick decisions in traffic. The map doesn't need to be rotated in real time with 360 degrees of freedom to assist the user in these circumstances; simply turning it in 90 degree angles might be sufficient.

That is for how the display works; as far as how the program reacts to user input, a few small changes here and there might make also that better when considering that this is a program used while mobile and outside.

Tapping on the map currently centers the map on the point tapped, or if the tap is on a POI (or very close to it), brings up a small message box with the POI name in it. I would suggest to make tapping always perform the same actions; zoom in on the point tapped, and display POI or way-point data if available. Re-centering should be done instead by tap-dragging a point on the map; a function which currently behaves as if the screen had been tapped in the position where the drag ended and pen/finger was lifted, exactly the reverse of what such a gesture would be expected to mean (try it to understand what I mean).

Zooming out can also be supported; either by tapping on the center of the map (where instead of meaning "center and zoom in" it will mean "show more around this point") or if the tap-drag action covers a sufficiently large area of the display, zoom out to display both previously visible as well as the revealed area. This behavior has precedent in other applications, is quite predictable and easy to get used to (especially if the UI's feedback to the action is made richer by scaling up/down smoothly instead of a sudden 2x scale change. It should also be nicely forward compatible to a new mode if and when future tablets support multi-touch displays.

Downloading routes and maps in Maemo Mapper

Maemo Mapper currently has three methods of downloading map data; the immediate, "show map of current area and detail level", and the two ahead-of-time modes, "download multiple detail levels of this region" and "download multiple detail levels along a route". The routes themselves are also downloaded over the Internet, from a gateway server performing a format translation.

The drawback of these methods is that along practically any route, especially one that takes the user through municipal areas as well as countryside or highways, any one fixed selection of detail levels is either going to be a big download and memory requirement, or leave the user with lack of detail in critical intersections.

I think it should be possible to improve from this accuracy while reducing the number of decisions the user is required to make. The route information contains a rich level of data about the general shape of the route. In particular, there are the way-points and the distance between them, and the route data on a turn-by-turn basis for display purposes.

Just by using the way-points, downloading detail maps on the way-points themselves, and a level of detail relative to the distance when between way-points, is this selection already made not just automatic, but also richer for the end user. By also utilizing the route shape data, detail level could also be increased when the route takes sharp turns.

Finally, if any points of interest fall close to the route chosen, it would make sense to download a more detailed map around that point.

If Mapper is used in the same area for an extensive period, it might benefit of keeping records of the tracks taken (with significantly lowered resolution), and utilize a similar logic to the above for also keeping detailed maps of the frequently visited places and nearby locations. Of course the user is already likely to be able to navigate in such an area without the help of extensive maps; perhaps this information could be augmented with data about where has she tried to access the maps.

Monday 30 July 2007

Maemo Mapper GPS position accuracy

The first thing I noticed when enabling the GPS receiver with Maemo Mapper and walking about for a while, was that the track recording wasn't very useful if you're going in and out of buildings, subways, or similar obstructions.

When in a constrained space such as on a narrow alley or street with high buildings or when the receiver is just warming up, it's common for the position to jump around on the map quite a bit, with a messy result also in the recorded track. Since the GPS receiver can also give an indication of its positioning accuracy, Mapper should take this into account and not treat the position information on the same detail level. I would suggest that the display would show a lower accuracy position as a larger circle and move it only when the new position data falls outside the boundaries of this circle. This would also "average out" the error data in the track record.

Using Maemo Mapper

As I mentioned previously, I bought a bluetooth GPS receiver for the trip so that traveling in Portugal wouldn't need to be a constant peering of maps. Since I feel much more comfortable with things I can tinker with, and because such an alternative to closed GPS software exists through Maemo Mapper, I chose not to purchase a commercial navigation software package at all.

For those unaware of it, Maemo Mapper is a program for the Nokia 770 and N800 Internet Tablets that interfaces with OpenStreetMaps, Google Maps and Virtual Earth to provide an Internet-connected map browsing and navigation package. It depends on (gateway-translated) Google Maps for route information, and otherwise functions by downloading maps to a memory card cache.

This is a pretty cool program, showing what might be the disruptive future for navigation and location guides in a cooperative, Internet-connected world. It's also one of the more usable applications for the Nokia platform. I wish the platform in general was as well designed for its primary purpose as Maemo Mapper is. If a way to share the track records and point of interest data with others is found, I feel this application might become a category definer. Great work by just one author, John Costigan.

We've spent the last week walking about in Lisbon, driving in the countryside hill roads, and navigating around in the Atlantic coast. While I've used Mapper on and off before to consult maps, on this trip, thanks to the GPS receiver, it's finally become a constant companion instead of a curious diversion. With this experience, I've also seen where it currently (in version 1.4) falls short of a perfect experience. As I write those findings down, I will post them here as suggestions.

Google Maps POI

I wrote a tiny Perl program to process Google Maps' new My Maps KML files to a Maemo Mapper POI database (download). This should probably be converted to Python to be easily installed to the tablet itself, but for now I simply ran it on my laptop and then transferred the database over.

Tuesday 24 July 2007

Day in Lisbon

The first thing today, I called TAP groundforce to find out what's going on with the bag. Was answered pretty much immediately by a woman who politely admonished me for not spending until midnight at the airport but nevertheless agreed to find if my complaint had been filed, which it had, and that there was no further sign of the luggage, as was to be expected. At least I got the reference number, after having spelled my name three times to her. Still, talking to her was as of yet the best part of this experience - at least she sounded efficient.

In any event, after breakfast we took off to see the city. I expect Sanna will post photos, so I'll link to those later. Navigation equipment worked brilliantly, despite a lack of tram line information. So, at least on foot and with public transportation it's good. In a couple of days we shall see whether that holds on the roads, too.

After returning to the hotel, again a call to the agency. This time on hold for 10 minutes, but they claim to have located the luggage and that it will be dispatched to my hotel this evening once their flight from Amsterdam lands. Good thing I told them we'd be leaving one day earlier than we are - otherwise they might have kept it until tomorrow morning. We shall see if their predictions hold true in a few hours. But first, a nice dinner and a drink somewhere.

Update: Wednesday morning, we received the bag, all in full order, thankfully. Nice to have all the necessities again.

Adventures in the world of air travel

Finally, safely if exhausted at the hotel in Lisbon. Us, that is, but not one of our bags. Naturally it would be the one with my toothbrush and painkillers to deal with the wrist. Since it seems I can't travel anywhere without an airline misplacing my baggage, I am starting to seriously question the point of packing in the first place.

This time the dubious honor goes to the combination of Finnair (Helsinki to Amsterdam) and TAP Portugal (Amsterdam to Lisbon), and in particular to the handling agency at the Lisbon airport, who managed to make a lasting impression with their total inability to deal with lost baggage complaints despite several employees seemingly dealing with the complaints. We finally left the airport an hour and a half later, having left a notice form but not receiving any confirmation that anything would be done. Sanna is pretty much convinced we'll never see that bag again.

On a more positive note, at least we know precisely where we are, thanks to the Bluetooth GPS receiver I bought at the airport. Finally I might have a use for the Nokia 770 where the built-in software and its limitations make no difference. Maemo Mapper is awesome.

Wednesday 18 July 2007

Acer TravelMate 6292 and Fedora 7 Linux

As I mentioned in my previous note, my previous laptop destroyed its fan last week. Since it had started to show its age in other respects as well and was deemed not worth repairing, I got a new one yesterday -- an Acer TravelMate 6292. This is a Core 2 Duo / Santa Rosa chipset based model, with some pretty cutting-edge technology inside. I'll write down the details later when typing is easier, but for anyone who might be considering one to use with Linux: yes, it does work, quite well in fact, but a bit of tweaking is required due to its very new components.

Update: it's been 17 months since I wrote this post, and it keeps being one of the more popular things in this blog. Time to add some up-to-date detail.

  • Fedora 7 LiveCD didn't like to boot, possibly due to a missing driver (it didn't like my previous laptop's external Firewire CD drive either). It might be possible to work around by changing BIOS settings, but I borrowed a USB CD drive instead. Update: this hasn't been a problem since F8.

  • Otherwise, the LiveCD install experience (including resizing and moving the Windows partition out of the way) was a very smooth one. I hadn't done this before, and was positively surprised. I'm certain Microsoft hasn't made their install this smooth, and I doubt Apple has, either. Much recommended, if you're even a little bit curious.

  • Network-based update post-install no problem using a wired network. All in all, the install took about 1 hour to move Windows partition, 20 minutes to install Fedora, and 30 minutes for it to load updates afterwards (this was surprisingly slow for some reason).

  • Wireless (Intel Wireless 4965 A/G/N adapter) driver (iwlwifi) was preinstalled, but the required firmware wasn't (the package only included firmware for the previous model, 3945). No problem, just install iwlwifi-4965-ucode from ATrpms. Update: Intel has an official wireless site for the firmware.

  • Things which worked without any effort at all: battery monitoring, CPU frequency control, temperature monitoring, wired Ethernet, Bluetooth, docking station, and many other things I take for granted. In fact, the machine was entirely functional save for the missing wireless adapter microcode straight off the LiveCD, and all that I did for it was to improve performance past the "functional" stage.

  • Display was a bit fuzzy, and 3D acceleration didn't work. This was because the preinstalled Xorg Intel driver v 2.0 includes only basic support for GMA X3100. Both problems disappear by installing a new kernel (for updated 3D/DRI driver) and Xorg 1.3.0/Intel 2.1.0 (for 2D etc), ie by running this command: Update: Display has worked perfectly since F8 and the Intel driver keeps improving in capabilities and performance
  • Both suspend-to-ram (S3) and hibernate-to-disk work fine, once the usb drivers are forced out of the kernel prior to suspend. Create /etc/pm/config.d/unload_modules with one line:

    SUSPEND_MODULES="ehci_hcd ohci_hcd uhci_hcd"
    
  • Update: The Crystal Eye webcam (USB ID 064e:a101) works using the linux-uvc driver, which needs to be installed from source (download, extract, make, make install) is included in the kernel since F9. Make sure you configure each application to use V4L2 instead of the old V4L API. For example with Ekiga, choose V4L2 instead of V4L in the configuration druid or in the Video Devices Preferences. Same goes for anything based on GStreamer.
  • Something still to do about audio, apparently common to many Santa Rosa laptops and the ALSA Intel HD Audio driver, at least ones which use a Realtek codec. Notes from Ubuntu might guide you along - me, I'll try again after my vacations. Perhaps someone else will bother to fix this one. :) Update: Sound playback as well as recording work - though the recording quality isn't quite what I would expect from a "noise cancelling" three-mic setup the hardware has. I never tested it under Windows, though, so I can't say how close this is to intended quality.

  • Haven't tried to use the fingerprint reader (USB ID 147e:2016) yet, the biometrics libraries required look a bit overwhelming to install. Update: this is still not out-of-the-box functional, but the ever-industrious Bastien Nocera has recently packaged libfprint and fprintd for inclusion in Fedora 11. I've tested those packages, and they support the hardware - not quite ready for end-users, though.

Monday 16 July 2007

Ping

It's again been a while since my previous post. First, it was a feeling that there was nothing worthwhile to write about, at least without having to spend hours thinking about it first. Then I had a biking accident and fractured my left wrist, leaving me rather handicapped as far as computers are concerned. Thanks to Helsinki's Rakennusvirasto for that - it would be nice if the few bike lanes weren't mined with road construction asphalt gravel.

I even entertained the idea of switching to a Mac in order to get decent speech recognition software, given that my laptop blew a gasket (well, busted its fan, at least) the day before. No, that won't happen though - an experiment with one proved that Macs are still, despite their aesthetic appeal, really excellent at infuriating me with their UI. I'm sure that's all fault of my own idiosyncrasies, so no comments of that, please.

A few other things of note have happened. We're closing the end of the latest Habbo update rollout, with this version bringing various usability improvements all around, from password retrieval and friend invites, to a more scalable web store interface. In Finland we're already pilot testing the next version, which has more noticeable new features: tagging and related search functionality and music player on the home pages to mention two. However, since I'm such a metrics-driven incremental improvement freak, to me the most significant events are the rollout of Google Analytics measuring (it's such a nice tool, even if with our traffic it becomes a bit sluggish), and how we're (once again) speeding up our update cycle to twice its previous velocity. I think this is now the third time we do it, and likely the trend will continue at least until we've reached a daily upgrade frequency.

Speaking of Analytics, the updated "social networking" version of the Habbo UK front page showed interesting changes in behavior, with some key metrics producing double-digit improvement. Something must be done about those ads, though... Comments on that vs the other Habbo sites' front pages welcome.

Finally, the corporate Sulake site was also updated last week. I may join the group posting notes in its blog as well, but that will happen after the holidays. Fractured wrist or not, I am looking forward to a few weeks offline. Too bad this forces our vacation plans to a more passive mode - but I suppose that will finally let me catch up on a lot of reading.

- page 1 of 3