Archive for the ‘Apple’ Category

Aug 24

Getting Organized with OmniFocus

Posted by Ryan Toohil in Apple, General, iPad, iPhone

My job tends to be a little … disorganized. It’s incredibly interrupt driven (we’re an internet company, and I end up working on projects that are either very time-sensitive from a “need to get this done now” perspective or from a “uh oh, many many customers are in need of a fix” perspective.

In both cases, that means whatever I was working on gets dropped, back-burnered, ignored, whatever. I used to deal with that by leaving emails flagged in my inbox, writing emails or post-its to myself, or, wellll … just forgetting what I was working on before.

In any event, it was not a particularly good way to manage my time.

People have been hyping the “Getting Things Done” methodology for the last few years; it’s been almost impossible to avoid the hype in the tech corners of the internet. It seems to be a pretty good philosophy for keeping track of what you’re working on and working on the right stuff. In a nutshell, you either:

  • Do it right now
  • Ignore it completely
  • Put it somewhere that you’ll know to do it later
  • Make someone else do it

Nothing groundbreaking, but a good framework.

The problem was, I was doing that all through email, which meant that (on good days) my inbox would be flooded with 10 or 12 flagged items (reminders to do stuff), with more stuff piling on top. Manageable, but not a particularly good way to do stuff (and it ensured that certain things would never get done until someone came and bitched at me).

Then OmniFocus came out for the iPad and I saw some videos and I said “a-ha!” This is what I need to manage all of the crap that flows into my inbox. I grabbed the Mac download and tried it out for two weeks. I spent a couple of hours on a Saturday morning throwing a bunch of my to-do items into the inbox, organizing them, setting up projects, and adding due dates.

It took a week or so to get the hang of it.

And that’s what the folks at The Omni Group expect. They give you a two week trial so that you’ll dump your life into it, get the hang of it, and then need to pay them a reasonably high price (but, so far, worth it) to keep it going.

Now, every morning, I run through my to-dos for the day. Anything that isn’t pressing, I’ll either take the due date off of completely (so that it’s not in my face), or I’ll push it back to an appropriate day. As stuff pops up in my inbox, I grab it and throw it into OmniFocus and then clear it out of my email.

It’s a nice system.

It goes a lot deeper than that, but even if you just use it for breaking down your tasks, that’s probably worth it.

Rather than having 20 flagged emails in my inbox, I head to work and look at my work to-do list, and I’ve got the list of things that are past due, due today, and due over the next few days. When someone asks me “hey, do you have time to work on X“, I can give them a quick rundown of what’s on my plate and ask them which stuff can get pushed off.

Throw in the fact that I’m also managing all of my personal tasks (buying groceries, remembering to clean the kitchen floor, calling to get my wisdom teeth out), and you can pretty quickly see how the value adds up. Oh, and fun stuff like recurring tasks … say, posting to a blog that you’ve left wilting on the vine.

OmniFocus just happens to be the app I ended up on. There are others out there (as well as a million and one ways to do it using Outlook, Gmail, text files, etc).

This tutorial is what got me hooked. If you have 30 minutes, see if the philosophy at least makes sense.

May 01

Travel With the iPad – 10 Days On The Road

Posted by Ryan Toohil in Apple, iPad

I wrote this a couple of weeks ago — I just hadn’t had a chance to edit it until now.

Sitting about 6 miles above the Earth in a cramped airplane seat, I’m banging out a summary of my experience traveling with the iPad. This is the wifi-only iPad, one that I’ve had since day 1. I’m using the Apple bluetooth keyboard, which makes typing something a bit longer like this significantly easier.

The Ugly

  • Oleophobic, my ass. The screen, because of it’s size and how often you’re touching it, picks up fingerprints like crazy. Since it’s bigger than the iPhone, you can’t just run your sleeve across it to clean it. You best get used to the screen being covered in fingerprints (it’s really ok) or you better bring a cloth.
  • The Apple Case. I actually like the Apple case more than most. It’s small and lets you prop up the iPad in the different ways you might want to use it. However, it collects dirt and grime like a vacuum. It’s horrific.

The Bad

  • No multitasking. Now, while this gets resolved this fall, it is a bit of a pain. It’s not really a huge pain in the ass, like you might guess. It’s just an annoyance. You’re watching a movie and want to pop over and check some email–you have to change apps. Can’t just let the movie’s audio play in the background. Want to click visit a site or search for something you saw in Twitteriffic or NetNewsWire? Have to stop using the app, switch over, then switch back. It’s not great. But, it only affects you maybe 5% of the time. The rest of the time you’re happily watching a movie or reading a book and not planning to do many things at once.
  • No wireless podcatching. This, to me, has been the far more egregious failure than the lack of multitasking across the iPhone and iPad. The iPad (as I’ll get to later) has really proven to be ideal for travel: listening to podcasts while reading a book or reading some downloaded feeds. Except, after 24 hours of flying to Australia, I’ve listened to my podcasts. Over the next few days, if I’m lucky enough to find a wifi signal, I want to grab some updated podcasts to listen to on the plane home. Does iTunes know my podcasts and automatically sync them? No. I have to manually search through the iTunes Store looking for the ones I want to listen to, find the new episode, and download it. Why can’t the iPad (or iPhone, for that matter) be smart enough to know what podcasts I listen to (it can get the list from my iTunes when I cable-sync), give me an option to update those, and download 4 or 5? For a device that’s so wonderful to use, this is one of the worst experiences on the iPad.
  • App pricing. I’m not sure how I feel on app pricing, quite frankly. I don’t mind paying a bit more for an iPad app than it’s iPhone counterpart. But some of the new apps (non-universal) are just money grabs (ahem, SplashID). There’s no new functionality. In some cases, it’s just a layout change. Paying 2 or 3x as much to have a second iPad-only app is something I think we’ll see die over time. When that happens, I think app pricing will move off of the “naughty” list onto the “nice” list.
  • Really poor cookie retention. I tend to use reasonably secure passwords, and I’ve relied on PwdHash in my browser to make that easy. But, once I get the password in there, it’s nice for the browser to keep me logged in. Safari on the iPad seems to expire cookies really fast. Though maybe I’m dumb and missed a setting somewhere

The Good

  • The battery life. Holy Jebus. A computer that–using it off-and-on to watch movies, read books, read downloaded feeds, play games–lasts an entire trip to Australia. Literally. I watched two episodes of Doctor Who (love the new Doctor, by the way), read most of War of the Worlds, watched a movie and a half, played a bunch of Enigmo, and read through about 2000 synced articles in NetNewsWire. Most of that while listening to music or podcasts. And I arrived in Australia (a 5 hour flight from Boston to Dallas, 4 hour flight Dallas to LA, and 16 hour flight from LA to Melbourne) with about 20% of my battery remaining. On the flights back I’ve read through another 2000 articles, watched another movie, read through the NY Times articles, and now typed this out. The battery is currently at 56%. Unbelievable.
  • The size. It’s small enough that I just through the iPad and bluetooth keyboard in my carry-on. No laptop bag. It hung out with my water bottle and sweatshirt. No special case. Didn’t have to take it out for security (except in Sydney, I think, where they might not have known what it was). Popped it up on my lap comfortably. Used it in a sleeping back propped on it’s side to watch half of a movie when I was still on East Coast time and everyone else was asleep. Read through a couple of books in iBooks the same way. Just really, really easy to bring around. I would have hated bring my laptop (or a netbook and it’s power adapter) to a place like Wilson’s Promontory in Australia. The iPad was perfect.
  • The screen. As bad as the screen is at picking up fingerprints, it really does shine for video. I’d ripped some of my own movies that I had gotten recently and not watched yet — watching them on the iPad was almost as good (especially from 18 inches away) as watching them on the big screen. Certainly a better screen than the one sitting in the seat-back in front of me.

    Now, I’ve had a couple of bad screen experiences (sitting in bright sunlight, you’re screwed due to reflections and due to the fact the iPad will heat up too much to use). That’s going to make beach going a challenge for most folks. (though I’m pasty white and spend 99% of my time under a parasol, so maybe not for me …)

  • iBooks. You know, I didn’t really think I’d do much with it. I’d been reading Sherlock Holmes in Stanza on the iPhone. I grabbed it and War of the Worlds in iBooks, and it was just a great way to kill time when trying to adjust to a 14 hour time difference. It’s also pretty much the one app were portrait mode is far better than landscape. If I’d ever really found a reliable wifi signal in Australia (poor Aussies and their horrible broadband), I probably would have grabbed a new release book and read that. But then I wouldn’t be typing this.
  • The interface. There’s no mistakes. There’s no lost keystrokes or misinterpreted mouse clicks. Never has the interface lagged behind what I am trying to do, or never have I waited while an hourglass or beach ball spun and the UI tried to catch up. You don’t know how big that is until you realize you’ve spent your entire trip doing stuff, rather than waiting for stuff.

In the end, the iPad is just a phenomenal travel tool because of the convenience. Everything about it (well, except the fingerprint magnet of a screen and the dust magnet of a case) is design to make it easy to bring with you and do whatever. You never need to charge it (I charged it twice in 10 days). You can get through airport security without unpacking it (generally). You can watch TV, movies, read a book … basically whatever you want. If you have wifi (or the new 3G model), you can do even more. (Or, when someone figures out how to tether it to an non-jailbroken iPhone.)

Apr 03

My new iPad

Posted by Ryan Toohil in Apple

To paraphrase Spoon …

“I’m blogging this to you from an iPad … Someone better call a [something that rhymes with iPad]”

This is a legit game changer. Believe the hype.

So, Google announced recently that it would support CalDAV syncing with iCal, which means if you update an entry in iCal (or Google Calendar), they’ll be in sync within a few minutes. Awesome.

Unfortunately, it meant that my previous script iteration would now continually add alarms, leading to each entry having 3 or 4 alarms. Turns out that updating a local iCal calendar and adding an alarm actually updates that same info at GCal. Which is awesome (but was unexpected).

So, I made a small tweak to the script, which makes it run a bit faster and makes sure that you only get one alarm on an entry:

Try this instead:

tell application "iCal"
  set theCalendars to {"Cal1", "Cal2"}
  repeat with theCurrentValue in theCalendars
	tell calendar theCurrentValue
	  set theEvents to every event
	  repeat with theCurrentEvent in theEvents
	    tell theCurrentEvent
	      if not (exists sound alarm of theCurrentEvent) then
		   make new sound alarm at end /
		   with properties {trigger interval:-15}
		  end if
	    end tell
	  end repeat
	end tell
  end repeat
end tell

That basically means it won’t add another sound alarm if the entry already has one. Much handier. In fact, you could just take that script and have it run every few hours (either cron’d or via iCal), and not have to worry about the iTunes Sync script.

My biggest gripe with the iPhone thus far has really been a gripe with iCal. Namely, that there’s not an easy way to add alarms to subscribed calendars. I know that sounds like a silly gripe, but let me set the stage.

My main calendaring info is in Google Calendar, like a lot of folks. This is great because I can access my calendar from anywhere, on any computer, most cell phones, etc. It gives me a central way to maintain a calendar and have access to it pretty much all the time. I subscribe to my Google Calendar in iCal on my Mac, which gives me native calendaring (one-way, at least) that’s always up-to-date with the data in the Google cloud. It’s nice.

Taking it one step further, I use SyncMyCal to push my Outlook calendar to my Google Calendar as well. (I would use the normal Google Calendar Sync application, but it only syncs with the primary calendar, and I’d rather keep my personal calendar and work calendar separate.) So, every day, before I leave the office, I click a little sync button and it pushes my Outlook info up to Google Calendar. Again, one-way sync, but it’s one-way from my primary source, so I’m not worried about it.

That means I’ve got my personal and work calendars all centrally located on Google Calendar, accessible from pretty much anywhere. Including my primary machine of my Mac, where iCal subscribes to all of my various calendars. It’s a wonderful system.

Except one thing. iCal doesn’t allow you to set alarms on subscribed calendars. At least not through the interface. That makes this wonderful sync system decidedly less useful. See, between my MacBook and my iPhone, I’m pretty much covered. One is with me most of the time. If I had alarms on my calendars, then I’d pretty much have a perfect setup.

It worked incredibly well with my Motorola Q (and The Missing Sync from Mark/Space), which would import all of the calendar items from iCal, and set default alarms on them on the Q. Beautiful.

Not so much on the iPhone. For a couple of months, I’ve just dealt with the fact that using Google Calendar put me in the middle of the two supported options: using iCal and using Exchange (which became available with the 2.0 firmware). I could see the calendar events on my iPhone, but they were never going to make that nice “bleep bleep” sound and let me know that I had a meeting or I had to be somewhere in a few minutes. It’s something I had taken for granted with previous smartphones, but just chalked up to a deficiency in the early years of the iPhone.

Except I finally got fed up enough to do some digging into AppleScript and found some pointers to adding an alarm to an event. I figured why not give it a shot on subscribed calendars? Maybe I could add some alarms to my subscribed calendars?

After poking around and playing with AppleScript (something brand new to me, I got this working):

tell application "iCal"
	set theCalendars to {"Subscribed 1", "Subscribed 2"}
	repeat with theCurrentValue in theCalendars
		tell calendar theCurrentValue
			set theEvents to every event
			repeat with theCurrentEvent in theEvents
				tell theCurrentEvent
					make new sound alarm at end with properties {trigger interval:-15}
				end tell
			end repeat
		end tell
	end repeat
end tell

Basically, we grab our two subscribed calendars (those are placeholder names, replace with your own subscribed calendar names), go through each entry and add a sound alarm 15 minutes before the event. It takes maybe 10 or 15 seconds to go through both of my calendars, but lo! I end up with alarms both in iCal and on the iPhone!

Bingo. Exactly what I need. I’m sure there’s something more elegant, but this worked for me.

The next issue, of course, was a “race condition” of sorts. My calendars update themselves periodically. If they updated before I sync with my iPhone, the alarms would be gone. How could I resolve that?

How about another AppleScript? I did a bit more googling, and of course, there’s a nice way to sync your iPhone (or iPod), via AppleScript. Why not combine both scripts and drop it into the iTunes script directory? That’s a brilliant idea!

tell application "iCal"
	set theCalendars to {"Sub1", "Sub2"}
	repeat with theCurrentValue in theCalendars
		tell calendar theCurrentValue
			set theEvents to every event
			repeat with theCurrentEvent in theEvents
				tell theCurrentEvent
					make new sound alarm at end with properties {trigger interval:-15}
				end tell
			end repeat
		end tell
	end repeat
end tell

tell application "iTunes"
	repeat with s in sources
		if (kind of s is iPod) then update s
	end repeat
end tell

Now, when I’m about to leave the house, I just do this:

iTunes Sync

That’s it. All of my calendar items, from Google Calendar, sync’d to my iPhone with alarms. It’s a beautiful thing.

And I wish nothing more than for iCal to render it useless my having a “add default alarm to subscribed calendar” checkbox.