That's how Igor Zaika, a Microsoft Distinguished Engineer working on Microsoft Office, recently described the conundrum facing Microsoft's Office team. How does a company continue to support and avoid disrupting its 1 billion Office users while rebuilding Office's core infrastructure to make the suite run on operating systems beyond Windows?
Zaika talked about Microsoft's Office cross-platform architecture strategy at the recent Facebook @Scale conference. (Thanks to the Walking Cat on Twitter for the link to his presentation.) In his 50-minute session, Zaika detailed how Microsoft is building Office across Windows, Apple, Android and the Web by using C++.
Office currently consists of tens of millions of lines of code that the company built starting 30 years ago. Office got its start as a bunch of individual apps written in C; Microsoft bundled them together in 1990, even though there was very little shared code between them, Zaika said. At that point, the team thought it would be a good idea to rewrite the suite to create a common code base for Office for Windows and Office for Mac, which Microsoft launched separately in 1985.
"Shockingly," Zaika joked, "it did not work."
While the team salvaged some of the shared Windows-Mac Office code, Mac users were unhappy with Office apps that didn't look or work like other Mac apps.