Tip #3: Shared OneNote notebooks with Live Mesh

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 entry »

Software + Services. A Modern Approach. Part 2

Part 2 – The idea

< Part 1 (Intro)

Contents:

  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 entry »

Software + Services. A Modern Approach. Part 1

Part 1 – Intro

Part 2 (The Idea) >

Contents:

  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 entry »