The State of Instant Messaging

Apple's iMessage was the warning shot that things were changing. Some embraced it and didn't look back. Some didn't know they were embracing it -- for them it was just a matter of having a blue text bubble versus a green one. Others saw it as a way to get out from under the thumb of greedy cellular carriers who charged outrageous prices for text messages. However you look at it, iMessage affected everyone who uses text messaging or instant messenging -- and it is proprietary.

Microsoft's purchase of Skype is finally changing the face of their instant messaging backbone. The popular MSN Messenger is widely used, especially among businesses, due to its ubiquity on the Windows platform but recently Microsoft announced that they were forcing all users over to Skype for voice and text chat -- and it is proprietary.

Google, after having a huge success with Gtalk, has just introduced Hangouts. It is a souped up combination of Gtalk and Google+ hangouts and has the promise to be the best of both worlds with synced conversations across all of your devices (a la iMessage), best in class video and sound conversations (a la Skype) and integration with Google's ecosystem (a la they get all of your usage data for free) -- and it is proprietary.

The big three seem to be circling the wagons in an attempt to lock their faithful users in to their platform of choice. While there is solid logic behind this, it is the users who are the ones made to suffer for their choices. Over the last few weeks, I've been trying to build a comprehensive view of the instant messaging landscape in an attempt to pick the best tool for the job (and then attempt to push everyone I know onto it).

What Features Are Important, New and Useful

With such a wide reach among tools, I felt it was best to start by boiling down what features I wanted in an instant messenging application. Deciding what was important would naturally push some of the choices out of the nest, making it easier to make a decision.

Here's what ended up being important to me:

  • Synced conversations across devices - This was something that I didn't know I needed until iMessage made it a reality.
  • Reliability - it sounds like something that would be an easy-to-add feature to an IM designer's list of features but the latest crop of IM applications often drop the ball here in a big way.
  • Interface clarity - Seems like this would be high on the list for designers, but try and find a specific Hangout on the Google+ page and get back to me. Some folks clearly forgot to add "interface clarity" to the whiteboard in their brainstorming session.
  • Accessible to people I care about - Whatever the choice eventually is, I will need to convince people I know to use it or this entire exercise is pointless. Having friends scattered across four or five services is bad, but given the state of IM, this is about to get a lot worse.
  • History search - This needs to be toggled for each user for security reasons obviously, but having the ability to search through certain conversations later or use them to excavate notes from a chat session is a great feature.
  • Group chats - The ability to have a chat with more than one person can be helpful on projects or with certain groups of friends. These little group conversations echo the functionality of a small IRC private network when done right.
  • Open protocol - I know this is "a bridge too far" at this point but a non-proprietary network would greatly encourage innovative interface designs and competition for the mantle of "best app". In the end, this means the user would win.

The Contenders

There are a lot of choices out there. I'm only going to list the good ones. I am not going to waste time on things that are platform-dependent[1]. I am also not going to waste time on the "text message replacement" apps like What's App, HeyTell or Kik because making a friend pay a dollar to talk to you seems like a bad idea. I'm definitely not wasting my time on anything with the word "Facebook" in the title.

So what's left? Not much, that's for sure. Here's the rundown.

Trillian/Adium - These apps are very similar and they entail creating an account on AIM, Gtalk, ICQ and the like. They function as a multiprotocol client that shows all of your contacts, and manages all of your conversations, in one place. Of the two, I find Trillian more capable because it has an iOS client which allows you to continue synced conversations between your Mac and iPhone/iPad. It is very powerful and it is one of my most-used apps. No group chat though.

iMessage/Messages - This is Apple's entry into the scene. The Mac client builds on the old iChat model and tries (and ultimately fails) to combine the old paradigm with the new. It supports cross-device chat for iMessage conversations but if the user is on one of the other protocols or devices (like Android), you're out of luck. I love that Apple completely routed around the text messaging monopoly held by the carriers and the way it falls back on text messaging if the device has no data connectivity is a work of genius. The Messages app has a serious bug that causes it to re-order entire conversations randomly. Continuity issues aside, the conversation sync feature is powerful and useful. If your devices are registered with iMessage/iCloud, a conversation can be continued seamlessly across all of your devices or machines. Facetime is integrated as well for voice and video chat. It is Apple-centric however and I doubt Apple will make it an open protocol anytime soon. If they fixed the message-reorder bug, this would be a major contender. It is so comprehensively powerful I'd gladly shun my Android friends (more) to consolidate on the platform. Group chat is well-implemented and I use it daily.

