GV Places Discontinued

I hate to have to do this, but I have just pulled GV Places from the App Store, and I will not be selling or maintaining it any longer.

Some users have been experiencing problems with credentials and the various calls to the Google Voice back end. I have never had those problems, and thus have had a very hard time diagnosing the issue. I had planned to release a new version that included the ability to mail verbose logs to me, in the hopes that I could spot something that was going on. But then I got an email from Apple saying that it’s time to pay them again for the privilege of developing for the iPhone. And I just can’t do that.

I’ve spent hundreds of hours working on this app, and $200 in fees to Apple. I haven’t recovered more than 1/3 of that expense, so it just doesn’t make any sense for me to continue.

For those of you who bought it, thank you. I’m sorry I have to drop it, but I do.

GV Places 1.3.2 Now Available

Last week a bug report came in that it was impossible to turn off notifications for automatic region switches. That is now fixed, and the update should be appearing in your list of updates.

It’s interesting that I spent 5 minutes replicating the bug, 10 minutes fixing it, another 10 doing all the necessary steps to get the app loaded into the store… and then a week waiting for it to be approved. I appreciate the app store for what it gives us, but it really shouldn’t take a week to get bug fixes out to users.

GV Places 1.3 Available in the App Store

After just a week in the Apple queue, version 1.3 of GV Places is now available. Here’s the list of what’s new:

  • Changed the screen order for adding a place. Now the phone number selection comes first, then the map.
  • Places no longer have to have geography associated with them.
  • A place can be designated the “default” place that will be used when no other places’ geography match the current location
  • When adding geography, the map can be searched, just like in the Maps app.
  • The list of places is now sorted alphabetically, rather than by how well they fit around the current location.
  • Completely rewritten calculations for determining if the current location is within a region, and for determining which of multiple overlapping regions is the better choice.
  • Removed most modal operations.
  • Much faster to start.

Google Chrome Sync Not Working? Try This

I use Google Chrome exclusively as my browser on both Mac and Windows, and I pretty much love everything about it. One of the things I love most about it is the ability to sync most of your settings between machines. This includes bookmarks, apps, themes, passwords, etc.

But the last three times I’ve done an install of Chrome on a machine (my friend’s loaned MacBook, my new MacBook Pro, and a Windows7 VM), when I entered my email address and password, I was told by Chrome that syncing was not available on my Google Apps account. Hmmmmm….

I don’t have an @gmail.com Google account, I have my own domain and a Google Apps account. While Google is trying to make Apps accounts and regular Gmail account identical, there are still some differences (like no profiles…). This can be frustrating, and I assumed that somehow my existing machines had been grandfathered in, but new ones were being excluded. (Also, both the Google Voice and GV Mobile+ apps on my iPhone failed to let me login, complaining about my email address or password being wrong.)

Then yesterday I noticed a comment on a forum (somewhere) suggesting a password mismatch between Google services might be to blame. I decided to give it a shot, so I went into my Google account settings and changed my password. Then I tried to enable sync on my MacBook Pro. BLAMMO! It worked. Then I enabled it on the Windows7 VM. Worked there, too. Then I tried to login using both the Google Voice and GV Mobile+ apps on my iPhone and both now allow me to login.

So, if you are having problems with a Google service or app, such as being told it’s not enabled for your apps account, or getting login failures, try changing your password.

GV Places 1.1 Submitted To App Store

Yesterday, I submitted version 1.1 of GV Places to the App Store for review. I am hopeful that it won’t take as long to get through this time, but I’m not holding my breath.

