« »

OneNote is awesome – sharing documents with yourself and others

Posted January 14th, 2008 by

I do a lot of Java development for my company (ScreamingToaster). I also do a lot of planning and write documentation that’s product related. I’ve struggled with organizing all this information, across multiple machines (development workstations, multiple laptops, my personal machine, etc). Then there’s the issue of sharing this stuff with other people on my team.

I found that sharing doc files or text files didn’t scale very well, and they were difficult to organize in folders on a hard drive. Plus sharing was not easy, or tracking changes. I tried using a Wiki… sharing was easy, access was universal, but it was a royal pain in the ass to create content using the limited editing software (I don’t like the idea of putting my ideas in a text area). So I moved away from Wikis. Then I tried using a blog engine as a cheap content management system, and things were a little better… and Windows Live Writer made it more bearable to create content, but it was still cumbersome and not natural. I considered using Sharepoint, but I didn’t want to invest the time to install it, and use it.

While I was trying to figure out how to share information with myself, across various machines, and others on my team, I discovered OneNote. I’d heard about it years ago, but actually started using last year. I use it to hold all my hand drawn diagrams, notes, documents, random notes, images, and even files. I can easily tag information, and search for this quickly, and I can even insert printouts into my notebooks. It has become my repository and content management system. However, the .One files (notebooks and sections) still had to be shared amongst all my machines, and with other people. So I decided to use Subversion as a CMS, and started putting all my notebooks into SVN. This worked out really well for a while. But adding changes became cumbersome. For eg, if I have a notebook where I write down my thoughts on developerlife, and I update it on Machine 1, I would have to remember to update my working copy on Machine 1, before adding the new thought… otherwise, I run the risk of a collision (in case I have a newer version of the notebook in SVN). The workflow was clunky, unnatural, and prone to errors. And it got in the way of my creative process.

So, I finally decided to invest the time in exploring the sharing features of OneNote. I’d seen something in the file menu about sharing notebooks. So I did a little research, and I no longer use SVN to share my documents, and other information. I allow OneNote to take care of it all! There are a couple of ways you can do this, and I’m only going to mention the simplest ones here:

  1. You can create a OneNote notebook that’s enabled for sharing. You can then put this notebook on a Windows share on your network. Then you can open this notebook from the share on multiple machines, and each OneNote instance on a machine will figure out how to sync with this version on the network share. Each OneNote instance creates a local copy of the notebook and periodically syncs it’s local copy with the network copy :) . It’s constantly doing a diff, to figure out what change, and then committing those changes. It’s super easy to setup, and it works great!
  2. You can tell OneNote to create a new shared notebook on your machine. OneNote will then create the notebook, and then create a network share automatically for that notebook and expose it to the network! Very easy too. The difference between this approach and the first is that in this case, the network share is on your machine, and in #1 the share is on a different machine.
  3. The last approach is very cool as well. You can start a Live Sharing session in OneNote, and allow other OneNote users on the network interactively edit your notebook with you! They don’t have to have a copy of the notebook on their machines either! You just start a Live Sharing session and OneNote takes care of the rest… it starts a sharing server on a port, and opens a hole in the firewall. Then on the other machine, you simply connect to a live sharing session on the first machine (by providing it’s WINS name or IP address) and you are good to go! It works brilliantly! When you are done with your sharing session, a local copy is left on the remote machine, which you can work with locally! You can reconnect to the live sharing session later, etc. This is brilliant! What a great use of P2P technology! I’m surprised Microsoft doesn’t advertise this feature more.

I use option 1 and 3 above. I have a server on my LAN that hosts my SVN repository and testing app server, which is where I store all my notebooks. I regularly backup this entire machine (using Acronis), so my source code and documents are backed up together and kept in a safe place. Disaster recovery is quite simple as well, with this approach. The backup of this machine is just one file, which I upload to a remote server regularly.

If there is more interest on using OneNote’s sharing capabilities, I will post an in-depth review in the Reviews section. I think it can be very helpful to people who want to manage lots of fluid information that must be persisted and replicated reliably, without having to copy files, and run cron jobs, or know how to use SVN and setup a SVN server.


8 Responses to “OneNote is awesome – sharing documents with yourself and others”

  1. Khuram Malik Says:

    Hi there,

    We just started using OneNote in our company, i think its brilliant. I was looking for more information on the firewall requirements for live sharing sessions.

    Live sharing internally doesnt seem to be a problem, but i cant seem to find information on what ports i need to open on the firewall to allow sessions from user on the other side of the firewall?

    If you are able to write more on this particular subject, i would look forward to reading it. Thank you.

  2. Nazmul Idris Says:

    Hi Khuram

    OneNote is the hidden gem of Office :). I’m surprised there isn’t more marketing behind it, and it’s too bad there aren’t any services tied to it (think Amazon S3 for OneNote notebooks)…

    I’m going to do an in-depth review of OneNote. I think it’s a great product, and this small blog post has been well received. Look for this in the coming week or two. I’m sorry I can’t be more specific with the timeline.

    This might help with your firewall issue and live sharing… Go to Tools menu -> Live Sharing. In that dialog box you will find the port number that OneNote uses to run it’s internal sharing server. For LAN’s this is not an issue, but for WANs you would want to explicitly set this port number, and make sure to open that port for TCP traffic (inbound).

    Thanks for reading and keep coming back,

  3. MaryBeth Says:

    We are interested in using OneNote, as well, as a lab notebook. We have set it up as a test, under SVN control, and are running into some of the issues that you have experienced. It is critical that we allow other users to read the notebook, but were also hoping to create a section that manager’s and peers could use to ‘sign’ the notebook. That section would be read-only to the user. All of these permissions are managed via an administrator via SVN. The actual experimental notebook sections would be read-only to everyone except the notebook owner.

    As you can see, it all gets very complicated very quickly!

    Do you know of a way to set up a share, in which you could set permissions on a section-by-section basis?



  4. Nazmul Idris Says:

    Hi MaryBeth

    Sorry for the late reply. One thing you can do to make a notebook ‘read-only’ to certain users, is create a Windows share that has read-only permissions set for that class of user. This way, OneNote will not be able to write to that share. This is the easiest way that I can think of to control read/write access at the Windows share level itself.

    I don’t think there’s a way to do this level of access control in a section by section basis. Easy way to go around this is just separate these sections into notebooks, and use Windows shares to restrict access. You can also do this control in SVN.

    I agree, this can get out of control very quickly :) . If you have use cases that are not solved by using the strategies mentioned here, then it’s time for you to invest in a CMS. There are some open source ones out there that you can use. Apache even has one that you can access programatically… it supports revision control, complex access control features, etc.

    Hope this helps,
    Take care,

  5. Buried Says:

    OK, I’m a broke grad student being buried by rediculous amounts of information on a daily basis, all in various forms depending on the instructors mood (primarily ppts/powerpoints/drawings/word)…I’ve discovered onenote as my technological savior…BUT it takes a ton of time to get it all organized/manageable…and time is something us dental/med students don’t have. I am investigating how to implement a collaborative environment for myself and say 10 other students I trust that do as good of work as I do. The total user environment could be as high as 80 (all the students in my class) but I would think that the syncing/version control could get wacko out of control with that many users…so I’m being conservative and estimating 5-10 MAX would be my ‘team’ of editors, and perhaps we could ‘read-only’ permission the rest…

    Here is our environment:
    - we are mostly operating on fairly robust wifi networks (at home and at school). we can wire up, but not consistently. the speed on my network connection icon right now says 54 mbps…(my non-techy self thinks this is robust, perhaps it is not)
    - the notebook size that evolves per semester can range from 250-500 MB…about 20-25 sections (each class-test), and within each are perhaps 10-15 pages (lectures).

    what I think I need to do:
    - A) Find a hosting service where i can get a sliver of an existing shared server. OR B) figure out how to share the file from my own home PC (where I have 70 GB)…no monthly charges…option B is prefered but I have no idea how to do it…or what hardware upgrades i need to do it.
    - create the shared notebook in onenote defining where i want this file to reside.
    - transfer existing unshared notebook material into the new shared notebook.
    - enable permissions for the other users (not sure where this is done, at my pc sharing level, or in onenote?)
    - let her rip! hoping the syncing/updating is managed well enough that it doesn’t crash too much…

    Result: a highly collaborative working/learning environment where top students can share the organizational load of excessive amounts of material…into a rapidly searchable product.

    1) How does the file get downloaded/updated to the users individual onenote system? Does it access the WHOLE notebook and run a DIFF everytime? or does it just push/pull the stuff that is different…thereby minimizing network traffic/data transfer?
    2) If I do this from my own home pc, and I have a few people downloading or pushing updates this, does that take up most of my bandwidth when using my internet/home network?
    3) Would better network hardware in my home result in less impact to the usage of the home network (IE me not noticing that half+ the capacity is being used to push/pull updated onenote info.)???

    I think that’s all the questions I have now, totally appreciate your feedback.

  6. Nazmul Idris Says:

    Hi Bill

    Thanks for the comment. You are not alone in these requirements for information sharing in a small group. Sadly, there is no easy solution right now. I’m actually building a product that address the issues you are having right now, called mylisty, but it’s not even in beta right now, so that’s not going to help.

    You’ve asked a lot of good questions. Onenote’s information sharing capabilities aren’t really meant to scale to the extent of your requirements. It’s a simple solution for simple needs; so if you have more than 1 machine, and you’re doing all the edits, then Onenote works great in sync’ing information across all the notebooks on different machines. Where things fall apart is when you have multiple authors, who are concurrently modifying sections. Onenote does a diff of a page at a time, so it’s not very fine grained in it’s approach. Now, this depends on the content that’s in the page (in a section). If you add content that Onenote can edit, then it’s smarter about sync-ing, than say if you drag/drop a “blob”… ie a file that it can’t edit, like a Word document.

    As far as sharing goes, you could get a slice/sliver or a server, and host a file server there. Onenote works with Windows networking, so you will have to enable that (SMB) on the fileserver of yours, and you have to be careful about setting permissions on folders/shares (SMB) so that not too many people have write-privileges. Remember, Onenote does not handle concurrent modifications well. You could host this on your server at home, and just open a port on your firewall. But there are issues with doing this – you are opening up a SMB protocol hole in your firewall, and it’s open to exploits over the Internet. Also, consider that upload speeds are limited on most home networks… so other people might find it very slow to commit changes to your shared notebooks.

    I suggest the following, you can either get a hosted Sharepoint server service online, and put your notebooks up on there. Sharepoint will do all the sync’ing, and handle all the privileges, etc. Or you can setup a Subversion server on your slice/sliver of a server on the Internet, and you can use a Subversion client to checkin/checkout notebooks among all your collaborators.

    Sharepoint is what Microsoft intends you to use for complex sharing tasks, like the ones that you’ve outlined in your requirements. I don’t like Sharepoint; I’ve used it, and it’s clunky at best.

    Sorry that I couldn’t give you a simple answer. There isn’t one to give. Mylisty will fix a lot of these problems. You will able to access your information from web, desktop, and mobile! You will be able to collaborate, and sync stuff to a service. All for $10 per year. I’m planning on releasing this product later on this year. Let me know if you’re interested in beta testing it :). Also, mylisty will use geolocation in ways that most people haven’t imagined yet, to make life a little bit easier :).

    Take care,

  7. TM Says:

    Hi Buried,

    I’m in the EXACT position as you described. I was wondering if in the past months you have found any solutions to your (our) networking predicament.


  8. Toni-Lee Says:

    I am attempting to organize a large ‘Binder-Like’ project using ‘One Note’. Once upon a time, I would have just use MS Binder, but was told that it no longer exists, and One Note is it’s replacement.

    I am incredibly frustrated attempting to ‘Insert Document’ into One Note. I have my entire 250 pages worth of material that I am putting into One Note one section at a time. Trouble is, when I ‘Insert document’ or even try to ‘Print to One Note’, it shows up with lines around the document, and will not display exactly as it does in word.

    I need to be able to easily insert my word documents and have them print into OneNote nicely. Any suggestions? My hair is turning grey from this project!