OpenCache

Recently I finished my previous project, a Yammer mobile client called Mash. Actually I didn’t really finish it, it’s more like stuck. I published versions for Symbian^3 which is now available in Ovi Store, and also published a version for MeeGo Harmattan, which is still in Q&A while writing this post. N900 has totally lost my home wifi which makes testing the software with it quite challenging. Also for any fun, a friend told me that even reflashing don’t take the problem away, something to do with mac addresses. I could port the client to upcoming Qt Lighthouse Android port, but I don’t own any Android devices, probably making that target secondary for now. Only thing to do is to port the app to MeeGo tablet and netbook which might take a day or two.

It starts to get me feel a bit happy, but empty when the project is almost ended, and now I needed to come up with something else. For a big while, I’ve been pondering of starting a new open source project, and that’s where my new hobby, geocaching did me a favor. I noticed that geocaching.com has a comprehensive list of  utilities provided for geocaching by different parties. Even if the list was long, I noticed the absence of support for Nokia devices there. They are serving the masses from their perspective, which usually means support for iPhone, Android and BlackBerry, are there others? No, at least that’s how some people think. I decided that this is a good spot for me to check in. I investigated a bit and found out that geocaching.com is soon going to publish an API, which is already in beta testing and used by the apps mentioned earlier. Using those API’s will also provide a seamless (paperless) geocaching experience for those users who knows that there exists also Nokia phones.

Even though the API is not available yet, I already started a project: OpenCache. Naturally it’s going to be done with Qt, since it nicely gives the possibility to port the application to multiple platforms including MeeGo tablet & netbook, MeeGo Harmattan, Maemo, Symbian^3, and possibly Android. It’s going to utilize QML in the UI as much as it can, and the rest is going to have Qt/C++ under the hood. I already took a closer look at Qt Mobility’s location / positioning API and found it very suitable for this mission. OpenCache can be targeted for every mobile phone which runs Qt and has GPS. They are not too strict requirements, are they? I even saw someone saying at IRC that Qt Core is already ported to iPhone and porting Qt Gui is in progress, so here we come! More targets, yummy targets, omnomnom.. Ok that’s enough, even getting ports for N9, N950 and newest Symbian phones would be cool enough for me.

So, what is it, the OpenCache, it lot depends how broad will be the geocaching.com API. Because I have no idea about that yet, we’ll play how it would go, if everything I need would be available:

1) The navigating, the most important feature of the app would be navigating. This could be actually do without the geocaching.com API, so it’ll be done anyway, even if the API will never be published. I’ve previously used which ever Maps application comes with my Nokian. It’s very good for what’s it meant for, driving with car, or walking. Well, walking is what we need also in geocaching, but hey, Maps thinks you should walk in the sidewalk, not in the forest! It works very fine until you go out of track, and it’s very difficult to find precise coordinates, especially when the update interval of your current position is very long. That’s where own navigation system will come handy. The idea is also to combine a compass, I think most of the middle and high end phones has it built in. The map view would update your position with a smaller interval and also will show an arrow like guiding with a  distance to find the precise place set by coordinates.

2) The cache locations. At the moment,  I haven’t found a way to save landmarks to Maps’ favorites other than inserting coordinates by hand. Also noticed that one of my test platforms can’t even do that simple task decently. The format available from geocaching.com is .loc which seemed to be xml based format, simply offering cache name, coordinates and unique waymark identifier in the geocaching world. Coordinates were already in NMEA standard format which Qt also uses in its positioning classes, so no conversion needed there. We just need to offer a simple way for user to download cache info to the device and for use of our OpenCache app. Very probably the API will provide a nice and simple way for doing that, but if now, they can be even now downloaded from the site, one by one. Some nice categorized folder system would be needed to have easy access to caches of users choice.

3) Cache logging. When you find/not find  a cache, you need to log it. Also if you grab a Travel Bug or Geo Coin with you, or drop either of those to some cache, you need to log it too. Our mission is to provide simple and nice UI for logging these things quickly and painlessly.

4) User info, this is not mandatory content, but would be nice if user could see his stats. Depending of the API, all info available through that could be shown to user.

5) Proposed content: Mystery Helper. Some caches are so called Mystery caches and there are some math, equations and multiple coordinates involved, which needs some paper to solve at sight. It would be nice to replace the paper and create a helper utility to manage the different parts of the mystery, and solve the final coordinates with user given data. This tool would be totally extra, but if everything else is together, it would be nice bonus to provide it on top of the basic tools

I think those were the main points of the idea. For most of the graphics, existing icons would be utilized, or atleast they are kept recognizable, since they are already almost “standardized”  in the world of geocaching.

Oh, and did I forgot to mention it’s gonna be free.. Yeah I did, but have to say it again, just in case. The existing apps for iPhones and such were paid apps, and what would be nicer we could offer from the homeland of Nokia, for users of Nokian phones, free tools to make moving outside more fun.

Where it begins

Some time ago I started a new hobby, geocaching. Probably most of the people at least know the activity or has been actively geocaching for some time already. Well, I haven’t. I have though heard many of my friends in IRC doing it, but I haven’t bothered to look up what’s going on. Who know me well, know also that I’m an inside person. If no one is taking me out for days, I will be splendidly spending the whole time inside programming or wasting time surfing through the net or babbling something on IRC. Lately I have noticed that this can’t go on forever, my physical health as an IT worker will suffer too much for this lazyness. Actually it’s not only lazyness, there’s too cold at winter and too hot at summer. When the temperature is right, it’s pouring rain. Besides, I don’t like pointless walking which only makes my feet ache, since they are more used to be resting comfy on my footstool while I myself am sitting comfy in an armchair located in front of my screen. When combining all this whining one can imagine why I needed a new hobby which will remove the pointlessness of being outside.

Few days I spent more days inside thinking what can make me motivated enough to go out. One day I remembered the people being enthusiastic about geocaching and I decided to find out what it was like. I registered to geocaching.com which lists all the caches all around the world and soon find out there was a few caches in radius of 500 meters from my home. There was no excuse for not trying to find one. First I was caught by a heavy rain, but I didn’t give up and continued looking up until the first cache was found. The first cache place was a good for starters because it was middle of a small woods and away from people sight, I could search in peace, no one laughing or pondering what am I doing.

The first finding made me feel so pleasant I wanted to look for another one too. It happened to be that we (me and my fiancé) had planned a trip to Yyteri by motorcycle and I was so excited that I checked, just in case, if there was any caches near the target. There was! One micro sized cache, in a very public place, middle of Yyteri sands. The cache was found easily, but logging it was hard, too many people wondering what am I doing, sitting there beside a trash can… I just tried to look not suspicious.. Nothing to see here, you know.

Anyway, it’s starting to get late, and I’m still babbling about my first geocache findings here, need to stop now. I was originally about to write about my next project “OpenCache” which will give me (and hopefully others)  some missing utilities to support my new hobby. Since my introduction to the subject got out of hands, I’ll introduce the project agenda in a separate post.