The biggest news is that I dropped the iOS target version, so now people with Verizon iPhones can run it. I had hoped that the app store would not let someone download an app that they couldn’t run, but based on the 1-star review I got from a Verizon owner, that may not be the case. Here are the release notes

  • Should now work on Verizon iPhones.
  • Fixed a sorting/display bug that occurred when a place was autoswitched. The next time the app was run, the list would not be sorted properly.
  • Improved the region detection on iPhone 4. This should properly handle overlapping regions, which worked fine on the 3GS, but not so much on the iPhone 4.
  • Fixed a couple of memory leaks.
  • Note that when autoswitching is turned on, the app is not constantly running, looking for location changes. On the iPhone 4, it uses the region monitoring API, which means it tells the OS the regions it is interested in, and then goes to sleep. Whenever the phone enters one of those regions, the OS will wake the app up, telling it that it entered that region. This uses no extra battery on my iPhone 4, that I could tell. On the 3GS, it uses the significant location change monitoring API. With this API, the app tells the OS it is interested in significant location changes (this is mostly when cell towers change), and then goes to sleep. When one of these events occurs, the OS wakes the app up, telling it that a significant location change has occurred. The app then gets the current location and sees if it is within one of your places. If it is, it switches to that place. This is not as accurate as on the iPhone 4, but it’s all the 3GS has. This would probably use up a bit more battery than on the iPhone 4, because it has to do more work, but I didn’t notice any significant battery degradation on my 3GS.
  • Also note that autoswitching of places is NOT supported on the iPhone 3G, because neither of the APIs I described above were available on the 3G. Everything else works on the 3G.

Downgrading Your iPhone From iOS5 to iOS4.3.3: It Ain’t Easy

Like lots of other iPhone owners, I was excited about the announcement on Monday of iOS5, and all the new features. I don’t like to wait and since it isn’t going to be released until September, I had to get it somehow. Since I’m an iOS developer, I was able to download a developer seed of iOS5 and install it on my iPhone 3GS. I did so Tuesday morning.

It was painfully slow on the 3GS. Granted this is just beta 1, and it will probably improve before it launches, but it was nearly unusable.

So today, I went out and bought an iPhone 4. I had been wanting one for a long time anyway, and my contract was up in February so I’ve been able to get a subsidized price since then… Anyway, I bought a 4, and was not planning on putting iOS5 on it just yet. But when I attached it to iTunes and tried to restore my last 3GS backup to it, iTunes wouldn’t let me because the backup was of iOS5 and the iPhone 4 was running 4.3.3. So, against my better judgment, I installed iOS5 on it.

Big mistake.

While speed was no longer an issue, bugginess was. Lots of 3rd-party apps just seemed to not work right, and even some features of iOS were a bit squirrelly. A downgrade was in order. But, as the release notes tell you, you can’t downgrade.

Well, you can, but it’s a major pain in the butt. Below is a list of what I did to restore mine. But first, please be aware that your mileage may vary, use at your own risk, by reading this, you agree that I am not liable for any damage to your iPhone, iTunes, data, computer, house, car, cat, dog or anything else.

(This is in list form, but it’s not an instruction list, per se. It’s a list of what I did, thus the verbs are in the past tense.)

  1. Restored the entire ~/Library/Application Support/MobileSync/Backup directory from Monday, before I did the upgrade of the 3GS, using Time Machine. (On Windows, the directory is C:Users<UserName>AppDataRoamingApple ComputerMobileSyncBackup)
  2. Downloaded the iOS 4.3.3 software image from links here (the links go to Apple) http://osxdaily.com/2011/05/04/ios-4-3-3-download/
  3. Launched iTunes, but hit the little ‘X’ button in the top area to stop it from syncing.
  4. Selected the iPhone 4 in the Devices section, then pressed Option while clicking on the “Check for Update” button. This popped up a dialog to find the .ipsw file that I had downloaded. I navigated to where I had saved it, and selected it.
  5. iTunes started to restore it, then barfed with one of those “unknown” errors. It did leave the iPhone in recovery mode.
  6. Out of paranoia, I shut down iTunes, deleted the partial backup that it had tried to do, thus leaving the Backup directory as it was on Monday.
  7. Started iTunes.
  8. iTunes popped up a dialog saying that the phone was in recovery mode and did I want to restore it. I said “yes.”
  9. It then showed me the EULA for 4.3.3, re-downloaded the .ipsw, then started the restore.
  10. Ten minutes later, it rebooted and showed up in iTunes, with iTunes asking if I wanted to restore it from one of my backups.
  11. I selected the 3GS backup and off it went.
  12. When the phone rebooted, iTunes started re-syncing it.
  13. Half an hour more, and it was done restoring all my data and settings. Then it started restoring 4,500 songs, which takes about 3 hours.

So, that’s it. All in all, it took me about 2 hours, start to finish. If you don’t have a backup of the Backup directory, you’re screwed.

I use pre-release software all the time, but this is the first time I’ve really, truly, gotten burned by it. I have now learned my lesson, and will at least wait for the release of iOS5… beta… 3 before trying again. :-)