Programming Office

The reaction to a previous post – Rethinking Office – has been interesting. Quite a few people have argued that Microsoft won’t make an online version of Office available until they absolutely have to, because it will destroy sales of the full product. It makes sense to protect the full product, given it contributes a third of total revenue (generating a nice $4.7bn in the last quarter). But I think it’s a mistake to assume that an online version of Office will cause Office sales to plummet.

I’m not a Gartner or Forrester and haven’t conducted a huge amount of research here. But with the 100 or so customers I have talked to during the past 12 months, not one has the remotest intention of moving all of their data into ‘the cloud’ any time soon. Privacy, compliance and security concerns are the top 3 reasons, closely followed by reliability and speed (or lack) of Internet connections. They want to be able to do some work in an online environment but not everything. That’s why I think Microsoft is crazy not to plug this gap now, whilst it is still so immature. The only people likely to switch completely to online tools are those who almost certainly aren’t paying for the product anyway. But demand for online capabilities is beginning to grow. The collaborative features provided by Google Docs is gaining traction within education – i.e. the next generation to enter the workplace. People are looking for tools to publish docs online – as being demonstrated by the popularity of tools like Slideshare and Scribd (acquisition prospects?)

Not only does Microsoft give the impression of ignoring demand for online features, they are not doing a great job of promoting what the products can do for business. Here’s a simple example. I am currently building a new portfolio management system for a small financial services business. Their information-working habits have barely changed in the past 10 years. A simple review of their current processes and it became obvious that we could reduce their administration overhead by approximately 25%, all but eliminate the potential for errors, and do analysis to highlight business development opportunities. How? Automating manual processes and calculations. What with? A combination of Access, Excel and Word. Access will hold the database, forms and reports. Excel will be used to create a performance dashboard and real-time summary report. Word will be used for mail merge (currently completed manually – there’s the first fix)

Target return on investment (ROI) – 6 months.

Why use Office? Simple. I can use macros and VBA (Visual Basic for Applications – built into Office and therefore doesn’t require specialist developer tools) to automate as much of the data entry as possible, including workflow-driven forms to manage business processes and automatically generate client letters pre-populated with data. Data validation rules will capture and correct anomalies. By building the solution inside of Office, the administrators will still have access to all the other standard features. For example, they can create queries, ad-hoc reports and custom mail-merges (such as creating a targeted newsletter) without requiring me or another technologist to come in and do it for them at cost. I don’t have to second guess every possible requirement and charge them for developing features they might not use as much as they initially think. The user interface is consistent and familiar-ish (I’ll be spending half a day with them to help acclimatise to the new ribbon system), and, to save my bacon, is Microsoft’s responsibility to support. I can concentrate on making the forms, reports and processes as user-friendly and intuitive as possible. The programmability side of the application is a lot more mature and secure (especially macros) than in the 1990s.

There isn’t an online alternative to rival this capability, yet. The nearest appears to be Zoho. They are building online versions of traditional software applications covering just about every type of information-related activity you can imagine. Last week, they announced support for macros, programming and advanced functions such as pivot tables. The barriers to adoption? The reasons already given for not wanting to go fully online, product immaturity and lack of a partner network to help implement and customise the service. That’s probably going to change.

What’s interesting at this moment in time is the growing perception that Microsoft isn’t focused on software any more. Perhaps in part because of the news coverage. Steve Ballmer is the CEO and all he talks about is… Customers don’t know about the benefits offered by new versions of Office. They’ve never seen the visualisation features within Excel. They haven’t heard of Office Business Applications. Some still haven’t heard of SharePoint. And some that have don’t really know what it means. They can’t find examples to relate to or events to attend that might explain it all (‘Too techie’). They don’t notice the ‘people-ready’ adverts, different to the ‘realising potential’ ads from last year and the ‘dino-heads’ from the year before. They can recognise an IBM advert, just show the blue borders and they can recite their favourite line: ‘…so who’s responsible for getting this fixed?’. They joke about the PC vs Mac ads. They’ve seen an iPhone (Windows Mobile? Not so sure). They do know Microsoft is competing with Google and was trying to acquire Yahoo…

Anyone remember the scene in Jurassic Park, where the park warden explains the challenge of avoiding Velociraptor? You focus on the Raptors you can see up ahead. The one you didn’t spot comes in from the side and eats you.

Rethinking Office

You may or may not have noticed, Google has been rolling out some online services that challenge one of Microsoft’s key territories – Office. Google’s online version is Google Docs. You can use it to create documents, spreadsheets and presentations using nothing more than a web browser with an Internet connection.

Currently, Microsoft doesn’t appear to have an online version of Office available. If there is one, I haven’t found it. But searching for variations on ‘Office’ gets all sorts of junk. Tip for Microsoft. When it comes to having a version of Office available online, consider using the following URLs – and 😉

Here’s the interesting part. I’ve been playing with spreadsheets for a couple of ideas and one feature required me to delve into Google Docs for the first time. Whilst Excel 2007 was best for one solution, Google Docs was best for the other. That, I didn’t expect to happen.

Case 1: Excel 2007

The image below shows the Googleshare (What % of results containing one word also contain another) for various keyword combinations. The legend shows each primary word, the x-axis shows the secondary words, and the y-axis shows the percentage value for each combination:

Unsurprisingly, Apple gets a lot more love than anyone else. It gets more ‘bad’ too but that might be caused by references to the edible edition.

The data was created via a web query against Google. It’s actually a lot easier to create the data connections in Google Docs than in Excel, thanks to Google’s importXML function (it’s the reason I started trying out Google Docs), but Excel was better for playing around with the data once it was imported. The standard charts built in to Google Docs are limited in features and duller than dishwater. Net result for me – I’m now using Google Docs to test word combinations and the ones that generate interesting results are then reproduced in Excel to further analyse and visualise. (Side note: tried to do the same with Live search results but couldn’t find a way to extract the data)

Case 2: Google Docs

The image below shows what you earn in interest when investing £1,000 for 5 years in an ISA versus a normal savings account (ISAs have higher interest rates and are tax-free):

Except, it isn’t actually an image, it’s an interactive chart provided by Google Gadgets, that hook directly into Google Docs. And on top of that, I published the chart enabling it to be embedded here without anyone needing Google Docs to view it. Click Play to watch the visualisation. If the bubbles don’t change size, Click ‘Size’ on the right and select ‘Interest’. (Haven’t figured out a way to pre-configure the settings.)

You can’t publish elements from Excel to the web without using SharePoint as the web platform. And Excel doesn’t have currently have any funky interactive visualizations, like time lines and motion charts. In Google Docs, you simply select ‘Insert’ and choose ‘Gadget’ to access a range of interactive visualisations. And to publish them, click on Publish and you get a snippet of code that you can insert on any web page, no specialist platform required.

New ways of working with information

Whilst I’m not surprised that Microsoft is not keen to provide an online version of Office just yet – they have a revenue stream to protect whilst Google doesn’t – avoiding the inevitable seems to be a riskier strategy. The surprise from playing with Google Docs has been discovering features it has that the current version of Microsoft Office can’t do.

Google has its challenges too – like finding a revenue stream for Google Docs. Unless relying on advertising revenue generated from the search side of the business is considered enough… that thought should freak out Microsoft. What if Google Docs is more about ‘brand Google’ than revenue?

Online vs Offline

One of the big arguments against using browser-based services has been their lack of offline capabilities. You typically need to be online via an Internet connection to access content. This is beginning to change. Google has recently announced that you will be able to take Google Docs offline. And they are by no means the only service provider planning to go down this route.

But here’s the rub. I hate using the browser offline. I don’t know if it’s just me or if others feel the same. Working within a web browser is all about being connected to the Internet. I accept certain limitations in the application, such as: a fixed-size input area like the one in Blogger that I’m using to type this post (ditto for writing emails); clunky in-page menus with limited options; missing features. I don’t want to take those limitations with me offline. When I need to be offline or use advanced features, I want proper applications. Even for reading blogs. The one application that is never opened when I’m on a plane is the web browser.

