Friday, July 24, 2009

Google Wave: a compact technical overview

A Wave is, technically speaking, an envelope containing a discussion thread consisting of Wavelets. A Wavelet is a multimedia message. Wavelets can be assigned to discussion participants. At any point in the discussion, any participant can reply anywhere in the Wave, edit content and add participants to the discussion. Also, the edit history of a Wave is stored and can be played back. See my post for a demo video.

Architecture
From an architectural point of view, Google Wave is a sort of federated open messaging system in which Wave discussion threads are stored as XML documents serverside. A provider on which a Wave or Wavelet is created is responsible for managing that Wave or Wavelet, taking care of storage, processing and concurrency control.

Wave providers
Wave providers manage:
1. Waves across providers
2. Communication with Wave clients

A Wave provider is responsible both for updates on Waves, Wavelets and userdata of its own users. Additionally, a provider is responsible for securely sharing update operations with the Wave providers of all the Wavelet participants. User data is, however, not shared between providers.

Each provider maintains it's own copies of the Wavelets; providers distribute only Wave -, Wavelet update operations and updates operations on participants. It is done using the Wave Federation Protocol (an extension to the XMPP Extensible Messaging and Presence Protocol). Using consecutive version numbers in Wavelets ensures that providers can assemble complete Waves and put Wavelets in the correct order.

A Wave provider supports a Wave service on one or more servers.

Wave participants
An individual enduser, group or robot that participates in a Wave is identified by a Wave address that can be compared with an e-mail address (name @ domain, e.g. HansR@ontheWeb). Waves and Wavelets also be identified by a unique id and a domain address. Waves and Wavelets that originate from a domain must be hosted and maintainted by that very domain.

A Wave provider serves, through its servers, views to its local (domain) participants.

Wave view
Each users has a personal view for a wave based on access rights and user related parameters on Waves and Wavelets (e.g. show whether a particular user has read a certain Wavelet or not).




Wavelet contents
A Wavelet can contain any number of documents. A document consists of an XML document and annotations (e.g. for text formatting, spelling suggestions and hyper-links). Participants can perform operations on documents like updating -, inserting -, deleting - and annotate document components.

Programming Waves
Another nice thing is that Google Wave is open source based and extensible. That means that you can adapt it to the needs of your own organisation and you can extend functionality by developing extensions based on API's. This will, naturally, also be done by third-parties.

There are roughly two ways to use Wave:
1. Embedding Wave in your webapp, essentially create an IFRAME that you communicate with
2. Entending Wave functionality

Want to read more?
Here are some links I used for my Blog:

Generic overviews:
Google wave in short on Wikipedia
About Google Wave

Portals and communities:
The Official Google wave website, featuring the famous preview video
Homepage for the Google Wave Federation Protocol
Google Wave sandbox website
Google Wave APIs Media Gallery

Architecture:
Google Wave Federation Architecture
Google Wave Data Model and Client-Server Protocol
Homepage for the Google Wave Federation Protocol
Google Wave Operational Transformation
Google Wave Federation Protocol Over XMPP
Extensible Messaging and Presence Protocol

Development:
Understanding Google Wave
Google Wave API's
Google Wave API
Google Wave Labs
Google Wave Developer Blog
Programming with and for Google Wave (video)

Demo's and samples:
Google Wave Samples Gallery

Do it yourself?
If you want to gain some hands-on experience with Google Wave, you can subscribe here for a sandbox account. The official Google Wave sandbox site can be found here.

Labels:

Thursday, July 23, 2009

Silverlight 3 and Expression 3 launched

Silverlight 3 and Expression 3 have been launched.

Silverlight 3 RTM is available for download at http://www.microsoft.com/silverlight

Expression 3 will be soon, including a free 60-day trial version. A new Release Candidate of “Expression Blend 3 plus SketchFlow” is now also available for download.

See http://www.seethelight.com for more info.

Labels:

Wednesday, July 22, 2009

Why Google Wave might be the professional social software tool that we were looking for

I'm getting to know the Google Wave platform a bit better now, let me share my thoughts with you.

According to Google, Wave is a "a personal communication and collaboration tool". To me, Google Wave seems to be a combination of an advanced real time discussion forum, extended with a lot of functions e.g. for spelling/grammar checking, automated translation between languages, et cetera.

This might be the technical breakthrough in social software that we were looking for. One of the drawbacks of current social -, collaboration - and productivity software concepts is that content is always either a snapshot (of the original or copy) at some moment in time (e.g. blog, wiki, whiteboard) or volatile and difficult to grab (chat, im, micro blog/twitter/yammer). So, participating in the creation of content and reusing content afterwards is quite a challenge. And just that is what's needed to make social software of practical use in professional organisations. In a professional context you need to be able to, irrespectively of your location, timezone and communication window, participate in creating content, to be able to re-use the content afterwards in an easy way and to be able to show the process in which the content was put together.

I'm currently reading the Wave docs, viewing some video's, reading some papers that I will summarize in my next post.

Labels:

Tuesday, July 21, 2009

Google wave, a sneak preview video

A new collaboration tool of Google captured my mind some weeks ago. Google positions this tool as the biggest upgrade to mail. I think, however, that this goes a little further than that.

Using Google wave, participants can realtime, interactively, create a discussion. Unlike mail, which copies copies of discussion snapshots over and over again, in Google wave a central document is continously updated. Google wave also has some characteristics of micro blogging tools like twitter, it's also a realtime medium in which thoughts are shared. However, content like Twitter is volatile, Google wave content is not.

I think that Google wave can best be compared to a lively discussion board that is continuously being updated.

See the video below to determine your own opinion.

Labels:

Random thought: on management in times of crisis


When times are good, you can make a monkey run your business.

When times are bad it seems that business is indeed ran by monkeys.



An anonymous collegue of mine, july 20, 2009.

Labels:

Thursday, July 16, 2009

ICT Challenges for 2010 and beyond, challenge 2: coping with continuously increasing regulation

For the coming years, I forsee some challenges in ICT. In my blog I will share some thoughts on these with you.

Challenge 2) The way people work will be more and more influenced by regulation.

It may be a sign of civilization, having rules of conduct, but it can also be a nuisance when doing business. In the last decades, an increasing number of national and international rules and regulations has flooded companies. Well known examples: Sarbanes-Oxley, Basel I & II.

Ofcourse, regulation in essence is a good thing, by clearly communicating what you expect of eachother, you can reduce risk of misunderstandig and possibly damage. On the other hand, when doing business or just performing your tasks, you have to think about an increasing number of restrictions and extra work, e.g. reporting. And regulation can be contradictive as well.

This will only increase further in the coming years due to the uncertainty that has been raised by the financial crisis. In other words: for the worker, the challenge of performing will even further increase.

Can technology help in coping with challenge 1 and 2?
But wait, there is more! We are presently experiencing a potentially disruptive economic and financial crisis... let's talk about some more consequences in my next post.

Labels:

Monday, July 13, 2009

Microsoft SharePoint Team Blog : Announcing SharePoint 2010 Technical Preview

Accoording to the Microsoft SharePoint team: "...Microsoft SharePoint Team Blog : Announcing SharePoint 2010 Technical Preview: "Today, we’re announcing that SharePoint 2010 has reached the technical preview engineering milestone. The SharePoint team is running a limited, invitation only Technical Preview program. While we’re not sharing SharePoint 2010 details at this point, we did want to give our customers & partners a sneak peek at SharePoint 2010! We’re very excited about SharePoint 2010 and looking forward to the SharePoint Conference this October where we’ll talk about all the investment areas across workloads and the platform. What we’re sharing today is just a fraction of what will be in SharePoint 2010!" ..."

Makes me curious! I can't wait to get my copy of 2010!

Some more links:
Sneak preview: http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/default.aspx
Microsoft SharePoint Team Blog: http://blogs.msdn.com/sharepoint/archive/2009/07/13/announcing-sharepoint-2010-technical-preview.aspx
RSS of the Microsoft SharePoint Team Blog: http://blogs.msdn.com/sharepoint/rss.xml
FAQ's on SharePoint 2010: http://sharepoint.microsoft.com/2010/Sneak_Peek/Pages/FAQ.aspx

SharePoint 2010, some new and improved features

A quick list of new and improved features in SharePoint 2010:

  • SharePoint will be equipped with the Office Ribbon
  • SharePoint Dialog Interface
  • “Web Edit” and Rich Text Editing to make it easier to modify a page’s content
  • Extensive use of Silverlight
  • Rich Theming to reduce the amount of effort involved in theming SharePoint
  • Improved multiple browser Support
  • Improved SharePoint Designer 2010
  • Groove 2010
  • Rich Media Support
  • Business Connectivity Services: better support of "database tables"
  • Visio Services, should be impressive :)
  • Admin Upgrades: improved and designed to be more automated
  • Upgrade process now consists of two steps: upgrade the "back end" and then the "user experience"
  • Developer Dashboard
  • LINQ for SharePoint

I hope to get more info soon.

Labels:

Friday, July 10, 2009

Visual search on color

A collegue of mine attended me on the following site: http://labs.ideeinc.com/multicolr. This site allows you to interactively search images in Flickr by choosing colors. I was feeling "blue" when I looked for the images below...

Labels:

Thursday, July 09, 2009

ICT Challenges for 2010 and beyond, challenge 1: coping with context

For the coming years, I forsee some challenges in ICT. In my blog I will share some thoughts on these with you.

Challenge 1) The context in which people work, communicate and collaborate will continue to grow more rich and flexible.

You can see the context of people communicating and collaborating with eachother as the circumstances in which the try to reach goals, personal goals but also shared goals. Examples of elements that make a context are roles, available tools, timezone, connectivity (online/offline scenario), et cetera.

Decades ago, context was simple; at the office, you generally worked with the same collegues, in the same officebuilding, and perhaps even within the same room. Furthermore, people did not change job that often as nowadays and reorganization, mergers et cetera did not take place that often. Apart from having less elements, the context in which people have to perform their tasks is also less dynamic than nowadays. The concept of "the new way of working" (working any time, any place, smarter etc.) increases the richness and dynamics of the working context even more.

A rich and dynamic context may be inspiring and even be less boring than a simple and static one, it also poses challenges when trying to achieve personal and common goals.

A simple case of collaboration as an example
To illustrate what's needed for collaboration, let's consider a simple collaboration case and see what is needed for success.

Collaboration is all about trying to understand eachother and achieving the same goal. Let's consider a simple scenario of two hungry people in the same room, and a banana, hanging from the ceiling. Eating the banana is the personal goal for both, but they need to communicate and collaborate effectively to reach this. They first need to establish a common goal, then determine an approach, coordinate the steps they take, and after grabbing the banana, sharing it equally. And during the whole process, they need to trust each other enough to keep on going.

In the case above, the goal is simple, the context is simple and static.

It is easy to understand that enriching the context, the challenge becomes greater. Consider a complex goal, an multi level organisation with more personal and opposite goals, teammembers in different locations, perhaps even different timezones (which forces communication to be asynchronous), regularily chaning team arrangements and you're getting the picture.

And that is not the only challenge, the demands to organisations and individuals changed as well in the past decades...
I'll elaborate on that challenge in my next post.

Labels:

Some thoughts on ranking social software platforms and tools for professional use

For some time now, I am involved in some initiatives to create a vision on social software and help in choosing the right tooling.

The first experience that struck me is that people immediately try to convice you of the absolute advantages of their favorite platform as possibly the only and most comprehensive solution.

The larger your company is and the more widespread your company is located, the more "favorite platforms" are recognised. And apart from this, the social software tools that are are available on internet really form an eco system that is continuously changing according to Darwin's law; tools are invented, getting popular, survive of do not survive, adapt to new user's expectations, and so on.

I personally think that you should accept the fact that your social software platform will be an eco system as well, and that you should tune your requirements to that fact: openness, easy integration and communication with other platforms/tools.

Furthermore, social software is, and will never be a substitute for face-to-face communication. To elaborate on this, please consider the difference in requirements that people that do not know the other community members that well (e.g. young professionals) could demand opposed to the requirements that members of the old boy's network could demand to social software tooling. Means of getting to know eachother and knowing who does what is much more important for young professionals.

