DSmaps to go open source(-ish)

Monday, 22nd September, 2008

I’ve decided that I’m just way too busy with everything else in my life to do justice to DSmaps. The main difficulty, if I’m completely honest about it, is that because my day job involves writing a lot of code, the last thing I want to do in my spare time is write more code. I’ve also got a young family and a very time consuming sporting interest.

The obvious solution therefore is to let others take the reins. However, I’ve never been involved in the delivery end of an open source project before so I’m looking for suggestions on how best to do this. In the interests of QA I’d ideally like to maintain some sort of ‘editorial control’ over the project – even this is just to control the domain name and this blog. Please shout with your thoughts…

Next up for DSmaps

Tuesday, 26th February, 2008

From comments posted to this blog, as well as discussion in various forums elsewhere, it seems that the top three most-requested features are:

  • Search by placename, i.e. integrated geocoding.
  • Pre-fetch of the map tiles for a particular location to allow offline viewing.
  • Ability to pan and zoom using the stylus.

I propose tackling in this order and I’ve started looking at the options for geocoding. I’m currently leaning towards a web service provided by www.geonames.org. It seems to be comprehensive, fast, and totally free. One slight problem though is that when it returns co-ordinates for a place, it doesn’t suggest an appropriate zoom level for a map. I’m thinking of just guessing the best zoom based on the type of place (i.e. street, suburb, city, region, country, etc.) and the population, if available. But this isn’t always going to work very well so if anyone has any better ideas, please shout!

Some users continue to report file system corruption. Sure, this could be caused by something like a buffer overrun in my code, but I really don’t believe that it is. I have been using DSmaps for weeks on my R4DS, and in the last few days I have supplemented my test hardware with a second NDS and a CycloDS card. The plain and simple fact is that other than the issue with the creation of the top-level folder on FAT32 that was fixed in 0.2.1a, I haven’t got a sniff of file system corruption. I know however that a number of significant bugs have been fixed in libfat over the last few months, which I will incorporate into DSmaps as soon as the source is buildable from SourceForge. For the record: I’m absolutely not bagging libfat here in any way! It is an incredible piece of work, without which the homebrew community simply wouldn’t exist.

DSmaps service release 0.2.1a

Wednesday, 20th February, 2008

This is a service release to address the file system corruption problems that have affected a very small number of users in recent days. You can download it from here. Two changes have been made:

  1. I have fixed a bug in the library that DSmaps uses to interact with the file system on the microSD card. At issue was a fairly obscure detail in the FAT file system specification, which results in the ‘rule’ for top-level folders being subtly different to other folders. The bug only affects the FAT32 variant of the file system. Judging from comments I’ve received and postings in various forums, this bug seems to have affected other homebrew projects too. So I’ve passed my fix to the maintainers of the library and I guess it may be included in their next release. That’s up to them.
  2. In getting familiar with the FAT specification, I’ve realised just how incredibly badly it accommodates long file names. I had no idea what a nasty hack it is. And supporting this hack adds considerable complexity to the file system library that DSmaps uses. All this complexity is completely shortcutted however if file names follow the ancient MS-DOS “filename.ext” pattern. As a result, I’ve changed the naming scheme for files in the tile cache so that they do just that. The upside for DSmaps users is better performance, less space used on your microSD card, and far less complexity to go wrong. The downside is that any files already in your tile cache will be silently ignored once you install this service release. It might be better to completely blow away your DSMAPS folder and start again.

As a service release, I haven’t made any other changes to DSmaps, i.e. there are no new features to play with. But now that these file system woes are hopefully behind me (it has taken two nights) I can get back to working on release 0.3a. Expect to see that in 2-3 weeks, and please keep those comments coming!

DSmaps 0.2a released

Friday, 15th February, 2008

Welcome to the first public release of DSmaps!

Download DSmaps-0.2a.zip here

Please see the Getting Started page for info on how to use DSmaps. This is just an initial alpha release to get some feedback. The core of the application is working pretty well at this stage and is quite stable. So you can pan and zoom to anywhere in the Google Maps world. And there’s a rudimentary ‘home location’ facility to save your preferred starting location. But as an alpha release, it doesn’t have all functionality in place yet – not even close. The lower screen is really just a debug console window. See the Future Plans page to get an idea of what I plan to add before I’ll allow myself call it version 1.0.

Edit: changed link above to point at latest release.