« Help get Lotus and Apple working together | Main| Berke Breathed on blogging -- from 1987 »

Why iPhone integration has to be driven by Apple


The comment thread at Ed's, and some other Yellowverse responses, are laying the blame for lack of Domino support on the iPhone at IBM's feet.  Clearly IBM misstepped in their relationship with Apple somewhere, whether by pissing someone off or by allowing MSFT to secretly bargain for an exclusivity deal.  But it's also important to note that, unless Apple decides to let someone in, there simply IS NO CAPABILITY to integrate with the native apps on the iPhone.

Even the IBM product managers at WWDC this week are stymied.  Some of you might recognize the guy quoted at the end of this article from WIRED.

Go have a look at the much-vaunted SDK.  I challenge you to find the word "mail" in it anywhere.  There is a "calendar" class, but it refers to internal dates & time ranges driven by the locale, not an actual calendar data store.  So you can calculate the number of working days between A and B, but you can't discover whether there are any events scheduled for those days.

It's not as simple as having a background app either.  A background app would allow you to do two things: 1) poll on a regular basis; 2) keep a network connection open waiting for the server to talk to you (eg: IMAP IDLE command)  Both of these approaches are specifically things that Apple has said they will not allow.  No matter how good a coder you are, if the platform doesn't support a feature, you're stuck.  Domino developers might know this better than anybody!

So what can you do?  You can't run in the background, so you can't keep ports open all the time.  You can't hook into the native apps, except for the Address Book and Media Player.  You can't access low-level functions, say CallerID, because they aren't in the SDK.  There is no "incoming call" event, for example.  There's no supported facility available to developers to deal with inbound streams that weren't specifically requested by the current active application.

The native phone OS can deal with them.  On a 3G network, being in standby mode means periodically notifying your cell of your device ID, and that you're available to accept calls.  Packets on the entire backbone that are addressed to that particular device are then switched down to that cell and broadcast on negotiated frequencies using time division multiplexing.  If you're way down in the guts of the comm details on the phone, it's easy to see that "oh, the network is sending out data that's intended for me.... I'd better power up and take action."  That, after all, is how you answer a phone call.

But if you're trying to work within an API framework, then you can only do what's available to you.  Apple simply hasn't made any of those capabilities available.

Even some very simple capabilities in the API might make this possible.  As an example, a way to register with the OS to say "if a call comes in from number 123-456-7890, then launch my app" could do the job here.  You'd basically be able to do the automated equivalent of calling someone and saying "hey check your email" and hanging up.  (That's a less-than-optimal solution, obviously.)  But there's no capability to do this today in the SDK.  Whatever level of push email comes from MobileMe or ActiveSync, it's being made available at a level of the OS that is locked to other vendors.

So Apple has to be the one to decide to permit IBM to work at that level.  I don't know why they haven't already.  Maybe they need customer demand.  Maybe they need a bribe.  Maybe Steve Jobs just hates Notes users and wants us to all die.  I couldn't tell you.

But what I can tell you is that solving this is not up to IBM alone, no matter how many smart, capable engineers they assign to the job.

Comments

1 - OK, maybe I'm just missing something here, but what is the Lotus equivalent to ActiveSync?

Because that's what Apple licensed, and that's what they are using to get mail and calendar and contacts to and from the Native iPhone apps and the Exchange server. ActiveSync also provides the device management and remote wipe among other things.

So, if Lotus/IBM has that, why didn't they work with Apple to get it integrated too? If they don't, then the lack of iPhone support becomes rather obvious. MS had a protocol for Apple to use to communicate with their back end - does Lotus?

2 - @1 - "what is the Lotus equivalent to ActiveSync?"

Lotus Mobile Connect and/or Lotus Notes Traveler. I have no idea if either of those includes wipe features.

It's not like these protocols are elaborate, though. Basically, you just need an event model that tells something on the phone to wake up. After that, you don't need anything more elaborate than CFNetServices and NSXMLParser, if you're willing to present your own interface.

Technically, all you really need is something that can sit at the OS level and be a broker. "When you get this kind of notification from the 3G cell, fire up the Mail app and do an IMAP retrieval" is exactly the same as "push" mail. And that wouldn't require anything special on the phone itself. It's just an event listener that does something REALLY simple.

I wouldn't be surprised if that's exactly how the MobileMe stuff works, actually.

3 - AGain Nathan, I think you are going down the wrong path - I don't think the goal should be to get Notes Mail on the iPhone, but integrate the native Mail, Calendar and Address Book with Domino. That's what ActiveSync brings to the table - does Mobile Connect/Notes Traveler really bring a protocol, or just a client? My understanding is it was it's own client which is redundant. Wrong strategy....

4 - Eric, there is no API to the native Mail or Calendar on the iPhone. It doesn't matter what Lotus has for it. There's nothing for them to code to.

There is an API for the Address Book. I could code a Contacts sync app in a couple of days.

Now you could say "ah, Apple changed their Mail & Calendar native apps to work against MSFT's protocol." But hell, they don't need IBM to provide a protocol to do that! There's a zillion ways to get to email that's sitting on a Domino server. Pick one. The only thing that's needed is a way to tell the iPhone that it needs to go get that mail RIGHT NOW. And only Apple can do that.

5 - "Eric, there is no API to the native Mail or Calendar on the iPhone. It doesn't matter what Lotus has for it. There's nothing for them to code to."

Bingo! Now you are getting it - Apple did the coding! Apple licensed a PROTOCOL from MS, and then implemented it with their native iPhone Apps.

There is nothing in the SDK for Mail because Apple did it already!

"Now you could say "ah, Apple changed their Mail & Calendar native apps to work against MSFT's protocol." But hell, they don't need IBM to provide a protocol to do that! There's a zillion ways to get to email that's sitting on a Domino server. "

