Skip to main content

The difference between and google wave

I was recently asked this question by Juliette Powell, and thought it would be the great subject for a detailed blog answer as provided below:

From an architectural view , the differences lie in approach. Where as, Google is tacking on real time or near real time collaboration to their existing messaging infrastructure in the form of Google Wave; Numeroom ties a set of collaboration functions into a secure package that is useful to both individual users AND to businesses.

I designed it noticing the trend in the proliferating collaboration options about 3 years ago. Web 2.0 technology (XmlHttpRequest object to the clued in) enabled real time experiences that matched previous stand alone software but enabled user interaction that wasn't possible using decentralized stand alone software. The emergence of platforms as the new buzzword and engine behind a given service gave rise to many collaboration options. Meebo, Userplane, Campfire, Parachat, MeGlobe, LivePerson , Provide Support...etc. I also saw the services moving toward offering specific options but not others due to inherent strengths and weaknesses in the chosen underlying platforms and due to business choices of the management teams for the companies. Case in point:

Meebo - Goal, web based group chat and IM, link sharing to make money from ad revenue.

Userplane - Goal, web based group chat and IM, flash video and audio to make money from ad revenue and through dedicated installations and integrations.

Campfire - Goal, secure web based group chat and collaborative file sharing for small business collaboration, integrates with other 37Signals products like BaseCamp for project management but why are their two products for this?

MeGlobe - Goal, free ad supported attempt at real time translated chat.

ProvideSupport - Goal, Dedicated customer service dashboard for small businesses to enable customer support on their live web pages using a dispersed team of agents.

This snapshot of providers is only a small set of what is out there, each providing certain collaboration features but not others. As a proof of concept to the AgilEntity platform (which I am keeping proprietary rather than open source unlike all the other platforms) I decided that should answer all the service options listed above and add what is missing in all of them. Namely the real time following and notification that makes Facebook and microblogging services like Twitter so addictive and useful. Adding this functionality also opened up a new landscape of potential metrics with regards to the discussions that are occurring inside chat rooms and how those discussions evolve. The "following" features to which I refer are:

  • Public,Private, Inactive Rooms -- Users can control who sees their room, public rooms are open to the world, private rooms open to invitation (email, ip, username) and inactive rooms (invisible to numeroom directory) open to contacts only when a pass is enabled.
  • "Jump To" connections -- Browse the global conference hall categories, find rooms of interest and generate a "jump to" link to the room instantly. Subsequently the room is available for access in a jump to section of the contacts display area.
  • dynamic categories -- Unlike all over chat services that force you to stay in a particular category once it is created, numerooms can be easily switched from one category to the next and the room is automatically then available for searches in the new category.
  • dynamic file sharing -- Files can be dropped into rooms, pulled off rooms and added as attachments to offline mail (called IMail on numeroom) and TimeLine feed notifications. Files can even be sent directly to the tables of users that allow this T2TFT: Table to Table file transfers.
  • broadcasting -- The jump to , file adding and room category shifting actions can trigger broadcasts to all the contacts of the room owner. The contacts can selectively choose to recieve these messages in the form of notification emails enabling a new form of real time awareness to how people are collaborating that is user controlled.
  • tuning -- Since broadcasting can enable the creation of many events for actions performed by contacts, tuning allows specific contacts to be "listened" to, options exist to enable this "tune set" while online or offline. Much like the third party applications provided by Twitter, tune sets allow Users to filter the broadcasts they recieve to only recieve the ones most salient to their collaboration needs at the time.

These 5 abilities open a new paradigm in real time collaboration that I alway felt was missing and that enables a brand new ability to mine the interactions of users in real time. Where Twitter allows filtering of the trends occuring in the Zeitgeist from the end users perspective, the "following" capabilities of numeroom enable trends in the zeitgeist to be monitored both by the end users as they desire and as well by the Numeroom ecosystem itself. For example, in classic chat room services (all those mentioned in the listing above and all the previous stand alone installed versions) the only way to know where a friend who leaves a room has gone was to ask them (if they were on your buddy list) often as has been discovered in Facebook and Twitter, people want to anonymously follow their friends through a content exploration. They do this by tuning into what those friends are posting about at any given moment (say using Twitter and the various third party filtering tools) , the same is possible on Facebook by adjustement of ones Wall feed, however a similar function was never added to real time chat until The main difficulty lay in architecture, following is a "chirp" intensive function that many architectures can not handle at scale. The AgilEntity platform that is built on was designed for geographic scale, enabling distributed operation of running nodes making following a reality for the already chirp heavy real time collaboration function.

