While I never was diagnosed with ADHD, my approach to technology these days have felt a little bit like there is some sort of attention deficit disorder. I’ve found myself hoping from bright shiny tool to the next. As I started playing with yet another platform last night, I thought I would bring you along on my latest technological ramblings.
Screenshot of Ubuntu Laptop Desktop with QWaveClient running in X86 mode of an emulated N900 This screenshot is being uploaded via the same emulation
Yesterday, I wrote a blog post about setting up a development environment for a Nokia N900. I spent most of the day with family, enjoying some rough weather out on Cape Cod. However, it was windy and rainy outside and I did find some time to explore a little bit more in my effort to build QWaveClient for the Nokia N900.
Warning: The following content is very geeky. If you’re not a geek, skip to one of my other articles.
My blog post yesterday Looking for Google Wave Invites? generated about three times as much traffic as a typical blog post does for me on its first day. It appears as if everyone is searching for Google Wave invites. Over on one of the mailing lists I’m on, there has been a lively discussion. One person posted information about a wave they were on and others asked to join the wave or to get Wave invites. Others spoke derogatorily of Google Wave and all the hype. One went so far as to suggest that Google was creating a new digital divide between those that have been invited to Google Wave and those that have not been.
I have a fairly different view and expressed some of it in a response to the list. I’m expanding that response into this blog post.
The 'new' digital divide
Google Wave is still in preview. That's Google speak for 'not ready for beta testing'. It is sort of like some late stage alpha testing. They are being wise in attempting to limit the use to people who are going to try it for alpha testing, find bug, develop use cases, etc. Many software firms do this for many products. It does produce a divide, but it is not new.
It goes back to the old technology adoption lifecycle or technology diffusion model, mostly based on work in the 50s. The first people to use technology are the innovators. Rogers suggests that this is about 2.5% of the population. With around 227 million Internet users in the United States alone, that would mean that there are about 5.7 million Innovators. I don't know how many users Google wants during its preview testing, but I suspect it is less than 5.7 million in the United States.
So, we have a limited resource within a specific cohort. Google attempts to find those in the cohort that will be most beneficial to their testing.
Innovators are often typically champions for the products they are testing. They are innovators because they like to experiment with the new and shiny and talk with friends about what they are doing. They also like to find other innovators to share their experiences with, hence referencing back to some of the discovery issues the mailing list. The problem is that with the way we are all connected these days, innovators often have a lot of followers on various social networks and everyone piles on fighting for a limited resource they might not even understand.
This leads to a backlash by people who have not been invited, and especially by members of later cohorts that have not been invited. It often rings of sour grapes.
One member of the mailing list said that she was not really seeing what Google Wave does that existing tools don't already do. I have to agree with her on that, with a couple of caveats. She went on to say that the real potential benefit of Google Wave being a convergent technology might turn out to be its best feature. Personally, it is this convergence that I find so interesting and is the reason I've been trying to find people that are interested in collaborating between Google Wave and other forms of computer mediated communication (CMC).
However, this gets to another part of the innovators. Some innovators are the geeks, the folks setting up and hacking FedOne servers. Other innovators are those that develop use cases. How could Google Wave interoperate with other CMC systems? What are the implications of this for other CMC systems? How could Google Wave be used to facilitate education? If I had any invites, I would be inviting people that are doing serious testing of the limits of the technology or are seriously thinking about use cases including the sort of questions I posed above. Unfortunately, I don't have any invites to the Google Wave Preview server.
Will the convergence that Google is trying achieve with Wave end up being the best thing since sliced bread? It is too early to tell. Instead it is time for innovators to explore if that is possible. One thing that I like is that it is a fairly open standard. The communications is done via extension to XMPP servers, making it easier to create additional interoperation.
There are a couple of areas of convergence that I am particularly interested in. The first is convergence of content. When I write this blog post, it will propagate across the Internet. Twitterfeed will check the RSS feed post the title and a link to Twitter and Identi.ca. Friendfeed will pick it up from RSS, Twitter and Identi.ca. Facebook will pick up to the RSS, Tweets, and Friendfeed. It probably gets picked up by several other sites via RSS as well. For a graphical image of how complicated this can become, check the Social Media Map that I created over a year ago.
On many of these sites, people comment. People reply to my tweets. They comment on the tweet as it becomes a status message on Facebook. They comment on the blog post as it becomes a note on Facebook, and so on. It would be very nice if all of this could be consolidated into a single wave where different comments from different systems could converge and be looked at together.
I’ve written in the past about how I wished I had a good Social Network Contact Management System and I’ve written about trying to build one using Semantic Mediawiki. To the extent that Google Wave can interoperate and bring in my blog posts and the comments from various systems, my Tweets, my IMs, my status updates and Facebook, and all the conversations I have around them, I then have the basis for my much sought after Social network Contact Management System.
To make this work properly, I would want to be able to have my contacts have not only their contact information on the Google Wave Preview, but also their contact information; their wave addresses on various federated wave servers, their various email addresses, their various microblogging addresses like on Twitter or identi.ca, their IM addresses, and with the possibility of Google Voice integration and Asterisk integration, their phone numbers.
With that, each conversation that they participate in would be a wave, and I could search for all of my contacts with any of these people with a simple search on Wave. Perhaps the people that need to worry most about Google Wave are companies like Salesforce.
Other Wave Servers
All of this leads back to my current key interest. I've setup my own FedOne Wave Server. I've federated it with the Google Wave Sandbox server. A few other people have done the same thing. Right now, it is very difficult to do and the client for these federated servers, with the exception for the Google Wave Sandbox server, is very limited. I am glad that one person from the mailing list recently tested my wave server, and others are welcome to do the same thing. Just remember it is a very limited client and the user experience is much different that with Google's Wave Preview server or their Wave Sandbox server.
So, those are my additional thoughts on Wave, other forms of CMC, and perhaps even a little bit on education. Thoughts?
It seems like everywhere I turn, there is someone looking for a Google Wave Invite. On the other hand, I now have Wave accounts on so many different machines, it is hard to keep track of them. How is this so? Simple, I’m testing lots of different new features for Waves.
With that, let me talk about where you can set up a Wave account. First, there is my own machine, Orient Lodge. You need to have ssh access on your machine to access it. If you use Windows, you can download Cygwin or Putty and get ssh access that way. If you use Mac or Linux, you should be able to go to a terminal window and enter the ssh command. If you want an account on my machine, send me a message and I’ll give you an account and details on how to use it. It is worth noting that it is a text based client that is in test mode, primarily for testing federation. Waves and blips may disappear when I perform updates, which is fairly frequent, and the interface, well, let’s just say it needs a lot of work.
A few other people have connected to my Wave server, mostly to test federation as well as to consider how federation might work with other systems like Second Life, Opensim, or statusnet.
Another site that I really like is Danopia’s Ruby on Sails. This is a Ruby on Rails implementation of a Google Wave client. It seems to be down more than it is up. However, it is a nice client, and Ruby on Rails seems to be a great platform. They are busy trying to get federation up and running. When that happens, my server will federate with Ruby on Sails. I may also try to add the Ruby on Sails client on my machine at some point.
The other site that anyone can use that looks really promising is PyGowave. This is a Python client for Google Wave. Like Ruby on Sails, anyone can connect and create waves. Unlike Ruby on Sails, this server seems to remain up constantly. However, it does not appear to do anything with federation, and from what I’ve read so far, federation does not seem to be supported and adding federation support may be a challenge. So, you won’t be able to connect to it from my server of Danopia’s server.
Wave seems to be changing very rapidly as we speak, so this information could well be out of date before you know it. Are you experimenting with Wave? How’s it going? Got any fun clients? Want to federate? Let me know.