Why Doesn’t OneNote have Feature X?


Who decides what features go into a software product? If a software product doesn’t have a feature, why is that?



My entire career at Microsoft has been as a Program Manager. You can probably read elsewhere exactly what that means, but for now we’ll just say that the role is one of “make-it-happen” guy. Another way to say that is if anything is not successful during a project, the program manager shares the blame since they were supposed to foresee it and do something to make sure it didn’t go wrong. Program managers do a wide variety of things – they speak to customers or potential customers, they read about technology, they try to understand businesses and individuals and what their productivity problems might be. The higher level program managers also hammer out a “vision” for a product. This is often a collaborative effort, involving many other program managers in other products. The idea is to figure out the optimal set of things we can build to make our products valuable to customers, which in turn leads to revenue, etc.



During the course of a software project, we have many processes designed to cull poor ideas out of the set we have thought of, or to remove ideas that might be great but do not fit the grander themes we have chosen for the release. In Office years ago we used to just do a lot of things that seemed valuable, but we found that when you go to explain what the product is, a thousand disconnected things are much harder to articulate than a thousand things that support three big value points.



At some point when we think we have a pretty good idea of the most important things we are sure we are going to do, the program managers start figuring out what these will look like and how they will work. As part of this process they build design documents. These are increasingly visual click-throughs (sometimes just handwritten drawings) that give us a sense of how a feature (one with User Interface) will work. This is an organic process of design, which is both highly individual at times, and also highly collaborative.



Some people imagine that BillG simply orders us to do what he thinks is important. If that were true, none of us would work at Microsoft. The great thing about the company is that you have the flexibility to do what you think is right, and make decisions at your level. Of course, you don’t make decisions in a vacuum – you spend a lot of time convincing your peers that your view is correct. This process helps you hone your idea to make it better based on feedback, or convinces you and others that it is not such a great idea.



In order to move things forward, we have a set of meetings called “adds/cuts”. As we build up the list of feature ideas, it inevitably grows way beyond what we could implement in a given two year time frame (the normal release cycle for Office products). For example, with OneNote, we had so many ideas that we had to ruthlessly cut out anything that wasn’t strictly required for the product to function, and then carefully used the small remaining budget to enable 10-15 features that we thought were central to the “version 1” goals we had: make a useful personal information capture and retrieval tool. Having a clear goal is critical to making a good software product. We used the vision document I wrote in early 2001 as a guide and made sure that we were all in sync on what we were actually building. It had to support about five key scenarios: note taking (both externally and self driven), researching, organizing, and retrieval.



At times people would become enamoured of some idea or another in isolation, but the shared vision, the requirements to make the key scenarios work, and the very limited budget for non-necessary features meant we had to drop anything that was off-mission. “Save it for version 2”.



Now, I often read or hear from users of OneNote (or Word, or whatever) that we don’t have Feature X, and that must be because we didn’t think of it. I smile at this, because it is sort of cute to think that we just sit around dreaming stuff up, and whatever we dream up goes into the product, as if development realities didn’t exist and we are limited only by our imagination. Or, I suppose I could view it as insulting – that what is in the product is by definition all we could think of. The reality is that we had enough ideas to fill the features lists of at least the next three versions, and the only reason we didn’t have more was because we were forcing ourselves not to keep dreaming up new stuff and to get cracking on defining the details of what we had decided to do.



So, why don’t we have an extensibility API? Of course it MUST be that we didn’t think of it, right? Or that we didn’t realize that it was important. Say the same for drag and drop arrangement of sections and folders and pages, or multiple views on a notebook, or real-time note sharing, or PocketPC integration, or rich integration with the Journal application on TabletPC, etc. etc.



If we had allowed ourselves to go off and do these things, other features currently in the product would not exist, and people would be saying: “What were they thinking? This product isn’t even useful – why did they build an extensibility model for it instead of putting in the features that make it worth extending?”. Of course, we don’t always make the right call – sometimes our judgment slips and features get done because we thought they were cool, rather than because they were critical. Or the process gets us – we don’t discover our design was incomplete until too late, and there is not enough time to fix it properly. We don’t think of everything of course – but with more than two years spent every day thinking about the problem space, odds are we have thought about it and have decided we can’t afford to do it (this time around). Keep your suggestions coming through – even if the idea isn’t new to us, every time we hear an idea it is a vote for doing that feature in the future.

Comments (38)

  1. mike says:

    Very interesting. A couple of related pieces that people might be interested are Eric Lippert’s entry that he titles "How many Microsoft employees does it take to change a lightbulb?", which discusses the cost to implement new features. (http://weblogs.asp.net/ericlippert/archive/2003/10/28/53298.aspx)

    Also, Scott Guthrie has an entry on his blog about the process of deciding to support in ASP.NET for XHTML 1.1 and accessibility:

    http://weblogs.asp.net/scottgu/archive/2003/11/25/39620.aspx

    The comments for Scott’s entry provide a bit of insight into how it’s not always perfectly obvious how or why a feature should be implemented.

  2. As to priorizing future features, why don’t you just have someone set up a officefeatures.com site and let customers do two things:

    1.) create new features

    2.) priorize existing features

    That would help technical marketing to find priorizations in their focus groups and market analisys, and you could even benefit from some kind of experience marketing because you are involving customers.

    Probably any feedback you’d get through such channels would be baised to come from power users, but it would at least provide a hint. Feature request must be a tough business, I wonder whats the process to manage them…

    … But these are just ramdon thoughts from my uneducated point of view.

    It’s nice to see a PM blog, I shall be following your blog closely!

    P.S.: Regarding my previous post, just rate it as the attemt to give a vote for my favorite feature 🙂

  3. Benjamin, you’re right that we could collect feature ideas on a web site. In fact we do this already – there are usenet groups for OneNote we read and colect ideas from, there is mswish@microsoft.com, you can even submit feature ideas through the help system. Soon there will eba community site as well. But you’re also right that this is biased information. So we can’t use it directly to make decisions. It is just one of many other types of input. Also, most people are not software desingers. For example, we never used to receive requests to make a product like OneNote – that came from a software designer trying to understand needs of potential customers. Most customers can tell you things they dont like about a product that you need to fix, but only rare individuals can design new things for a product (and they should probably become software designers) But I love feedback, so keep the suggestions coming.

  4. Sean Timm says:

    I think OneNote has the potential to become something cool (for me). I’m sure it’s already cool for those that find its current feature-set useful. I tried it out when it first became available. After installing it and playing around for a while, I’d find myself wanting to do something that it didn’t quite support. "I’ll just figure out how to create an add-in!" I thought to myself. Of course, I quickly figured out that there wasn’t any API available.

    Needless to say, I ran into enough missing features and lack of extensibility, that I’m anxiously awaiting the next version (instead of actively using the current one), and I hope an API makes the cut this time…for those things that you really didn’t think of. 🙂

    You mentioned in another post about using OneNote for blog prep. Wouldn’t it be great if you could blog post, too? I’d already be able to…if an API was there. 😉 So consider this a vote for an API…soon!

  5. Tejas Patel says:

    Yes, can see many postivies and negatives of what Benjamin suggest.

  6. Julian Gall says:

    I love OneNote and have used it pretty much every day since the beta came out at the beginning of March 2003. However it lacks one feature that I really miss. I find it hard to believe that someone took the decision not to implement this and it would be very interesting to hear the story behind it.

    The feature is present in every word processor I can remember. It’s in every text editor and every email client. It’s even in a humble textarea on a web page – like the one I’m typing into right now.

    It’s this. When you double click on a word, the word is selected. If you leave the mouse button down and drag it, the selection area increases word by word. Why doesn’t OneNote observe this universal behavior?

  7. Since many of the developers who work on OneNote used to work on Word, and I also manage the Word design team, we were of course aware of the way Word handles editing. But everything costs something. It seems hard to imagine as you look at the finished product, but we had to ruthlessly remove work items from the feature list. "chunky" word selection might have been 2 hours to code the first try, but it would have been a day to check in, plus of course testing, handling some bug fixes, then what about Japanese, Thai, etc. What happened throughout the whole project was that we cut to the bone most areas, and made sure our key scenarios were met. You don’t need chunky selection – it is a "nice to have", so along with many things it fell on the cutting room floor. Once we are out of the coding phase, we go into "polish" phase, so what you see is high quality – adding more stuff and still shipping with Office as we had to for shared code reasons would have meant lowering the overall quality, since there is a finite amount of effort we can apply. Another way to look at it is that we would have had to remove something in order to add chunky word selection, and most everything remaining was necessary we felt. In the future you will see editing niceties like this in the product.

  8. MartinJ says:

    Something that I would love to see in OneNote is the flowcharting. I like using Visio. But, If I can just draw the dang shape (well, something that looks similar to a shape) instead of remembering which stencil library it might be in and drop it on the sheet and resize it, I’d be a happy camper.

    Of course, I also love to sketch. I’d love something similar to ImageComposer that cleans up my shaky lines and curves. I’d probably get an informal comic strip up and running at work.

  9. mjweber says:

    I use OneNote daily and see you are sincere. In my opinion the release of OneNote without rudimentary features like hyperlinking and online support was a bit premature.

    Here’s my X feature list.

    Hyperlinking

    Office XP/2003 integration

    Infinite customizable Note Flags

    Note Flag groups for different folders

    tables

    context sensitive font control

    rudimetary word processing features

    online support

  10. mjweber,

    Writing a version 1 application is a challenge. When is it done? How much functionality has to be in the first release before it is acceptable? Since we have to design for all possible users, what does it mean when individuals say that they need feature X, and the product is not useful without it? Does it mean that we must have feature X before we can release the product?

    In aggregate, if we collected all comments like that, we would never ship the product because there will always be another person who "needs" word count, or format painter, or vertically merged table cells, etc. The criteria we use is therefore driven more by a sense of whether we have enough to make the product useful in the core scenarios we are targeting. That necessarily means some people will feel we left out some features. Is it useless without them? Some might say yes, but if we did our job, many more will disagree – it is useful the way it is (although they would sure like to have more capabilities).

    BTW, could you clarify what you mean by "online support"? Also, we do have "rudimentary" word processing capabilities – the minimum for note taking – is there something you are looking for specifically? We do integrate somewhat with Outlook 2003, although we could do much more, and also integrate with other apps.

  11. bill says:

    I’d have liked it if you had included that new-fangled OLE stuff. Being able to drop a spreadsheet / visio chart / etc into the thing would have made it near perfect.

  12. bill,

    OLE would be nice. Cost was high for v.1 compared to (undeniable) benefit. Building v.1 is like packing your knapsack for a move across the country – an unbelievable number of valuable and useful things cannot be packed in it, yet if you do it right, there is no question the contents of that knapsack are very valuable if you choose wisely.

  13. mjweber says:

    Chris,

    FYI/I use OneNote on a laptop, not a tablet PC. Although a tablet-centric mentality was implemented in the development of v1 I view OneNote as an application headed for a much broader audience. I veiw it as the missing link between Word, Excel, Outlook, and Visio, which is why I’m so enthusiastic about it. I just wrote a chapter about Bill Gate’s business formula in my new book and to my recollection OneNote is the first original product released in Microsoft’s 20+ year history. You and BG are to be congratulated.

    Microsoft offers no online support for OneNote @ http://support.microsoft.com. It offers online support for vitually

    every other MS app including Infopath. Conseqently I had to waste an hour on the phone in a muzak queue to get an incident # assigned the other day.

    My issue, that I can’t delete MSOCache using the prescribed MS method — Disk Cleanup to remove Office setup files — is still unresolved.

    As for Word processing, I’d like to select text and move or copy it by pressing the Ctrl or Shift keys for example. I’d also like to change case with a click or two.

    Thanks Chris!

  14. mjweber, you might want to take a look at some of the other posts in my blog to get some history on how OneNote was developed and what the target was. It most definitely was not "tablet-centric" (See the post called "The Myth"). Our view was rather that we are text and ink agnostic – the goal is larger than simply supporting a particular device. I certainly agree with you on the potential. As for being the first original product, thank you for the compliment but – well, it depends on your criteria. There are people out there determined to prove that Microsoft never produces anything original, but they do not apply the same rigor to any other company. On the other hand, by any objective measure, I think Microsoft has produced numerous original products, whether they be significant improvements on others or "new".

  15. mjweber says:

    I just found your blog the other day and am working my way through the various threads. Thanks, I enjoy the dialougue. When I refer to "original" I mean applications with no former precedent; i.e. Windows derived from Xerox PARC, IE from Mosaic, Excel from Visicalc, Word from Wordstar, etc.

    OneNote is the first MS procuct I can think of that breaks that mold. Are there any other apps with a tab/notebook paradigm? OneNote sort of reminds me of InfoSelect but as my website spouts, "ideas are like radio waves".

    At some point I’d like to interview you about all this. I’m thinking of writing a magazine or newspaper piece about OneNote. My new book "Invasion of Privacy was just released. You can check out its site @ "http://www.mjweber.com/iop/privacy.htm

  16. I can’t say I know everything that has come before, but those new smart watches seem pretty original – unless you count Dick Tracy.

    OneNote sort of popped into my mind more or less fully formed (well, in its original incarnation in Jan 2001) as I described, mainly from thinking about the broad information management problem people seemed to have. Later I found that there have been many other attempts to do similar or not-so-similar things. There are cardfile apps, contact managers, outliners, mind mappers, hypercard, quotation managers, etc. I have seen some of those over the past two years, and I think the main difference from OneNote is that most of them were designed by an individual (at least at first) to solve a problem that individual was having. As a result, they tend to be thin on features, have a central "thing" they do, and kind of assume that you work the way they do. But I really haven’t done an exhaustive analysis of the field since we’ve been pretty busy. Also I can’t claim that OneNote is not flawed in similar ways.

    You have my email so if you want to discuss an interview that would be fine with me.

  17. James Clarke says:

    1) synchronising notebooks between different machines easily

    2) an API so I can use Onenote as an ink posting tool to my blog

  18. milbertus says:

    James, if you use dasBlog, you can already post from OneNote. Jim Blizzard (http://snowstormlife.com/blogs/bliz/PermaLink.aspx?guid=89012cbf-5c0d-4f83-88f5-f59b178264e4) does this all of the time.

  19. There was an article talking about the basics of .NET internationalization in the latest issue of MSDN Magazine (it’s the "Bugslayer" article; I’d link directly to it, except it’s not online just yet). The author mainly discussed how to use…

  20. mjweber says:

    Chris – Been traveling and haven’t had much Web access lately. I’m amused by how many people seek OneNote instructions and/or templates. As I explained to a friend, if you don’t have "ideas" to organize, OneNote can be pretty daunting. If you do have "ideas" to organize you don’t need instructions or templates.

    I see MS as a changed company since the Trustworthy Computing Initiative of 2002. It was the first business plan in the company’s history that preceded a product. Until that point MS developed products first and business plans last leading to marketing fiascos like .NET. OneNote/SPOT – the vetting of Windows 2003 Server code – these are indications of a new era at MS.

    I’m interested in writing an article on this subject but it’ll have to wait until I finish those I’m currently writing. I’ll be in touch.

    Keep up the good work…

    Michael J. Weber

  21. Scott B says:

    Chris,

    I just want to thank you and Microsoft for a great product. In the past, I have never been an avid note taker.OneNote has provided me with a tool to quickly develop this habit. It is amazing how much I log and keep track of now. One current feature that I use extensively is the audio recording feature. The ability to sync audio with notes is very compelling. One think I like to do is watch webcasts on Microsoft.com/usa and sync my notes as I record the audio. This is extremely helpful to me to "bookmark" and interesting point that came up. The time shifting aspect is genius! It is amazing how OneNote can judge the time delay between hearing something and generating the idea.

    One feature (I am sure you guys thought of)is to extend the audio recording feature to video files or Live meeting recording/webcasts. This idea of combining and syncing your notes with different forms of media is astounding. In fact it would be very cool if OneNote could be an embedded into other apps. For instance, IE has the discussion option for web pages. A similar option could be placed in IE, Word, Excel, etc to allow side notes that are linked to the media. A sort of side note feature that could be placed on the research pane… (just thinking out loud). The benefit of this approach would be that the side notes are still stored in the centric OneNote host app for global searching but also can be retrieved by accessing the document, webpage, spreadsheet, etc. This allows the user to access their notes from several different logical avenues, increasing reuse.

    Just a few thoughts. This product is really great and I am looking forward to see what the next version holds.

    Thanks again,

    Scott

  22. Scott, we’re definitely on the same wavelength.

  23. Adam Lasnik says:

    Hi Chris,

    I’ve just recently discovered and downloaded OneNote and have found it a delight to use. While I’m admittedly still deciding between OneNote and InfoSelect and a few other Information Managers, one thing is for certain: your friendly and informative writing here is much appreciated. You and Robert Scoble (and, I’m sure, other folks I haven’t yet ‘met’ online) are really an asset to Microsoft and to geeks in general.

  24. Robert Björn says:

    mjweber, I thought your book sounded interesting so I looked at the webpage. However, as I opened it in Firefox none of the links worked. It appears all buttons are actually Java applets. This seems very restrictive and unnecessary to me (even aside from the fact that not everyone have Java VMs installed). The page also makes heavy use of frames, for no apparent benefit (but plenty of drawbacks, like inability to link to individual pages, inability to make full use of the screen, etc). From a marketing perspective, annoying things like this can mean the difference between leaving the page or making the effort to read it in some way (at least, it was for me). Just my view, take it with a pinch of salt. 🙂 Sorry for the off-topic post.

  25. Compiler says:

    Perhaps it’s just your point of view, but I see a problem with OneNote process. Hopefully your "list" of features is actually a DAG (directed acyclic graph) of features and technology nodes. And, hopefully again, you look at not just what features are "demanded" but also the features that come for "free" (or at low cost) with the associated technology nodes. In other words, I hope you’re optimizing globally rather than locally.

  26. Any new feature which does not serve a large percentage of users is essentially stealing valuable resources that could be spent implementing features, fixing bugs or looking for security vulnerabilities that DO impact the lives of millions of people.

  27. Ian Stanley says:

    > mjweber Are there any other apps with a tab/notebook paradigm?

    Yeah, I have been using a product called Circus Ponies’ Notebook (http://www.circusponies.com) that has been around since April’03 – very similar product.

    Those who click on links immediately will know that this is a mac product.

    My personal machine is a mac and I have often found certain software or software features do not have the equivalent on the PC (yes I know it’s true the other way as well). I was glad when I found OneNote – a windows version of a program that I use heavily on the Mac. Though OneNote is from a different company probably around 95% of the features are there.

    Still a 1.0 release it is reasonably polished but expect a good few addins to come with the next update

  28. John says:

    Hi Chris,

    nice blog.

    I was wondeinrg, we see a lot of activity from the Office PMs (you, Steven  etc). Is there some blog which can give me a perspective on what a PM in the MSN Search and MSN mobile devices dvision does? I have been unable to find blogs by PMs in those divisions – would love it if you could point me to some sources!

    Thanks 🙂

  29. Chris_Pratley says:

    John: I don’t know exactly. You might ask this fellow: http://blogs.msdn.com/msnsearch/default.aspx

  30. A collection of some good posts by other Microsoft bloggers to tell a tale about quality in software development.

  31. A collection of some good posts by other Microsoft bloggers to tell a tale about quality in software development.