So where Google Wave allows the flowering of conversations around particular topics of interest to small groups of interacting individuals related by email (all on googles gmail service at first) Numeroom starts with conversation and then reveals an ability for users to discover and follow other individuals without constraint to email address today. The final and probably the biggest difference between the two however lies in how the Numeroom solution enabled by the underlying AgilEntity platform, enables the management of any number of Numeroom ecosystems for licensing by small to medium sized businesses. Each licensed portal operates as its own universe of Numeroom functions, separate from the commercial site. Thus a business can license one of these options and immediately:

  1. create its own Users
  2. Delegate permissions to created users or up-level to the Numeroom system.
  3. manage their interactions in accordance with custom designed workflow tools
  4. manage and create their own numerooms
  5. brand their site portal
  6. make their portal public or private to the internet
  7. create its own categories
  8. manage security for portal access such as the use of Captcha's and enabling automatic registration.
  9. Manage Site specific logs and system data.
  10. Monitor changes to the lifecycle of any managed entity: Users, categories, workflows..etc. through the use of real time notifications.

Thus, the numeroom ecosystem reveals itself to be designed much like a series of nested dolls, with self similar symmetry at all scales. Exposing this collaboration infrastructure to businesses allows them to keep the metrics gathered over the collaboration interactions occuring in their business private, and that level of privacy to collaboration interactions is the exact opposite of what Google wants by making Google Wave available late this year. They rely on the data and metrics gathered so that they can then better target advertisements for their other properties.
Thus a key difference in philosophy lies in the fact that Google banks on the open access to user data and interaction metrics for all Users, Numeroom only does it for the free and individual plan licensing Users of the service allowing Users that license the secure site plan options to retain sole knowledge of the following metrics of their private business.


dan said…
Hi David, my name's Dan Walmsley -- I'm actually a friend of Juliette's (crazy world ;-) ).

Thanks for clarifying all those distinctions. However, I would like to make some corrections regarding Google's platform though (know thine enemy?).

Firstly, although the login _looks_ like an email address, it's actually a Jabber address and not tied to email in any way. The fact that they're the same is a convenience provided by some technology providers that host both Email and Jabber (XMPP) accounts.

Secondly, Google has opened the protocol spec, and anybody in the world can run a Wave server. Servers that support the Wave protocol allow their users to interact in a federated way - no centralisation whatsoever, except for the notion that only one server can be considered the canonical "Wave host" for one wave.

Because anybody can host a wave server and decide which servers they federate with, many of the features of numeroom that you highlighted come for free - creating your own users, delegating permissions, custom workflow, branding, etc etc.

In fact, it sounds like what you're building would make a fantastic commercial Wave server if you decided to provide adapters; essentially giving corporations a nice GUI they can use to manage collaboration inside an organisation, and allow such collaboration to extend beyond the corporate boundary as they see fit.

As far as the difference in philosophy is concerned (Google banking on access to all users' data, Numeroom allowing private rooms), that distinction does not exist as far as Google Wave is concerned. You could run it completely privately today with great ease.

What's more, within a single wave users can decided whether individual actions on the wave are public and private. Private wavelets within a single wave between users on the same server does not leak that data beyond the server in any way.

Finally, since Wave is federated it intrinsically scales to the whole web (well, I'm sure there are wrinkles but Jabber is tried and tested). This is the advantage of basing the system on an open protocol that is already pervasively deployed.

Anyhoo, thanks for the clarification. It sounds like what you've built is pretty cool.
David said…
Hi Dan, thanks for the clarifications. You provided some details that I haven't seen in the many descriptions of the technology when it was announced the other week, you wouldn't happen to be a googler would you?

Yes, I realize there is a great deal of cross over in the "total collaboration" approaches that enables and that provided by Google wave. Using standard based protocols was a smart way for google to quickly answer the questions of collaboration that the new wave approach attempts to address.

However, standards and open servers come with their own set of drawbacks. What happens as the wave servers underlying open components are updated or modified by their controlling bodies, will google release updates and will these make existing servers incompatible with one another?

This highlights just one of the types of issues that small to medium sized businesses and in particular individual users are not interested in dealing with. There is a point where the cost (of all types) of implementing such a solution out weigh the benefits and using a third party option with everything already done, makes more sense.

That said, (which is already built and in live beta as of last Monday) indeed does allow multi-tenant access to its services as described in the original post above. I anticipated that the big dogs (google..etc) would soon be moving in this direction, so when I saw the announcement of Wave , my first thought was " I am on the right frontier." ;)

I don't see Google as my "enemy" as you intimated in your post, I think there is a great deal of open territory and various segments of countless verticals will chose to either host their own collaboration server (which we can christen this new type of software) in the form of an AgilEntity cluster (my baby) providing access as a service or a Google Wave Server hosted on site or also gained through access of a third party using the server.

I took a look at a few of the technology videos on youtube for Google Wave and was quite impressed with their asynchronous real time transaction scheme ...which is eerily similar to an algorithm I created and have had patent pending for 2 years now. I look forward to seeing the Wave product when it hits the market in earnest later this year but for now, I am doing my best to address the specific needs of my customers until Google comes in to crash the party. ;)

Thanks for stopping by and providing corrected information on Wave.
David said…
Dan, a bit more on the differences between and Google Wave can be discovered by watching the screencasts available at the main site but the chief architectural differences reside in the underlying AgilEntity platform.

A few key tutorials highlight functions that Google Wave is not designed to do. For example, though Users may be able to be created in Google Wave, does the permissions system enable total system visibility? AgilEntity does this using action oriented workflows and a fine grained permissions system, described in a white paper that was published as a blog a few months ago:

The workflow system can best be seen by watching an example of how it is used in a business process (one related to the site templates themselves) in the following screen casts:

Additionally, the AgilEntity platform was designed to perform a key symmetrical function, to allow the system to manage the system. The management of every element of the platform occurs within the constructs of the platform. Every image in the UI, every UI template, all the configuration settings for the physical computers that run the distributed cluster nodes, even the tables on the datastore associated with managed types are managed in the system itself.

Watch this tutorial set to see this capability in action;

Finally, the web site is a commercial "proof of concept" application that I designed in the last 2 years simply to highlight the powerful development capabilities of the underlying AgilEntity platform. The fact that such a site, complete with many features not available any where (Google's Wave has still not hit shore ;)) could be built by one person in that time is a testament to the power of the underlying platform. That said, the collaboration application is one of many verticals that will be plugged into the platform and immediately made available to end users in the form of new services. A more salient comparison could be made to and their platform as a service options. Feel free to explore the site by starting a free beta account while the site is in that mode and thanks again for stopping by.

Popular posts from this blog

Engineers versus Programmers

I have found as more non formally trained people enter the coding space, the quality of code that results varies in an interesting way.

The formalities of learning to code in a structured course at University involve often strong focus on "correctness" and efficiency in the form of big O representations for the algorithms created.

Much less focus tends to be placed on what I'll call practical programming, which is the type of code that engineers (note I didn't use "programmers" on purpose) must learn to write.

Programmers are what Universities create, students that can take a defined development environment and within in write an algorithm for computing some sequence or traversing a tree or encoding and decoding a string. Efficiency and invariant rules are guiding development missions. Execution time for creating the solution is often a week or more depending on the professor and their style of teaching code and giving out problems. This type of coding is devo…

Highly targeted Cpg vaccine immunotherapy for a range of cancer


This will surely go down as a seminal advance in cancer therapy. It reads like magic:

So this new approach looks for the specific proteins that are associated with a given tumors resistance to attack by the body's T cells, it then adjusts those T cells to be hyper sensitive to the specific oncogenic proteins targeted. These cells become essentially The Terminator​ T cells in the specific tumor AND have the multiplied effect of traveling along the immune pathway of spreading that the cancer many have metastasized. This is huge squared because it means you can essentially use targeting one tumor to identify and eliminate distal tumors that you many not even realize exist.

This allows the therapy for treating cancer to, for the first time; end the "wack a mole" problem that has frustrated traditional shot gun methods of treatment involving radiation and chemotherapy ...which by their nature unfortunately damage parts of the body that are not cancer laden but …

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache
The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform certain actions. Also, the…