I think that Microsoft is missing a large opportunity with the Microsoft Office product. I’ve been thinking about this for some time now. To me, it has been evolving in the wrong manner over these last few releases and it has bothered me greatly. You might be saying, “what is Bill talking about here, they just did a major and well-received upgrade to Microsoft Office with the Office 2007 release!”. I do have to say that you are right in that regard – but what I am talking about is Microsoft Office for Developers!
I do like the new Office (2007) in regards to the new workflows – the Ribbon and some of the new Excel features. It is a wonderful product for the end user that works wonderfully with the types of documents that you would expect from the Office product. But what we are missing – and greatly missing – is an Office platform that is easy for the developer to work against.
When you look at the types of applications that you are able to build, you typically build either web applications or thick-client applications using Windows Forms or WPF. Web applications are by far the most popular as they are *very* easy to create, release, and make available to end users. Though, if you think about what you are doing here, you are still working with a thick-client application. The thick-client portion is the browser that has the ability to remotely pull in other core pieces of the application for the end user to work with. You, as a web developer, are taking advantage of this great (thick) client application to do thinks like display images, text, interpret JavaScript, or to make use of the XmlHttpRequest object to do some of the newer things like Ajax work. Also as a web developer, you don’t have to worry about much changes to this thick client application as it is usually built to be backwards compatible to the code that you send it and it is continually being enhanced to handle your code in a better manner each and every year.
I work with a large company in the finance space and I work with a lot of major financial institutions. One series of applications that is always on everyone’s desk is Microsoft Office – and more importantly – Microsoft Excel. Like the browser, you can be sure that there are enterprise/business users with Excel and Word on their computers. Yes, IE and Firefox are amazing applications – but I have to say – Excel is a powerful (if not more powerful) container on the client. Excel is *the* container in many regards and many people spend their entire days in this application.
But ….
Have you ever tried to develop to this container? What container is easier to build to – Microsoft IE or Microsoft Excel? Well, I can quite strongly say it is IE. Excel and the other Office products are a complete pain to build to. I am also a big web developer and I see a lot (I mean A LOT) of investment from Microsoft being made into building better web applications faster than any other time before. The ASP.NET team at Microsoft is one of the world’s outstanding example of how to service a market as they are continually doing dramatic and powerful releases and even out-of-bound releases. They have a powerful roadmap, they bring in the developers to this wonderful world that they created through community outreach, involvement and presentation.
What we need is a revolution in Office. Excel can be one of the most powerful clients on the computer for developers. But today, coding to Microsoft Excel is difficult and cumbersome. Why is it so difficult? The difficulty needs to be completely obfuscated and a much simpler API needs to be made available. Why can’t I just drag and drop chart objects onto a design surface, connect web services, show grids of data – do all this with no coding required. Why isn’t it easier to work with web services, data providers, charts, conditional formatting, the Ribbon, and more. Why can’t we easily use peer-to-peer, file transformations, imports, exports, etc in code? Why can’t we easily have a more modern version (and safer) form of dynamic linking? Obviously much of the work will have to be done within Visual Studio and not just with the Excel products or the other Microsoft Office products. Visual Studio can be enhanced to make much of this required obfuscation possible. It did a great job with ASP.NET, it can do just as well with Microsoft Office.
I have such a vision for Excel. It is one of the world’s best clients and we are seeing this somewhat wasted by making it so difficult to work with for the developer. Taking the correct steps here, Microsoft can take the revolution they would bring to Excel right to the office itself!
Print | posted on Monday, March 09, 2009 9:28 PM