And pray tell how can Apple sync Calendar and Contacts right now with Domino? Yeah, you could cobble something together with iCalendar and vCard, but it's hardly robust. If all I wanted was mail, I would just use iMAP and go on - but Calendaring for me is the "killer app" Emoticon

And ActiveSync also provides device management - provisioning, setup, security (encryption, password policies, remote wipe, etc.)

Lotus is deficient in this area - they need to step up. Heck, license ActiveSync and take over the Windows Mobile devices too (if there are any left in a few years).

6 - From Ed's blog - comment #68 from Adam Burrell:

"This isn't a case of IBM failing to or being unable to leverage the iPhone SDK. This is a case of IBM being out-innovated in the messaging space by Microsoft. Honestly, why would IBM need to build a completely separate messaging app for the iPhone when they simply could have licensed their own native Domino push technology if it were to exist? Furthermore, why would customers want a separate mail application on their iPhone?"

7 - Eric, you're missing my point. There is no such thing as "push technology" in this case. It's not some magical juju that Microsoft invented.

How many ways can you sync information with a Notes mail file? WSDL, DXL, HTTP, NotesRPC, DIIOP, DOLS, RSS, IMAP... there's no end to the data representation models. ActiveSync doesn't magically turn all the messages, calendars and contacts on the Exchange server into Apple's native binary format, y'know.

Using IMAP, iCal and vCard wouldn't be "cobbled together." It would be open standard data representations that are easy to understand and program against.

I don't know what you think "push" is all about, but here's the description of the process from MSFT's ActiveSync page...

"Mobile devices that support Direct Push issue an HTTPS request to the Exchange server that asks Exchange Server to report any new or changed e-mail messages, calendar, contact, and task items. If changes occur within the lifespan of the HTTPS request, the Exchange server issues a response to the device that includes which folders have new or changed items. The device then issues a synchronization request to the server. After synchronization is complete, a new HTTPS request is generated to re-start the process."

{ Link }

8 - HTTPS is the transfer, but there is an underlying protocol that handles the data exchange. Yes, there is enough support in iMAP to handle mail -but Mail isn't the only thing out there!

Unless I'm really missing the boat, iCalendar and vCard are SMTP message-based protocols. Good for one way communication, but pretty horrid at describing state.

Here's a revealing quotes from the iCalendar page on Wikipedia:

"Recurring and repeating meetings still have a "bit of mystery and ambiguity associated with them", causing some interoperability problems in some cases."

"Calendar Access Protocol" (RFC 4324) was an initial attempt at a universal methodology for implementing real-time calendaring. This protocol was eventually set aside, having never enjoyed any real implementations, possibly due to excessive complexity. Pragmatic iCalendar-based transports such as GroupDAV and CalDAV are now appearing in both client and server software packages, and appear to be gaining traction as common calendar access methods for standards compliant software."

vCards are even worse - there is no mechanism that I could find to allow you to do standard sync things like compare two directories, or do partial record updates (i.e. change a phone number to an existing entry). There are standards for exposing vCard info as XML data, but does Lotus have a solution for that?

And even if you get past all of that, where is the client management? What open standards exist for that? Something that could be swiped from Android maybe?

The bottom line, the open standards are (right now) woefully immature compared to a feature rich client/server combination like Notes/Domino or Outlook/Exchange. I think this is where MS has the advantage with ActiveSync - all this stuff is defined, and more importantly supported. It's a framework for a device to plug into - I see no corresponding framework from Lotus.

Now if Lotus took a leadership position (like they did with Eclipse) and tied all this stuff together and added client management then I could see there being some potential - but right now the hole is on the Domino side of the fence, sorry to say.

9 - i can't help but wonder if there is an engineering problem in the phone itself - opening to two vendors could mean one user connecting to two infrastructures (even though atypical) could drain power from the phone more quickly than apple wants it to because of increased polling from both apps. they may have picked one vendor simply because of limitations in the device. or not, i don't know. they certainly have been choosy about all that SDK stuff, and it seems to be based around battery life (i think?) from what i can tell.

10 - The corresponding framework from Lotus is Lotus Mobile Connect, which has all those features. There is currently no client for OSX on that, though.

Eric, I'll bet you $100 right now that not one byte of Microsoft ActiveSync code is executed on the iPhone 2.0, no matter what licensing agreement is in place. Why would they? They deride the protocol publicly anyway. It's just the package that sits on the server that they care about.

Neither iCalendar nor vCard are directly related to SMTP. They are data formats. How you move the data format is totally up to you.

BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
CATEGORIES:MEETING
STATUS:TENTATIVE
DTSTART:19960401T033000Z
DTEND:19960401T043000Z
SUMMARY:Your Proposal Review
DESCRIPTION:Steve and John to review newest proposal material
CLASS:PRIVATE
END:VEVENT
END:VCALENDAR

You could get that data via any transport mechanism you want, whether storing as a MIME attachment via SMTP, wrapping it in XML CDATA, sending it via WebDAV, or transmitting in Morse Code. For instance, if you wanted to push calendar information to an iPhone, you could send it as an SMS. Except when the SMS is received, there's nothing in the environment to say "do something with this." That's where the SDK falls down.

There's no magic to writing synchronization protocols. They're actually pretty easy. Lotus could pick any one of the multitude of communication and format standards and say "this is how you sync" and it would be trivial. Because the application at the other end still has to digest it, and Apple is doing all the digestion here.

It's like saying "well ODF is easy, therefore writing Symphony is a no-brainer." That's BS. The standardization of representation is important for interoperability. Implementing the standard at the application level is where things get hard.

