Review: Navigon for iPhone

I’ve written in the past about my poor experience with phone based navigation systems that relied on a network for the maps as well as the routing information. Last summer with iOS 4 released, a new crop of useless navigation applications appeared for the iPhone. With a trip on the horizon where I’d be renting a car, I decided to try out Navigon for iOS as it received decent reviews from users and had all the maps self contained without relying on the network. The navigation apps are all in the range of $25-$50 (or so), so I did a bit of research before plunking down $40 on Navigon’s USA edition (it was on sale when I bought it).

When I first started using the app around town, the biggest difference from my Garmin 765 was the screen size. However, I soon realized this didn’t matter as I just listened to the voice navigation. My Garmin became increasingly frustrating to use as the resistive touch screen wasn’t very accurate and entering information was cumbersome. Navigon’s interface is quite straight forward and data entry is easy. The voice prompts are clear and gave me enough notice before I had to make a turn.

Once you enter an address and start navigation, there is no need to touch the display again, except if alerts come up (which is kind of annoying, but Navigon can’t do anything about notifications and battery warnings). As with all GPS apps on the iPhone, Navigon sucks the life out of the battery. If you combine this with being in an area without cell coverage, you pretty much need to plug the iPhone into a car charger. Luckily I have a 2 USB port car charger and an extra USB to dock connector cable.

California law is very specific on where you can place a GPS unit and effectively it can only be mounted in the lower left corner of a windshield (you can put it in the lower right corner, but that’s pretty useless). So, you’ll need to get some type of mount so that the iPhone can maintain an adequate GPS signal and you can hear the voice. Also, if you want to glance at the screen for an upcoming turn, it needs to be at eye level. However, relying on the voice navigation seems pretty adequate (and safer) to me.

Coming from the Garmin, I really only needed the GPS application to navigate me to my destination without relying on the cellular network and be easy to enter information. Navigon easily met these conditions. In my testing, I took it on a trip to an area that had no AT&T coverage for the last about 1 hour of the trip, so any GPS app that didn’t have built in maps would have been a complete failure (i.e. Garmin’s offering for the iPhone).

While I’m not a huge fan of the colors that Navigon used and the non-standard looking buttons, I believe they made the choices to be easy to use with one hand and be as non-distracting as possible. Of course, the app says not to use while driving, but the developers probably knew that people would ignore this, so they made it easy for people to use while driving (I don’t condone this activity; rely on the voice navigation while driving).
20110327-060906.jpg
My torture test was to use the app in an area I’d never been before and have it navigate me to my destination that was about 3 hours away. I was either going to have huge problems if it got me lost (no cell coverage for part of the trip as I said before) or it was going to deliver me safely to my destination. (OK, I had actually put Google Maps directions on my iPad in case there was a problem as I’m not a complete idiot.) The Navigon software performed flawlessly.

There are a number of GPS apps out there that probably do a similar job, so I can’t say that it is any better or worse than others. I can say, however, that it is better than my Garmin and frankly better than a standalone GPS unit due to the fact that I don’t have to carry an extra device and it has all my addresses in it. I packed up my Garmin and am ready to pass it on as I no longer have a use for it; I really haven’t had the Garmin for that long (about 1.5 years) as I bought it after my last fiasco with phone based navigation software. My, oh my, how quickly things (and my thinking) change.

Pros

  • Built in maps.
  • Doesn’t rely on a network connection to operate.
  • Text to speech voice tells you where to turn and when.
  • Active Lane Assistant makes it easy to see which lane you need to be in on a freeway for exiting/merging.
  • Different options for routes based on your preferences.
  • Decent list of points of interest. I was able to enter “Budget” and an option came up for Budget car rental return which is what I wanted.

Cons

  • Address book integration is kind of poor. Tapping on a friend’s full address sets the destination to be about 30 miles away from where it really is.
  • Social networking integration is useless.
  • Inconsistent use of British spelling. In one case Favorites is spelling Favourites and Optimize is spelled Optimise. For the version with USA maps, it should use American spellings.
  • Black background and black buttons just don’t look right to me. It looks like someone wanted to get fancy and instead made it look ugly.

