Apple, Condemned to Death by a Thousand Papercuts

Ever since Steve Jobs’ death, Apple pundits and fanboys all around the world began counting down the “inevitable death of Apple”. There can only be one Steve Jobs and he is dead. He defined an era when only an era can be defined. The emergence of the iPhone can only be described as a goldfish swallowing the whale. They say history repeats itself and once again we’re seeing the sequel of “PC overtaking Apple” as “Android overtaking iOS”. Funny how we never learn. Maybe someday Steve Jobs will be resurrected by bio technology and we’ll see this whole drama play out again in the bio field. But I digress.


Apple products are distinguished by the polish and intuitiveness of the interface backed by solid technology in both hardware and software. It’s quite a formidable package and one that is yet to be rivaled. Samsung, Google, and BlackBerry are still chasing Apple’s tail. The brilliance of Apple under Jobs’ second coming is that they made just the right trade offs with open and closed systems. They leveraged open technology to build an OS (OSX), even though I think they bet on the wrong horse (mach kernel) in the long run, and leveraged that for mobile. They created a new market for touch screen devices that created a whole new paradigm and even extended it to tablets.


Like any brilliant invention that revolutionizes the world, once people got hold of an iPhone they soon settle into a state where they can’t image a world without it. It feels natural, almost meant to be. Every time I try to use an Android, I feel like it’s a different beast. My mind locks up when I run into many of its unintuitive rabbit holes that come from logically inconsistent and/or unintuitive interaction designs. I’d frequently find myself forgetting how to access a certain setting or getting lost in an application’s menu. A lot of things just don’t feel right. The battery life was atrocious.


However, at the end of the day, the iPhone is simply a mini computer (that connects to the internet), camera, and media player with phone capabilities. That’s it. What sets it apart is the application eco system and all the innovations it introduced to the market. However, the company is now feels decidedly conservative. There’s no excitement on the horizon. What’s coming after the iPad Mini? The iPhone grande? Or maybe the iWatch? AppleTV as a gaming console anyone?


The app eco system will eventually be the downfall of Apple. They’ve created a culture of fear by acting as arbiters of taste rather than protectors (ensuring that malware isn’t circulated). Take away all the applications from any smartphone and you’re left with the internet, music, and movies for your entertainment; email, sms, and voice for communication. When you get banned from Apple’s App Store you have no recourse (other than public appeal). With Android, their Play store is much more permissive and moreover, users can choose to install non-market apps.


Without a visionary like Jobs, Apple needs all the help it can get with innovation and there’s no greater inspiration than an eco system of third-party developers. Interface improvements like the ubiquitous pull-to-refresh came from outside (apps like Facebook have a nice flick to go back from a picture view which I think should be standard). Also, Apple’s preference for sandboxing all data and more importantly locking down the music and video library is also another weakness that will irritate users more and more. The big issue at hand is Apple tries to control how we interact with our own data in the name of protection. We can’t download and play music or movie files from the internet without going through iTunes or syncing it via PC. Movie files can only be played if it’s in Apple’s mp4 format unless we use third party apps.


The smartphone revolution is far from over, it’s only beginning. As more and more of our lives go mobile, we need newer ways of interacting with the device. There are still lots of improvements to be made, such as text input, before they can completely replace computers. Social interactions are also another area ripe for innovation (I’m thinking device to device communication like Bump and more location-based networks that involve more than just checking in). Payment/point-of-sale is yet another are that will eventually become a major pat of smartphone usage (something with more substance than the Passbook, something that makes use of technology like RFCs).


As technology matures it’s only natural that there are no low hanging fruit to pick and that pushing the envelope involves great risk. However, with companies Samsung chasing them on the hardware front and Google chasing them on the software front, they really can’t afford to rest on their laurels.

Using Gmail/IMAP Backups for Super Fast Email

Anyone who uses email often enough at some point in life will eventually struggle with handling an ever growing collection of email. Email bankruptcy is a very real prospect. My email address is literally a blackhole where lots of messages go to die. Thanks to the “all you can eat buffet” approach to email storage pioneered by Gmail, I never worried once about managing the crazy collection of text. The best features of Gmail are massive storage, filters, search, and labels/folders all in the cloud.