11 - "Eric, I'll bet you $100 right now that not one byte of Microsoft ActiveSync code is executed on the iPhone 2.0, no matter what licensing agreement is in place. Why would they? They deride the protocol publicly anyway. It's just the package that sits on the server that they care about."

That I agree with you - they licensed the protocol and implemented it in their own code (on the desktop too, which I find even more fascinating then the iPhone support).

"Neither iCalendar nor vCard are directly related to SMTP. They are data formats. How you move the data format is totally up to you."

How is Apple supposed to do it? What methods are there for Apple to plug into with Domino? I agree that ActiveSync isn't magic - but again, where are the Domino equivalents for Apple to use (beyond mail)?

"There's no magic to writing synchronization protocols. They're actually pretty easy. Lotus could pick any one of the multitude of communication and format standards and say "this is how you sync" and it would be trivial. Because the application at the other end still has to digest it, and Apple is doing all the digestion here."

I agree - but where has Lotus defined it? MS has with ActiveSync....

12 - Eric, WHAT IS IT YOU EXPECT TO HAVE DEFINED?

13 - "Eric, WHAT IS IT YOU EXPECT TO HAVE DEFINED?"

Ok, I'll quote you:

"Lotus could pick any one of the multitude of communication and format standards and say "this is how you sync""

Where has Lotus done that?

Perhaps the disconnect is you are looking for Apple to expand the SDK so you (or Lotus) can write a whole new mail app and I am just looking for Apple to be able to integrate the native mail, calendar and address book with Domino exactly as they are with Exchange/ActiveSync??

14 - 1) There are 3 separate protocols models already delivered by Lotus that allow for syncing of PIM apps: Notes Traveler, Lotus Mobile Connect, and Lotus EasySync. Every one of them has a protocol for synchronization of mail, calendar, contacts and journals. Irritatingly, I don't seem to have access to the API documentation for Mobile Connect, which seems to be the most programmable of them. If my understanding is correct, Traveler is layered on top of Mobile Connect (with a simpler install.)

2) I'm not looking for Apple to expand the SDK. When you say "integrate the native mail, calendar and address book with Domino" my point is that APPLE HAS TO DO THAT. No one else can write it. Lotus could offer up the source code for NRPC field-level replication and it wouldn't do a damn bit of good if Apple doesn't fold it into their native apps. So it's up to APPLE to do it. Whatever you think IBM has or hasn't done, it's APPLE that isn't doing something here.

Why could we not just as well say "where is the leadership from Apple in defining how the native mail, calendar and address book consume server streams?"

15 - " When you say "integrate the native mail, calendar and address book with Domino" my point is that APPLE HAS TO DO THAT."

I agree!

"There are 3 separate protocols models already delivered by Lotus that allow for syncing of PIM apps: Notes Traveler, Lotus Mobile Connect, and Lotus EasySync. Every one of them has a protocol for synchronization of mail, calendar, contacts and journals. Irritatingly, I don't seem to have access to the API documentation for Mobile Connect, which seems to be the most programmable of them."

If that's true and Mobile Connect does indeed offer similar services as ActiveSync, then this is truly a tragic flub-up!

"Why could we not just as well say "where is the leadership from Apple in defining how the native mail, calendar and address book consume server streams?""

Maybe because Apple isn't a messaging vendor? Emoticon

16 - This isn't about messaging. It's about PIM applications. The iPhone has PIM applications, so they need to sync with SOMETHING.

Look, the mail app for Leopard already does this stuff via WebDAV. You can sync your whole PIM architecture via WebDAV. Does iPhone do it the same way? We have no idea. Apple doesn't say. So who knows?

Mobile connect...

{ Link }
{ Link }

It's possible that IBM wasn't willing to port Mobile Connect to OSX.

17 - There are 3 separate protocols models already delivered by Lotus that allow for syncing of PIM apps: Notes Traveler, Lotus Mobile Connect, and Lotus EasySync

... and none of 'em work on Macs. Gah!

18 - @17 - I agree that sucks, but it's not like IBM's going to write the client code for the iPhone anyway. Apple would write that. It's simply a question of how the data moves back and forth and what format it's in.

19 - Yes and no. Apple did an amazing amount of work with ActiveSync once they licensed it from MS. Not only have they used it to give the iPhone some great enterprise features,they've also baked it into their next gen client and server OS and leveraged it to take their pay-for-play web services to a whole new level. Apple chose ActiveSync because it was a mature product that was licensable and fit their needs beyond iPhone needs. They took a very strategic approach to how they've implemented it and hat's off to them.

IBM simply didn't have anything obvious to offer that fit into their strategy. MS did and Apple saw it as an opportunity to not only solve their push problem in the enterprise but several other problems as well including device managment and cross-platform integration of mail, calendaring and contacts in both the enterprise and in the consumer space. I may be wrong on this one but aren't they leveraging some component of AS for their push notification system?

20 - Adam, what makes you think that Apple is using what they specifically called "ActiveStink" for their cloud service? I thought they were pretty clear that they're not going to use any constant-connect protocol on the iPhone. And frankly, they'd be stupid to do that anyway.

Now, are they using ActiveSync on the desktop for integration with Exchange? Apparently. Could they do the same with IBM? Of course. Is it IBM's fault that their relationship with Apple isn't better? Absolutely. Does that mean they failed to deliver comparable technology? No way.

You need to really look at the technology and Apple's statements about it and ask "what are they actually doing that requires ActiveSync?" Whatever this "amazing amount of work" is, I'd like to know exactly what work you're referring to.

21 - Ahem...

Lotus Mobile Connect is a VPN solution and has other than the brand name nothing to do with Lotus Notes. There is a number of interesting musings...