Summary
Navigon USA edition does what it is supposed to do and easily replaces a standalone GPS unit. If you are going to travel in a rental car or even your own car in an unfamiliar area, the Navigon app (or one of its competitors) would definitely be worth your money to have at your disposal. The cost may seem a bit steep at $50 or $60, but compared to a standalone GPS unit that does less, it’s a drop in the bucket.

The other side of daily deals

In the last few years, “daily deals” have started popping up everywhere from Groupon to my local paper’s deal. From a consumer point of view, some of these are pretty good where a consumer can get a product or service for maybe 50% off. This, of course, isn’t done out of altruism, but for marketing purposes in order to attract new customers.

My wife’s jewelry business, Designs by Janessa, has been doing well, but she’s been looking for ways to expand it and market to more people. She was approached by one of these deal sites and now has done a few of them. I’m sure many of my readers have read about coffee shops that did Groupons and lost tons of money because the deals didn’t do what they had expected them to do.

While I’m not going to get into the exact specifics of how these deals work, I’m going to present some made up numbers and give people an idea of the merchant side of a deal.

The companies that present the deals have 2 goals when doing a deal. The first is to make money. If you take kind of a conservative figure (similar to Apple’s App Store), the company may take 30% of what someone pays for a deal. On a $50 value for $25, the company makes $7.50. They cover the processing fee and run the website for the deal. What they bring to the table is their customer list and potential audience. The company’s other goal is to build their customer list so that they can solicit other merchants to do a deal and say “we have 50,000 people on our list”. So basically, the company is selling a customer list to merchants (merchants only get the list of people that buy it). Is the “list” worth say $7.50 (or more) per customer? Well, that depends.

For the merchant, they are trying to gain repeat customers and spread the word about their company or brand. They really aren’t looking for the person that uses the deal and doesn’t come back as the cost to acquire that customer is usually far too high. So how does a merchant do a deal and not get raked over the coals with people just looking for a bargain? That’s where things get tricky.

First off, the merchant must realize that the entire cost of the deal is a marketing expense. So in my hypothetical example above, the merchant effectively is paying $32.50 for each customer that is brought in as the merchant must provide $50 worth of a product or service, but only gets paid $17.50 for it.. Ouch, that sounds pretty steep and can easily make a merchant regret doing the deal. Depending on what the merchant is offering, if a customer buys the minimum and never comes back or tells his/her friends, this is a waste. In order to reduce the cost to the merchant, the merchant should make sure that shipping and sales tax are excluded and that the minimum purchase is greater than the deal, i.e. any single product that can be purchased is greater than the deal value; in this case, $50.. This, at least, reduces the cost per customer and most customers understand that discounts don’t apply to shipping and tax. If a customer purchases significantly more, then the cost to acquire the customer is a drop in the bucket and the deal was a success.

Second, the merchant needs to put words in the contract such that there is a limit to the number of offers that any one person or better yet, household (defined as the same address) can redeem. My wife had a person buy 11 of the offers which was basically 50% off. Some of the deal sites are smart enough to limit the number by credit card number and/or address.

Third, if the merchant thinks that customers are trying to game the system, the merchant should put the onus on the company putting on the promotion to either foot the bill for the dishonest people or deal with the customers. It’s probably in the best interest of the company putting on the promotion to eat the cost so that they don’t get a bad reputation; besides, they’re making a killing for minimal work.

Fourth, limit the total number of offers. If the merchant is a small business, the influx of customers could swamp them and annoy all customers when products are delayed.

Fifth, before even undertaking a daily deal, the merchant has to ask him or herself if the marketing dollars could better be spent elsewhere. If something comes up as a deal, does the merchant actually want the customer that is cheep and looking for a deal? Also, if someone doesn’t get in on a deal, he or she could be waiting for the next deal and not buy expecting a deal to come later.

Daily deals have been a boon to consumers (my wife and I have bought a few). Most people don’t realize the actual cost to the merchant and some merchants may think they’re losing money on a deal which is probably the wrong way to look at being part of a deal. However, before a merchant gets involved in a daily deal, he or she should carefully think of the cost, additional work involved, and the headaches of dealing with “cheap” customers (in my experience, customers that are looking for a bargain are sometimes quite troublesome and not worth keeping as customers).