However, ask yourself what happens to your email when things go bad? With Google Reader shutting down, it can’t hurt to have a backup plan. What’s more since your Gmail is tightly integrated with everything else Google owns, any service violation may put all your data at risk. Although unlikely, there are people who got their accounts shutdown due to mixups of one kind or another. Google’s customer support is notoriously slow not to mention the challenge of finding a channel to communicate with them.

The advantages of having a copy of your email on your hard drive not only gives you peace of mind but can also make you more productive when combined with old school email clients like Mutt or Alpine. Marissa Mayer, the CEO of Yahoo, plows through her email with Pine.

Having your email offline allows you to take your email with you on your laptop without worrying about a connection. Read and respond on the train or in a cafe and when you get a connection it’ll all sync up. Another advantage is the search. You can combine it with local search engines to find the emails you need fast or create “smart lists” for email that meets a certain criteria to stay on top of things.

Handling your email in a no frills environment can really help you with staying focused. As we all know, using the web interface of anything can lead us to lots of distractions.

Getting Your IMAP Offline

The great thing about IMAP is that all your folders and messages reside on the server/cloud. This means that no matter what client you set up, everything will be sorted nice and neatly. However, with the typical setup, you need to have a persistent connection since messages are more or less a temporary cache.

So, to get around this, there are several solutions out there to get your email into a Maildir. With a Maildir, basically all the folders on the IMAP server become a folder on your disk and each message resides in its own text file with a unique filename and various flags indicating the state (unread, starred, etc.). The most popular of these is OfflineIMAP.  OfflineIMAP is written in Python and will pretty much run on any platform. There are other delivery agents as well. I’ve mostly used OfflineIMAP until now but it does have some issues. My biggest problem with OfflineIMAP is that near the tail end of syncing my email, it just becomes this monster of a process that eats an endless supply of RAM (I’m talking GBs and some CPU spikes). It would be dangerous to leave it running as I’d have to restart my mac due to having no RAM. It was just getting crazy.

Recently, I migrated to mbsync and I couldn’t be happier. It’s fast and efficient but consumes so little memory since it’s written in C and pretty sound in terms of design. Mbsync also offers a lot of granular controls so you can give certain folders higher priority and also perform particular operations like “pull new” messages. You can simply do “brew install isync” if you use homebrew on the mac or download the source here.

Once you get the program installed you need to configure it. I mostly followed the instructions here, the section on getting the security certificates and ignoring Gmail’s “All Mail” folder (which creates a lot of duplicates) was particularly helpful. This guide is really good for setting up channels so you can specify how you want to sync specific folders.

Channel gmail-inbox
Master :gmail-imap:INBOX
Slave :gmail-local:INBOX
Create Slave
Expunge Slave
Sync Pull
Channel gmail-sent
# we need the double quotes
Master ":gmail-imap:[Gmail]/Sent Mail"
Slave :gmail-local:sent-mail
Create Slave
Expunge Slave
Sync Pull

This can be done for any directory. Mbsync seems to go through all the folders in order so if there are particular folders you want to always have priority, setting up these channels will ensure that quick update is simply a command away.

mbsync important

You can setup a separate cron job since mbsync can have multiple processes accessing the same account. Incidentally with OfflineIMAP, the lock on an email account is global. This combined with excessive resource consumption and the fact that syncs never complete, meant I had to kill the process and start from the top (combined with the auto refresh, it was a bit of a nightmare).

Once you have the syncing setup (syncing will still take time depending on the size of your mailbox), all you need is a good software program to handle your email. You’ll be able to fly through the messages.

Personally, I use Emacs with mu/mu4e which is an awesome combination. Mu uses Xapian for fast and capable search capabilities which can be used like smart folders. There are several combinations out there for using Maildir and IMAP. Old school email clients might seem scary at first but once you get used to them, it’s fast and efficient.