PromoLinker for Mac OS X is on the Mac App Store

PromoLinker, a very simple app I created, is on the Mac App Store.

PromoLinker takes the promo code files generated from iTunes Connect and turns them into clickable links that users can follow from their desktop or iOS devices to redeem. I got sick and tired of doing this by hand so PromoLinker was born. Hope you find it useful.

You can get PromoLinker here on the Mac App Store.

OmniFocus Scripted Updated for Exchange

Don’t forget to check the comments – the OmniFocus flag/import script has been updated to support Exchange accounts:

Thanks to John Payne for working it out!

When I have some free time, I’d like to put together an ‘uber-version’ that handles them all in a single file.

Hunter’s Favorite Apps, 2011 Edition

Something I’m hoping to make a tradition is to write about my favorite apps at the end of every year.

I come into contact with different apps all the time – as someone that builds them for a living, I like to check out a wide variety, even if I’m not sure they’ll find a permanent place on my phone.

Here are a few apps I’ve used this year that I recommend:

* Instacast & Instacast HD – I listen to a lot of podcasts and as anyone else that does will surely tell you, iTunes support for podcasts is lacking. Enter Instacast, a powerful podcast client with versions for both iPhone and iPad. Subscribe and update on the go, sync those subscriptions via iCloud and even read show notes without leaving the app. A great podcasting client for iOS.

* Tweetbot – I spend a lot of time on Twitter and when it comes to the iPhone, I use Tweetbot. I like the little animations and polish that you find, plus the fact that it supports the full range of Twitter features. Gestures make it easy to see replies and conversations.I hope we’ll see an iPad version one day.

Find My Friends - Since the introduction of iOS 5, I use this app all the time to figure out where my family members are. Did my wife already leave the office on her way home? Now I don’t have to call to find out.

* Instagram – This mobile photo community has earned a spot on my home screen. Between cool filters and easy sharing, Instagram can be a hell of a lot of fun. Apple named this the top app of 2011.

* Prompt – This one has a niche appeal but if you need to SSH into remote servers, it’s awesome. Well designed by the geniuses at Panic, it runs on iPhone and iPad.

* Verbs – Since joining Foraker Labs, I spend a lot more time on IM. This client, for iPhone and iPad, allows me to stay in contact with my colleagues no matter where I am.

* 1Password – I’ve written about this app before but it’s so good, I can’t help but mention it again. I need a secure way to store all of my passwords and 1Password is it. Great app!

* New York Times – The latest version of the NYT app for iPad includes a bunch of new gestures to make it easy to move around between sections and articles. The subscription price is a bit higher than I’d like but I read religiously every morning, especially since the app now includes Newsstand support.

* Flipboard – Apple’s most popular ‘news re-imagined’ app for iPad is now on iPhone as well. A fun way to visualize the Web, Facebook, Twitter and more.

* Politico – As a political junkie, I love having this news source available with a single tap on iPad. Great stuff.

* HBO Go – Want to watch all of your favorite HBO shows and movies on the go? The app does exactly what you think it’d do. You need an HBO subscription through your cable provider.

* iA Writer – The app used to write this post, the latest version includes iCloud sync so that your iPad and Mac are always up to date. We’re told an iPhone version is coming soon.

That’s it for now – the links above will take you to the App Store page for each app. Check ‘em out and enjoy! What are your favorites?

Oh, and make sure you also have Vegas Mate! It’s really great!

OmniFocus Task Auto-Import via iOS Mail Flags

I live my life through OmniFocus.

Between my iPad, iPhone and my Mac, it’s the place that I store all of my tasks and random project stuff. I subscribe to the ‘trusted system’ theory – by knowing that I won’t lose track of something if it’s in OmniFocus, I don’t stress out about my todo list rattling around in my head.

Despite the great iOS apps, I inevitably have to process a lot of tasks that begin as email. The Mac version uses the Services menu to allow you to capture text and create list items easily. Unfortunately, due to current platform limits, there’s no such convenience on iOS. That means that by default, going through my email inbox and creating OmniFocus tasks isn’t all that doable on iOS. This troubled me.

Yes, Omni does provide their ‘Send to OmniFocus’ email address – you forward your message to it and it returns it back to you with a reply that contains a URL to populate the app with that task. It’s nice that they include this but come on, let’s be honest: it’s a hack. The messages aren’t linked the same way that they are when you use the Mac service and I just generally don’t like the idea of polluting my email with these extra messages.

Since my Mac at home is running 24×7, I wondered if there was a way I could use AppleScript to create my own solution. Here’s what I’m doing now:

