The past couple of weeks have been busy as all the interns moved on (yippie we have more parking) and we’re gearing up for the Fall when we visit lots of college campuses around the US, Canada, Mexico (Europe is later). I’m planning on visiting a few schools in October so I hope to see those of you thinking about a career at Microsoft.
And what is keeping us really busy is working on Office “12” of course. This week is very busy as we are going to show the new product for the first time in public. There’s a lot of excitement brewing on blogs around the PDC (Professional Developers Conference) where Bill Gates keynote will show a lot of new things. Of course for the interns that worked on the new user experience in Office this is definitely a big deal, and we have a number of developers, testers, and program managers for whom this is the first time their work will be shown in public and by Bill as this is their first product cycle. Congratulations!!!
In thinking about the role of user interface in Office, one can only be humbled. As an engineer on the product you are responsible for how millions of people around the world produce documents, read email, do business analysis and in general enhance their productivity with the PC. It is really incredible to get to work on something like that, but it is also quite a responsibility. It is also a responsibility you can have as your first engineering job.
When you’re young and in your first job you are not as concerned about change and are generally more aggressive (something that happens as you get much older as well I think). Office has been the mark of stability in our user interface since Office 4.0 (16-bit version) when we basically had menus, toolbars, status bar, and multiple-document interface windows. Over the years we’ve added some elements but few things have been removed and not much has really changed. This was the conservative era for the product as we were getting established and frankly that is what customers asked for. Customers are now asking for a lot more—they want to tap the power of the software they know is available but “hidden”, they want to use the software for new scenarios (like business analysis, collaboration, etc.), and they want to produce much better looking documents (rather than the circa 1990 charts we produce today).
One of the things that has made us very comfortable thinking about change has been the role of new hires and interns in our group. They have seen the work we are doing and take to it right away. In fact they don’t see it as nearly the huge change that folks who have grown up with the products see it. The generation of people that move between TiVo, iPods, and IM have not been indoctrinated by “consistency is all that matters” or the goal of having “one single user experience”. Rather they experience life, and productivity, through a series of programmed experiences each tuned to the task at hand remarkably well. Our job in Office is to build those tuned experiences while integrating the work products seamlessly across the entire range of programs in Office.
The last major change we created in Office user experience was the Office Assistant, also a technology done by many folks fresh from college with many experienced folks leading the team as well. I hesitate to bring up the new user experience in the same blog as the Assistant—as you have no doubt figured I am a big fan of leaning from past mistakes and so I am certain the new user experience benefitted from any mistakes you might think we made with the Assistant. I should say that despite the fact that in the press and reviews the assistant was nearly universally panned (perhaps because of the implicit relationship to Microsoft Bob), even to this day we get letters from people saying how much they love “the little guy”. It is most certainly one of those puzzles we will never understand. Perhaps it is best to say “love it or hate it”.
The development of the assistant, even if you didn’t like the outcome, was a great example of experience, new hires, and a synthesis of ideas. The idea of a social interface was championed quite a bit by the team building “consumer” software as a way of making things easier to use. We started to pick up on this idea as a way to enhance the access to help within Office. One of the elements that became very important was “how do you make the assistant real to customers.” We spent a lot of time on animations and trying to make them feel like real personalities (we in fact met with the famous Disney animators Frank and Ollie responsible for many of the 20th century’s best animated characters). But what was missing was the way that you interact with people—how do you ask it a fuzzy question and get a specific answer or how do you ask it for help while it is “looking over your shoulder”. This is where the synthesis came together and it was a couple of new hires on our team who really championed these ideas.
The two were very mathematically inclined and quite familiar with the work going on in Microsoft Research over “probabilistic reasoning”. They figured out how to connect this type of thinking to two elements of the lovable “clown”. First, they figured out that you should be able to click on the clown at any given time and it should have some sense of what past actions you were doing and be able to suggest help right then. So for example of you clicked on Print, then cancel, then Print again, we should have the clown suggest help with printing. This was a cool technology that required a statistical modeling of the commands used.
Second, we had to figure out how you could ask questions of the assistant. This took a lot of effort to develop a language model. In 1996 when we were developing this, “search” at best was always an exact word match and maybe a keyword index. We wanted people to type questions in their own language—after all the language of the user interface in Office is a bit jargon-oriented (is “mail merge” really a word, what is a “PivotTable”?). The work that got done here by the new hire was to develop a technology working with MSR to allow fuzzy matching of help questions (queries) to the possible answers. He developed an authoring tool that allowed the people writing help information to identify fuzzy terms that might describe a topic. The whole process of asking the clown for help became one of building a set of possible matches. This was super high tech at the time. It got to the point where you could ask “how do I sent Christmas cards to all my contacts” and we would point you to mailmerge—I remember actually helping someone at a taping of a tv interview once with that exact query. It blew the person away (she was a user of the Kitten!).
These contributions represent the huge responsibility you can have as a new hire--blazing new trails and developing new technologies and bringing them to market in a pretty big product…even if it doesn’t please 100% of the audience.
At the time we came out with the assistant, we got a little bit defensive and started to do some research about new ideas that people came out with and what the reception was. The classic of course is the Sony Walkman which was universally panned because it did not record, but only played tapes. The rest is history. But here are a couple of quotes that are hard to believe these days:
In reference to the Apple Macintosh, Windows, and GUI
In reference to the mouse peripheral device
Sometimes people are funny when it comes to change. In hindsight, you can see the conservative nature of these comments.
We learned a lot. The assistant never became a GUI or mouse in the level of success it achieved. We learned a bit of humility. We learned a lot about how customers do not like to necessarily be clowned around with. We learned about how to synthesize disparate ideas into a technology. And we learned how to learn from our mistakes.
The folks that worked on the Assistant have all gone on to do amazing work for Microsoft and elsewhere. So that great attribute of Microsoft that says you can make “mistakes” (even if some people still say they love the Assistant) and not only recover, but grow your career is really a truism. This is just another example of a place we learned.