|
|
Published: 01/02/2008 | Last Revision: 07/04/2010
The problem with following this industry for nearly twenty years is that you get tired of the half-baked promises, the wishful thinking, and yes, the outright lies. If I had a pound coin for every time a claim about a future software package didn’t actually arrive, I wouldn’t be sat here in dark and raining Suffolk nursing a large cup of coffee – I’d be on the beach in the Bahamas fiddling with an inhumanly sized cocktail.
The arrival of Office 2008 on the Mac OS X platform is a momentous thing and will reverb around the industry for a long time to come. You see, it is the latest and hence, by definition, the greatest version of Office, and yet it is frankly a travesty, a disaster, and one which will come home to roost.
This is because, in doing the port from PowerPC code to Intel, Microsoft made a very strange decision. It decided that we didn’t need Visual Basic for Applications any more. VBA could be dropped out of the product completely, and replaced by a half-baked AppleScript implementation which doesn’t do a fraction of what VBA can.
Setting up an Automator workflow in Mac OS X is straightforward, but why can't we do something like this in Windows Vista?
Does the removal of a macro language really matter? Yes! OK, few except for the most extreme of power users will notice it gone from PowerPoint, but there is a lot of VBA written within Word which is absolutely key to the way Word is used in many businesses. And need I mention the importance of VBA to Excel? Macro programming, custom functions and so forth are absolutely the key even for many people who don’t see and touch such macros – they still use them on a daily basis.
This is not the only problem with regards to Office 2007 and 2008 compatibility: there is a list longer than my arm of things that work in Windows Office 2007 but which are simply not implemented in Mac Office 2008. Want to do those snazzy in-cell bar graphs that Excel 2007 supports? Tough, no go. Want to do more than a three-column sort? Nope, that doesn’t work either. Want a native connection between Entourage and Exchange Server? Ah well. Need integration with SharePoint Server? Nope, that’s not there either. The more you look, the more you find a tarted-up Office 2004 that has been cut off at the knees.
Why am I ranting about this? Because Microsoft believes that Office 2008 for Mac is a product that still deserves its full price, top level price tag. However any power user will choke at the prospect of paying hundreds of pounds for something that actually does less than the previous release.
But it is the decision to remove VBA which has really angered me most. If ever there was an area where Microsoft has promised the Earth and delivered a pebble, it is in the area of routine application and systems programmability.
You might choke at that sentiment and point out that VBA allowed for lots of interoperating coding. This is true, if you were prepared to dive into OLE programming and run applications in the background. We were promised a truly plug and play architecture to OLE. I attended all the original PDC sessions on the matter, and we were shown how we could unplug one app and replace it with another one. Yes this was true, if we wanted to replace Excel with Excel. Not much use otherwise, of course.
Of course, we do have a unified programming interface today on our systems, and it is called PowerShell, and yes it is extremely powerful indeed if you want to do industrial strength things in tools like Exchange Server 2007. However you really do need to know your stuff to make this work. As a programming interface, it is hugely powerful; but it is hardly end-user friendly. This is something only those who loved Meccano will bond with.
I look at the Windows Vista desktop and it strikes me that something is missing; something I have been promised for years. Where is the system wide recorder? An OS tool which can watch what I am doing and make intelligent decisions and workflows based upon it?
I don’t mean some mindless mouse tracking tool that tries to click on the wrong window when things have moved. I am talking about the routine daily grind of ‘stuff’ that we have to do. Little programming tools and widgets that let me customise my working space so it is better. Surely this is a good use for the largely redundant Gadget area on the right-hand side of the Vista desktop? I could set up some hot spots there and just drag and drop stuff onto these items to make my set of working tools work for me.
What a wasted opportunity. The reason we don’t have this is clear: scripting is something that programmers do, not end users. If Office on the Mac can manage without it then in Microsoft’s eyes it’s clearly not a priority for general users.
But there is a more endemic problem. Scripting needs to be supported in the operating system and backed up with useful and usable tools. It needs to expose straightforward interfaces that every application can use. In the past, we had DDE and then OLE. Now we have interfaces to .NET classes, which is the technology supported by PowerShell.
Automating the desktop
Compare and contrast to my Mac OS X desktop. Most apps here support AppleScript, a simple and straightforward macro programming language and interface, but the really key tool is Automator. This is a drag and drop workflow builder which knows about all the capabilities of all the apps on the system.
Want to take all the new photos from your camera when you plug it in, download them to a directory on the desktop, then do some re-tinting followed by the creation of a new encrypted PDF file containing thumbnails of each image, email it off to a bunch of clients and then make sure the originals are backed up to a file server? All of this is built using a drag and drop building block solution where the information logically flows from one block to another. I don’t need to wire up OLE or faff around with objects – it just happens.
You might think my example is a little contrived, and it is, but I use this functionality all the time. Any file system folder can be event enabled – just right click on it and choose Enable Folder Actions. Once this is done, any action in that folder fires an event which I can then automate using Automator. Where is the event handling in the Windows file system to let me trap these things?
Here’s a real example I use all the time: take a bunch of images and drop them into an action enabled folder. This fires off a JPEG process, a resize process and an archive too. I can drop a TIFF file into the folder and within a blink I have a usefully resized JPEG ready to be dropped onto a Web site. If I need to record full UI interaction, including mouse movements and keyboard input, this is done with the new recording functionality.
Surely we need to push end-user productivity forward in this way? Microsoft has accepted that server side functions require scripting as they simply were not able or willing to build all the necessary UI to cover the range of tasks that sysadmins need to perform. It’s about time this thinking was applied to the desktop.
If I had one wish for the next version of Vista, it is that Microsoft finally takes scripting and user action building seriously, so allowing us to turn the desktop into the vibrant, active and time-saving tool that it needs to be. Otherwise what is the point of having a GUI? Taking programmability out of key applications simply screws the pooch.
|
|