IBM could:
- work with Apple to get the Traveler protocol onto the iPhone
- license Active Sync (shortly after hell froze over)
- implement Apple's native protocols on the server side (CalDAV anyone)

... of course Apple's and IBM's protocols need to be opened up for that to happen. I don't know about the Apple protocols, but for Traveler I suggest the following experiment:
1) Download and install TcpMon (from apache.org).
2) Configure it to listen to port80 forward to 81 (and/or 443/444)
3) Configure your Traveler task to run on port 81/444
4) Sit back and watch!

Emoticon stw

22 - @20 - Nathan, I'd be willing to bet that Apple's notification system is using licensed ActiveSync technology and MobileMe is most certainly using the notification system to push changes down to the iPhone and vice versa. I could definitely be wrong but it seems to make sense given that they're using it in so many other places. Perhaps we'll find out for sure at some point after the service is brought live. If you have watched the MobileMe video, you will note some striking similarities in function as pointed out by the presenter during the video.

Phil Shiller's "ActiveStink" comment was purely theater and should be taken as such.

It's absolutely IBM's failure that they haven't delivered a coherent, comparable technology given their long-standing position in the messaging/collaboration industry. Does IBM need a solid relationship with Apple in order to innovate and compete against Microsoft? I would think that in this scenario (iPhone integration) Apple is simply another customer in search of a technology to license that will help provide the path of least resistance for enterprise acceptance of the iPhone. IBM simply has nothing for sale.

Not only that but even if they were to have partnered with Apple to build functionality into the iPhone, what's going to provide the services on the server side? Are you telling me that we've already got some sort of functionality in place right now that will seamlessly synchronize contacts, calendars and inbox across mobile and desktop environments? Is this just a hidden feature that is lying in wait somewhere deep within our Domino servers? Event-driven replication? If so, why doesn't IBM just spill the beans and save us the time, money and headaches of dealing with RIM?

I'm not saying that Domino as a technology is any less viable in this context but I will say that IBM has failed to understand the need for a solution to seamlessly bridge Lotus messaging into the mobile space. iPhone aside, doesn't IBM realize that it's customers aren't just Blackberry users? Why is IBM so incredibly content to rely upon RIM to facilitate Domino's mobile messaging capabilities? Wouldn't it be great if we didn't have to deal with BES servers and depend upon our friends across the northern border for reliable mobile messaging?

Also, Apple made it clear that they won't allow 3rd party apps to run in the background, hence the need for a persistent open connection to receive events, messages, etc.

Re: the amazing amount of work that Apple has done with AS tech, you simply need to sit back and digest what has been announced. Check out some of the tech previews for Snow Leopard and you will see that they didn't just license AS for iPhone but they've now got ActiveSync support throughout the OS and in Snow Leopard Server. You have to believe that Apple didn't just grab and implement for iPhone but they've thoroughly studied the tech and leveraged it in all of the places that they felt it would benefit them. The result is an OS that they could easily plug right into a Microsoft-based enterprise.

How great is that? You've now got a server on your network that not only works well with your existing infrastructure but also provides quite a few handy services in it's own right. Afterall, it provides a full set of robust, open standards-based messaging and collaborative services without the need to purchase a singe CAL. You need a good LDAP server? Open Directory can provide Kerberos-capable domain authentication and directory services to Windows clients and Macs alike.

Unfortunately you would be out of luck if you had any LDAP-enabled IBM software in your enterprise because Open Directory is not supported.

23 - "This isn't about messaging. It's about PIM applications. The iPhone has PIM applications, so they need to sync with SOMETHING."

I couldn't agree more (glad to see we might be making progress Emoticon ) What does Lotus have exposed for Apple to sync against?

"Look, the mail app for Leopard already does this stuff via WebDAV. You can sync your whole PIM architecture via WebDAV. Does iPhone do it the same way? We have no idea. Apple doesn't say. So who knows?"

So Lotus has a solution like ActiveSync that Apple can reference today - a framework that already exists? You never have really came out and said yea or nea - lot's of speculation about what *could* be done. For all we have gone back and forth, I still don't have any idea if Lotus has a framework like ActiveSync, althought it's becoming obvious the answer is a resounding "No" and why Exchange is the only enterprise messaging supported right now.

24 - @22 three words: Lotus Notes Traveler. While mis-named, it's a server add-in task that synchronizes Domino with Windows Mobile devices. It has been shipping since February. It's not a matter of the technology not existing on the server, sorry.

25 - @24, true, but Lotus Traveller (a) is not fit for large organisations and (b) doesn't do any kind of remote management -- nuking devices, push installs etc. (and that's fine, I would contend that Traveller works well for its intended market).

However, I'm assuming that IBM wouldn't propose Traveller in some kind of "head-to-head" with ActiveSync for something like iPhone / An Other device integration in the wider world.

26 - @22 - Repeating the same statements that I just questioned isn't debate. It's just repetition. So I'll ask again: what code runs on the iPhone that was produced by Microsoft?

Pointing out that both the phone and the desktop OSs can communicate with an ActiveSync server still doesn't lend substance to a technological advantage. This is like saying that because IBM is able to demonstrate consumption of a Google Gadget in the Notes client, they did a vast amount of work with Google's protocol. It turns out, no, they didn't -- they simply worked with existing specifications (HTTP and AJAX) and were able to get the job done.

@24 - As Stephan observes in comment 21, there's an HTTP/S-based protocol for Traveler. Tragically, documentation is not available about it to us. Then again, I couldn't find any API doc for ActiveSync either. And Apple certainly isn't publishing any.

@25 - Can you explain the logic underlying (a)? Especially if you're arguing that ActiveSync scales better than Traveler. Since ActiveSync maintains a constant HTTP connection between the device and the server (which must be Windows,) I have a REALLY hard time believing it scales. I'll be happy to be proven wrong.

27 - @26: I suspect that the API documentation for ActiveSync is only provided once a vendor has licensed it.

As for the scale argument, there's nothing inherently grim about http/s, so the theory goes that Traveller could scale. But I'm going on presentations I've seen about Traveller, in which it is repeatedly stated you would only want to roll this out to a small constituency of users. I don't think this has anything to do with the underlying protocol per se, more that the argument centres around how the server add-in is written and the fact that remote management isn't part of the toolset.

As for ActiveSync, I don't believe (in the iPhone 3G implementation anyway) that a constant HTTP connection is maintained all the time. That wouldn't be any better than Apple allowing b/g processes when it comes to battery life. As I understand it, ActiveSync uses a poll / listen model, whereby remote devices periodically poll a MS "Internet Security & Accelerator" server (got to love that name), which in turn is running a listener service.

But really, it's more around remote wipe, remote policy enforcement, Cisco VPN, certificates, and all that—Traveller just doesn't offer this stuff.

28 - Ben, remote wipe is all in the device. It's not something inherently magical to the protocol. In the protocol, it's one command: DELETE ALL.

And again, from MSFT's documentation...

"Mobile devices that support Direct Push issue an HTTPS request to the Exchange server that asks Exchange Server to report any new or changed e-mail messages, calendar, contact, and task items. If changes occur within the lifespan of the HTTPS request, the Exchange server issues a response to the device that includes which folders have new or changed items. The device then issues a synchronization request to the server. After synchronization is complete, a new HTTPS request is generated to re-start the process."

29 - @27 - ActiveSync API

{ Link }
{ Link }
{ Link }

30 - @28 - Nathan, you aren't taking the time to understand what Exchange ActiveSync is. This isn't simply a push mail protocol for Exchange servers but a total remote device management system. It functions much like BES management tools do in that it allows you to view a list of all actively managed devices where you can set device security policies and remote wipe the devices if need be. It doesn't issue a simple "DELETE ALL" but instead wipes all data from the device at a low level. Just like you can on a BlackBerry, you can set password policies to wipe the device after a certain number of failed password attempts. We're not just talking about deleting all PIM data, we're talking about rendering the device useless once it's been compromised. Additionally, all of this activity is logged and monitored.

This functionality is included with the Exchange server and is licensed to a variety of partners including Apple, Nokia, Palm and others. You can view the list of partners here ---> { Link }

@26 - Exchange ActiveSync runs server side and is part of the Exchange sever starting with 2003. Of course Win Mobile devices support it natively but a partner program allows other companies to license the technology and build support into their devices as well. As you can imagine, remotely managing a device in the manner specified above would require some deep support at the OS level of the device. We're talking about setting password length requirements and essentially telling the OS to self-destruct. You can believe that Microsoft has developed a partner program that provides licensing partners with all of the tools and support they need to integrate this functionality. The link I included above should provide you with all that you want to know or at least point you in the right direction.

Either way, I'm addressing your question directly - there is absolutely modification to the device code that is done at the direction of Microsoft via a robust partner program. IBM simply has nothing comparable so you can imagine why it was a very logical decision for Apple to make. I suppose they could have partnered with RIM but I'm guessing that the chances of RIM opening their BES tech up to a competitor are comparable to the chances of Steve Jobs licensing Mac OS X technology to Microsoft. BES is RIM's bread and butter whereas Exchange ActiveSync integration only further enhances Exchange's value to an enterprise.

I think that the short answer to the question of why IBM seems to have ignored the mobile device is that IBM has long relied upon RIM to provide these capabilities. I think this is bad for IBM's customers because it has essentially forced us to purchase and support BES in addition to Domino. This only helps Microsoft position Exchange as a value proposition. You simply need a supporting device and a standard data plan in order to play with Exchange ActiveSync.

@24 - Ed, you can't compare Lotus Notes Traveler to Exchange ActiveSync. Traveler is small-scale in both functionality and scope of supported devices. It's built for one platform - Windows Mobile and only does the basic PIM sync apparently using Notes replication. It's not a push solution. There is no support for Rich Text or HTML mail. There is no enterprise device management and no visible partner program.

31 - @30 - Adam, instead of pointing me to MSFT marketing materials, why don't you point to product documentation and API doc, as I have done here? Why don't you go read it instead of just assuming that the bullshit that MS is feeding you is accurate.

it doesn't issue a simple "DELETE ALL" but instead wipes all data from the device at a low level

That is the most ridiculous statement I have read all week.

Have you ever written a computer program?

32 - @30 Traveler was *NOT* built just for one platform. So far, it has only shipped for one platform. While it has technical differences in design point, conceptually, it could be connected to something running on the iPhone. Why couldn't it?

33 - @31 - WOW Nate, that was a bit rude and fairly surprising coming from someone of your stature. Insults aside, I was referring you to the TechNet library, which is the Borg's equivalent to InfoCenter. It is product documentation. MS doesn't provide an Exchange ActiveSync API for non-MS mobile devices. You have to license the tech and partner with them if you want your non-MS devices to integrate. There is a public API for ActiveSync on MS devices here ---> { Link } but I don't think that would have been much help to Apple. Also remember that there are two flavors of ActiveSync - one is software for the desktop and the other an Exchange service.

My experience as an IBM customer has taught me to never make assumptions based on vendor-provided information. One of the more recent examples would be the IBM marketing that led up to the initial Quickr release. You can imagine the disappointment that many of us QuickPlace customers experienced upon installing Quickr 8 services for Domino and finding that it was essentially QuickPlace 7 with a new skin and desktop integration. This after all of the marketing led us to believe that we were getting an amazing new interface and a host of truly useful templates. Expectations might have been different had IBM clearly defined the differences between Quickr services for J2EE and Domino in their marketing material. However, most of the screen shots used were taken from the Portal flavor with no obvious reference made to the source.

Instead of developing a robust set of core product templates, IBM left the work for SNAPPS to do, who did an absolutely amazing job by the way. We were more than thankful for the work that SNAPPS did on those templates. The problem arises when changes are made to the core product without the involvement of the design partner. Because these templates are not a part of the core product, customers that have implemented them are forced to wait and hope that SNAPPS is going to have time to hunt down what has changed in Quickr and respond with a new version of the templates. Something so critical as the functionality that these templates provide should have been made a priority by Lotus Software and either developed in partnership with SNAPPS with full IBM support or developed in-house. My hat is off to Rob and his team for doing all that they have for us at no cost. I will also throw in that they have provided excellent FREE support as well.

So no, I'm not making assumptions about MS product documentation any more than I would IBM technotes. I do think it's safe to guess that the technology works as advertised given that numerous industry heavyweights, including Apple Inc. have decided to license it.

Speaking of assumptions, remote device wipe as implemented in Exchange ActiveSync actually removes all data and restores the device to factory condition. I'm sure that many a CIO have deemed this to be a ridiculously cool feature. It's a shame that IBM can't offer anything remotely comparable with Domino server. Now THAT could be considered ridiculous for sure.

Here is more from TechNet regarding remote device wipe --->{ Link }
Here the Clear-ActiveSyncDevice cmdlet is defined and described in detail --->{ Link }

Hope that helps.



34 - @32 - I don't know Ed, you tell us. I've seen nothing in the documentation that would indicate that IBM intended Traveler to be used with any device other than Win Mobile 5 and 6. I'm afraid that's all I have to go by given that I'm just a customer.

Microsoft came ready to play ball given that they already had a comprehensive partner program in place for licensees. Does IBM have a stable Traveler framework in place that will allow vendors like Apple, Motorola, Nokia, etc to build sync functionality into their native PIM apps? How about Google's Android platform? I would think that it would be even easier to integrate there given that it's an open platform. Is that part of IBM's mobile vision?

At the very least, one would think that an iPhone Sametime app would be doable via the iPhone SDK. We'd be very happy with that. Could Apple's notification system be leveraged for that or is Sametime technology simply too complex?

35 - Adam, I'm being intentionally rude because you keep saying the same thing over and over. Now that you're engaging by looking at the specs, we can talk.

I've been pouring over the TechNet documentation for the last 24 hours. Let's clear a few things up...

1) ActiveSync for the desktop is a COM API. That would be absolutely useless to Apple.

2) Exchange ActiveSync is opaque, but given that it explicitly uses HTTPS as the transport, and Exchange already has extensive WebDAV support, { Link } including documentation for "HTTP and WebDAV Methods for Replication" its unlikely in the extreme that Apple would use any other mechanism for the communication.

The remote wipe stuff is a red herring. That works by having the ActiveSync code running on the mobile device retrieve a request to Clear-ActiveSyncDevice (thanks for the pointer!) Which means that the client application has all the logic. So in the case of the iPhone, you can bet your bottom dollar that the native apps know what to do with that command, and it has nothing to do with any code that MSFT provided.

ActiveSync is not the basis for Apple's "push" either. They're basically doing reverse proxies for that, with all services routed through their central environment. In the interest of battery life, they're undoubtedly triggering something there that causes the remote device to wake up and request it's queue from that cloud. This is the exact protocol equivalent of me calling you on the phone and saying "hey, check your email."

As far as Traveler goes, if you watch the traffic, it's SyncML. That's why they can add platforms fairly quickly. Nokia is already a major partner on SyncML. You can find the SyncML primer here { Link }

Now, the question for Apple is simple: if there was a WebDAV API (instead of SyncML, or RSS, or HTTP, or DIIOP, or NRPC -- all of which are already there) for Domino calendaring, would they support it?

36 - By the way, Adam, when I said the Exchange server sends a "DELETE ALL" command, I didn't mean that was the literal command. As you kindly pointed out, the exact command is...

Clear-ActiveSyncDevice -Identity <MobileDeviceIdParameter> [-Cancel <$true | $false>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-NotificationEmailAddresses <MultiValuedProperty>] [-WhatIf [<SwitchParameter>]]

But the effect is identical. "Hey device! Delete everything!"

37 - @30"I think that the short answer to the question of why IBM seems to have ignored the mobile device is that IBM has long relied upon RIM to provide these capabilities. I think this is bad for IBM's customers because it has essentially forced us to purchase and support BES in addition to Domino. This only helps Microsoft position Exchange as a value proposition. You simply need a supporting device and a standard data plan in order to play with Exchange ActiveSync. "

You aren't the only one. This whole iPhone thing with Exchange has sparked a whole new debate about the "value proposition" of Notes Emoticon Mobile devices are THE up and coming market segment, and the Lotus message is at best muddied to those of us who are passionate enough to try and figure it out, and at worst apparently non-existant to the casual observer. MS has a much better story to tell in this space and it's quite frustrating.

@35"Now, the question for Apple is simple: if there was a WebDAV API (instead of SyncML, or RSS, or HTTP, or DIIOP, or NRPC -- all of which are already there) for Domino calendaring, would they support it?"

I think the more important question is, why isn't there one already (with not only the mail/calendar/contacts but client management too)? Why do we have to beat up on Apple to beat up on IBM to then make it happen? I'm not pestering my Apple rep any more until Lotus has a better solution then "well, you could do this or you might do that" - what a bunch of crap. Give me a clear road map that I can understand and THEN I will try to communicate what I want to Apple - but pushing this off on Apple as some great failing of theirs is just nuts.

MS has a solution - right now! It's ActiveSync: a technology framework and program that mobile device makers can license and plug into that provides not just messaging but device management as well. It has a clear set of API's, and contrary to your assertions Nathan, it is not worthless on the desktop - Apple is integrating it into OS X 10.6 too { Link } .

Remote wipe is not a red herring - it's a solution! It's here, it's now and it works. It's part of their framework, and the implementation details are part of that. Does traveler have facilities for password management on a remote device? Remote wipe? If not, it's not the same as ActiveSync! How it's implemented is, for now, irrelevant - the fact is it's there, and it's there because customers told them it was important (and considered essential for my organization as well). Apple was able to get from Microsoft "hey, here is how you implement X, Y and Z and here is how it works with our server and management console" and they did it.

So far Lotus has nothing that appears to occupy the same spot as ActiveSync, and so here we are - appearing to spin in circles over semantical definitions of is the world a sphere or a ellipsoid? Emoticon

Cough up a solution and I will be happy to besiege my Apple rep, but right now I don't really have anything to besiege him with Emoticon

38 - Eric, please go read the ActiveSync documentation and then tell me what it is that Apple is integrating. I can't figure out why anyone thinks a Windows COM API is useful on Snow Leopard.

39 - @38 - You'll have to contact Microsoft and inquire about their Exchange ActiveSync licensing program, I'm afraid. I'm sure that as with any other patented technology, an NDA will apply. I'm sure that Helio, Apple, Sony, Nokia, Motorola and the other licensees are familiar with it. I certainly don't think that I'm qualified to provide you an answer and even if I were privy to the details, I think that you are probably on a whole 'nother 5 levels above me when it comes to understanding the actual nuts and bolts of programming so I don't think I'd be able to accurately convey the spec to you.

From my limited perspective, I think that I can safely point out that Apple has most certainly implemented some sort of MS service interpreter on the iPhone. How else would it know what to do with commands such as Clear-ActiveSyncDevice? That's an AS command that was written by MS and it's being interpreted on the iPhone. I'd bet the farm if I had one that MS provided Apple with the technology via the licensing program. You see, this is where I'm repeating myself and I'm finding that I have to repeat this because I don't feel like I'm getting through to you with this concept. I'm really sorry to be repetitive and I certainly don't want to offend you. One last time - Apple licensed Exchange ActiveSync technology from Microsoft. They paid a licensing fee, joined the partner program and received support that assisted them with building AS integration into the iPhone. I won't say it again.

Oh and Apple's implementation of AS in Snow Leopard really kinda follows the same concept - they wanted to make the Mac fit in more seamlessly in an Exchange-driven enterprise. We all know that Exchange isn't the only enterprise messaging platform but it's apparently the one that Apple cares about working with. I don't think Apple is hoping to capture an enormous share of the enterprise and they probably feel that just so long as their Macs have one less barrier to 60% of the enterprise market, they're more than satisfied with that.

If they do have designs on making major enterprise in-roads, you'll probably find that Exchange support is just part of a far larger strategy. This is probably their trojan horse phase where they get some decent Mac share in the enterprise and then when they've really established themselves as a presence, they start to push their own enterprise solutions. Look what they've done on the Windows consumer platform. It started with iTunes (or actually QuickTime to be exact) and has now moved on to Safari. "Offering glasses of ice water to people in hell" as Steve Jobs puts it.

If you've never taken the time to look at some of their server technologies, I implore you to do so. Their web-based collaborative services alone are marvelous.

40 - @38" Eric, please go read the ActiveSync documentation and then tell me what it is that Apple is integrating. I can't figure out why anyone thinks a Windows COM API is useful on Snow Leopard. "

Because they obviously aren't using COM but something else that you aren't privy to unless you fork over some $$$ and an NDA.

Adam has done a much better job then I lately - if you still don't get it from his post, I'm not sure what else I could say that would help you understand other then Traveler is not equivilant to ActiveSync or a 2nd Mail/Calendar/Contacts client is NOT the answer.

Your too far in the weeds looking at calls and API's (esp. since you aren't going to get to the ones you really want wihtout some $$ and the aformentioned NDA) - step back and look at the broad services that ActiveSync provides - that set of services is what Lotus needs, presented in a tidy package that 3rd party vendors can consume and integrate with their products. Not a roll-your-own client that happens to run on top of the phone's OS.

41 - @39 - It's important to remember that technology companies LICENSING something doesn't mean that they're USING it.

Do you remember how Outlook Message Recall works? It's a special kind of message that goes to the user's inbox, which Outlook then says "ah, this is a request to remove a prior message" and acts on.

Knowing that, and looking at MSFT's definition of how Direct Push works { Link } what do you think the odds are that the Clear-ActiveSyncDevice does anything else than send a specially formatted email message to that Inbox?

I'm going to speculate that it's pretty slim. I'd like to find an opportunity to test it, but I'd wager that the command does nothing more than send an email with some extra contents in it for authentication.

And I'll bet it's possible to spoof one. Emoticon

42 - Re COM, I hate to tell you this Nathan, but it's a little-known fact that OS X does support COM. It's part of Core Foundation Emoticon

43 - @42 - If that's what they're doing, then I take it all back. It would be interesting to find out, though. It still seems unlikely to me, since Exchange has excellent webDAV support and that's what OSX already uses for .mac syncing.

If I'm proven wrong, I'll write a special blog post about it. Crow is quite tasty when it's the truth. Emoticon

44 - @All, I'm way out of my depth here, I know, but would it be possible for IBM Lotus to license NRPC/1352? Or am I being far too simplistic?

Hey, I just run mail systems, but if the JesusPhone (TM ElReg) speaks NRPC, wouldn't that help?

45 - @44, I'm sure if Apple were knocking on IBM's door saying "Hey, we want to sync up with domino, what do we do?" there wouldn't be much of a problem. But they're not doing that.

Emoticon

46 - I'm no expert by any means here, but:

ActiveSync = EasySync?

More or less? No? Why not? EasySync already handles several different devices, is it not a question of getting iPhone added? I guess that's work for Apple to do, and not something IBM could do, but isn't that the solution?

"synchronizing your Lotus Notes inbox with the e-mail application on your supported handheld device."
{ Link }
{ Link }

Is Traveller even released yet? (wrong year on the only *pre-release* press release link under Learn More!) And do I understand correctly that it is it's own client? Is that what is wanted here?
{ Link }

47 - Mike, I'll have a write up about this over the weekend. ActiveSync <> EasySync, but more because of branding than anything about the technology. Microsoft has done a fine job of confusing the issue.

48 - @47" Microsoft has done a fine job of confusing the issue."

Nathan - I'm a Domino fan, but that's just plain spin. Because Microsoft has a clear and concise strategy and message they are the ones confusing the issue?

Are you serious?

The only one confusing the issue is Lotus with their muddied message and strategy.

There are plenty of things that Microsoft gets wrong - but in this case, they are the ones with a better solution. The way to resolve this is not to name call and blame them for Lotus's shortcomings. The solution is for IBM/Lotus to step up and clarify their strategy and actually provide something for third parties along the lines of ActiveSync.

Anyway, if nothing else your post this weekend should be entertaining Emoticon

49 - Eric, this has gotten old.

The "clear and concise strategy" from MSFT in this case is to use exactly the same product name for technologies that have almost nothing to do with each other. That's certainly their right, but that's also what's made it difficult to answer the question of "what is Lotus' response to ActiveSync?" Because the response is a question: Are you asking about ActiveSync as a desktop-to-device program? (EasySync) Or ActiveSync as a server technology? (Traveler) Or ActiveSync as a secured and managed mobile distribution technology? (Lotus Mobile Connect) Or ActiveSync as an HTTP protocol? (the OWA's spec for SyncML) ActiveSync is all these things. So answering the question is a lot like answering "what's Microsoft's response to Notes?"

You seem to have convinced yourself that I'm defending Lotus's strategy (or lack thereof) in some way. I'm not. "Clearly IBM misstepped in their relationship with Apple somewhere..."

I don't find Lotus' offerings for mobile computing particularly compelling. In fact, to be perfectly honest, I find them backward-looking. But that doesn't mean that Apple couldn't work with them. The Lotus mobile software is certainly not so bad that it could be called "nothing." It's not like SyncML is some dashed off protocol that a couple of engineers threw on a whiteboard over a box of pizza and a sixpack.

By looking at the actual technologies involved, I'm trying to shine a light on exactly what can and can't be accomplished with the technology that Apple has made available to third parties, and how Apple could be working with Microsoft's technology in a way that doesn't conflict with their stated goals of: a) not allowing applications to run in the background of the iPhone's OS; and b) not maintaining continual connections to the network all the time.

Somehow, for reasons that elude me utterly, that seems to conflict with your world view that IBM has failed to compete with Microsoft in the mobile space. I have no idea why actually looking at what these pieces of software DO is such an anathema for you, but if you're going to persist in the delusion that talking about API specifications is an apology for IBM's mobile approach, please do it somewhere else. I'm not spinning for anybody. I'm actually reading product specs and developer documentation instead of press releases. If you think that makes me "too far in the weeds," then I guess you and I have entirely different concepts of how a person actually learns something.

52 - "By looking at the actual technologies involved, I'm trying to shine a light on exactly what can and can't be accomplished with the technology that Apple has made available to third parties, and how Apple could be working with Microsoft's technology in a way that doesn't conflict with their stated goals of: a) not allowing applications to run in the background of the iPhone's OS; and b) not maintaining continual connections to the network all the time."

I think this is the disconnect. For mail and calendar (don't get me started on to do's!) Apple doesn't want third party apps (and neither do I) on their mobile device.

If Easy Sync/Traveler/Lotus Mobile Connect offered the same capabilities as ActiveSync, you can't tell me that Apple wouldn't be all over that! They are in the business of selling phones and an ecosystem - and they have made it quite clear that they view the enterprise as part of their ecosystem. Lotus Notes is part of the enterprise ecosystem. I have talked with my Apple rep - they want Notes integration, so I'm not sure where the conspiracy theories about MS "getting to" Apple first are coming from.

However, there is no Apple integration and no loud protesting by Lotus that they have a strategy directly comparable to ActiveSync (instead they are asking with me to plead with my Apple Rep for support - OK - support for what exactly?!?).

By focusing on background execution and continual connections you are focusing on problems that don't have to be solved. That's not Lotus's (or your) job - it's Apple's. It's Lotus's job to provide Apple something to code their mail/calender/address book apps to.

I know I'm not totally off in left field here since there are now many more people trying to make the same point here and elsewhere. I'm obviously just doing a piss-poor job of explaining myself Emoticon

I feel like I'm having the "Mail template design sucks, turns off C-level execs and is costing you seats"/"If you just focus on the look of the mail software your an idiot and don't deserve to use our software" arguments all over again Emoticon

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Search 

Disclaimer 

Welcome to Escape Velocity!

Opinions expressed here by Nathan T. Freeman are not necessarily those of his employer. However, there's a decent chance they are, so check with them if you really want to know.

But really... do you need that kind of validation? Are the opinions expressed here in doubt?

MiscLinks