All MacBU

News of the Day

You’ve no doubt seen the news from WWDC today. Yes, it is true — the MacBU is halting development on Virtual PC and is discontinuing support for Visual Basic in the next version of Mac Office.
I’m sad to see VPC go. It was an amazing product to bring into the MacBU back in 2003 (I’d used it myself since version 2 when it was made by Connectix) and it still has features that Parallels doesn’t have. The biggest thing Parallels lacks is the ability to script the main app and the virtual machines. VPC let you query VM state, launch programs inside it, define shared drive mappings, and all sorts of other great stuff via AppleScript. You can’t do that yet in Parallels. Hopefully they’ll add scriptability someday soon. Them or VMWare!
I’m not so sad to see VB go. That code has been a major headache to maintain over the years. Lots of people are bemoaning the sudden lack of cross-platform scriptability, but to be bluntly honest, VB for Mac Office hasn’t been remotely compatible with VB for Win Office for years. Even back in Office 98 the VB IDE for the Mac had several major features cut compared to Win Office (watchpoints, etc) and the object models for the two platforms have diverged wildly in the 10 years that have gone by. I’d like to blog more about VB, but not tonight. It’s a long and sordid tale.
One positive thing that seems to have been lost in the rabid chatter about VPC and VB is that Mac Office has finally made the complete switch to Xcode! The last major checkin happened on Friday afternoon, and all of MacBU is finally switched over. Yay! That only took a month and a half longer than I guessed, back in early June… We’re still not ready to ship yet; we’ve been working on lots more than just the recompilation and those changes are not yet complete. I myself am hip-deep in the new file-format-converter compatibility work that we’ve announced.

20 replies on “News of the Day”

Congratulations on the Xcode switch; I’m dying to see what the next Mac Office looks like, but can you put yourself through talking about the VB decision?
I’m new enough to this that while I’d gathered there were major differences between the Windows and Mac Word VBs, it hasn’t been a problem. So I’d say I was a a minor user but still, a Word macro I created for my own use here on a Mac is now being relied on daily by up to 50 PC users. It’s got to the extent that the name I gave the macro is used here as a verb by people who don’t use Word at all.
And of course I have a slew of my own macros, some mixing in bits of AppleScript, to the extent that this very week I got sick of having all these buttons on my toolbar and I roped them all into a new menu.
I’m so reluctant to throw those away but am I right that I’ll have to if I upgrade or am I just exaggerating the problem?
And I appreciate AppleScript enough now to know that Word is spectacularly scriptable already so I can only be glad that it’ll get even better. Yet can it be a replacement? I have macros that use Word’s great searching features to parse text, can I expect to be able to do that in AppleScript? It feels weird to leave an application to call an AppleScript to delve right back into the app.
I can well imagine what a burden VB was from your point of view, but from mine it’s been a glory and that the fact it can work at all cross platform has been a great bonus. If you hadn’t been moving to Xcode and Universal apps, I’d be asking you to just leave the VB as it was on Office 2004.
Um, any chance I can ask that anyway?
Great blog, by the way; much appreciated,

Three questions:
1. What source control solution do you use?
2. How many developers did you have working on the transition?
3. What is Office written in and what toolkit do you use for the UI? (C++ and Carbon, I presume).
These are just questions that I’ve always wondered about for big apps like Office.

I think dropping VB support is great. It like you want people switch away from MS Office to alternatives like OpenOffice/NeoOffice. OpenOffice/NeoOffice is getting improved VB support thanks to Novell, it understands OpenDocument (I’m sure you won’t support that – you didn’t even support your own WordML in Office 2004). OpenOffice/NeoOffice is Universal NOW and users do not have to wait until 2007, 2008 or whenever you plan to ship it. I guess you still won’t support Ruby text (like Japanese furigana) in non-english/non-japanese versions of MS Office making european versions completely useless for people like me. OpenOffice/NeoOffice have all these features and more for free. It’s no suprise that people bash MS that much. You can’t deliver.

Congratulations indeed on the transition to Xcode. Good to know it’s done now and that you can concentrate on adding great new features and so on and so forth. I’m looking forward to Office 2008, or whatever it ends up being.
(Though I only use Entourage, and that’s actually surprisingly speedy under rosetta.)

