Dis-Integration
When I was a sysadmin, I built a really nice mail server on top of postfix and cyrus imapd with a few CGIs for managing mailbox and alias maintenance. It handled a decently large volume of email for a medium-sized company and nobody every complained.
Then one day, we got a new CIO, and he wanted exchange. The excuse was calendaring. It was very important to have one server doing both mail and calendaring. Architecturally, that has never made sense to me, and I don't believe it ever will.
I used to use ical a lot for my calendaring needs. I'd get an invitation via email and it'd automatically drop a new item in my calendar. I could accept or decline from my calendar, and it'd pass the message back over to my email box. That type of integration is exactly what makes sense to me. I can choose the tool that works best for email, and the tool that works best for viewing and manipulating my calendar, and they just have to go talk to their respective servers and know how to pass information back and forth and everybody's happy.
This is why we create protocols. With clean, well-defined protocols, I can use a mail client that makes sense to me (and that has varied over time), and someone else can come along and try to compete.
Exchange provides the opposite of this world. Everything has to fit into one logical box. Blackberry's email support is the worst I've seen. BES and BIS sit between you and your email and give you something that looks, but does not act like your normal email client. Over the air synchronization is just...unpredictable. I never figured out what would cause something to be deleted upstream or downstream from either end. It just didn't work right sometimes.
In my company, we run both BES and GoodLink to deal with mobile clients. That's a lot of stuff for IT to manage, and a lot of stuff to try to keep going. I don't use either here, but I used BES at my last company and always managed to crash it on the weekend which prevented me from getting any useful data services while I was out.
There's a lot of controversy about the iPhone, but there's one path they're taking that seems to be exactly what one should be doing: Integration. They solved all of the problems around how to integrate with corporate email servers, web servers, BES, GL, etc... with one simple strategy: To not do any integration.
The iPhone has three things that makes these types of integrations unnecessary:
- An IMAP client (does POP too, but POP sucks).
- A proper web browser.
- A VPN client (PPTP and L2TP).
With these three things, I can show up on the network just as I do from my laptop. Throw in the 802.11 support, and I don't even necessarily need the VPN (unless the network requires it). The calendar support is admittedly weak, but I use the web UI for that anyway, so it's no different for me. Once protocols around calendaring are actually standardized and the standards are implemented, that can work just as well.
In a world drowning users with vendor lock-in and proprietary applications and protocols, there is at least a bit of hope in a few areas.