Last but not least, you should always have a clear purpose of the tools in mind. Which goals would you like to reach in using the tools? Using Twitter in your spare time to share trifles and random thoughts is quite different from trying to achive a shared vision on a particular topic. In my opinion, purchasing social software must also be based on some business case.

Labels:

Tuesday, July 07, 2009

Coming up: Top X ICT challenges for 2010 and beyond...

Coming up: Top X ICT challenges for 2010 and beyond...


For the readers that have read the last version of this post, I've changes 5 into X because I'm not sure that I end up with (only) 5.

Labels:




The serene beauty of a flower @ the Keukenhof.



HansRontheWeb, may 21 (I think), 2009.

e-Collaboration, when does it work?

For some time, there are two new kids on the block; collaboration platforms and the information workplace concept. Since in ICT we are still pursuing to build applications with the same capabilities as the philosopher's stone, it is perhaps wise to take a practical look at them.

My earliest memories of e-collaboration date back to mid '90's in which Lotus created the Notes platform. Lotus Notes was so called "groupware", and had roughly the same purpose as collaboration platforms nowadays. Endusers could mail, use agenda's and applications from within a single desktop client. A true revolution in its time, but in our company it failed; nobody would really use it.

Why? Well, it just did not fit into our daily work.
First of all, each of us already had a functioning e-mail client. Sharing documents we did on the fileserver and we all had our own agenda (yes, a paper version). An besides that, starting up the application took a lot of time and when up 'n running, the rest of the apps just seemed to freeze. Nevertheless, later on, the sales community in our company began using Lotus Notes quite succesfully for sharing contact data. How did that come? Well, just as obvious as why it did not work in the first place, everyone in the sales community benefited.

"Just software" is no guarantee for succes
In 1999, study [Mitre] showed that "just software" is no guarantee for succesful collaboration. To achieve successful collaboration, you need "a culture of sharing". To achieve that, the following elements are important:


  • A common goal: why do we collaborate?


  • Sufficient attention for the underlying business processes and workflows;


  • Trust;


  • Rules of engagement; how to behave;


  • Mutual benefit; private "return on investment";


  • Management support; to ensure adequate support;


  • Team rewards; reward cooperation more than individual performance;


  • Training; to ensure that endusers understand how technology can support collaboration;


  • Critical mass usage; sharing with many provides sufficient information which encourages more sharing, et cetera.


Labels:

Social software in your organisation, some initial thoughts

How can you effectively implement social software within your company?

Please consider the following thoughts first:

  1. There will probably be several communities within your company, based on role, interest and other topics. The composition and structure of your communities will probably change in time. Your co-workers will also be linked to extenal communities as well.

  2. No one is going to use fixed of mandatory tools that you provide them, they all have different tools and inspire eachother to use their personal favorite tools

  3. Forbidding access to the internet will not make your social initiatives flourish

  4. Using social software requires a "culture of sharing"



So, you need some means to let your co-workers share knowlegde and communication, within and in between communities, in and outside your organisation, using their own tooling and (depending on the size of your organisation) even using different platforms.

In my opinion, a combination of social tooling, a powerfull enterprise search engine, some means to rate content (recommendation engine) and a syndication engine to easily re-distribute content should do the trick.

Well, that is, only the technology part... there should be a "culture of sharing" as well. Please see my post [http://webloghansr.blogspot.com/2009/07/e-collaboration-when-does-it-work.html].

Labels:

Random thought: on inheritance


The only inheritance that is shared fairly amongst the successors are memories; everybody gets what he or she deserves.



HansRontheWeb, july 7, 2009.

Labels:

Microsoft Silverlight and Expression 3 Launch on July 10, 2009

Microsoft Silverlight 3 and Expression 3 will be unveiled at a virtual launch event on July 10, 2009. Attend the event at http://www.seethelight.com on July 10 to watch the keynote sessions and see new in-depth sessions. Stroll through the customer and partner pavilions in the Exhibition Hall or stop by 'The Visual Kitchen' TV show and watch the chefs as they dish up digital designs and development entrees as part of this exclusively produced online experience.

Labels: