Wednesday, June 11, 2014

Apps for Office

MS Office has long been the gold standard when it comes to office productivity software. In terms of both marketshare and the software itself, Microsoft has achieved complete success. The problem the company faces is becoming a victim of it's own success. How does one keep making money from a mature product in a saturated market?

Microsoft's primary strategy is moving customers to a subscription model, which I've written about subscription models before. Another way to keep customers at the table, though, is to improve one's product, and any product can be improved (or so the company wants you to believe!). To that end, the current version of MS Office has a whole host of changes. Most are utterly meaningless (UI flattening, conditional formatting improvements, etc). One has the potential to be very useful, though.

"Apps for Office" are small web applications that run inside MS Office. The idea is to allow developers to use the flexibility of web technologies to help improve information world flow inside an Office document. Some cool examples would be interactive maps in Excel, live stock price tickers, and a Flickr image search box.

With these in mind, I began exploring the Office Javascript API, which is the layer of javascript that lets my Office App talk to Office itself. My initial app idea was called Quick Contacts. The idea being that you'd store your contact information in Excel. Last Name, First Name, Phone, Email, and then as many custom columns as you'd like. (Projects, Location, Company, Title, etc). The app would be a sidebar app which would contain a simple textbox on top. Upon typing from the user, the letters in the textbox would be instantly searched for in the sheet, matching and finding contacts.

What I failed to take into account is that the Javascript API doesn't work. You can't tell the address of the currently selected cell (A14 for example). You can't even tell the currently selected sheet. That means that if a user has multiple sheets, then they can no longer use the app, because it'll pull from the sheet that was mapped, not the current sheet. I questioned the official support forum and was told about some complex hacks, but I have zero desire to spend a large amount of time on something that should be a simple if statement. The idea of Apps for Office is great. Maybe in Office 2016 they'll include a working version.