Nick Bradbury (FeedDemon, Social Sites, Glassboard) has taken a job at Automattic (the people who make Wordpress). It sounds like a great fit. Congratulations, Nick!
If you use Shaun Inman’s Fever for RSS, the app Sunstroke just got a big update which, among other things, adds iPad support. One of the other features I’m a pretty big fan of is support for using Pinbook to send links to Pinboard. To enable it, go to Settings, find Sunstroke, and switch it on. Because the app takes advantage of Pinbook’s x-callback support, it’s really seamless and you’re sent right back to Sunstroke after you finish.
Late last week — due to nothing wrong with Google’s services — I turned off my Google Apps for Business account and switched my work e-mail over to FastMail. The reasons for switching weren’t that Gmail had done anything wrong, but that I valued the better OS integration of Apple Mail more than the features of Gmail, and that Apple Mail really sucks as a Gmail client.
Why do I think it sucks? Well, the fact that labels in Gmail aren’t really directly comparable to mailboxes in Mail is annoying, but not show-stopping if you stay away from the web interface. The biggest reason was that archiving works differently on Mail for iOS and Mac with a Gmail account, and does so in an incompatible way. On iOS archiving means always sending messages to “All Mail” — even if the label is hidden — and on Mac it means always sending it to a mailbox named “Archive”.
And so — after doing some research and finding out what other people were using — I switched to FastMail. If sending calendar invites with a Google account worked on iOS, I’d probably miss Google calendar, but I’d already been using an iCloud calendar because of that anyway. Archiving also still doesn’t work right between the two platforms: for some reason Mail on iOS can only send messages to an “Archive” mailbox if you’re using an iCloud account — which is insane — but there’s nothing I can do except hope it’s fixed in iOS 7.
One thing that FastMail makes a lot easier is automatic forwarding to another address. So, for example, I use Tender for my support, which has a feature that lets me forward support mail send to a specific address to Tender in order to create support tickets. In Google, I either had to route it through an account, or set up a Group that forwarded to it, either of which was a pain. In FastMail I tell it “support@mydomain = firstname.lastname@example.org,” and it works. In general I feel like a lot of these most common tasks are easier with FastMail, because it doesn’t seem so focused on the idea that I’m managing a really large business, rather than a small one with a few e-mail accounts.
If you’re happy with Google, stick with it. If you’re not, FastMail is working out really well for me so far.
On May 1st, I’ll be giving a presentation on Core Data at Microsoft’s Portland offices, and Josh Twist (of the Windows Azure team at Microsoft) will be giving a presentation on Windows Azure Mobile Services.
I saw Josh give this presentation in Seattle a few weeks back, and it’s great. They’ve really made something that can make a lot of developers lives easier without needing to be an expert on writing server software.
Also, there’s going to be free pizza.
It’s right downtown, so I’m sure some of us will go out for drinks after. It’s free — but space is limited — so register on EventBrite if you’d like to come.
I’m not sure what triggered it, but all of a sudden it seems as though the nerd world has gotten into — or back into — Evernote. Merlin Mann talked about it on his recent visit to Mac Power Users, Brett Terpstra said nice things about it on on Systematic recently, Gabe Weatherhead has been posting about it on MacDrifter and I’ve been obsessed with it the past several days as well. It’s also possible that it’s been that way all along, and I just never noticed. Like I bought a blue Volvo station wagon, and now I’m seeing them everywhere.
There are two reasons that I’ve sort of always shied away from getting too into Evernote in the past:
- Afraid of being locked in. Finder and text files have no lock in.
- I hated all of the apps.
Evernote makes it pretty easy to get my actual files out as attachments (PDFs, images, etc). It’s also got full AppleScript support, so I don’t think getting my text out would be all that difficult either. I’d probably lose any RTF formatting going to something else, but I don’t use a lot of formatting, so I don’t think that’d be a problem for me.
The last time I tried Evernote — about a year ago — my experience was basically like this:
- Install the Mac version of Evernote.
- Drag a PDF onto Evernote.
- Watch it crash.
- Uninstall the app.
Fast forward to now, and the apps are between good and great in terms of stability and user interface. It seems like version 5 was a big update that fixed a lot. Some of how you get around in the Mac version is a little confusing, but not terrible, and nothing I can’t get used to. As just a way to quickly enter and find text based notes, it can’t really compete with nvALT, but you get a lot for what you give up.
Why Use Evernote
Fiddling is fun, but I’d like to avoid the temptation to switch every time someone comes out with a new app update. There’s a few things Evernote offers that no one else really can.
A Shareable Bucket for Everything
Besides Finder, Evernote is the only app I know of that you can really just throw anything at — PDFs, images, text notes — everything. And it’s not just that you can put everything into it, it’s that it treats most of those things the same way (through OCR), so that doing a text search is going to bring up results from all of the above.
I’ve put this to a lot of use already. For example, every time I buy a new bag of coffee now I take a picture of the label and put into a notebook called “Coffee Beans.” So I can now search for “Guatemala” and have all the bags of Guatemalan coffee I’ve bought show up. Or search “Stumptown” and have every bag of Stumptown beans I’ve bought come up.
Another use might be looking for a new apartment. Create a new notebook called “Apartment Hunting” and share it with your significant other/roommate. You can now both add pictures of “for rent” signs you saw out and about, or web clippings from Craigslist. All of the pictures you took are now automatically tagged with the location, and if you want you can manually add location data to the web clips as well.
I noticed when Evernote bought Penultimate and Skitch, but since I wasn’t using either of those apps a lot at the time, I didn’t put much thought into it. Now that I’m looking at them again, the ability of both apps to sync with Evernote has made them both really attractive. Penultimate plus a Cosmonaut stylus is combination I could see actually using for sketching app ideas besides paper. Since Skitch is now available on iPhone, iPad and Mac, it means that if someone sends me an app to test, I can take a screenshot on whatever device I’m on, mark it up with design notes, and send it back to them.
The other add-on apps I’ve been using are Evernote Food and Hello. Food let’s me search recipes from within the app, but also sync against any existing recipes you’ve already got in Evernote. It also lets you make a note of whenever you’ve had a meal somewhere, or search for any restaurant and save a note on it. And of course it saves the location, and often even has the menu for the place you were at. I’ve been using it to back fill places I liked in San Francisco, Montreal, Denver and New York so that the next time I’m in any of those places I don’t have to try and remember where it was I had a great vegan panini.
I’ve played with Hello less — because I haven’t been to any conferences or meet ups this week — but I tried it out at home. What it seems to do is let you take a picture of someones business card when you meet them, it can then pull their data off using OCR, sync it with your address book, and keep a running log of when you’ve met this person. I’m kind of excited about actually trying this out.
How I’m Using It
The biggest thing I’ve learned is that — like butterflies — notebooks are free. It’s usually easier for me to create a new notebook on a topic than to try and fit it into an existing one, so I’ve just been creating as many as I need, as I need them. I add one for every project or area of my life, and then if any seem very closely related, I drag them together to create a “stack” (Evernote’s concept of a folder). I’m doing more or less the same thing with tags, although I’m trying to stick with using tags for items that could potentially be spread across multiple areas, and notebooks for items which probably aren’t. Sometimes there may be overlap, but I’m not too worried about it. The best plan seems to be adding whatever contextual information you think would help in terms of title, tags and notebook, and then using search to find it later.
Another lesson is that Evernote really works best if you put as much as possible into it. For things which are strictly bookmarks, I’m not going to stop using Pinboard, but I’m giving it an earnest shot for text notes. The way I differentiate between things that go in Pinboard vs Evernote vs Instapaper is actually pretty simple. Pinboard is for something where I want to actually visit the site later (knowing it might change), I might make a web clip in Evernote of something if I want to capture it exactly how it is right now (like a recipe), and Instapaper is for things I want to read later.
Because I’m putting as much as possible into it, I now have one place I can look on any device for almost anything via a text search. How cool.
I‘m not entirely sure where this first started, but a pattern that you seen a lot in third party Objective-C libraries is using separate success/failure blocks for callback on asynchronous API. It’s surprising that is has caught on for a couple of reasons. The first is that most good Objective-C developers seem to want to do things the “the Apple way,” and Apple doesn’t use this pattern anywhere. The other reason is that the problem with it isn’t an edge case, but something you’ll come up against whenever you use the pattern.
As an example, here‘s a piece of code that uses separate success/failure blocks:
1 2 3 4 5 6 7
And here’s how I’d write it:
1 2 3 4 5 6 7 8
If you go and look at any Apple API that uses a completion handler, you’ll see they follow the second pattern. Using separate success/failure blocks forces you to repeat code, because cleanup code is usually independent of success or failure. Don’t do that.
[Update 4:28 PM: As Tim pointed out in the comments, the success flag I had on my callback block was superfluous, so I removed it from the example.]
The Lisa. The Twentieth Anniversary Macintosh. The iPod Hi-Fi. The MacBook Wheel.
Each of these products exemplifies Apple’s obsessive pursuit of quality as much as its unrivaled ability to anticipate the direction of things to come and execute flawlessly.
It only keeps getting better from this point on.