Google/Gtalk/Google+/Hangouts - Google, as usual, has made a mess. Gtalk was built on an open protocol (XMPP) and was easily integrated into chat clients like iChat, Trillian and Adium. As Google marches forward with Google+, it waves goodbye to consistency and convenience, replacing them with a Creepy Uncle hug to the integration between its half-baked, proprietary Hangouts effort and Google+ interface design fiascos. Google has decided to start pushing its closed protocol and combine it with its Gtalk "product". I wouldn't be surprised it if moved users over to their closed protocol in the coming months and shut down their XMPP service. Hangouts does support group chats and seems to aim squarely at making that a focus. Today, after extensive testing with Hangouts, I noticed that all of my Circles are now mashed up in my normal Gtalk user list on all clients[2]. Some of these faults could be redeemed if the Hangouts app was good, but it isn't. At times, the chat delay is pronounced, I had issues with lack of sound during some video conversations, the interface lacks some very basic options and the iPad app is a stretched-out version of the iPhone interface. It is a shame. After a few minutes, I thought the app held promise. After about an hour, I was slightly frustrated but bemused. After a few days of use, I couldn't delete it fast enough. The tech press was trumpeting "Google wins with voice chat and synced messages" last week while Apple users have been using these features since the release of iOS6. The state of Google chat is bad, folks. Really bad. "Open always wins" though. Yup. Ok.

Skype - Out of the Big Four, Skype has the worst chat interface. It is a trainwreck.[3] Admittedly, its voice chat is very good; it is practically a standard across all of the businesses I work with day-to-day. Most of the time, however, I just need to send someone a quick text message and this app isn't the one I'm going to do it in.

Social Networks (Twitter and ADN) - Twitter and ADN have private (or "direct") message capabilities. Unfortunately, both of these are at the mercy of two different potential issues. The first potential issue is the social network's ability to handle and support direct messaging. Twitter has downplayed its direct message capability and even floated the idea of doing away with it at some point (hard to feed ads to direct messagers, I guess). It clearly isn't a focus for them so I'd rather avoid getting caught out by building a reliance on it. ADN has a rich direct/private messaging capability but it seems dependent on the quality and consistency of the client. As ADN relies heavily on the support of third party development, they also rely heavily on the developers understanding and ability to exploit the full potential of the protocol. So far, in testing, I've had spotty results. While you can successfully send messages back and forth to a user, it doesn't seem to work very well for conversations that stream back and forth quickly. Twitter's implementation is the inferior of the two but it is also the most ubiquitous so its a case of "pick your poison". ADN has some interesting efforts like Project Amy which integrates ADN with Apple's iChat/Messages app. I tested it but have yet to put it through heavy paces. In a cursory test, it seemed to work surprisingly well. ADN supports group conversations you can use apps like Patter to take advantage of them. If ADN were more universal, its great third party developer support coupled with smart considerations from its attentive owners would make this a nice contender. No voice or video chat though (yet).

Goodbye Status

One thing is clear -- user status is going away. In the old days (last year), the ability to mark yourself "Away" or "Extended Away" was seen as a key feature for a chat client. These days, with device-synced conversations coupled with the fact that we are now used to disjointed and discontiguous text messaging, it seems less important than ever. I am happy to see it go since it was easy to forget to change your status. I gave up trying years ago.

Conclusion?

There is no clear winner here. As I mentioned before, the user is the real loser because the pitched battle for users and a lock-in model serve to create a wide range of favorites with each user deciding on what is their most important feature and then trying to convince all of their friends that their solution is the best. Out of all of them, Apple has the most comprehensively thought-out messaging model but it is plagued with a few serious bugs. Facetime serves the voice/video spectrum and the iMessage protocol (with its smart switching between text messaging and online-based chat) does an admirable job of syncing conversations amongst all of your Apple-based technologies.