Review: iMovie for iPad

For many reasons, I’ve been interested in video editing and making movies for years; nothing professional, I just thought it was kind of neat to be able to put together movies. Over 20 years ago, I put together footage that I had taken at the 1989 National Scout Jamboree and put together a little video that I edited using our camcorder and a VCR. I may have even put in some titling using a computer, but I can’t recall. That was quite rudimentary compared to what can be done today.

When Apple first introduced iMovie for the Mac, I thought it was quite neat and made a few videos, but the more video I took and stored, the more time consuming it became to edit the videos. Since then, I’ve made a few movies, but have mostly left that to my mother as she seems to like doing it and does a great job throwing together random clips and photos to make something interesting.

At the iPad 2 introduction, Apple showed iMovie for iPad. The ease of use looked amazing and getting it was one of my many reasons for buying an iPad 2. After I got my iPad 2 the other day, the first app I bought was iMovie. My intention was to make a movie from videos and photos that we shot in the last year of our son. While I was hopeful that I could accomplish that this weekend, I was also realistic that based on my past history, this might have been a pipe dream.

The first step in creating a movie was to make sure all my video was in the proper format for the iPad. I already wrote about transcoding all my video the other day, so that part was accomplished. I decided to see how far I could get this weekend. In about the 1 hour or so that I could use my iPad, I managed to apply all the video I wanted to the timeline and trimmed it. I then spent maybe another hour adding photos and dropping in some songs.

I was absolutely amazed that within about 2 hours, I was able to create a 9 minute movie ready to show. In the past, the movies I’ve made have taken me a long time on the order of 1 hour per 1 minute of final movie which really makes the process a drag. I’m now cautiously optimistic that I can keep up the movie making if it is this easy to make something half decent.

I did encounter a few issues with iMovie including crash or two. iMovie applies the Ken Burns effect to every photo added, something that I find pretty annoying. In order to remove this, you have to set the starting and ending zoom level and picture position to be the same. This is fine as long as you zoom out on every picture and align the picture to an edge; however, if you want to zoom in or center the photo, this process is extremely hard to do. I’ve submitted feedback to Apple to improve this.

iMovie on the iPad is intuitive in many ways, but I read through the in-app help which reduced some of my frustration (removing the Ken Burns effect is documented). I’d strongly recommend that people read the docs before starting a project as some actions are strange at first.

iMovie for iPad is almost a killer reason to buy an iPad 2 (it won’t run on a first generation iPad). However, if your video isn’t in a format that the iPad can show, you have to go through the long and tedious process of converting it; if you’re also shopping for a new digital camera, I’d suggest looking for one that encodes video in a format that the iPad can show natively (also useful to import video when you’re away from your computer). So far, my brief research shows that the Panasonic compact digital cameras use M-JPEG which the iPad should be able to read.

Pros

  • Intuitive interface for most editing needs.
  • Extremely fast method for creating movies.
  • Decent results with little effort.

Cons

  • Removing Ken Burns effect is a pain when adding photos.
  • No ability to lower volume of music in particular parts of a clip, i.e. no fine grained audio editing. iMovie will “duck” the audio in the background music if there is music in a clip.
  • It can be slow at times where the interface appears to be unresponsive.
  • Occasional crashes.

Summary
If you have an iPad 2, spend the $4.99 and buy iMovie. Even if you don’t make a lot of movies, just playing with it is worth it to see what the iPad 2 can do. This could be the way to edit movies at the end of a trip even before you get home as it is easy to put off the movie making and simply never get around to it.

iMovie is an impressive piece of software and I hope that Apple keeps making minor improvements to touch up the edges.

Video Transcoding for the iPad

When I first started syncing pictures to my iPad, I noticed that videos didn’t sync. After some research, it turns out that the video/audio format used by my Canon SD960 IS, I kind of put it on the back burner and ignored it. Now that I have an iPad 2, I bought iMovie and wanted to do a little video editing this weekend. Unfortunately the only clips that I had on my iPad were taken with my iPhone 4.

