I wanted to post this blog for a while now, as a follow up for the previous one about S+S and SaaS. Actually I was thinking about skipping it, just because it got too long and I did wrote it as an exercise for some other work. Anyway, with the release / announcement of Live Mesh the topic is news everywhere so I decided to post it anyway… happy reading, it’s really long ;-)
Everybody works together in a seamless collaborative way and is able to work from every place in the world, unleashing the creativity and innovation of the individual and the crowd [Collective Intelligence], all this enabled by Cloud Computing, S+S, SaaS, Web2.0 and SOA technologies.
[ Picture taken last week on the way to Livigno, I had to stop to take this one ]
Back to the Ground Level…
What kind of capabilities do products need to support enterprises with this ambition?
I want to work anytime anywhere and on anything. So, I need access to the sources which I need to do my job, the right information, great tools and the workflow I have to follow must be available. The main question is: "what kind of work do I have to do...". The answer to this question would give a direction to the capabilities I need from these tools and platforms and with that I can decide if SaaS, offline SaaS or Software plus Services would fit my needs.
For example, I'm a writer, working on a book. [to start small] I can use every kind of tool which gives me the ability to type my prose [Notepad, Office Words, Google Docs, Zoho writer, Live Writer, WordPerfect, WordPad...] and save it to any location where I can access it. Web-, local-, mobile- or home-storage doesn't matter [ Hard drive, USB, Cell Phone, Intranet, SkyDrive, Sharepoint, Google Sites, Office Online, etc... ]. The most important thing, I must be able to access it wherever I am and I must be able to type my prose anytime, anywhere.
Two capabilities I need as a single writer are:
Beside this I need some kind of input device which supports these capabilities. This can be a typewriter [it offers also typing support and accessible storage]. But we live in a digital world, so this would probably be a personal computer or when I'm on the road a laptop, a Ultra-Mobile PC, a Smart-Phone or when I don't own a device I can use public devices [ not that realistic, I don't think I would start working when I don't own an input device ].
Anyway, to give me the ability to work everywhere the two capabilities "typing support" and "accessible storage" should be device independent. When I'm home I use my PC, when I'm traveling I can use my laptop and when I'm visiting friends I can use their device...
Another capability I need from the tools as a "type anytime-anywhere" writer:
It's not reasonable to write a book on a cell phone. Although, sometimes I think my wife does it when text-messaging friends.
We have to downgrade this "device independent" requirement. Something like... the device shouldn't be more than 75% less productive then working on a Personal Computer [ 100% ]. For example, working on laptops is a little bit more difficult than PC's, the keyboard and mouse are less easy to handle and the screen is smaller. So laptops are at 95%. Cell phones are at 5% of the productivity rate, although Millennials, are text messaging on small phones typing 500 words a minute with their thumbs [ Amplify the Impact of Your People with Enterprise 2.0 Technologies ]. Smart phone a little bit higher 15% and UMPC's are around 75%.
So the capability that it must run on any device should be :
- device independent, till 75% productivity lost
For laptops and any other mobile device, another important "productivity" factor is the environment you are working. You're mobile so you can work everywhere and not every environment is that productive. [ This is your Anti-Productivity Pod by Coding Horror].
There are situations that you only want to read on those 75% less productivity devices, but that's not the writer-scenario we are talking about.
So far, so good... SaaS with Offline capabilities like Google Docs with Google Gears would fit in this stand-alone writer scenario and Live Mesh [S+S] would fit also.
Publisher, the collaboration starts...
The book continues and I found a publisher who wants to publish my book.
The publisher needs my document or documents to print it, review it and edit it for publishing. So it has to be in a format his tools understand or should be able to convert it. Beside this common format, I don't want the publisher to edit my book before it's ready for review.
So, we got one extra need for the storage and one for the way it's stored:
- Permission levels on the storage
- stored in a common format
The way the publisher gets access to the documents is a bit more complex. In the pre-digital century, writers would bring the whole book in paper format to the publisher or would send it by courier, both where time consuming and in the current information age the content would probably be outdated at the moment it arrives.
Sending a mobile-storage [ USB, CD, External Hard-Drive] by DHL's same Day delivery service is faster but gives constrains to the "anywhere" rule of my typing experience, I need to be in a place where a DHL employee can pick up my package and it still would cost a day to deliver my book to the publisher. not good for reviewing and editing where we probably send the documents serval times.
I could send the files by email or during an instant messaging session [near real-time]. But both systems aren't designed for sending huge amount of data and more important those systems aren't designed for the reviewing and editing process a book needs.
A piece of the communication decision tree made by Dave Pollard.
We're not asking a straightforward question, we want review and editing. Probably several times the book is reviewed and edited by me and the publisher.
When using email for this kind of processes "sending different versions of the same data to different people who can change that data" will end up in phone calls, conference calls and arguing about who has got the most recent version and if all the changes the other made are in that version. It will end in a drama, a great topic for a "Stephen King"-thriller.
Bizarre tales of dark doing and unthinkable acts from the twilight regions where horror and madness take on errie, unearthly forms…
Some other interesting papers according to email and what kind of tasks it's designed and used for:
Email is one of the most successful computer applications yet devised. Our empirical data show however, that although email was originally designed as a communications application, it is now being used for additional functions, that it was not designed for, such as task management and personal archiving . We call this email overload. We demonstrate that email overload creates problems for personal information management: users often have cluttered inboxes containing hundreds of messages, including outstanding tasks, partially read documents and conversational threads. Furthermore, user attempts to rationalise their inboxes by filing are often unsuccessful, with the consequence that important messages get overlooked, or "lost" in archives.
Anyway, what kind of capabilities does this kind of review, editing collaboration needs? First of all the communication should be possible in an asynchronous way, I'm not going to read and discus by phone or in person every sentences.
- Asynchronous communication.
The storage of the documents must have version control or the tool itself must have an embedded version control. Tracking changes made by participants and revert a document to a previous revision is an important need for collaboration systems which are used for reviewing and editing of the same data. Changes made by others can conflict with my book idea and I want to see what changes other have made.
Also I and the publisher want to keep up to date about changes the other made. With email you get a notification with the document attached, the storage should also need to send notifications when changes are made.
Beside these requirements I still need the ability to work disconnected from the storage I share. So, there are two kinds of storage's the one I share and use when I'm connected and the one I use locally when I'm not able or don't want to use the shared storage.
Working with different storage's with different people on the same data gives some challenges according to synchronization. What happens when two participants are working offline at the same document? Or what happens when I'm uploading an old version of a document?
The everlasting question “Do I currently work with the most up-to-date data..?” The publisher wants to know this because he doesn’t want to review deprecated chapters and I want to know if he already reviewed a scene where I want to change something. This is a challenging problem from a technologic point of view and can only be solved with arrangements according to the state of documents. For example I finished a chapter and sets its state to “ready for review” the publisher gets an notification and reviews that chapter and sets it’s state to “reviewed”.
- Process Flow, documents should have a state
We can go on with these capabilities for a while, but I think we got the most important ones. Let’s focus on some other things.
I didn’t focus on writing tool support and the features such a tooling needs. In my opinion it’s a personal choice, a personal flavor what works best for you. I often use notepad at the start of an article and switch to Live Writer when I’m almost finished. Other people use Words for it… so the features the word-processing tools got aren’t that important for this scenario.
Actually one feature every word-processing tool needs to support, beside typing support, is the ability to copy and paste data from within the tool and from outside the tool. I search for information and save it, I type some notes at different locations. I don't want to recreate those.
Writing tool capability:
With the tool use we also should make a distinction with a productivity index just like we did with the devices. But I can’t think of a tool which would be the 100% reference tool. So, we forget that one.
Capability Need vs. Concept Implementation.
Let’s take a look at the different implementations of the concepts [S+S, SaaS, Offline SaaS] and the capabilities I need as a writer together with the collaboration with my publisher.
I made this table with some notes in it... I think there are a lot of discussion points and I had to guess some features for Live mesh because I'm not invited to use it.
I just used a very simple scenario [business pattern] to discuss the basic capabilities I and my publisher need to do our work. It would get more and more interesting when we would start looking at custom enterprise applications, mashups with bigger and richer collaboration needs… but let’s keep it with this list for now.
Actually, we can make the conclusion that not one of the “currently implemented” concepts [SaaS, Offline SaaS and S+S] for wordprocessing and a little bit of collaboration offers all the features we need. Sharepoint is the best, with Groove attached to it, it even offers synchronization. But we can discus if that is an S+S solution [I don’t think so].
Anyway, with the typewriter and paper we only could mark the first two capabilities green [typing support and accessible storage]. So we’re making progress…