In iOS 5, Apple added the ability to flag a message, just as you’ve been able to do on the desktop forever. I created an AppleScript that looks for flagged messages. When it finds them, it adds them to OmniFocus and links them back to, just like the Services action does. It then also unflags the message, resetting the state back to normal. This script runs every five minutes.

What this means is that I can now just add a flag to a message on my iPhone or iPad and know that it will be picked up by OmniFocus.

There’s one serious downside – since Google’s Exchange implementation for Gmail is seriously strange (some might say broken), it doesn’t work there. While Exchange ActiveSync supports flags, the Google implementation does not. If you decide to use ActiveSync to access your Gmail account (i.e. to get contact and calendar sync, push, etc…), this will likely not work for you.

Anyway, this script has been so useful to me that I’m sharing it here. Feel free to use / hack on this yourself as it fits your needs.

I’ve never done anything in AppleScript before so if you’re an AS expert, don’t laugh too hard.

Recent Work @ Foraker

My colleagues at Foraker Labs have updated our Web site to include some of our recent iOS work.

Check it out!

Sharing Calendars with iCloud

One of the features that the late, great Steve Jobs talked about in June at the iCloud introduction was calendar sharing – keeping your wife/partner up to date could be easier than ever before. Well, I decided to give it a try.

I’ve been running iOS 5 betas since June and upgrade to iCloud about a month ago. It wasn’t until this week that my wife upgraded her iOS devices. It was time to see how this all worked.

The first place I checked was on my iPad. I searched around for some kind of sharing option. No luck.

I did eventually find it though – on Here’s a quick step-by-step:

1. Make sure you have upgraded your Apple ID to iCloud / setup iCloud. Both the sharer and the ‘sharee’ need to have iCloud accounts.

2. Go to with your computer and login with your credentials. Open the calendar app.

3. In my case, I created a new calendar, though you can share an existing one too. On the left, you’ll see the calendars listed, each with a little circular symbol to the right (sorta like an RSS icon, if you know what that is). Click that.

4. This will give you a sharing panel. You can choose ‘private’, specifying the email address for the person in question.

5. The recipient will get an email, asking them if they’d like to subscribe to this shared calendar. They say yes and they will be directed to their iCloud account. Once confirmed, the calendar magically appears on all of their devices. It just works.

Now anything you add to this shared calendar appears on both devices. Here at home we’re using it for travel plans and the like.

iOS 5 Means Even More Great Apps in the App Store

Some thoughts from me about the impact of iOS 5 on customer’s apps, over on the Foraker blog.

Customizing BetaBuilder’s Web Output

In one of the BetaBuilder posts, one of the commenters reminded me that while you can customize your BetaBuilder HTML template, it’s not really documented well (or at all).

Customization is pretty simple: just edit the ‘index_template.html’ file in BetaBuilder’s Application Support folder. You’ll find a file with a few simple tags that are used for substitution when building the HTML.

If you customize your HTML file and a future version of BetaBuilder also includes updates, such as for new features, you’ll be prompted to replace your file for the update. It’s up to you to save it off and reconcile those changes.

Any questions? Fire off in the comments.

Importance of Passwords and Good Security

Friends, Romans, countrymen, lend me your ears – I’m sending out this little note to you, my family, friends, colleagues, etc… Hopefully you’ll find some value in it on this lovely Saturday morning. It’s not spam.

Even if you’re not plugged into tech news, you may be aware that in the past few months, there have been some very high-profile computer security intrusions. Perhaps the most famous is Sony, who had over one million user accounts stolen, including email addresses and passwords. This sort of thing happens all the time and often, it’s not reported in the media.

Most online services store this password data in encrypted files but modern advancements in hardware mean that even complex passwords can sometimes be decrypted in just seconds if crackers have access to the data.

I’m sending this email because online security and passwords are more important than ever though I find that many non-technical users aren’t aware of best practices or some of the steps they can take to make their online lives more secure. Maybe you’re already doing all of this – if so, great… I find many users are not, however.

Here are some tips for improving your online security. It’s certainly not an exhaustive list but I hope you find them useful.

Unfortunately, I don’t have the time to provide individual support if you have questions. That said, there’s a lot of good information about these topics available online.

- Use Complex Passwords

Do NOT use a password that is in the dictionary – they can literally be cracked in less than a second. Best is a mix of letters and numbers, including both uppercase and lowercase.

- Don’t Use the Same Password at Multiple Sites

This is one of the best ways you can limit your liability – if one database of passwords is cracked, they don’t automatically have access to all of your other accounts. If you use the same credentials everywhere, then you’re relying on the weakest link in the chain to protect everything else. That’s not smart.

