Thinking about Google Wave and Teaching

I need to preface this blog post with the fact that I have not had my chance to dig deeply into Google Wave. This is mostly a reaction to the presentation at Google I/O:


What I Like about Wave
First, lets talk about the things I like a lot about Wave.
o I idly wondered why Google never tried to buy Facebook or Twitter. Clearly Wave has the potential to eclipse both Twitter and Facebook in the long run – so if you have Wave in the labs – why pay top dollar for the thing that Wave will replace. I have this feeling that Facebook and Twitter will become the next “Myspace” – it is the “wheel of technology” and Wave is just the technology to put these services in the back burner.
o Wave is he slickest threaded discussion I have ever seen. The infinite forkability of each discussion – the ability to playback the conversation so you can see it re-evolve – the ability to have different authorization settings for different pieces of the waves – the ability to embed dang near anything anywhere in the conversation.
o A delightful merging of synchronous and asynchronous. It is part E-Mail, part Twitter and part instant message. Some groups use Instant Message and other groups use short quick E-Mail and others use Twitter. Wave makes it so that the receiver effectively picks the level of interruption for the various waves. If it leads to a “universal client” then we can more fluidly between communication modes without sending a message ilke “lets switch to IM” or “can I call you” after 4-5 quick E-Mail messages in succession.
o Pluggability of widgets – this is effectively iGoogle plus threaded discussions – this of course is to one-up Facebook – the ability to drag and drop right into the conversation is sweet and much more convenient than putting photos into Flickr and waiting for them to propagate. It makes Wave usable in work situations where folks need to do something *now* – where five minute lag is unacceptable – with Wave the lag is virtually nil. The fact that we can build our own plug ins to take advantage of this kind of “within wave interactivity” is really cool and will lead to a ton of innovations.
o An Open Protocol and API – which are revealed early and evolved with everyone watching. A key here is that building a good API is a critical engineering step and too often the hard stuff is all hidden. When the inner workings are hidden and only a minimal API is exposed – it is too easy to hide flaws by throwing hardware at something. When you expose your main APIs they need to be clean and clean APIs usually lead to scalable implementations – because the engineers cannot predict how other users will abuse the APIs – they cannot assume that the users of the APIs will be “friendly” and avoid uses of the API that might “hurt”. So the implementations under the API must be nice and solid from the beginning.
o Putting the client out in source code form. Wave has the potential to be the “one true user interface” for communication – but some experimentation will be necessary – the UI of the Wave client that they demonstrated was not at all the “one true client”. Also there will be an infinite number of specialized user interfaces that give us lots of “Dashboards” to watch Waves as they are created and grow.
o The ability to do robots is very cool – again this is something that Twittter does pretty well well but is weak in Facebook. However TwitterBots need to “poll” whereas Wave bots should be able to live “inside the Wave” and be event oriented so they should scale much better and this should allow for lots of innovation.
o Federated identity is a great feature. And hard to do.
o Making it so that Waves can be stored on our servers instead of having everything stored on Google’s servers is a big plus in situations where there are legal constraints the privacy and ownership of records of learning activity. This is *very* hard to do.
o Carefully note that Google announced XMPP support for App Engine. This will make App Engine a great way to embed oneself in Waves. Nice idea for a book. Hmmm.
o My absolute favourite feature was the one they showed at the end – the translation robot. I cannot tell you how many times I wish that Twitter auto-translated the tweets from my Barcelona pals. Often they post in English – but when they get excited about something they use Catalan – and those are the tweets I want to see! And as I make more friends (like Marcs’s cousin’s girlfriend) and my Barcelona circle of friends moves outside of technology folks – they don’t speak English – they may speak Spanish or more likely Catalan. And they can’t follow me and I can’t understand their tweets – frankly I can’t even tell the difference between Catalan and Spanish to know which translation to use… You get the picture. This has the real potential to make the world smaller – and it might get us to the point where we depend even more on technology. Imagine yourself in a bar in Barcelona meeting a lovely lady and the both of you start a two-person Wave on your iPhone and her G1 Android to get to know one another instead of talking in person. Take that Facebook!
So what is not to like?
Maybe I have just adopted the teacher way of thinking too much. As a technologist – I see all of the wonderful innovation – but as a teacher, I simply don’t get it. Wave is part E-Mail, part Instant Message, part WIki, and part threaded discussion. But if I roll all those tools together – they still are less than 10% of what I need to do to teach classes. In professional/work situations communication is symmetric and effectively random. In teaching things are asymmetric – even as much as the “experts” claim different – teachers need to take some responsibility for student success. All this newfangled teaching methodology is icing on the cake and gives learners more options as to how to learn the material – but the teacher still needs to create the contexts in which learning will happen through a combination of materials, syllabus, timing, assignments, assistance, and mentoring.
All these social network things focus on *individuals* and letting them communicate with each other. In a course there is a group and within the group people have roles. In different courses people can have very different roles and as such have different permissions, capabilities, and expectations. We call this “Authorization” and it is surfaced in systems like Sakai in structures called “Realms”. The Authorization problem is a really tough nut to crack – and in particular a tough nut to crack in a scalable and flexible manner. The Authorization code in Sakai is the most highly tuned code of all and the growth of the Authorization structures in Sakai limit overall scalability both in space and time. Authorization is always easy in the small, hard in the large, and nearly impossible in the very-large scale.
So what does this have to do with Wave? (Please remember that currently I have absolutely no idea what I am talking about – I am just guessing here) I expect that Wave will neatly ignore groups, contexts, and roles. I expect that the Wave protocols will not have any support for anything except “who can read this Wave and who can write this Wave”. Every Wave will be a new island – it will use a highly de-normalized structure so that each Wave is pretty self-contained. There will be quiet limitations on the number of users Authorization and no good way to broadly inherit Authorization from some central structure like a course roster. There will be no good way to provision a realm-like structure and then use it for a while set of Waves.
I do think that it would be possible to build this support into Wave – but it will just be low priority and never get touched. The higher priority will be to out-Facebook Facebook and out-Twitter Twitter. Which makes a lot of sense – why waste time on teaching-specific features? Well those are not really teaching-specific – they are collaboration-specific and have wide application in business contexts. Clever implementation of authorization is how software works in the corporate world effectively.
Lets think for a moment about what company is dominant in this space. Hmmm. What company has the largest installed base of software that supports both Authentication *and* Authorization? Yes – that would be Microsoft and Active Directory. Oracle might claim otherwise – but I just don’t see as many Oracle directory services in the wild as a widely used *Enterprise* service used by many applications. If Google wants to really start to touch Enterprise software – it needs a strong, rich, federated Authorization capability – and yes I know that is hard. And thinking about the teaching and learning applications of your software is a great way to start to understand Authorization.
Given that I have no data to work on, I do need to talk about a possible approach that might work out. The recent integration between IMS Learning Tools Interoperability and Google Docs which was done by Marc Alier and Jordi Piguillem Poch ended up with a really clever structure – the Google Docs did not hold the complete Authorization structure but Google Docs *did* use SAML to call back the LMS to get answers to Authorization questions. This approach has possibilities – it allows the core services to keep their structures simple and calls back the LMS or other enterprise application to render answers to Authorization questions. It has its own scalability/chatiness problems and would need clever caching, etc – but it does show a way forward.
The other positive might be in the area of robots – robots may be able to handle authorization chores and effectively handle the provisioning of roster information into emerging Waves within a course context.
Summary
It is always dangerous to write a blog post without doing a bunch of research. So this just hits on some things I guess might be flaws in Wave.
I would love it if Wave nailed all the things I mentioned – then in addition to being a great competitor to Twitter and Facebook – it would also be a great tool for teaching and learning.
So take all this with a grain of salt – If you have comments – send them to me and I will add them to the post.
Comments
Victor Maijer says that he asked about groups and one of the developers claimed that there was groups support – this is good news. Victor also said – “don’t jump the gun” and he is right – I tried to caveat all my comments.