I wasn’t able to find a map authoring software for Pocket PC that supports routing information. As a result, I re-visited the idea of writing my own. I thought that creating the routing algorithm would be the main challenge. I made a deal with myself that if I was able to write a suitable algorithm, I would buy myself a Pocket PC. The rationale was that if that problem were solved, there is no reason why writing the software would be impossible.
So, it looks like I will be getting myself a Pocket PC. After all, I am learning to program for things. Getting a device costs me a few hundreds, attending a course would cost me several thousands.
My plan for this week-end is to learn enough of VB.NET to program this. I choose VB.NET for the time being because 1)there is support for the Pocket PC platform and 2) there is an VB.NET API that exists to get data from the gps and 3) it is quite easy and VB.NET is now pretty object oriented. Long term though, I don’t know if I will keep it in that language. It would be pretty cool to do it in Java if there is a version of Java Virtual Machine for Pocket PC. Java has a 3D graphic API, You see where this is going? A 3D navigation system, now that… But I am getting way ahead of myself. Gosh, I haven’t been so excited about programming for a very long time.
VB.Net would not be that simple if I did not know some vb and Java. It is just amazing how much they ripped off from Sun’s programming language. Basically VB.Net is a kind of simplified Java with some odd VB syntax here and there. It is not a politically correct thing to say, but I rather like VB.Net and Visual Studio.Net. Perhaps I should try to find a similar IDE for Java. Whatever vi freaks might say, a good intuitive visual IDE (e.g. definitely not vi) makes a difference. Sure I can code with DOS edit or Notepad, but why would I? It is funny because I study Java for some time, but hardly ever practiced it and now, with VB.NET it all starts to really fall into place. At first sight, it sounds neat that you can use a variety of programming language to program for the .Net environment, however, VB.NET and C# are so alike, I don’t know why they bothered.
Many, probably even most people hate programming. This is just a sign that they are healthy and sane. It is intrinsically frustrating, yet, at its best, it is quite an addictive activity. The thing is that, it always looks like you getting so pretty damn close. Just one more try and perhaps…
At last, I did it! It took me an embarrassingly long amount of time, but it works. I got a program that calculates the approximated shortest path between two points based on a map. There is still plenty for me to program: to get the information in a db or file, to write another application to simplify the measuring and georeferencing of Kabul’s image map, to graphically display directions and last but not least to use gps information.I am thinking that perhaps I should be ambitious for once and try to write a software of commercial quality. It is not the first time I work on a project that has a commercial potential, but I have never carried this through, in part, no doubt, because I am not that great a businessman.
But right now, I deserve a break. I am not sure how to reward myself. I am going to get some easy to watch DVD and to chill down a bit.
I got myself some movies and some software (various dev. tools including JBuilder Enterprise and Oracle 10g). Unfortunately, when I got home the DVD player died. It is pretty bad because it is not even mine, it is a loaner. I may end up having to buy two dvd players: one for the house and one to replace the loaner that broke. Shit, that’s really expensive. My eyes are too tired to read. I’ll have a nap instead…