So, why do people use bad passwords and re-use the same credentials all the time? The answer is simple – it’s hard to keep a bunch of separate passwords straight, especially since every site these days wants you to sign in to do even the simplest of operations.

Well, fortunately there’s a good solution for this problem: I use an app called 1Password []. It runs on my Mac, my iPhone and my iPad (there’s also versions for Windows and Android). 1Password stores all of my site usernames and passwords, letting me restore them by pressing a single button in my browser when I need to login. It also lets you store secure notes (credit card numbers, SSN, etc…) that you might otherwise leave unprotected. They have videos and screenshots on their site so you can see how it works.

All of the data in 1Password is heavily encrypted and the various versions sync between devices so I always have my complete password list, wherever I am. In addition, 1Password includes a password generator to create the sort of complex passwords that keep you safe. My Gmail password is a 40 character string of random characters – I’d never be able to remember it without 1Password.

I know there are other, similar solutions but this is the one I use. It’s some of the best money I’ve ever spent ($40 on the Mac, plus a little extra for the various devices).

- Mobile Device Passcode / Auto-Wipe

Do you have a smartphone like an iPhone or even a tablet like an iPad? If you don’t have a passcode on your phone, you are insane. What if your phone is lost or stolen?

There is a large market for stolen phones, not only because they are expensive but because identity theives know they are loaded with personal information. Don’t make this mistake! If someone can access your email, they can likely reset your bank password and other accounts. It’s often like a master key.

On iPhone, iPod touch and iPad, there’s an additional option to have the phone wipe itself if the wrong passcode is entered ten times in a row. Turn this on as well – it’s easy to restore your phone from a backup if you somehow triggered this inadvertantly.

Passcode options are in Settings -> General -> Passcode Lock

- Find My iPhone

For iPhone, iPod touch and iPad, Apple provides a free service called ‘Find My iPhone’. This allows you to track a lost or stolen phone, send an alert tone or pop up a message on the screen and most importantly, it allows you to remotely wipe the phone. Yes, you can send a signal that will erase all the data on the device, from anywhere.

This service is free for iPhone 4, iPad and iPad 2 users and will be part of Apple’s upcoming iCloud product coming this fall.

- Change Passwords Regularly

For your most sensitive accounts, change your passwords on some regular schedule. For my banking stuff and email, I change my passwords when I change my clocks – twice a year. Again, using a password manager like 1Password helps to make this easier to handle.

- Bill Online Services to a Single Card

I’ve started to migrate all of my online service billing to a single credit card. That way, if it is ever compromised, there’s only one card out there - easier to cancel and also to update if need be.

- Good Luck

These are just a few simple steps but if you can move to start using more secure, indvidualized usernames and passwords, you’ll be a lot safer when a service you use is inevitably cracked. Yes, inevitably.

Enjoy your weekend and feel free to pass this along if you find it useful.

Some Great Travel Apps for iPhone

This past week, I spent some time in Colorado to see my friends at Foraker Labs to talk about some new iOS work. Boulder isn’t all that far from Santa Barbara in the grand scheme of things but it was a chance to remind myself of some of the travel apps on my iPhone and iPad that make the experience far more tolerable.

Here’s a list of a few of the apps that kept me company last week:

* FlightTracker Pro – if there’s one app that is truly useful when traveling by plane, it’s FlightTracker Pro. You enter your flight info and then you’re fully up to date about changes in the schedule, sent via push notifications (they even use the awesome seatbelt-sign tone when they arrive).

* TripIt – I don’t use the Pro version but even the free edition of TripIt is helpful. Simply forward your hotel, airline and other confirmation emails into the service and it will create a complete itinerary, right in the app. It’s also integrated with FlightTracker Pro – once your flights are in TripIt, it will automatically populate that data in the other app.

* Instacast – I listen to a lot of podcasts but when traveling, I don’t usually bring along my main Mac. This means I don’t have my iPhone ‘sync’ computer to download podcasts onto. Enter Instacast. Subscribe, cache and stream podcasts right into the app along with show notes and other info. It’s a great podcast client for iPhone – something the built in iPod app doesn’t really strive to be.

* Instapaper – One of my all-time favorites. Instapaper is a great way to capture and read articles from the Web, wherever you go. It caches and keeps the data so it’s easy to use when you’re flying around in a metal tube.

* OmniFocus – This wasn’t a pleasure trip so I had to keep my tasks rolling as normal. OmniFocus syncs between my iPhone, iPad and Mac and has never let me down. Not cheap but I’ve definitely gotten great value out of it.
All of the above apps are available on the iTunes App Store.