 |

 |
|
 |
 |
 |
 |
|
 |
 |
Google have announced Google Chrome OS. This is interesting on several fronts. Firstly, and most obviously, this is an open statement of war on Microsoft. It is written in the text of the announcement "We hear a lot from our users and their message is clear — computers need to get better." This device will have no MS APIs on it. None. Nada. The end of the MS lock in. But that's just a cover story. We all knew MS lost quite some time ago. They are just collecting monopoly rent on the dying market while they try and figure out what to do next. In fact, MS are doing quite interesting research into programming languages, and I expect a resurgent Microsoft within a couple of years based on their C# 4 tooling and concurrency aware environments. No, the real target is much more interesting. The key phrase of this announcement is that they are releasing a full OS stack for hardware vendors with zero per unit costs. The target here is Adobe. Either adobe ships flash player embedded for free, and loses money hand over fist on the codecs, or they don't ship flash player embedded for free, and Google serves YouTube using the HTML5 video codec and Adobe loses their market dominance in Flash to HTML5. Classical pincer move. The interesting thing is players who may wind up being casualties are the embedded device providers, specifically Nokia and Apple. The embedded device players who are asking for this from Google are the cut price device manufacturers in China, and they don't have the ability to write their own user interfaces. Nokia and Apple do. But, with this, the chinese manufacturers get to open the user interface building the the whole world of web developers. So, Adobe are going to bleed. Nokia and Apple need to smarten up their game on embedded device programming. Fun times. =)
|
 |
 |
 |
 |
|
 |
 |



 |
|
 |
 |
 |
 |
|
 |
 |
So yesterday was the Google Wave hack-a-thon at the Sydney Google HQ in Pyrmont. 80 developers in one room, all pushing and prodding at Google's newest baby. Overload central. On the up side, the error messages from the wave client are amusing as hell. At it's simplest, Google Wave is a way of maintaining an XML document, with annotated sections, synchronised in the face of updates from globally distributed clients. On this alone, Google Wave is an amazing piece of technology. The science behind this technological feat goes by the name Operational Transformation, and appears to be a reasonably active area of scientific inquiry. Google's implementation, understandably, optimises for server load and for the fact that it implicitly rate limits updates from the clients. There are a number of challenges here for the Google Wave team. Firstly, when, and how, to get buy in from the software development community at large to help drive their vision forward. There was obvious resistance from the Google Wave team to open sourcing their technology at this point, even after repeated comments from Greg Wilkins. I understand both the Google Wave team's point of view - they know better than anyone that the technology is currently very alpha, and they have a very long list of modifications they want to make before they open the doors. On the flip side, I understand Greg's point of view. Greg stated that the open source community at large will help drive a project forward, even if it is manifestly unfinished. By the sound of it, the big thing that Greg learned from open sourcing his software is that the open source community at large will pick up good software and run with it, often in directions completely unthought of by the originators of said software. I think this is the lesson that the Google Wave team needs to learn, that what we want out of Google Wave, and what the Google Wave team think we want are very different. I'm looking forward to the first release of software from the team - the Operation Transform library they are using on both the client and the server to maintain the global document. This release, like AJAX before it, is going to change how we build software. In the age old CGI days, the unit of computation was the form submission. This meant that documents, and forms full of instructions, were the standard fare on the internet. With the Appearance of AJAX, the unit of submission was suddenly the field modification. This changed the face of web design, now pages could be interactive. Now, the unit of submission for web pages is now the key press. This is going to change how we interact with websites, and how we build the back end of websites. The current best practice of sharded MySQL instances plus terabytes of memcache won't survive this change, nor will hand crafted javascript. OT requires that the front ends now be engineered with the same level of software engineering as has been the standard in the backends. Currently we have two front end platforms that this is capable in, the Google Web Toolkit, which the Wave team are using, and Flex/Actionscript. I personally think that Flex + Flash Player 10 is actually a better platform currently. Flash Player 10 has the advantage of a professional text layout engine in the form of FTE, and it has the capability to run constantly open sockets to the backend server farm. Flash's greatest weakness, however, is that the tooling to use Flex/AS4 is non free, and thus not well understood by the very java engineers that are building out this revolution in back end infrastructure. This is GWT's strength - as it is aimed squarely at he Eclipse wielding Java engineers. However, GWT's weakness is that this new realm requires a much more solid foundation than the currently underspecified ContentEditable area that forms the basis of all current web page rich text editors. I think in the short term that flash will take the lead, but the long game will again be dominated by the web browsers, as they again successfully play catch up with flash, just as they are currently attempting to do with the HTML5 canvas and video tags.
|
 |
 |
 |
 |
|
 |
 |



 |
|
 |
 |
 |
 |
|
 |
 |
So, my phone has been flaky for a while. It got really bad on the weekend, it was going white screen, screaching, and then hitting a watch dog time out, and resetting. Annoying. Especially annoying while entering an sms.
I got it fixed today. New motherboard. On the upside, it has a newer revision of the operating system. The text entry prediction system is smarter, well less stupid. However, the downsides hurt. First off, all my data is gone. Phone numbers, photos, etc. And probably worse, it is now running a default moto theme instead of the one vodafone installed.
It's butt ugly. The best theme i could find on it has a selection of icons in neon pink, neon green, canary yellow, and the "matching" background image is mustard yellow. The worst instance of programmer art I've ever seen. Oh, and gradients. And fat rounded corners on the bottom of the display, but not on the top. Consistency at it's finest.
Yes, my phone now makes me feel queasy.
|
 |
 |
 |
 |
|
 |
 |


 |
|
 |
 |
 |
 |
|
 |
 |
We've had the traditional media cycle around the release of Google Wave. The initial oh my god this is going to change the world articles, then a bunch of techs have dug into the released doco and realised that google wave is under specified, and now we have Ray Ozzie of MS and Groove fame coming out and saying that Google Wave is anti-web, and is thus going to fail.
Responding to all of that in reverse order goes something like this. Ray Ozzie's criticism of Wave isn't the traditional inter vendor slanging match, it's something different. Wave is damn close to Ray's heart, he was at the center of Lotus Notes, and then Groove. Wave is effectively Lotus Notes, web scale. Ray is reacting emotionally to the failure of Notes and Groove to be accepted by the web at large.
As to Wave being under specified, yes it is. Google is following it's internal development model of fail fast. Get it out, and find the mistakes by having lots of people push it around. Following the mailing lists, the developers know there are issues here, that the docs are inconsistent and need more diagrams. They are responding to criticism and working to incorporate everything that is being picked up. Traditional trial by fire.
As to the fan boyish Wave will change the world stuff? I'll be honest, any collaboration system that can be used by fifty engineers to come to agreement on anything is a massive step up from where we are right now. And from what I can see, it is already succeeding on that level. This step of pulling in external developers to play with the platform is the next move in figuring out the user interface, and finding out what direction people want to take this technology. I expect it is going to be a roller coaster ride for the Google Wave team.
The reason I'm excited about Wave has nothing to do with the product itself. Some quick history is in order. When Google released it's Maps interface back in 2006, they changed the world. Suddenly clients expected web pages to be interactive. Being able to drag a map surface around, zoom in and out, all without page reloads was now the new bar. This flowed throughout the rest of the industry, and made AJAX a standard required skill, even for back water enterprise developers like myself.
What the release of Wave does is step the bar up again. Now clients are going to expect to be able to do collaborative form fill in their corporate applications, because Google have shown that it can be done. This is going to impact everyone from FaceBook to Adobe. Suddenly it's not just the web page that we expect to be interactive, it's the whole application. We now expect to interact with other people in real time through the web.
So to Ray Ozzie's claim that Wave is not of the Web, I totally agree, it's not. Wave is not respecting the constraints of HTTP's page reload model. It is showing a new world where engineers can build complex client side web applications and have real time full duplex communications across the web. This is where we are going, and it's going to change everything.
|
 |
 |
 |
 |
|
 |
 |

|
 |
|
 |