Beejive's iPhone IM App Is Pushy

Until the iPhone OS either includes a way for applications to run in the background or receive data while they’re not running, instant messaging on the iPhone will remain less than ideal. Developers are, however, figuring out ways around the limitations. One entry in the iPhone IM market that’s racked up some acclaim is BeejiveIM, from mobile IM veteran Beejive.

To briefly review the problem Beejive’s IM client addresses, the issue is this: iPhone applications are not permitted to run in the background. For a lot of apps this isn’t a problem: Who needs an always-on address book or calculator? The problem for instant messaging applications remains as we described it in July:

“That limitation means that the ‘instant’ part of instant messaging is ruled out if a user is, say, looking up an address or watching a video on the device, because an IM client would have terminated when the user ran another app. It also becomes harder to convey presence information, because a suspended application can’t report whether the person using it is idle, or still connected at all.”

The solution Apple says it will offer is a push services layer that allows applications to shut down in the background but receive data from a daemon that can wake them up and give them a chance to respond. Apple said it would provide a push services layer to the iPhone OS by September, but on Friday another iPhone OS update came and went and, to the surprise of few, it didn’t include the push services, which had been removed from beta versions of the software earlier in the fall.

Beejive e-mail screenshot.
Beejive notifications include a handy, chat-opening link. Click for a larger image.

Push? Where We’re Going We Only Sort of Need Push

Beejive IM is one of a few IM apps that address the lack of push services in one part of the OS by using them in another. Though Apple hasn’t exposed a push API for applications like instant messaging, there is some push capability in the iPhone OS: It can receive push e-mail. BeejiveIM takes advantage of that small opening with a system that puts Beejive’s servers in between the user and the IM network.

When a Beejive user is signed on to an IM service, BeejiveIM acts like a normal IM app as long as it’s running in the foreground on the iPhone. Instant messages come in and go out about as one would expect. When BeejiveIM is closed, the application shuts down like it’s supposed to, but Beejive’s servers continue to monitor the user’s IM account for incoming messages. When they register one, they forward a mail to the BeejiveIM user’s e-mail account. The user gets the message on the iPhone, opens it up, and can click a link that launches Beejive IM and drops them into their conversation.

In theory, that creates seamless presence for BeejiveIM users. Contacts don’t see that the user is entering and leaving BeejiveIM, and users get fairly speedy notification of incoming messages. It might not be a good alternative for people who need to respond to instant messages, well, instantly, but it’s better than the current alternative for iPhone users, which is getting nothing if they close their IM client.

Just about any kind of e-mail account can be used, but push accounts are probably best in terms of keeping power consumption down. Another alternative is to provide Beejive with an e-mail address for your cellular provider’s e-mail-to-SMS gateway. For AT&T users in the U.S., that takes the form of your iPhone’s number with @cingularme.net tacked on to form a complete e-mail address. In that case, IM notifications will arrive as SMS messages instead of e-mail, which is a fine solution if you have unlimited messaging or don’t get that many IMs in a month.

The messages themselves are actually helpful, too. The text of the incoming message is included in the message, and there's a big button that links to BeejiveIM, so it's easy to open a chat session right away.

BeejiveIM includes a few configuration options for the push feature, including how to determine when you’re really signed off an IM network vs. when your iPhone just happens to be doing something else. Users can set a period of time to elapse from exiting the program before Beejive’s servers tell the IM network they’re actually signed off, configurable in reasonable increments from 10 minutes up to 24 hours. Beejive will continue to forward e-mail notifications of incoming messages up to the period of time the user specifies. Users can also opt to be signed off right away when they exit BeejiveIM.

Using BeejiveIM

BeejiveIM supports a number of IM networks:

Unsure about an IM abbreviation?

Check out our listing of more than 600 definitions.

  • AIM
  • Google Talk
  • ICQ
  • Jabber
  • MSN/Windows Live
  • Myspace IM
  • Yahoo! Messenger

It’s built to honor some of the conventions unique to each network. Its AIM account settings, for instance, include support for privacy settings and profile information. Its Google Talk and Jabber settings include the ability to set a resource name and its priority, which helps XMPP servers determine how to route an incoming message when a user is signed on through more than one client program.

Even if it didn’t address the question of getting instant messages past the iPhone’s restrictive environment, we’d still be pretty impressed with BeejiveIM. It sports a clean, simple interface that doesn’t get in the way and offers a few affordances that aren’t immediately apparent.

The starting screen offers a view of the user’s contact list. It fits about six entries at a time and includes each contact’s user or screen name and nickname along with his or her status. Tapping on a contact opens a chat session, while tapping on a blue arrow opens contact info. From there, users can read the contact’s time online and profile information, assign the contact to a group, and block or delete them. If you’re the type with dozens of contacts, the buddy list includes a search icon to narrow down the list.

