Friday, May 27, 2005

Synchronization (Editorial)

Synchronization is a great feature in the object storage. Its how types work, how extensions work and many more features. First lets see what it could be used for: 1. You will be able to use synchronization to view a workspace on your device display and on your desktop easily even though the desktop has a different resolution. This is like VNC however Screens sends the actual drawing primitives instead of bitmaps, so its much easier to deal with. You will also be able to do separate log-ins to your device. Here is the vision: You are writing your document on your handheld and you go to a internet cafe, via the web, you log into your device via Wifi and continue writing your document on the nice 1024x768 flat screen monitor. Then you just log-out and continue writing the document on your handheld. It allows turning internet cafes into terminals. Think how cool that would be! 2. You will be able to track changes and work with a friend via Bluetooth on the same document. You make a change, and he sees the change. He makes a change, you see the change. You could also make team changes and decide which team members can modify the document, which can only read the document or which can make changes only to a copy so if they make a change, its not making a change on the original document, but rather on a copy. 3. You will be able to specify web-pages which synchronize locally so you can view them on your device even when offline. But you can take it a step further and specify to synchronize only when the connection is not in use, so it does not slow down your normal browsing. 4. You will able to synchronize playlists or collections of files to your device depending on appointments. So you can make an appointment repeated monthly which shuffles and downloads 80MB of your music on to your device, swapping the existing files apart from your favorite songs which stay on the device until you decide to let them swap as well. You will be able to specify that a presentation should be on your device a day before a business meeting and that it can be removed a day after the meeting. These are just ideas of how flexible syncronization could be used for. How does it work? Simple... every object which its data changes or its structure changes, an update message bubbles up to the root object allowing any parent object on the way to handle the method. This is how types work - Since all types are under the 'Types' object, any changes to any type bubbles up the update message which the 'Types' object handles and syncronizes the change with the type instances. If data is shared by multiple objects, they all get an update message rising up to the root object letting any parent handle the change via a method.

No comments: