Friday, February 17, 2012

Siri: Slow, unreliable, and maybe not a priority at Apple

Siri had a lot of promise when it was released as a feature of the new iPhone 4S. It wowed everyone at the WWDC keynote in October 2011.

I’ve had an iPhone 4S since November 2011, and I would describe Siri as gimmicky, flaky, and useful only within a narrow subset of the things it was promised for.

The biggest killers of my enthusiasm for using Siri are laggy interaction and flaky availability. Interaction misses plus plain old network lag combine to make Siri slow, slow, slow.

There are five possible outcomes to each Siri interaction:

  1. Siri misunderstands what you said due to you speaking incorrectly, or
  2. Siri misunderstands what you said because of a voice recognition error, or
  3. Siri understands what you said but misunderstands what you meant, or
  4. Siri is unable to connect to its servers, or
  5. Siri connects and responds correctly

Four out of these five outcomes result in a failed interaction. While you can get better at speaking correctly, there are few to no workarounds for the other three error conditions.

Since Siri goes out over the internet in order to analyze each spoken interaction, it can often take a good 5-10 seconds to offer a response to what you’ve just said1. In addition, at least every other day Siri’s servers seem to go dark for a period of time, resulting in “really sorry, but I can’t take any requests right now, please try again in a little while.”

Add this delay, and a random but sizeable chance of connection failure, in between each incorrect response, and you soon get used to doing most things the old way rather than gamble on an unreliable Siri.

Someone’s bound to respond that Siri is still officially beta software. I am aware of that, and don’t expect it to be perfect2.

But it’s also worth noting that Apple, like most software companies, has introduced many apps and features that they then failed to improve upon or even abandoned3. My gut feeling is that Siri is in danger of ending up as the next Mobile Me, especially given that it has received almost no improvement or attention since its release so far.

  1. Connection failures are especially common when you are on the outer edge of a known wifi network, such as when in the driveway or parking lot, or walking to/from your house. The iPhone seems to think it is connected via wifi for some time after you have left range, causing Siri to attempt using a nearly non-existent connection. 

  2. Although I do expect beta software to be at least feature-complete, which I don’t believe Siri is. 

  3. See the Calendar, Weather, Music and Stock apps, iTunes Genius, Ping, and of course Mobile Me. 

Friday, February 3, 2012

Recommended Calendar Apps for iPhone

The calendar app that comes with iOS is plain, and has many shortcomings: the interface for creating new appointments is clumsy, the colour-coding is not visible in month view, and there’s no week view at all, to name a few.

Here are some notes on popular calendar apps I’ve tried and can (mostly) recommend.

  • Calvetica Classic is what I currently use and recommend for iPhone. As far as I can tell, it’s identical to Tempus (made by the same developer) but for some reason costs less. (Tempus may be the one that gets more maintenance attention from the developers in the future, however). Calvetica Classic’s interface is designed to be quick and easy to use, and to look attractive. It also happens to be reasonably prompt about automatic syncing — which, surprisingly, not all apps are (see below).

    The reason for the “Classic” version is that the makers of Calvetica made a New-Coke-style error when they redesigned and rewrote the app for the new version 4.0. The regressions in the interface and buggy experience of the new version apparently left a lot of users clamouring for the old version, and from what I can tell, the developers responded by offering both Calvetica Classic and Tempus. I haven’t used the new version, but the reviews on the App Store currently show that it still needs a good bit of bug fixing, especially on the iPad.

  • The other really good option out there is Week Calendar. I haven’t tried it personally, but this one has been recommended by Lifehacker, and has hundreds of great reviews (many more than any version of Calvetica), so it must work well. The only reason I didn’t go for it was that Calvetica is faster for adding events1, and Calvetica just looks more cool and elegant.

  • Agenda was recommended recently on Daring Fireball and was actually the first calendar app I used after getting our phones’ sync configured. It’s not as quick to use as Calvetica[^1], but it looks gorgeous, and swiping between month/week/day view is almost too good to give up. The app otherwise great except for one major thing: it’s terrible at automatic calendar syncing, especially when an event on a shared calendar is being deleted. In my experiments Agenda would not automatically sync until I had either shut down the app and restarted it, or until I had opened the default Calendar app (which triggers its own sync). You can also use the “shake phone to sync” feature of Agenda, but honestly, all three of these things are ridiculous.

  1. Note that if you have an iPhone 4S, you can set up new events very easily on your default calendar with Siri, no matter what app you use. 

How to Sync Calendars on Two (or more) iPhones or iPads

My wife and I each use an iPhone, but it wasn’t until recently that I got around to syncing our calendars. Now that we actually have a synced calendar system that we can both view and update from our phones, we’ve begun actually using it for planning and apponintments. In this how-to, I’ll show you how to do the same thing for yourself.

These instructions assume that each iPhone user has their own, separate Apple ID and iCloud1.

1. Use iCloud for Your Calendar Account

I’m not saying you have to use iCloud. I’m saying it’s by far the simplest and easiest way.

Make sure each user has iCloud set up on his or her device. If you have iOS 5 or newer on your phone or iPad, you likely have signed up for iCloud: to make sure, grab your device and go to SettingsiCloud and check that it shows something next to Account. Also check that Calendars is set to On.

If iCloud is not set up on your device, read these simple iCloud setup instrctions from Apple.

Other Calendar Accounts

Gmail accounts come with a pretty useable calendar system, so a lot of people use those; but I found the instructions and process for syncing GMail calendars between multiple Google accounts/iPhones very clumsy, complicated, and unintuitive, even for a geek like myself. If you have tips on that, let us know in the comments.

Exchange accounts also include calendar functionality. I have one of these at my job, and it syncs to my phone also, but I don’t really need to share it with my wife so I haven’t tried. I expect the only way to do this would be to add my exchange account to her phone with my own password, and turn off the mail part of the account in the iPhone’s settings. Again, let us know in the comments if you’ve experimented with this.

2. Share Your iCloud Calendar(s)

This is an easy process, but not entirely obvious because you have to use a laptop/desktop computer, and not your iOS device, to start the process.

  1. First of all, pick which iCloud account is going to “own” the shared calendar(s). It really makes no difference because both parties will have full access.
  2. Open your web browser on your desktop or laptop computer and go to
  3. Sign in using the account of the “owner” and click on Calendar.
  4. Click on the small circle to the right of the calendar you wish to share. Under Private Calendar, enter the email address for the user of the “other” iPhone/iPad. It can be any email address for that person (it doesn’t have to be the one they use to sign in to iCloud) but it should be one that they have set up on their iPhone/iPad.
  5. After entering the email address, click Share.

Now the other user can grab his or her device, open the email, and click the “Join Calendar” button.

Voila, you now have a calendar shared between two devices. Any events or appointments you create or change on the shared calendar on one device will automatically show up on the other device pretty quickly, and without any additional steps.

Some additional notes:

  • You can of course share multiple calendars with this process, and you can even share them with different multiple people. My wife and I share three calendars, because this allows us to easily colour-code different kinds of events simply by putting them on different calendars. (There are some calendar apps that let you colour-cde different events within the same calendar, but not the one we happen to use.)
  • When creating/changing an event that you want shared, you do have to make sure it is in fact created on one of the shared calendars. That should seem obvious, but it can be an easy step to miss. You can make it easier for yourself by setting your default calendar on your iOS device to the shared calendar you use most often: click Settings, then Mail, Contacts, Calendars, and then scroll down to the Calendars section and click on the Default Calendars setting to change it. Otherwise (if you’d rather not default to sharing all your events) just be aware that your iOS device does have multiple calendars and remember to pick the right one when setting up an appointment.
    • If you use Calvetica Classic as your calendar app, you can have it ask you which calendar to use every time you set up an event, which is nice.

3. Get a Better Calendar App

The calendar app that comes with iOS is plain, and has many shortcomings: the interface for creating new appointments is clumsy, the colour-coding is not visible in month view, and there’s no week view at all, to name a few. For notes and recommendations on iOS calendar apps, read my post on iOS Calendar App Recommendations.

  1. If you happen to be using the same Apple ID/iCloud account on two phones, I would assume you don’t need this article since everything is already syncing across all devices within your single account.