And there is the problem -- what about people who use Windows all day at work? If they can't access chat on the desktop easily and take those conversations with them, it presents a large hurdle to building a consensus. This is the main reason why I end up using Trillian so much -- it spans desktops, platforms and devices for users who aren't me. After all, if you had the best chat client but no one to talk to, what fun would that be?

For now, my solution is going to be the Gtalk XMPP protocol via Trillian in order to span my desktop and iOS devices regardless of my chat partner's choices. For friends who have Apple devices on both the desktop and devices, it makes sense to consolidate on iMessage, despite the occasional bugs in message continuity. The bugs will eventually be fixed but what will remain is the best platform from top to bottom. The real challenge will be convincing all of my friends to use it. For my Android-using friends, there's always email...[4]


  1. As much as I think my friends who use Android make bad choices in life, it doesn't mean I never want to talk to them. ↩

  2. What was a once a manageble 20 users is now up to 108 people I almost never talk to. Nice job, Google. Thanks for letting me know this was going to happen. ↩

  3. I do have to praise its consistency however as it has the worst chat client on all platforms, without exception. ↩

  4. Have fun with that. ↩

Boy, Was I Wrong: My Initial Impressions of the iPad Mini

Well, I have to admit, I've never been so wrong about a device.

I usually have a pretty good feel for these things, and I've spent a lot of mental clock cycles thinking about how a device like this can't possibly work. Devices like the Samsung Note look inane and deeply flawed. I have played with the software that passes for applications on them. Awful stuff. Software on those devices always seemed to try to straddle the line between being a blown up phone app and a half-baked afterthought of a tablet app. Comparing "workhorse" apps like OmniPlan and OmniFocus on the iPad to those found on Android devices just seem... well.. terrible.

So I assumed that apps that were designed for a specific scale and use case on the iPad would scale down poorly with small tap targets and a non-retina display which would compromise the very detail you'd need to run those apps. Again, I was wrong.

I was thinking that the Logitech Ultrathin Keyboard I bought for the iPad 3 I had been using was going to be wasted or useless. Wrong.

I'm typing this on my new iPad Mini (32GB with LTE) using my Ultrathin keyboard. The screen is small but not overly so. I can carry this light, slim device easily (it even fits snugly into the back pocket of my jeans) and I find it is always a first choice when reaching for something to browse the internet with, catch up on ADN or skim through Reeder or Instapaper.

The worry that apps like Comixology would suffer due to the lack of a larger screen or lack of retina resolution was unfounded. I was reading comics on the Mini yesterday and they looked pretty damn good and the fact that they're more portable makes up for it.

Other reading apps fare pretty well too but admittedly in this area I do miss the retina resolution. iBooks, Kindle, Reeder, Instagram, Goodreader, the Magazine are all front and center on this thing though. While it used to lay all around the house ready to go at a moment's notice, lately the Kindle Paperwhite is relegated to my nightstand. I still prefer the Paperwhite's low-light reading capabilities and I'm sure it will fare much better when reading outside in the summer but for now, the iPad Mini is going to be my go-to for reading. Strange but true.

Thanks to the miscreants on ADN who pushed me over the edge. I am not regretting the decision. In fact, for once I'm pretty damn happy about being wrong.

Launchbar Contacts/Address Book Access in Mountain Lion

One of the casualties of Mountain Lion (OS X 10.8) this morning was that Launchbar could no longer access my contact information. At first I thought I was fat-fingering things but after a few tries, it became apparent that it wasn't just my lack of typing skills.

To restore Address Book access, the fix was easy. Follow these steps.

  1. Hit your hotkey to bring up Launchbar.
  2. Click the gear for preferences and select Index > Show Index
  3. Select "Contacts" from the Index list on the left
  4. Select the "Options" pane in the Address Book area on the right.
  5. I had a blank dropdown here, so I selected "Mac OS X Address Book"
  6. Problem solved.

