Geeks With Blogs


Bill Evjen's Blog Code, Life and Community

imageI 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!

Posted on Monday, March 9, 2009 9:28 PM | Back to top

Comments on this post: What is needed is a revolution in Office

# re: What is needed is a revolution in Office
Requesting Gravatar...
Bill-- I'd love to chat with you more about your thoughts regarding developing with Excel (or any of the Office apps for that matter). I am the product manager for 'Office developer' here at Microsoft and have been on the outside (as a partner/consultant/architect building Web and Office solutions for customers) and inside (been at MS for 6 years trying to impact the Office developer story here). In either case, I am pretty familiar with both the strengths and frustrations that one meets when developing business solutions with Office. What I can say is that the Office 2007 developer proposition, especially when coupled with our VS 2008 tools and excellent interplay with SharePoint yield a very compelling proposition for developers. But, you are not as persuaded, and I'd love to talk about why. Feel free to contact me through my blog, and we can chat if you'd like!


Left by John R. Durant on Mar 10, 2009 2:25 PM

# re: What is needed is a revolution in Office
Requesting Gravatar...
This has a very back to the future feel to it. Excel as a developer platform is how Microsoft initially blew Lotus 123 out of the water. I was one of many folks making a living building applications on that platform for a variety of customers. Microsoft continued to enhance it with VBA, etc but at some point in time started giving developers the short end of the stick. This was pre .NET by a number of years. Most of the folks developing on Excel moved to Access and then to VB and on to .NET. There are still a few folks out there who develop for the platform but it is nothing near the vibrant eco system that was out there around 1989-90.
Left by Chris Kinsman on Mar 14, 2009 1:30 PM

# re: What is needed is a revolution in Office
Requesting Gravatar...

I couldn't agree more. However, I think this revolution is already underway. But like all major shifts in paradigms, it will take time. Microsoft could probably do a better job at "recruiting" Office developers. However, with the huge wave that SharePoint has brought us over the last couple years, I think "Office development" will only be the next natural shift in that space. I think the best thing that your standard .NET devs can do is jump on that. I know I am and will continue to do so. :)
Left by Todd Kitta on Mar 14, 2009 9:59 PM

# re: What is needed is a revolution in Office
Requesting Gravatar...
Oh my gawd the old days!

I had a serious flashback reading this post.

I used to be hardcore lotus 123 programmer...nostalgia!

show para fiestas
Left by Magos on Sep 10, 2009 8:46 AM

Your comment:
 (will show your gravatar)

Copyright © Bill Evjen | Powered by: