Megosztás a következőn keresztül:


Looking Back

Before I get started, I suppose some sort of introduction is appropriate for readers who have only recently discovered that some of us in the Mac BU are bloggers.  I'm Rick Schaut.  I've been blogging since February of 2004.  Here is a short bio I wrote about myself back then.  I'm currently the lead developer on Microsoft Word for the Macintosh.  I've been with Microsoft for more than 16 years, and the first product I worked on was Mac Word 5.0.

A couple weeks ago, I had the rather interesting experience of interviewing the person who hired me to work at Microsoft all those 16+ years ago.  This person has been away from Microsoft for 13 years, and my role in the interview loop was to provide some background on what has happened with Mac software development here at Microsoft during those 13 years.  Since many of those thoughts are fresh in my mind, and because the substance of that conversation involves the main reasons why Mac BU exists in the first place, I thought I'd share some of it with you.

Thirteen years ago, the overall software development philosophy at Microsoft could be characterized by the concept of "write once, run anywhere" that we've often heard used in conjunction with web-centric technologies like Java.  It even involved some of the same concepts, like p-code, for example.  At the time, we believed this was the most efficient way to maximize user benefit for a given amount of development effort.  Users got the same features regardless of their platform of choice, and they got more features.  We didn't have to implement those features for each platform.

Along the way, particularly in the case of Mac Word 6.0, we discovered some inefficiencies buried within that philosophy.  These inefficiencies fall into three broad categories, and I'll talk about each in turn.  They involve the software development process itself, differences in platform technologies, and differences in the needs of users as reflected in their choice of computing platform.

Most issues involving the software development process itself revolve around ideas explored by Fred Brooks in The Mythical Man Month .  In short, there's a point of diminishing returns for the number of features we can add to a product in any given ship cycle.  The more features you add, the more time and effort you have to put into integrating those features.  Time spent fixing bugs increases disproportionately to the number of features you've added.  Doubling the number of features you add in a ship cycle, for example, can triple the number of bugs you'll have to fix.  The "write once, run anywhere" philosophy is inherently self-limiting in terms of efficiency.

That philosophy also precludes taking advantage of platform-specific technologies.  "Write once, run anywhere," means writing code to a least common denominator, and locks you into a set of interface guidelines that might not be appropriate for one or more of the platforms you're targeting.  You'll get to see some good examples of this in the way Office 12 makes use of Quartz both in terms of its user interface and in terms of some of the things you'll be able to do in documents, presentations and charts.

Lastly, and probably the most important problem with the "write once, run anywhere" philosophy is that you lose the ability to target different groups of users in terms of the way their needs are reflected in their choice of computing platform.  Mac users are not Windows users, and that's not just a difference in aesthetics.  You see these differences when you segment the various markets.  Someone who does freelance graphics arts work, for example, is very likely to own a Mac.  Within the enterprise, Mac users tend to be clustered in advertising.  While not universally true, there are distinct, broader tendencies that imply different needs.

Put all that together, and you come up with the decision we made back in 1997.  The group of folks developing Mac Office needed to be serrate from the group developing Win Office.  It's a good, viable business with a different set of opportunities than the Win Office business.  It's almost a no-brainer.

Since then, however, we've discovered a rather interesting synergy that's come from having two development groups targeting different users on different platforms with the same general software solution.  Because the Mac Office and Win Office groups are separate, we're free to explore certain ideas in different ways.  One example of this is context-sensitive UI.  Mac Office explored this idea in 2001 with the formatting palette, and Win Office 2007 takes this same idea into a different direction with the ribbon.  We've taken the ribbon idea into a slightly different direction, as you'll see when Mac Office 12 ships.

In short, while having two separate development teams for Win Office and Mac Office might seem, on the surface, to be a very inefficient way to develop very similar suites of applications, it turns out that there are considerable benefits.  A vast majority of those benefits accrue to you, the user.  Personally, I rather like it that way.

 

Rick

Currently playing in iTunes: Days of Old by Eric Clapton & B.B. King

Comments

  • Anonymous
    October 20, 2006
    Oh Rick...man, you're killing us here with the UI teases. Looking at SG Supremes on eBay kills me MORE, but not by much

  • Anonymous
    October 20, 2006
    But should it really be about catering to a platform or keeping a balance? Balance meaning the parity interms of features and UI fidelity between Win and Mac Office. Yes, I agree, there must be UI  consistency with certain elements of the platform itself on which it is designed, developed and ran on, but for a product like Office I think it should really be a case of staying universal to the platform that is "Microsoft Office", whether you are coming from Windows to Mac OS or vice versa. Trying to maintain feature parity, ui consistency while embracing technologies that make the platform so successful as you have mentioned such as Quartz graphics is a good move though. I just think "Think Different" is over rated.

  • Anonymous
    October 20, 2006
    John, I suspect it could be a tabbed based interface with only the Word menu on the Menu bar. Or tab based, just no drop down menus.

  • Anonymous
    October 20, 2006
    Andre - The menu bar has more than the Word menu.  We're not doing away with the menu bar.  I don't know if you've already read this, so forgive me if I'm repeating myself, but I've talked a bit about our UI and the changes that we've made to it (albeit in pretty general terms, since we're not ready to talk specifics yet) in the following post: http://blogs.msdn.com/macmojo/archive/2006/10/03/of-babies-and-bathwater.aspx

  • Anonymous
    October 20, 2006
    Hey, go on with platform-specific decisions. An office:mac with full compatibility with office for windows (better than it is today) that works like it was originally developed for OS X (yes, that good), including general interface guidelines, look and feel, keyboard shortcuts etc, would be a dream. It is true: mac users are not Windows users and vice versa.

  • Anonymous
    October 21, 2006
    Bear in mind that Boot Camp / Parallels / Crossover / whatever's cooking in Leopard are all well on the way to making Windows Office a context switch away on the Mac now, and therefore undermine the argument that Mac Office should be as close as possible as made by Andre. I use a mix of Macs and PC's myself and still find Office 2004 my preference because of the platform it runs on (3rd party apps and widgets all over the place helping me out) and honestly prefer the look and feel certainly to Office 2003. Office 2007 is a huge improvement though.  And I like the tantalising sounds of what you guys have in development for Office 12.  All this basically means I agree with Rick that dual development is definitely the way to go, and even helps out Win Office while ensuring we on the Mac get things the way we like. Oh, one last thought though: any chance of ditching Vise installer?  I reinstalled Office 2004 on a new hard drive the other day and that installation process is a bit of a blast from the past.  If Adobe had a blog like this I'd nudge them with the same advice too.  DMG's all the way!

  • Anonymous
    October 21, 2006
    Hi John, they are moving over to xCode, so I suspect they are most likely to be using the Mac OS X installer for Office 12 for Mac. Adobe does have a blog like this John, go to http://blogs.adobe.com For Photoshop: http://blogs.adobe.com/jnack nadyne, thanks for the response, I look forward to seeing the final release, since we are not likely to see anything before. :)

  • Anonymous
    October 21, 2006
    Andre and John, Keep in mind that Mac users have had the same functionality as the Win Office 2007 ribbon since Mac Office 2001.  The ribbon is really just a fancified formatting palette. So, since we already have a context-sensitive UI element in Mac Office, i.e. the formatting palette, we can concentrate on a different notion of the word "context," namely viewing context in terms of work flow rather than just your document content.

  • Anonymous
    October 21, 2006
    I think you over-emphasise the difference between Mac and PC users. I have to use Windows at work, but I would have had a Mac at home long ago if it wasn't for the incompatibilities. I think it is poor that there is still not a Universal version of Office for the Mac. Also, it is bad that although you call it "Office" it's really only Word, Excel and Entourage. Why not also Visio, Access, Powerpoint and Outlook? Full compatibility, and same release schedules would certainly suit me best.

  • Anonymous
    October 21, 2006
    The comment has been removed

  • Anonymous
    October 21, 2006
    Rick, I agree and I did comment in  nadyne's last post "baby and the water" that Office 2007 is just catching up to Office for Mac with Version 2007's Ribbon. The Formatting Pallete is something I have longed for on Office for Win, and its still not there but makes a considerate effort at being convenient. I hope to see some of the productivity enhancements also in Office 12 for Mac such as the Mini Toolbar. I would also like you to take advantage of Leopards File Preview capabilities similar to Office 2007's Thumbnail icons. For Excel, I want charting to be easier too, I still have a hard time getting the translucent bar charts which also applies to Excel 2007. Could you also let the Windows menu support switching between all Office application files in use, whether its Word, xl, ppt or even Entourage?

  • Anonymous
    October 21, 2006
    Hey John, I admire the Mac platform and the many users of it for their attention to detail. Its something Windows lacks but have made considerable effort with in the 2007 releases. Its obvious to say that OS X has had a major influence on the design and aesthetics of todays modern operating systems, from Vista's AERO, to Linux's XGL with shells such as Gnome and KDE embracing the spirit of the Mac OS. Office for Mac has also been influential and when I talk with my friends about graphics and productivity apps the usual "it should look like that points" come up, such as toolbar icons realism, the graphical richness of data representation and easy workflow of the interface, formating and customization. This is something Apple has monopolized our imaginations with and I love every minute of it. :D

  • Anonymous
    October 21, 2006
    Mark, First, we do have PowerPoint on the Mac.  It's been a part of Mac Office for a very long time.  In fact, the one person in MacBU whose tenure at Microsoft spans mine is a PowerPoint developer. Second, feature parity and simultaneous ship schedules are virtually impossible to achieve at the same time.  It's doable, but what we'd have to give up in terms of other user benefits is just too great a cost. Lastly, whether or not I've overemphasized the difference between Win and Mac users isn't really a matter of opinion so much as it's a matter of demographics.  You'd be surprised at the amount of social science that goes into software development at this scale.

  • Anonymous
    October 21, 2006
    Of course, there is the business case of, keeping Windows healthy and having reason for to still purchase it. But, I do believe that products such as Office Access would indeed complete the Mac Office portfolio regardless there exist FileMaker Pro. Rick, has the Access Team ever contemplated porting or developing from scratch Access for Mac? Especially since Virtual PC for Mac is DOA, Access would definitely accent a Office 12 for Mac Pro SKU. Speaking of SKU's, will there be a Pro edition anyway? I don't mind the out of sync release schedules, but I do believe that keeping up with Joneses is very important to keeping Mac Office relevant not only to customers but also to continue that momentum and sustain the Mac platform, really. Office for Windows I believe still dictates the future of Office for Mac, we all remember the early days when feature parity lacked between Win and Office Mac and who suffered most from it.

  • Anonymous
    October 21, 2006
    Andre, You said, "Of course, there is the business case of, keeping Windows healthy..." Not for MacBU, there isn't.  I've said it before, and I'll keep saying it as long as people perpetuate this myth.  No one at Microsoft has ever told me that I, as a developer of Mac software, can't do something because doing it would hurt Windows.  That has never happened.  The day it does is the day I leave Microsoft.  Is that clear enough? I don't know what the Access folks have looked at, but I know that we've looked at it.  We'll keep looking at it from time to time.  When the demographics show that we can make more money from doing porting Access than we can from spending that same time working on the bits we do ship for the Mac, then we'll do Access on the Mac.  Right now, our market research, and that research is extensive, tells us that doing Access is a losing proposition. And, while compatibility is important, I think it's also important that we be able to branch out into different areas like the Notebook Layout View in Mac Word.  We're doing something very similar to that in Mac Word 12--almost an entire set of features in Mac Word that you won't have in Win Word 12.  Why?  Because those features make sense in the Mac market.

  • Anonymous
    October 21, 2006
    "Right now, our market research, and that research is extensive, tells us that doing Access is a losing proposition. And the research was not in vain. I see how you look at the market though and even on the Windows side of things, not everyone uses Access regardless its installed on their PC, if they by Win Office Pro or part of their license agreement in the enterprise. I am just finicky that way and love certains parallel thats why inquired about Access for Mac. Its good to know that the Office Mac Team is embracing some of the innovations of Office 2007 while innovating yourselves. I do look forward to the end result of all the hardwork everyone at the MacBU is putting into this release. Keep up the good work. :)

  • Anonymous
    October 22, 2006
    You mention considering the demographics of your audience when working on the Mac version of Word and in the same paragraph you mention Graphic Artists and Advertising departments.  What you missed is Scientists.  The use of Mac's with MS Office in the sciences is strong and growing rapidly because of the Unix underpinnings.   Those of us in the science field would like to see more emphasis on the features needed for scientific papers. This includes managing bibliographies and typsetting equations.  Both of these are rather week in Word.  Yes, I know, you have equation editor for equations but it is slow and cumbersome to use.  Plus you really do not have any good solution for managing bibliographic material.  I do not mean that you can't do footnotes and endnotes because Word handles them quite nicely.  What is needed is a way to create a document which contains references discovered during reasearch with links to the original paper and then an easy way to incorporate these references into the working document.   In addition, I find it quite tedious to format papers properly with figures, figure references, tables, etc.   It always feels like I am fighting with Word when I insert figures or tables and try to get them where I want them. Spend some time monitoring the Apple SciTech list and you will get some good feedback.  In fact, publish a post on that list and ask the members what they would like to see and I will bet you start a 5 day discussion.  You will learn a lot about the needs of the scientific market from this group.

  • Anonymous
    October 22, 2006
    Bruce, We haven't forgotten the scientific field.  I just didn't mention it.  As a matter of fact, one of the features you mentioned is already in Mac Word 12.  Another is slated as a priority 1 feature for the next release of Mac Word. Sorry to be so cryptic, but I don't have the authority to discuss the specifics publicly.

  • Anonymous
    October 23, 2006
    Ooooh, Mac Word 14, guys are indeed keeping up with the Joneses. :)

  • Anonymous
    October 23, 2006
    The comment has been removed

  • Anonymous
    October 26, 2006
    Guntis, I know we've fixed some issues involving Baltic languages and the system keyboard setting, but I don't know for certain that we've caught them all.  The test matrix is rather large. Andre, Yeah, well...  There is no "official" code name for Mac Office Next, but, informally... Let me just say that there's a street in San Francisco that lies between 12th and 14th.

  • Anonymous
    October 27, 2006
    Ok Rick, I just assumed you guys were superstitious like the Win Office folks. ;)

  • Anonymous
    October 30, 2006
    Rick Schaut writes: "It even involved some of the same concepts, like p-code, for example.  At the time, we believed this was the most efficient way to maximize user benefit for a given amount of development effort.  Users got the same features regardless of their platform of choice, and they got more features.  We didn't have to implement those features for each platform." Frankly, this article seems, well, a little sloppy. Word 5 was written in p-code, but it was vastly inferior in terms of features as compared to WinWord 2, its competitor. And the attempt to produce feature-parity resulting in the debacle that was Word 6. So it doesn't appear that p-code was even remotely related to getting "the same features regardless of platform choice." Indeed, I thought Rick had written elsewhere that p-code was used because of memory constraints. Frankly, I find all these justifications a bit annoying. "We thought concept X was really important, but that lead to problem Y, so we adopted concept Z, so now we're producing software that is better-suited to users on specific platforms." With just a little self-flagellation, I find that you guys are almost always self-congratulatory. Here's what I think: your products are mediocre. They're used mainly because that's what everyone has and no one wants the hassle associated with incompatibility. When was the last time anyone got really excited about a piece of Microsoft software, about what it could help us do?

  • Anonymous
    November 30, 2006
    '"Write once, run anywhere," means writing code to a least common denominator, and locks you into a set of interface guidelines that might not be appropriate for one or more of the platforms you're targeting' What parts did the cross-platform layer have? Did it fail because the code for the logic of a lot of the features was tied to calling OS-specific routines? I read the original post about Word 6 on your "other" blog (which is great) awhile back and would have thought that if there was some sort of shared repository for most of the features which were relatively OS-independant it would help things. Maybe not? "When was the last time anyone got really excited about a piece of Microsoft software, about what it could help us do?" Sometimes it seems that this results from good marketing (often viral) more than anything else ;).