I hope this helps anyone else who runs into this little twist. Maybe I was the only lucky one…

Screen Shot 2012 07 25 at 2 06 29 PM

7" iPad Rumors

Out of all of the articles and rumor-mongering going around over the last few days, I think Ben Brooks hits closest to what I agree with but I'll take it a step further. I don't think the 7" iPad is a good fit for the stable of Apple products.

It doesn't make sense from a portfolio fit, from a usability fit or from a developer buy-in fit. Apple doesn't shoot for the lowest common denominator, it innovates. It's more likely that they are coming up with something no one has thought of yet, rather than chase the low-end and play in the same pool as the Amazon Kindle or Nexus7.

Here are some practical considerations from a design and development perspective.

  • The controls for current iPad apps will be too small to use in a lot of cases (think OmniFocus or OmniPlan for iPad). Do you really think this will look good on a screen that is THIRTY percent smaller?

    IMG 0091

  • How would ebooks created through iBooks Author work on a 7" screen (besides "badly")? Books like Paperless would be cramped and terrible or the fonts would be extremely small. iBooks might display OK in a "paperback" format (vs the current, larger "hardcover" format). If you have something with diagrams or specific design constraints, you'd be out of luck.

  • Is text going to automatically scale for all apps? Will that be developer controlled via different device targets?

  • What about Newstand magazines? Smaller text won't do New Yorker any favors. I think you'd need a retina screen to do it justice, but then you're raising the price of this supposed "bargain" device...

  • Pretty much all games will have to be redeveloped, from a control/interface perspective, to work well on this size device.

  • How usable is this device for typing? Is it a huge-ass iPhone keyboard or a shrunken iPad keyboard? They both sound terrible. If this cues the "but this will be for content consumption" then go read the statements above about how terrible it will be to consume content.

I'm not saying Apple definitely won't build a 7" iPad-like device. If they do, it will be something new and different rather than a simple downscaled, lowest common denominator, "me too" device. Can you imagine what kind of industry we'd have right now if Apple decided to make netbooks just because HP was making money on them?

Me neither.

App Store Woes: A Perspective

Over the past couple of days, iOS developers have been citing complaints from users that their apps are crashing and causing waves of 1-star reviews. What's worse is the hit to the user's faith in the developer to deliver a consistent, stable experience.

For years, the sides of the argument that make the case for why the "walled garden" approach of the App Store has a detrimental affect for users have largely been proven wrong. You need only look at the state of malware on Google Play to see how advocates of Google's approach have to live with their choices. It doesn't look like a lot of fun to me.

For the vast majority of users, the approach Apple has taken with their App Store (curated, sandboxed applications) delivers a good user experience overall. Knowing that an app you bought has been vetted by some authority goes a long way for some people. That's not to say that this method is totally perfect.

The problems arise when the trusted system goes bad. The app corruption problem that's being brought to light is a huge issue for people who base their whole livelihood on the App Store.

When something like this is beyond your control as an application developer, it is a terrible feeling. It highlights the fragility of the ecosphere and underlines the reliance on a system that you have no input to, no authority over and no autonomy from if you want to continue to distribute your apps this way. Indeed, for iOS developers, this is the only way to distribute apps legitimately. As long as there is no workaround, or acknowlegement from Apple that there is even a problem, as a developer, you are left in a limbo state with no recourse whatsoever.

As frustrated as the developer community is right now with this issue, (rightfully so), I try to temper my reaction somewhat with the fact that what we do isn't possible without Apple's infrastructure.

Over the last 4 years, we have enjoyed an unprecedented ability to reach new users, clients and respondents. We have reaped the benefits of Apple's distribution system, audience reach and smartphone technology. We have gained a whole new platform since this whole process started in the iPad and we have seen our businesses grow because of Apple's success.

While this may be frustrating now, keeping the above things in mind will help us keep perspective on this bump in the road. Once things settle back into the status quo of solid up-time and the reliable mechanisms of software distribution we've enjoyed since 2007 but it may be smart to examine our reliance and find ways to mitigate the risks inherent in a system so beyond our control.