Friday, October 01, 2010

Reborn Programmer

I am having so much fun with my new phone; not because it is a phone (I hardly make any phone calls), but because it is a computing platform opened up to me like no other since the original IBM PC. Right after I started using them at work, in about 1984, I took a course on C programming. Wow, was I hooked. I would wake up in the morning going over the code I had written the day before and debugging it.I could not wait to get my hands on that keyboard.

When I had a Palm Centro, and had written a program for the PC to calculate satellite "look angles" for aiming our DirectV dish, I dug into the Palm OS info just enough to be able to write and deploy one on the phone, and mainly because I wanted to be able to refer to it while out setting up the dish. I had thought about doing it for my Apple iPod Touch, but I needed access to a Mac or some PC emulators to do it and I couldn't be bothered to figure it out. The Palm OS was easy enough and it worked.

When we switched to the Palm Pre Plus, and I found out the OS was completely different, I was a bit dismayed that I would not be able to just port the code over easily. Now I had to learn a whole new programming language and figure out where to get the compiler and all that stuff. It made my head hurt. But I started looking around to see how hard it would be to get going. If nothing else, I would keep the Centro just to run my app.

Then I got started with the SDK and the PDK and Eclipse and worked with a couple of the sample programs to see what was possible. Before I knew it, I was hooked again. The look and feel of the device was similar to the ipod Touch, but with some differences, and it has a real keyboard. I also got into the graphics capabilities a bit and found an icon maker which allowed me to get really creative. They juices were flowing.

Before I knew it, I had not only written the look angles program, but also had ported over a Comic Reader I had on the PC (although the images are a little small for the phone, I can read them on the go as well as at my laptop), and a couple of new programs I had not conceived of on either the PC or the Centro. I was also looking into the Ares, web-based, WYSIWYG designer and coder that Palm had deployed online. It eliminated many of the "hunt and peck" methods of designing and debugging the scenes in webOS.

Now I was looking for more apps to write. I had run out of ideas for a while and spent some time going back and trying to make improvements to the ones I already had when I hit upon Logan's (my older son) beer database program for the Android platform, "Remembeer". I occurred to me to port his app over to webOS. I asked him about it and he said ok. They had already gotten people asking about doing an iPhone version as well.

So I got an android emulator installed and he gave he the installation package for Remembeer and I started duplicating the pages and the look and feel into a webOS app. I have had to learn a whole bunch of new (to me) stuff to duplicate some of the parts (notifications and Twitter postings for two) and am still working out a few of the more esoteric parts of the app. I figure about the time I get it all working, it will be time to implement some of the improvements he will be making to the Android app.

Any way, I love it. I have not had this much fun doing research on a program and working on getting it all right since I added scientific notation and higher math functions to my PC Calc program for DOS and the IBM PC, written in 8088 assembler. I had to pour over library books to find repeating fraction formulas to compute trig and logarithmic functions using the algebraic math available in the PC, pre-floating point calculation hardware. It was very satisfying.