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 theyre 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 thats racked up some acclaim is BeejiveIM, from mobile IM veteran Beejive.
To briefly review the problem Beejives IM client addresses, the issue is this: iPhone applications are not permitted to run in the background. For a lot of apps this isnt 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 cant 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 didnt include the push services, which had been removed from beta versions of the software earlier in the fall.
Push? Where Were 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 hasnt 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 Beejives 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 its 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 its supposed to, but Beejives servers continue to monitor the users IM account for incoming messages. When they register one, they forward a mail to the BeejiveIM users 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 dont 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 its 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 providers e-mail-to-SMS gateway. For AT&T users in the U.S., that takes the form of your iPhones 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 dont 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 youre 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 Beejives servers tell the IM network theyre 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.
BeejiveIM supports a number of IM networks:
Unsure about an IM abbreviation?
- Google Talk
- MSN/Windows Live
- Myspace IM
- Yahoo! Messenger
Its 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 didnt address the question of getting instant messages past the iPhones restrictive environment, wed still be pretty impressed with BeejiveIM. It sports a clean, simple interface that doesnt get in the way and offers a few affordances that arent immediately apparent.
The starting screen offers a view of the users contact list. It fits about six entries at a time and includes each contacts 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 contacts time online and profile information, assign the contact to a group, and block or delete them. If youre 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 theres 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 its 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 Beejives online support.
There are also plenty of configuration options, accessible from the iPhones settings icon. Users can opt to use contact groups, hide inactive contacts, sort by contact status or display name, keep or lose iPhones auto-correction, and many more controlling the programs sound and appearance. Theres even an option to shake the iPhone to switch between conversations.
Chatting on BeejiveIM
The chat windows for BeejiveIM are reminiscent of the Mac application iChats, 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, its 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 iPhones 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. Theres 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: Wed 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 wed 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 didnt happen that often (once out of two days worth of chats), but it was confusing and unwelcome.
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, well 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.
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, were not so sure. That aside, its still a good IM client. Once theres 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 its easier to do so.
BeejiveIM is also not the only IM client with a workaround for the iPhones lack of push services. Coming up, well look at a competitor from another mobile IM veteran, SHAPE Services.
Article courtesy of InstantMessagingPlanet.com.