“The Exchange Web Client” was the first web email client produced by Microsoft. It had an interesting green and black color scheme but it did most of the basic needs for doing messaging. We didn’t have enough time to add calendaring support in the first version. What we did in this first version was the first step in what has now become a new way of building web applications.
OWA was born out of the sheer will of my friend Bob Gering when he decided we should look exactly like Outlook. We started changing our frameset design, colors and graphics to look and feel like Outlook. It was this desire to look, act and feel like Outlook that caused us to move web applications forward in a new evolutionary path.
Traditional web applications constantly refresh the document for just about every action. During Exchange 5.5 development in 1996/97 we used hidden frames to communicate to the server when sending messages so we wouldn’t clear the user’s document. However, we still had many frames updating during navigation of the mailbox. We also developed a Java applet for the date picker control in the calendar view to augment the user experience since DHTML on the current browsers at that time was just about non-existent. In the end we found that the applet did not meet our performance needs because virtual machine initialization was too expensive. OWA 5.5 had richer support than prior versions but it still lacked the type of experience that users get in a win32 application but it did work on just about every browser under the sun.
In 1998 we started on the incredible task of rewriting OWA for Exchange 2000. There were competing teams that were working on this task. WebDav had a team, led by Russ Simpson, working on a very basic hotmail like experience. The architecture of this version was the most interesting part. It was scalable and fast because it was actually built into the Exchange store process. Bob Gering, Ward Beattie, Iain McDonald and I were on the CDO (Collaboration Data Objects) team building a version with DHTML controls on an alpha version of IE5. Management fixed the redundant effort issue and joined the two teams together with Ward leading the way. It made perfect sense to combine the efforts of great plumbers along with great painters.
The first DHTML prototype for OWA was written on top of a pre-beta version of IE5. IE5 was such a huge improvement. IE4 was a great step forward and we did evaluate it but IE5 had many other built-in technologies that let us improve the user experience. The IE5 browser could certainly absorb xml but making a DAV request was impossible from the browser, so we added an ActiveX control to the prototype that made it possible to make DAV requests such as SEARCH, PROPFIND, etc… The OWA prototype was demo’d to Billg and he loved it. This gave us enough momentum to get a component that we needed to be installed by IE5 that we called XMLHTTP. XMLHTTP was born and implemented by the OWA dev effort of Shawn Bracewell. Exchange funded the effort by having OWA development build XMLHTTP in partnership with the Webdata team in SQL server.
XMLHTTP changed everything. It put the “D” in DHTML. It allowed us to asynchronously get data from the server and preserve document state on the client. In some cases, OWA is communicating with multiple servers to update the navigation document. XMLHTTP was not just a self serving effort. We knew that eventually this component would be discovered and used by other web developers that wanted to build rich applications but we just didn’t know when they would discover it. Oddpost appeared about a year or so after we shipped Exchange 2000. This application really pushed the limits and used similar techniques found in OWA. The Oddpost team deserves credit for moving the web forward also. They did a fantastic job harnessing the power of IE 5.x.
In Exchange 2003 we took it up another notch by asynchronously polling the server for new mail notifications and calendar reminders. We also added spell check that uses XMLHTTP exclusively to retrieve spelling suggestions from the server.
The OWA team’s desire to build a rich Win32 like application in a browser pushed the technology into IE that allowed AJAX to become a reality.
The OWA team today is one of the most talented in its history. Each version of OWA makes huge strides in technology and user interface, and the next release is no different, you’re going to love it.