OneNote Anywhere

 Nov 8th, 2010 

 , ,

I like OneNote. I use it to store different code snippets and links to tech pages with useful information. It is not the ideal tool for doing this – IMO there is no tool, yet, that can replace a physical notebook – but I got used to it. Especially I enjoy the search feature because is impossible to do it on paper.

Until a few months ago, a solution for sharing the notebook between PCs was Mesh (or DropBox, or similar services), solution about which I wrote here. Since Office Live, this task was simplified – not that it was complicated before. With Office Live you can now save the notebooks online and edit them directly. Moreover, it allows sharing notebooks between computers connected to the Internet.

To do this you need a SkyDrive account (actually a LiveID). Then you can go on the website and create a new notebook. Give it a name and add information in it;do (almost) whatever you were doing in the OneNote client.

Now, if you choose Open in OneNote it will add that notebook to the application and… the best part… it will keep it synchronized with the live version.  You still have a local copy but if you lose it, only the changes since the last sync are gone – if  you are connected to the Internet then the last sync is, probably, 2 minutes ago. If you change the notebook in one place (on the website or in the local application), the changes will be reflected everywhere.

You can open the notebook on two or more computers and it will be updated on all of them. Even if one of them is offline, the changes are stored on the Internet and when you connect, you get the updated version.

Tip #3: Shared OneNote notebooks with Live Mesh

 Aug 4th, 2009 

 , ,

OneNote allows users to create shared notebooks by using a shared folder or a SharePoint repository. When two persons who want to share a notebook are in different countries then a shared folder is not a too feasible solution. A SharePoint repository can be created for free on Office Small Business but you have only 50 MB for storage and you need at least basic SharePoint knowledge.

As you might already know, Live Mesh allows one to sync files across multiple computers. A big advantage is the Live Desktop –  a 5000 MB online storage location that can be used for storage. When computers involved in the sync are not simultaneously online, the files are synced with the Live Desktop and, when the computers are back online, the files will be synced.

The sharing with Live Mesh works like this: add notebooks’ files on Mesh and they can sync across computers. When a notebook is updated, if you are online the change will be sent/received to/from the Live Desktop.

Read the rest of this post »

Software + Services. A Modern Approach. Part 2

 May 18th, 2009 

 , , , ,

Part 2 – The idea

< Part 1 (Intro)


  1. A little more Live Mesh (CTP)
  2. The Actors
  3. The Modern Approach

1. A little more Live Mesh (CTP)

Today, online and offline tend to be two different approaches for building software. Most software companies offer either online or offline versions of their software.

If they somehow offer both then mostly sure one is a limited (reduced functionality) version of the other. Moreover companies tend to create a gap between the time when the offline and the online version gets updated. You always hear thing like “the online version does not yet support feature X that is available in the desktop version. Will be available soon”. The bad thing is the soon might mean a couple of months.

Creating software that works the same way both online and offline is not a new idea but until not it would require a lot of overhead. There was the need to simulate either the offline environment online or the reverse.

Now, with Live Mesh, the online environment is simulated on the local machine with no overhead for the developer. The guys from Microsoft resolved this problem and they’ve simplified our lives.

There are some aspects that need to be clarified as pointed in Part 1 about online services and applications:

  • The user experience: this problems was somehow resolved by enabling applications to be based on Silverlight. This technology enables web applications to deliver an improved experience compared to the classical web apps. It is client-side technology.
  • The need of permanent connectivity: just like smart clients, Mesh Enabled Applications can run with no network connectivity, persist offline what needs to be processed online and continue the process when connectivity is available. In other words what can be done offline is done anytime and if Internet access is required the task is queued.

2. The Actors

Lets consider a company named InvoiceGuys which offers a service called InvoiceService that exposes functionality for processing invoices. Anyone can subscribe the this service – for the sake of simplicity we’ll just ignore authorization and authentication; just don’t do this in real life!

Read the rest of this post »

Software + Services. A Modern Approach. Part 1

 Apr 20th, 2009 

 , , , ,

Part 1 – Intro

Part 2 (The Idea) >


  1. What is Software + Services
  2. Azure Services Platform
  3. Live Mesh

1. What is Software + Services

Over the past decade, the world we live in has been transformed by the Web. More and more people gain Internet access, services become more accessible  and the experience is improving. There are a lot of advantages of using Internet services:

  • Low hardware requirements: services use the resources provided by the vendor and not the local ones. We only need devices capable of displaying the information that the service is sending. Most of the time no processing is done locally.
  • Device independence: a service can be accessed from any device connected the Internet. It does not require special privileges on the local machine and no installation is required.
  • No maintenance: services are maintained and updated by the service provider, the client must do nothing to configure it. The service is an out of the box solution.
  • Flexibility: we can change the service provider whenever we want. This capability creates new opportunities for businesses that can dynamically swap services and choose the one that matches their needs.

However there are still some limitations for which running local software is preferred instead of a web application/service:

  • User experience: browsers are not yet capable of delivering the same user experience as a local running application.
  • Privacy: there are situations when a company chooses the keep all its data within its controlled/trusted borders. There are many privacy concerns when using 3rd party services because there is no control over the security and must rely on the provider’s security. Some complex federation problems might occur.
  • Offline experience: even though the Internet is now available most of the time there are still situation when network access is not available (maybe some technical problems) and the service  cannot be accessed.

What do we do when we want to power of local running applications and the flexibility and ease-of-use of the Internet services? Simple: we take the best part of each, create an architecture that combines them and use it for application that work both online and offline. Ray Ozzie (Microsoft Chief Software Architect) mentioned that “when you combine the ever-growing power of devices and the increasing ubiquity of the Web, you come up with a sum that is greater than its parts. … Software-plus-Services is the next logical step in the evolution of computing.  It represents an industry shift toward a design approach that is neither exclusively software-centric nor browser-centric” [1].

Read the rest of this post »