Amazon.com Widgets
Feed on
Posts
Comments

Smartphone Based GPS

This week I’m in Minneapolis for a client and I had requested a GPS unit for the rental car as I have no idea where I am and don’t like being lost. Unfortunately Enterprise didn’t have any units, so we were stuck with paper (I say we because my wife and son came along for the trip). My client loaned me a Treo 800w as a GPS unit as it has real GPS in it. I’m not sure if Windows Mobile was what I don’t like about it or that its GPS routing seemed to really suck. Since it doesn’t have all the maps loaded, it had to make a network connection to get the maps; for some reason, it seems to fail to connect despite having a full EVDO signal. Then when it did load the data, it didn’t reroute or announce the turns basically making it useless. My wife was operating the unit while I was driving and I have threatened to run over the unit because of how useless it is. It’s possible we were doing something wrong (I played with it and wasn’t impressed; I don’t think familiarity with Windows Mobile would have helped).

Will the iPhone 3G GPS be any better for navigation? Well, it won’t have all the maps pre-loaded and who knows if it will announce turns. We’ll have to wait and see. I might be spoiled as the GPS in my wife’s CRV is great, but I expect a lot from these devices.

Next time I travel and have to rent a car, I’m definitely buying a GPS unit. I hesitated earlier this year and buying a unit, but I might just get one next week. I can’t even put a price tag on being lost in a strange place!

In my line of work of being a contracting software engineer, I have to take on many different types of projects, some in fields that are foreign to me or touching parts of the operating system that I have never used before. I’ve had to learn a lot to get things going. For example, I learned how to setup and maintain Linux machines (thanks to Phil Karn for helping me first learn Linux for a work project) and learned how to administer a Mac OS X server.

So with my ability to adopt to lots of different projects, I sometimes ask myself, what am I good at? Turns out, I’m pretty good at tackling whatever is thrown at me. I don’t like doing anything half way and do my absolute best to become an expert at something because in many cases, my clients wouldn’t come to me if someone else was already an expert!

Doing a quick search on Wikipedia gives the full quote to the title of this blog entry.

No more mowing

One of the things that has bugged me about our backyard was that the grass was always dead. Now that Aiden, our son, is walking, I wanted him to people able to play on the grass. My parents had EasyTurf installed, and I was pretty impressed with it. So, we had it installed on our backyard. Today was the day it got installed. I’m pleased so far as it is green and I don’t have to deal with it anymore! While this wasn’t cheap, it doesn’t need to be watered (I’m doing my part to conserve water) and has a pretty long life. Hopefully in a few years I’ll still be as pleased with my purchase as I am today.

Yesterday and today I decided to tackle an issue in some of my code that I wrote for a client. This wasn’t a huge chunk of code, but how it worked bugged me and was actually going to affect my current project. This chunk of code, unfortunately was in a kernel extension (KEXT) and is extremely hard to debug. Each time I made a slight mistake, my machine would crash and I’d have to restart. After 4 or 5 times doing things, I decided to get smart and use one of my test machines. Luckily one of the machines already had Xcode on it. Crashes on this machine aren’t that bad as I can work on my main machine when it is restarting and it restarts much faster as I don’t have so much junk on it.

Anyway, after fighting with the code for something like 8 hours, I got it working how I wanted. Yeah! This is one aspect of development that I truly dislike; kernel extensions are hard and even if I was paid more, I wouldn’t want to do them. In this particular case, the kernel extension is very minor because I convinced the client to change their firmware to make it minor. It didn’t take much convincing as the more complex a kernel extension is, the more prone it is to crash (and take down the entire machine), require changes for the next OS update, and cost significantly more to write.

So while I can tackle just about any code on the Mac, will I is another question. In this case, it was worth my time to investigate this issue.

Disappointing car

Last year we bought my wife a new Honda CR-V as her Honda Accord wasn’t going to cut it when our son was born. I stared driving her car a bit and really enjoyed driving it. I started looking the Acura RDX as it was a step up in terms of options from the CR-V and drooled. While I wasn’t looking for a new car, I could dream. After driving my wife’s car for awhile, we soon realized that it was a bit small once you pile in the baby stuff and that our next car might have to be bigger. My Toyota Highlander is a little bigger, so it will work fine when we need to pack in more stuff like Aiden’s wagon.

However, I still look at new cars online and have been convinced that the Acura RDX’s big brother (last year was the RDX’s first model year), the MDX would be the car for me if I was in the market for a new car. Two years ago, I wrote about the ideal car. The car has all the options I want, the room I’d want, and almost meets my requirements for my ideal car. Last year’s MDX model disappointed me with respect to its gas mileage, so I was hoping that the 2009 would do better. The EPA estimates for it are 15/20 with 17 combined. Ouch! The Acura web site indicates that the EPA changed the calculations in 2008 and you shouldn’t compare it with older estimates. The RDX does slightly better with 17/22 and 19 combined, but those figures are just awful. Why are they so bad? My guess is that they put an engine in the vehicles is far too large for what is actually needed. Do I need a car with a turbocharger or 300 HP engine? Of course not. So when can I get the car I want with mileage ratings at least in the mid 20 MPG? It doesn’t seem like it should be that hard.

Maybe next year.

I’ve been working from home for almost 9 years (9 years this month) and have been self-employed for more than 5.5 years. Things have been pretty good for me, and I’ve been reasonably happy. Recently I had the opportunity to change the status quo in terms of my work. After a lot of thinking, I realized that I have things pretty good; I control my own hours, I get to work on my own projects when I want (within reason as my own projects don’t pay the bills), and to some extent I control what I work on when (prioritizing projects based on what interests me). I’ve taken things for granted and didn’t completely know how good I’ve had it! Are there things I’d like to change? Of course. Working out of my house sometimes would be nice, but I can’t justify the expense of an office as I wouldn’t use it all the time. Would it be nice to work on one project all the time without having to do a context switch? Sometimes yes, sometimes no.

Sometimes I complain about my work (doesn’t everyone?), but my hope is that after this week’s re-evaluation, I can do a better job at doing my work and not complaining. If I get paid, is there a reason to complain? While I do take a lot of pride in my work and try to steer my clients in the right direction, the old saying “the customer is always right” might just be the ticket to my happiness!

My first iPhone application, GrandDialer has been downloaded more than 9000 times! I thought that it wouldn’t be that popular because people can’t get GrandCentral accounts. Boy, was I wrong! The reviews are pretty good, but some people expect way more than I can do with the application. As far as I can tell, the only external interface to GrandCentral is through an HTTPS connection. GrandDialer is based on a perl script.

While I’d like it to do more, pretty much all I can do is dial the number. Things may change in the future, but GrandDialer is going to remain a one trick pony until GrandCentral opens up more interfaces (I don’t plan on doing web scraping as that is very error prone and just not fun to program).

I encourage people to read the FAQ before contacting me as it answers a bulk of the questions people ask and the response time is fast!

If people like the program, please purchase something through my Amazon link.

When I look for software, I like to try it out before I buy it. However, with the AppStore for the iPhone/iPod Touch, you can’t so you have to rely on reviews and the product description. Even for free apps, some people find reviews important. The review mechanism on the AppStore has a lot to be desired. For instance, anyone can post a review even if he/she hasn’t downloaded/purchased the app. This should change as it skews the reviews and can be misused, especially for paid applications. Second, there is no way for developers to respond to comments without posting a review with a star rating (and of course, who is going to give his own program anything less than a 5 star review?). Third, even posting a 5 star review, it looks like I only get one, so I can’t respond to reviews and point out why I shouldn’t get poor reviews. Apple should take some lessons from VersionTracker; while VT isn’t perfect, it is a lot better than the AppStore. Fourth, there is no way to post a review without giving it a star rating; so people that ask questions like “How do I get a GrandCentral account?” give it a 2 or 3 star review.

While the current review system works for music, it needs to seriously change to be usable for applications.

(On a side note, why do people post crappy reviews saying stupid things without reading the instructions or contacting support?)

Today I saw a new program at the app store called “I Am Rich”. The description says:

The red icon on your iPhone or iPod touch always reminds you (and others when you show it to them) that you were able to afford this.

It’s a work of art with no hidden function at all.

This app costs $999.99! Does the author think any idiot is going to buy it? Why did Apple approve this? This is worse than the flashlight apps. The AppStore is turning into a pile of crappy apps with a small number of quality apps. As I indicated on the T4Show podcast yesterday, the cruft in the store is going to make it harder for serious developers to make money because people will get tired of sorting through this junk and then the main (only) avenue for distribution will basically be gone. Apple needs to actually screen applications and needs to charge way more than $99 to be in the program ($99 is far too low to screen out the people that aren’t serious).

Yesterday I read a rant about how the iPhone is a crappy Mac. The author is completely misguided; he’s comparing a handheld device to a desktop saying what it doesn’t do. It comes as no surprise that the author writes desktop applications and not handheld applications. I’ve been writing handheld applications for most of my career; I started writing Newton applications in 1994 and then started writing Palm OS applications around 1997, I think. In terms of a handheld device, the iPhone is not only a joy to use, but it is a joy to develop applications for it. While the Newton was way ahead of its time when it was canned, it didn’t survive long enough to be a competitor in today’s world. If you look at Palm OS, it is still so backwards. It has never (natively) supported different screen sizes (the Dana and the HandEra 330 had extensions to handle larger screens), it doesn’t have protected memory, it has no where near the capacity of an iPhone and many applications don’t look as elegant as iPhone apps.

Granted the Palm OS has some ability to have background tasks (at least through alarms and some people have actually gotten true background tasks working), but how stable are Palm OS devices? I know, people have had the iPhone crash, but it is leaps and bounds above the Palm OS in terms of stability. If you want to get into distribution of applications, the author rants about that as well. There are definitely pros and cons of having Apple control everything. For the most part, having centralized distribution is ideal for developers and users; users don’t have to look around to tons of places to find stuff and for developers, they have a huge audience. At the moment, I think the pros outweigh the cons on distribution.

The iPhone does have some things that need to be improved, but its first (or second start) is so much better than what competitors have had years in the market to refine. Thinking of the iPhone as a desktop may lead to disappointment; thinking of it as a handheld will definitely make people smile (OK, at least me). For all those developers that complain about the iPhone, I think that they should write a Palm OS application and see what it is like to have to create jump tables because your application is over 16K and you have to have a launch code execute something not in the first 16K. Or create a table of data that scrolls. Or present a list of contacts in the address book? Or dial a phone number? I could go on and on. I really enjoy the iPhone and developing applications for it. My views might change later, but this has gotten me excited about writing handheld applications again.

« Newer Posts - Older Posts »