After a bit of futzing around with AppleScript, I slapped together 2 scripts to transcode my videos into 720 p and suitable for use on my iPad. The big issues I found is that QuickTime Player (the one with Snow Leopard) changed the AppleScript syntax and exports asynchronously. For non-techies, this means that the export basically happens in the background. This created a problem as I don’t know when each export ends; I need this information so that I can change the date on the exported file to match the original file as well only running around 10 exports going at once (too many running basically slows down the system).

So here’s what I did:

  1. Created a new folder on the Desktop called Movies and dragged all my movies from iPhoto.
  2. Created a second folder on the Desktop called NewMovies.
  3. Opened AppleScript Editor and used the following script and saved it as an application.
    property exportFolder : (path to desktop folder as Unicode text) & "NewMovies:"
    
    on run
    	choose folder with prompt "Change video files from these folders:" with multiple selections allowed
    	open (result)
    end run
    
    on open droppedItems
    	tell application "QuickTime Player"
    		activate
    		close every window
    	end tell
    	
    	set numExports to 0
    	
    	repeat with thisItem in droppedItems
    		if (folder of (info for thisItem without size)) is true then
    			list folder thisItem without invisibles
    			
    			repeat with thisFile in (result)
    				if (numExports < 10) then
    					tell application "QuickTime Player"
    						open ((thisItem as Unicode text) & thisFile)
    						try
    							export front document in (exportFolder & thisFile) using settings preset "HD 720p"
    						on error errorMsg number errorNum
    							display dialog "Error (" & errorNum & "):" & return & return & errorMsg buttons "OK" default button 1 with icon caution
    						end try
    						
    						set numExports to numExports + 1
    						close front document
    					end tell
    				end if
    			end repeat
    		end if
    	end repeat
    end open
    
  4. I then created a second script that changes the date on the exported files and then deletes the originals.
    property exportFolder : (path to desktop folder as Unicode text) & "NewMovies:"
    
    on run
    	choose folder with prompt "Change video files from these folders:" with multiple selections allowed
    	open (result)
    end run
    
    on open droppedItems
    	repeat with thisItem in droppedItems
    		if (folder of (info for thisItem without size)) is true then
    			list folder thisItem without invisibles
    			
    			repeat with thisFile in (result)
    				try
    					set fileExists to no
    					tell application "Finder"
    						if exists (exportFolder & thisFile) then
    							set fileExists to yes
    						end if
    					end tell
    					
    					if fileExists = yes then
    						set file_ to POSIX path of (exportFolder & thisFile)
    						set fileInfo to info for ((thisItem as Unicode text) & thisFile) as alias
    						set oldDate to creation date of fileInfo
    						set format_string to "<><><><><>"
    						set new_creation_date to format_date(oldDate, format_string)
    						do shell script "touch -t " & new_creation_date & " " & quoted form of file_
    						tell application "Finder"
    							delete ((thisItem as Unicode text) & thisFile)
    						end tell
    					end if
    				end try
    			end repeat
    			
    		end if
    	end repeat
    end open
    

    NOTE that you also need you to grab some AppleScript code for date formatting and put it in the above script.

  5. I ran the first script, let the transcoding finish, then ran the second script. Unfortunately I had to repeat this a large number of times to transcode all my videos.

So now I have all my videos in a format that works on the iPad. When I import new movies, I’m going to run them through these scripts before I put them in iPhoto. Another benefit of doing this now is that all my videos are in the same format and will buy me a few more years using H.264 and AAC for encoding; all my videos were in random formats some requiring special codecs to play that who knows how long they’ll be around.

While I wish this process was more straightforward and took less time, I’m glad that I undertook this so that I can start playing with iMovie on my iPad.

The wait ends (for my iPad 2)

On Tuesday, while reading my morning news and Twitter feeds, Andy Ihnatko tweeted that he heard reports that Apple Stores were receiving a bunch of iPad 2s. Given my luck getting an iPhone 4 the day after release waiting in a relatively short line, I decided to give it a try. I arrived at the Fashion Valley Apple Store around 8:25 am to see a line and took that as a good sign. When I got to the end of the line, 2 Apple Store employees asked which iPad 2 I wanted and when I said the 32 GB Black WiFi one, one of the employees pulled out a stack of cards and handed me one with the model number written on it. Very cool, I was going to get an iPad 2 without more waiting! At about 9:05 am, I went instead, paid the Apple tax and left with my brand new iPad 2. I already had a smart cover, so I was all set.

Now that I have an iPad 2, was it worth it? You’ll have to wait for my “review” (my reviews are pretty quick and not as in-depth as the well paid tech journalists).

Review: Netflix for iPad

The other day my wife came home and asked about Netflix streaming as someone mentioned to her that she used her Wii to stream. I said that we could give it a try as it is only $8 per month. I signed up for the free trial and started playing with the iPad app to setup my instant queue and see how well it streamed.

The iPad app works, but really is an unpolished app. Within a few minutes of using it, I became frustrated with it. First off, when I tapped on an item, it didn’t highlight as most iOS apps do; this is likely due to laziness as iOS provides a way to highlight an entire row and the app uses two columns so it separates the row and highlighting part of a row would have required extra work. Next the app was slow when I tapped on a selection so I wound up tapping more than once. This caused problems as it kept starting to play a selection as the second tap was queued up.

My problems didn’t stop there; after a selection plays and you go back to the home screen, your location in the list is lost. So if I scrolled through the selections, found one, tapped it to view more, but accidentally tapped twice and it started played, when I cancelled out of it, my position was lost. This made the experience quite annoying.

When you scroll through the list, the last row said “Load More Titles”. This is another aspect of what I consider poor programming or laziness. The more polished apps automatically start loading once the last row is displayed. It is actually quite easy to implement and saves the user a tap.

The app suffers from rotation issues as it gets quite confused and doesn’t resize the list at times when you rotate the display. Further showing lack of polish is when I went to switch apps and showed the bottom bar, the main loading page came back up. Strange behavior for an app.

Pros

  • Convenient way to add items to instant queue.
  • Reasonable playback quality

Cons

  • Unpolished application that suffers from some serious usability issues.
  • Bugs cause some strange behaviors when rotating and switching apps.
  • Summary
    While it is great to see that Netflix has come up with an iPad app, I would have expected more from a well recognized brand name. My view is that they either used inexperienced in-house developers or outsourced it to a company that needs some work on developing quality products. I hope that they continue to update the app and address some of the issues I’ve noticed.

    The app is still usable to add items to the instant queue, but the process could be a bit cleaner.

    The wait begins (for my iPad 2)

    Like many tech geeks, I plan on getting an iPad 2. It isn’t necessary for me to get one, but the increased speed, slightly reduced size, and smart cover just make it too cool not to get. I really don’t have time to stand in long lines to get one (I did stand in a few hour line for my iPhone 4), so I figured I’d try to get one today.

    I called a few local stores and of course, got nothing. When I was talking to my wife and I mentioned that there were 18 combinations, she suggested I just order it online to get what I wanted. That makes a lot of sense and I should have done it yesterday to get in line with the 2-3 week wait. Since I waited a day, I’m now at 3-4 weeks. Wow, that seems like an eternity in tech years!

    I’m going to call Wal-Mart on Monday and see if they got anything in, but I’m not holding my breath. I’ve also been told that the Apple Store gets shipments everyday so I might try there later in the week. If I happen to score one early, then I can simply cancel my order. Why didn’t I order first thing Friday morning and then cancel my order if I managed to get one? I did this with the iPhone 4, so what was I thinking? Maybe I was just overly optimistic about getting one.

    Paying for High School Sports

    In today’s local paper, there was an article about how over 800 local teachers were receiving pink slips and could potentially be let go if the school district can’t figure out how to find extra money to pay for them. Several months ago, there was some uproar about students paying for extra curricular activities including sports. Apparently there is a California state law that guarantees all students a free education and this includes sports.

    So, we as taxpayers can’t ask athletes to pay for anything including uniforms, insurance, transportation fees, etc. To me, this doesn’t seem like it is in the spirit of the law; the state is trying to provide students a base education to succeed. Instead of cutting teachers and classes, wouldn’t it make sense to completely cut sports and let athletes find a way to pay for them?

    I understand that sports are the main focus of some high school students, but shouldn’t academics be key? The law is supposed to give equal access to all students regardless of ability to pay. I’d like to see the law amended to exclude non-essentials activities and get athletes to pay their own way; I suspect that most students can afford them, just maybe don’t want to afford them. How many of them have cell phones (monthly fees add up)? How many waste money on Starbucks? How many have iPods?

    Let’s get our priorities right and put education first and get rid of this misuse of education funding.

    Choosing a software contractor

    When companies look to hire a developer to write software, in particular iOS (iPhone and iPad), they expect to hire an expert. However these days everyone and his dog claims to be able write iPhone and iPad software. While this may be true, it is nearly impossible to know if you’re getting a good product. Apps may have great visual design, but in some cases it is just a pretty face. So how do you pick a developer that is going to produce a quality product that is stable, maintainable, and works well. Many projects get passed from developer to developer, so having good quality code to begin with, the app will have a higher change that it can continue without being completely rewritten.

    I’ve written software as a contractor for many years and like to think that I know what I’m doing, so here are some tips and questions to ask that may help companies hire a quality developer.

    • Does the developer rely heavily on open source? Open source itself isn’t inherently a problem, but should be used sparingly for specific purposes and should be easily removed at a later time if need be. Building an entire application on an open source framework makes things needlessly complicated and fragile.
    • How long has the developer been writing Objective-C software (Mac or iOS)? Experience says a lot about how easily the code can be maintained in the future.
    • What do the applications that the developer has developed look like? Take a look at the App Store and see how complicated the apps are and how well they work?
    • Ask for references. Ask why the developer is no longer doing work for the references. There are a number of ways to say “we got fired”, so be on the lookout for those. If the app is no longer being developed, the company ran out of money, or the developer no longer has time are probably the best reasons; anything else might be suspect.
    • Does the developer use source control? This is a pretty basic requirement. If a developer doesn’t use source control for his/her own projects, that would worry me. There are many sites that offer free or cheap source control, so there is no excuse for avoiding it.
    • Does the developer use code analysis tools such as CLANG? It’s built into Xcode and there is no excuse for avoiding it.
    • Does the developer allow warnings when building the project? Compiler warnings should be avoided at all costs.
    • Can the developer provide code samples for review? In particular, an app that can be built using the Apple Developer Tools. This is important as some developers have a huge list of tasks to get a project built. A project should be delivered such that you can unzip the archive and build the project. I’ve seen projects delivered that have a list of steps to build including checking out code from open source repositories. This is extremely problematic and error prone as the repositories could change by the time the app is delivered.
    • Ask the developer what is the right way to determine if a feature is available on a particular device. Today I saw code that checked the OS version to determine if Retina display graphics should be used. This is completely wrong because for example, iOS 4 runs on devices that don’t have Retina displays. (Also the code that checked the OS version didn’t properly check the version.) Apple has identified ways to determine if a particular function should be used or a feature is available.

    These questions are probably hard for non-developers to ask and know if the answers are legit, so it might be worth spending a few bucks to find an expert, such as me, that can spare a few hours to evaluate a developer, but doesn’t have time to actually do the project.

    Review: Homax Caulking Tool

    A few weeks ago, my father mentioned that he got one of the best tools for his tool box, a Homax Caulking Tool for smoothing a caulk joint. When I was at Wal-Mart, I picked up one of these tools (as part of a Homax kit) and put it away for the next time I did caulking. Caulking is one of those things that I hate as I always make a mess.

    After finishing a drywall repair due to a plumbing leak, I had to put some tile back and caulking the top of the tile. (While some people grout the top, the rest of our downstairs has the top caulked.) Luckily the 6 year old tube of caulk outside was still good, so I applied the caulk, used the finishing tool and must say it was the easiest and cleanest way to caulk a joint. There is very little to say about this simple tool, except if you ever have to do caulking, this tool is a must have. As a standalone tool, it is less than $3 at the store and will save you a lot of headaches.

    Pros

    • Easy to use.
    • Makes a very clean caulk bead.

    Cons

    None

    Summary

    Just get this tool as at some point during home ownership you’ll have to do some caulking; you won’t regret it.