Besides the buddy list, BeejiveIM includes icons for a favorites list (to add contacts for easy access), a chat list, and an accounts list.

The chat list is a window with all your active conversations. Clicking “Edit” or swiping each conversation allows it to be deleted.

The account list offers a one-stop screen for adding or editing IM accounts, and for setting status on each. The top line of the list shows icons for each network the user is signed on to and a common status menu, so there’s no need to set each and every account to “Hanging out at the club with some fun people.” Each account on the list also has its own status setting, so it’s possible to set a work-related IM account to something besides “Hanging out at the club with some fun people.”

Finally, the “More” icon leads to options for sorting contacts (by account or group) and links to Beejive’s online support.

There are also plenty of configuration options, accessible from the iPhone’s settings icon. Users can opt to use contact groups, hide inactive contacts, sort by contact status or display name, keep or lose iPhone’s auto-correction, and many more controlling the program’s sound and appearance. There’s even an option to shake the iPhone to switch between conversations.

Chatting on BeejiveIM

BeejiveIM keyboard screenshot
BeejiveIM lets you chat in the more comfortable landscape mode. Click for a larger image.

The chat windows for BeejiveIM are reminiscent of the Mac application iChat’s, with each message a appearing as a shiny, lozenge-like bubble. Tapping on a message in a chat window will open the keyboard up to enter a message. BeejiveIM pays attention to the orientation of the iPhone and allows messages to be typed in landscape mode, with its larger, more comfortable keys. While typing a message, it’s also possible to tap a menu that offers access to a number of emoticons, which is a kindness considering the way the punctuation marks on iPhone’s keyboard are found on a secondary screen.

Hidden away is the ability to tap on a bar at the top of a chat window to access a slide-down panel with several useful options:

Icons for each active conversation are available. Tapping one switches to that conversation. There’s also a trash can icon (to end the conversation), and an icon that allows the user to e-mail a transcript of the chat session.

Using BeejiveIM is a pretty smooth experience overall. Its interface is easy to deal with and seems well thought out. We did experience a few problems, though:

The worst was an issue we experienced twice over a few days of use: We’d send a message and get feedback in the form of a red “x” next to the message. Tapping the message resulted in an invitation to resend the message or cancel, but there was no feedback on why we were getting the message. Was it because the contact had dropped off the network? Because we’d dropped off the network? Was the contact away? Had Beejive lost its connection to the IM network? No telling. There was no way to tell when a message finally went through, either. It didn’t happen that often (once out of two days worth of chats), but it was confusing and unwelcome.

BeejiveIM screenshot: Mailing transcripts.
BeejiveIM provides a handy way to mail transcripts. Click for a larger image.

Sometimes BeejiveIM also had a hard time connecting to networks (resetting the iPhone worked to clear that up) and it would periodically present a spinner for no apparent reason (leaving us wondering, again, whether it was the phone, the IM network, or something in between).

Those issues aside — they represented just a small part of the overall experience — BeejiveIM is pleasant and easy to use.

But Does the E-Mail Push Work?

BeejiveIM is good enough that we suspect it will hold up just fine when Apple does get around to providing real push services and the company is forced to compete on the strength of the client itself. But right now, how well it does with its lashup approach to IM push is pretty important, too.

Our results were generally good. Using an e-mail-to-SMS account, we were notified of incoming IMs very quickly. Using a generic IMAP account, we were notified as often as the iPhone was told to check its inbox. Using a MobileMe account, which offers real push, we generally got notifications quickly (within less than five minutes, sometimes two), but over a few sessions we clocked one message taking five minutes to arrive, and another taking 18 minutes.

The delays aside, it worked well enough. We never missed any test messages, anyhow, but short of polling everyone on our contact list, we’ll never know if we missed any real messages from buddies currently sitting out there somewhere feeling slighted. One other potentially problematic bit of ergonomics involved with the pseudo-push e-mail approach is differentiating between messages arriving because Beejive is sending you a notification and all the rest.

Wrapping Up

So, for people who absolutely need continuous IM connectivity, BeejiveIM does a decent job. For people who absolutely need continuous IM connectivity to keep their job, or because lives depend on their instant reaction to messages, we’re not so sure. That aside, it’s still a good IM client. Once there’s no need for improvised push workarounds, BeejiveIM will still be a pretty good client. Whether it will be $15.99 good will depend on who decides to get into the market once it’s easier to do so.

BeejiveIM is also not the only IM client with a workaround for the iPhone’s lack of push services. Coming up, we’ll look at a competitor from another mobile IM veteran, SHAPE Services.

Article courtesy of InstantMessagingPlanet.com.


iPhone, applications, instant messaging, IM