What should Microsoft do?

Three things I would be bleating on about if I still worked there:

1. Provide common gateways between products and online services

Help is already integrated (you can download templates etc. from Office online). Now it needs to be at a natural extension for all features. ‘Insert Chart’ should include the option to go online and access new Chart types, as they become available. If Microsoft is serious about their ‘software plus services’ strategy, all products need the ability to interact online and integrate incremental enhancements. The motion chart used in this post comes from Google’s acquisition of Gapminder Trendanalyzer – see end of post for a much better example. Microsoft has demonstrated a similar technology at its annual TechFest (where MS Research shows off their projects) – DynaVis. Goodness only knows when we’ll get our hands on it. Holding features until the next product release is no longer a good strategy…

2. Make it easier to share work created in Office on the web

And that does not mean SharePoint. At the moment, to publish elements of Excel online requires SharePoint (and not just any old SharePoint, the most expensive version – Microsoft Office SharePoint Server 2007 Enterprise Edition). Not necessarily a problem for collaborating within an organisation, if you’re deploying SharePoint, but it means a limited audience. It is easier to create stuff in Google Docs if you want to publish on the Internet. And what happens as people start to publish more using Google Docs? Others start asking where they can go to get the same features, things they can’t do within Office… I’m not saying ditch integration with SharePoint, but it shouldn’t be the only option.

3. Get an online edition of Office out there for people to start using

Online services aren’t necessarily replacing traditional applications, they are creating new ways of working with information. Ways that might not come up in focus groups and product planning. Not having an online service risks being late to a game you are supposed to lead. A big win for Google Docs has been enabling people to collaborate simultaneously on spreadsheets in real-time over the Internet. In this scenario, browser (and online service) is best because all collaborators are, by default, using the same version of the software and spreadsheet. They don’t need to purchase, download or install anything to participate. But when it comes to features, people don’t want full Excel inside the browser – it would be too complicated. Equally, I’m not convinced people want to tolerate browser limitations all the time. Somebody who provides a marriage between the two environments might just be onto a winner. About that software+services strategy…

I always thought SharePoint was key to securing the future for Office. Now I’m not so sure. Too much of the current Office Live strategy appears focused on using SharePoint as the hosting platform for all things web-related to do with Office, whilst Office carries on doing what it’s always done. People are using Google Docs not (just) for a cheap spreadsheet in a web browser, but for scenarios that benefit from the spreadsheet being in that web browser. Here’s a thought. Many organisations will not use Google Docs because it is hosted on the Internet. Imagine if Google decided to add Google Docs to their Enterprise Search Appliance…

[Disclaimer: I used to work at Microsoft. I’ve got a non-disclosure agreement (NDA) with Microsoft. I saw a very early preview of an alpha version of the SharePoint bits in Office 14 (the next release) last year under NDA which means it in no way influenced this post. This little splurge came from an hour playing with a spreadsheet in Google Docs and being surprised that it did somethings better than Office 2007 and SharePoint. It’s the first time I’ve seen Office in the same light as mainframes when client/server entered the workplace. They didn’t start by replacing the core mainframe applications, rather they took over the functions that mainframes had introduced – e.g. spreadsheets, email – and were doing badly…]

Now, for a far better example of the benefits of motion charts:

Direct link to TED talk if it doesn’t display above

[Update: 27 Apr 08] A Google Docs vs Office comparison has been posted at GoogleSystem – Google Docs Lives to Share the Words

Technorati tags: Google Docs; Microsoft Office

Office DevCon – BillG Keynote

Bill Gates delivered the keynote speech to kick off the Office Developer conference in San Jose. Unsurprisingly, the ‘Last day at the office’ video was played. If you haven’t already seen it, it’s quite a good chuckle:

(The YouTube version isn’t complete but you get the picture)

The content of Bill’s speech wasn’t hugely exciting. Probably because Office 14 is still being kept under wraps publicly. The following are some brief notes. The Q&A at the end is where it gets interesting…

It was curious to see the Server Platform referenced as being SharePoint Server, Exchange Server and Office Communications Server. No sign of Groove… Bill made lots of references to data connections between client, server and online services. The Business Data Catalog (BDC) is a new feature in SharePoint Server 2007. I think it is a safe bet to assume that this feature will be maturing rapidly over the next couple of product releases.

FedEx provided a demonstration of integrating their online services into Office applications. They also announced their intent to build web parts that will integrate natively into SharePoint. This could be particularly interesting in context of Office Live Small Business (see later). Resources are being posted at It looks like FedEx has twigged to the benefits Amazon has realised from enabling people to hook into their online services and data storage…

Bill outlined programmability across clients and servers, integrating into online services.

For the client:

  • Presentation = Fluent UI (aka the ‘ribbon’) + Task Panes
  • Logic = Object model
  • Data = OpenXML file formats

The ribbon is seen as a big success in changing and improving the client UI. It is planned to expand it into other applications.

Examples given: AdSage – specialist ribbon within Excel for analysing the performance of advertising key words (integration with AdCenter); Mindjet MindManager is using the ribbon (makes you wonder if MS will one day buy a mind mapping tool…) and Xobni (‘inbox’ spelt backwards) that has created a task pane within Outlook to display email trends and social networks.

For the server:

  • Presentation = Higher level services (don’t ask) + web parts, pages and
    templates (aka SharePoint)
  • Logic = workflow
  • Data = business data connections (yup, referencing the BDC again…)

Web services span all three, from data through to presentation

Examples given: MSW (Microsoft’s internal intranet built on SharePoint) integration with Siebel to increase productivity and improve usability (anyone who has used the Siebel client will understand that philosophy); PNMSoft (MS partner in Israel) has built a business process management (BPM) solution using SharePoint and Office to connect processes across back-end applications and visualise them (nice).

Visual Studio 2008 is being launched and the Visual Studio Tools for Office (VSTO) are now built-in.

Office Live Small Business Winter 2008 Release

Well that’s what was on the slide – looks like the product/service names are getting longer again… let’s just call it OLSBW08R 🙂

OLSBW08R is basically hosted SharePoint with some tweaks. It includes a web-based tool called Office Live Site Designer (let’s call it OLSD… no ‘funny’ comments please.) OLSD isn’t to be confused with SharePoint Designer or Office, but it actually looks like a hybrid of the two. You get a built-in ribbon and the page is broken into components that can have web parts added to them… imagine that, web parts. Like, I don’t know, you wanted to track parcels. Wouldn’t it be useful if a delivery service like FedEx agreed to build web parts to integrate into SharePoint… 😉

OLSBW08R, despite being in dire need of a better name, looks to have some interesting features that I’ll likely cover in a separate blog post (I’ve had a half-written ‘Google Apps vs Office Live’ waiting to be finished since before Xmas). The demo in the keynote showed how you can quickly integrate images and make connections to services such as Virtual Earth. I’ve got a non-techie friend who I set up with an Office Live account last September. It took him about 30 minutes to find Virtual Earth and drop it into his web site. That’s quite impressive. And a useful application of Web 2.0

More about OLSBW08R can be found at dev.

To close the keynote, there was nearly 30 minutes of open Q&A with Bill. This was a great treat that made you realise just how far apart Bill is from other senior folk at MS. He was able to answer questions on any subject with a reasoned opinion, even if it was a topic he wasn’t that close to. Other execs seem to lack that passion or intensity (Balmer not included).

The following is not a word-perfect transcript. It’s just the typing scribbles I made during the Q&A session, anything in brackets are my own comments added. No guarantees about accuracy blah blah blah (I’d put ‘without prejudice’ but that’s just taking blog writing far too seriously…)

Q – What’s with Yahoo?

A – Yahoo has done great work. They have great engineers but the question has always been should they become pure media or keep a mix of engineering and media. Using an ad model, you need scale. Only one company has that scale (yup, it’s not just Balmer who avoids the ‘G’ word). How do you combine engineering R&D with scale? There is a strategy of giving up engineering and just doing media, and give up engineering to somebody else. We don’t believe in that approach and plan to keep engineering core to the business

Q – What’s the next killer app?

A – Not sure we are going to have one killer app that takes over everything. In a sense, SharePoint is becoming central – the potential to replace email attachment culture with attaching to a web site instead. Excel will continue to be very important for BI (business intelligence). The fastest growing module in Office is OneNote. It is way behind the others right now but I see it joining the others as an equal in the future. It is great for gathering disparate data together from a variety of different applications

Q – What’s with Unified Communications?

A – Unified communications (UC) is a big deal. The desktop telephone has always been a separate entity, why can’t it be software driven? Once it is, you can automatically transfer calls to the mobile, to the PC, create interactive applications, set up behaviour rules to determine calls you will and won’t answer depending on context. This all becomes possible when software drives the hardware. Things like presence information becomes ubiquitous. This can save time and money – reduces the cost of telecomms and saves costs through better interaction. (Bill became very animated about this – big clue that UC is important to Microsoft going forward)

Q – MS vs Open Source

A – (Bill now a lot less animated). (Didn’t capture the response in words but he didn’t make the distinction between free software and open source software. Instead just focused the response on not paying for software, how MS has always had free elements of software, that other types of free software typically have a cost associated such as a support contract.)

Q – Why is the SharePoint documentation not so good

A – SharePoint is playing catchup to the client. SharePoint has caught us by surprise. We always knew it would become a mainstram tool but it has really accelerated in the last 18 months. Please give you us your feedback during th
e conference about what you specifically want to see, this is an area we are working on. (SharePoint is certainly getting the most attention, despite this being the Office DevCon and a separate SharePoint conference coming up next month.)

Q – What’s with the new declarative ‘D’ language

A – Most code that is written today is procedural code. It has always been the holy grail of development that you shouldn’t have to write so much procedural code, you ought to be able to do it on a declarative basis. In the past, data models were too weak. But we now have stronger data models, such as XML schemas. They are much richer and, in that environment, a lot of business logic can be done in declarative form. Don’t know just how much can be done today, we are doing a lot of research in this area. But we believe that declarative modelling should take the requirement for procedural code down to 10% of what it is today. This is something that will change software development but more likely in a 5 – 8 year timeframe than overnight. (Bill was clearly very passionate about this subject – add it to the ‘hot topic’ list to track.) (Side note: I often get asked about why so much of SharePoint’s UI customisations are done as XML – here’s your answer. It’s not a perfect solution today, but it’s a starting point for reducing the amount of compiled code required to customise the product.). This question and answer cropped up on Techmeme straight after the keynote – Infoworld: Gates talks up declarative language – I’m assuming it was the reporter who asked the question, ‘else spotted its importance)

Q – Office for Mac and the Fluent UI

A – (it appears that the latest release of Office for Apple PCs does not include the ribbon UI) Mac Office is somewhat diverged from traditional Office, to take full advantage of the Apple hardware and their system direction. It’s forked code. Some elements of extensibility do cross over, such as OpenXML formats. Some features do not translate. The aim is to make Office for Mac as Mac-ish as possible. Not all features translate.

Q – Google Office works everywhere. How can we avoid VPN with MS stuff

A – There are several answers to that one. SharePoint needs to be able to render a broader set of documents into rich HTML. We are also working on things that are equivalent to OWA – that’s what to keep in mind. We want the equivalent of OWA for Office, won’t be full functionality but should be able to do the common tasks. This is part of the O14 dev plan. (Bill became quite passionate again about this one.)

Q – Customising MOSS is sometimes harder to do vs just build from scratch on ASP.NET

A – There is a huge thing that I am very keen on driving is that our richest data store by far is SQL Server. Big theme in the next version of SharePoint is to let you manipulate actual SQL tables as lists (insert fanfare audio), you don’t give up the ability to have lightweight lists like today but these will be ‘super’ lists. A big theme is how much split there is between .NET and SharePoint – how much is stored within SharePoint versus SharePoint being the user interface (UI) for incredibly rich data structures that exist natively underneath. (Bill became quite animated again – it’s them data connections…)

Additional references:

Filed under: Microsoft