Congratulations on the XCode switch as well 🙂
Dropping VB on the other hand seriously worries me.. I sure hope the EndNote folks will come up with another option for their Word integration or that will seriously compromise our Office 12 adoption :-\ Oh well, the future will tell……

Here’s a thought – I know this will turn stomachs at MS – *evil laugh* – how about open-sourcing VB code so 3rd-party hackers can make improvements to it and offer it as a Mac Office 2007 add-on??

Will path animations be added to the next version of powerpoint? Also, will endnote be able to work still as cortig mentioned??

Congratulations on the switch to Xcode, Erik! But what did you mean by this: “That only took a month and a half longer than I guessed, back in early June…” A month and a half ago was late June. You mean that in early June you thought it would only take two more weeks? Optimist!
Please do blog further on VBA. I know that there are many people who are confused on why a language designed originally for Intel computers (Windows) can’t be made to work on the Mac. I have a pretty good idea, myself, but I too would like to see it spelled out, as much as you’re able. I can’t understand why the press release did not give any reason whatsoever – it’s no wonder that all the conspiracy theories are coming out once again…

What is the future direction for cross-platform scripting support on Office then? Is there anything planned to replace VBA? If not, this will be a massive loss for Mac Office and I can’t seriously believe the MacBU aren’t aware of this.

You have justified the dropping of VBA by this “to be bluntly honest, VB for Mac Office hasn’t been remotely compatible with VB for Win Office for years”
There are various points to make in response to that.
1. A subset is compatible, and can be used for a common cross-platform code base if you are sufficiently careful. I’m sure some people are (I am). That will not be possible in the future. That will reduce the willingness of people to provide custom MacOffice solutions.
2. Cross-platform compatibility is not the only consideration. Forward compatibility between versions on the same platform are just as important and possibly even more so. Breaking that means that any company that has made a significant investment in MacOffice VBA code will have to rewrite it all before they can move on to the next version of MacOffice. That may take a while, or might even take forever because they decide that it is easier to stay with the version of Office they have. They might ask themselves why should they pay for the privilege of being forced to rewrite all their VBA code?
Between them, these two issues may significantly hurt MacOffice sales. If they do, Microsoft might decide that the development costs aren’t worth it, and since the new Intel Macs can run Windows anyway, they will just recommend that people run Windows and Office instead. In other words, what we may be seeing is not merely the death of VBA in MacOffice, but the start of the death of the entire MacOffice product line.
I wrote the following article 4 years ago. I think the issues it raises are still current and relevant.
Office and .NET: Better Together?

Wow.. by dropping VBA, you’ve completely made Office 2007 useless to me and many others. You might as well kill Office for Mac than engage in this prolonged “how can we screw Mac users even more” game. I guess I’m stuck with Parallels and WINE. Thanks for nothing, MS.

Congratulations in your quest on taking the next step away from feature parity and mad props for further humiliating your Mac customers.
Where are the Proofing tools? Table copying from Safari to Word? Other 30 missing features and 300 pending bugs?
Right. We’ll just buy Windows and live in Bootcamp.

I’ve just posted more on the whole VB thing (almost 3000 words, whew!)
Rob, we use an internal tool called ‘Source Depot,’ which is a derivative of Perforce. We’ve had between 8 and 15 devs working on the transition at any one time. Office is written primarily in C++ with some legacy C, and is targeted for the most part at the Carbon framework. You can see more on this topic in my older posts.
For those of you seeing so many nefarious plots, I wish you could have been flies on the wall during the myriad meetings we had about VB. This was not in any way an easy or trivial decision. Some of you do raise important points on cross-platform scriptability and I’d love to address them, but I’m unable to comment more on our plans at this time.

Kick out the whole Office approach. Tools like Ragtime are working in the right direction of component based software. Textprocessing is out. A page by page approach would be far easier like Workswell.
And this is far more than just to add a few forms like Apple in iWorks or some Word forms. The trouble whit Word is the formating process. It should be easier as in InDesign but more powerful and precise as in Word.

Whatever the motives: this precludes us from updating Office. We’ve simply spent too much time and developed too many solutions that are now dependant on VB. VB cross-platform issues are not relevent for us — but hours of work are.

Quick quesion – will you be removing the OLE Automation Libraries from office or just the VBE editors and compilers? This will impact how other products such as RealBasic may be able to fill the void.

Leave a Reply

Your email address will not be published. Required fields are marked *