Motley says: "Spend less time in OneNote and more time in Visual Studio"



Motley:  OneNote is just like Microsoft Word, and is not a place where a developer should be spending time.


Maven: OneNote is perfectly suited to feature teams and developers. It provides simple, organized, efficient, and easy to manage method of organizing ideas and general content. It is a developer's best friend!



[Context: Motley wanders by Maven's desk while taking a break and notices that Maven is spending a lot of time in one particular application]


Motley: Hey, Mave. I heard you typing like mad on the keyboard as it was time to take a break. I figured an interruption would do you good.


Maven: Yeah, thanks. I think. What can I do for you?


Motley: I was just noticing that you have a ton of content in that application on your screen. Why is there so much junk in there? What is the application you are using?


Maven: Ah, yes, the greatest application that Microsoft has ever shipped!


Motley: You mean Microsoft has shipped an application that you call "great"? Ha, ha. Just kidding. I couldn't live without Visual Studio, for example.


Maven: Always the character. The application I spend the good majority of my day in is Microsoft OneNote. It comes with the Office suite of products, and it is a software developer's best friend.


Motley: Shouldn't you be spending more time in Visual Studio as a developer? Are you slacking off again, Mave?


Maven: As a developer, how much time do you really spend coding?


Motley: Not as much as I would like.


Maven: Exactly. There are lots of other things to do, particularly as a development lead. For example, you have to build people's careers, write design documentation, investigate issues and plan for the future. I use OneNote to help me gather my thoughts.


Motley: Why not just use a Word document? OneNote just looks like it reinvents the wheel! Why do I need to learn another application when I am proficient with the 10 useful features of Microsoft Word?


Maven: OneNote is completely geared towards quick note taking. OneNote's user experience stresses organization and simplicity. For example, embedded within it is the hierarchical idea of notebooks, sections, pages, and subpages. Simple drag/drop operations let me organize my notes in this hierarchy. It hides the ideas of files - sure, there are files under the hood, but I never really ever have to see them.


Motley: Wait a second, Mr. Wise Guy. What about saving your notes? I have you there!


Maven: You're pretty smart, but you're question is misinformed in this case. OneNote completely abstracts away files and saves content changes under the hood. You never press a save button.


Motley: That's pretty cool. I wish more applications did that. As long as it saves frequently and I don't lose data when the inevitable crash happens.


Maven: I don't think I've ever had OneNote 12 crash.


Motley: I suspect you are lying, but enough about files. What else makes this thing a developer's best friend? I have never ever viewed Microsoft Word that way!


Maven: OneNote is always open on every PC I use - home, work or laptop. I set up a shared notebook on my home PC for personal stuff like to-do lists and blogging, and I set up multiple shared notebooks at work for work stuff. The first time you access the shared notebook from a PC, OneNote caches the notebook and you can make offline changes. The next time you are online, the notebook is synchronized. But you asked what I generally do with it. Here is a sampling:

  • I have one notebook for team-oriented stuff. I keep snippets of knowledge of the build system, source code, personal stuff, performance reviews of team members, recruiting information, and other miscellaneous stuff. No one has access to this notebook except me.
  • When I was a lead, I had another notebook that was shared across all team members. Each section was password-protected with a password only one person and I knew. We stored private content between the employee and me. The content included agendas for 1:1 meetings, information to remember at review time, and any other material specific to the employee.
  • My boss and I share a password-protected section where I track 1:1 meeting agendas throughout the week. I make updates as I think of agenda items so I don't have to think about it 5 minutes before the meeting occurs.
  • I have a personal notebook at home. I do all my blog writing in that notebook, track my ongoing to-do and to-buy list, create summaries of books I read, and put all my karate notes in it.


Motley: So you are telling me that OneNote is just a general scratch place for random thoughts. I COULD use a real paper notebook for that!


Maven: Yes, but then it would be difficult to search, difficult to modify, inconvenient to back up, difficult to embed content, and track the original source of the content (when you paste web content, OneNote automatically inserts the URL it came from).  It's also very easy to reorganize my content and share with other people.


Motley: Yeah, but what if I share my notebook and I turn off my PC?


Maven: You always have the offline store, but you can choose to store your content on a file server or SharePoint site if you want constant online access.


Motley: Well, you seem to have an answer for everything, don't you! Looks like Microsoft has really covered the user scenarios on this one.


Maven: I couldn't agree more. It's the best Microsoft product to ship in a long time. Another way to use it from the developer perspective is to set up a shared notebook for the feature team. OneNote supports the idea of templates of new pages. Marcus' team does Program Manager specs, design documents, and test specifications all within OneNote, applying a different template when required. The coolest thing is that OneNote takes care of the synchronization, so multiple people can edit the same notebook, section, and page all simultaneously! That way they have random notes, formal documents, and other team communication all within the same container.


Motley: What about diagrams? Design documents are full of them.


Maven: OneNote also supports ink. You can draw a diagram on your Tablet PC if you have one. If not, draw it up in Visio and copy it in to one of your pages.


Motley: I'm not usually this easily convinced, but I need to give this application a shot. It sounds like it might bring some organization to my life. Hopefully Microsoft doesn't bloat the feature set in future releases like they did for Word.



Maven's Pointer:  Setting up shared notebooks is great. Watch out for one circumstance, however, when it does not work very well. OneNote synchronization works well, but avoid combining it with other synchronization mechanisms like Windows Vista offline files. If you edit in one place and someone edits in another place, OneNote does the right thing and tries to synchronize within the native file format. Vista sees a conflict at the file level, however, and you may end up with lots of conflicting files.


Maven's Double Pointer Indirection:  Another interesting feature of OneNote is that you can click a button in Microsoft Outlook to start a new page for meeting notes. OneNote imports the appointment information directly into your notebook including meeting attendees, time, place, and agenda if you included one (and you should).


Maven's Triple Pointer Indirection:  Try turning on audio recording within OneNote  while you are in a meeting. You can type notes and record voices at the same time, and OneNote takes care of synchronizing the voices to the written notes automatically!


Maven's Resources: