Stop Buzzing me!
Google has rolled out Buzz to much discussion - reactions vary from "can't be bothered, turned it off" to "this is the new Twitbook killer". Here are some very unstructured thoughts on the subject.
Let me start with an observation on the two biggest players in this space. Twitter and Facebook are diametrically opposite in the way that their social links work - Twitter is asymmetrical where following someone has no implication for them. Befriending someone on Facebook on the other hand is a symmetrical relationship. (Facebook has tried to augment this, quite successfully, with the Pages feature.) These core properties also dictate the experience: Twitter serves up small slices of chatter and subscribers see updates fairly close in time to them being published. Facebook on the other hand personalizes your news feed and prioritizes items based on your past activity. (You can also choose to view the latest news from all your Facebook friends from a couple of iterations ago - see a pattern here?)
Buzz's major downside for me at the moment is that the popular posts tend to stay at the top, even if I'm not that interested in them. If you contrast to the above paragraph, you'll see how it fits right in the middle - you get a public conversation with the "buzzing" items floating up to the top. Google will probably tweak the post prioritization over time to get the signal-to-noise ratio lower (I would like a button to mute specific items for starters. Edit: ah, it's right there in the little triangle menu - silly me).
Jason Calacanis writes that "Facebook just lost half its value". I'm not convinced of that - for one, Facebook has iterated on their UI much more and is very good at catering to the use cases that people want from it, IMHO. Another is privacy concerns - for all the gaffes, Facebook does actually have working privacy controls. Google has a lot of catching up to do in pure features here. That is, if they even want to go there. My guess is that they'll stay out in the open like Twitter and sidestep the issue. Simple example: I would upload photos to Facebook that will never see Flickr or Google's Picasa data centres.
I also think that it's Twitter that may have lost half its value - in the 24h that I've had Buzz in my Gmail, I've seen much more potential to strike up a conversation in public on Buzz than I have on Twitter, which in turn tends to be quite impersonal until you have built something of a following. If Google provides an API with open access, Buzz could really become the centre of one's online universe. One potential killer feature (for technogeeks anyway) would be to aggregate ad-hoc social interactions such as comments on blog posts and forum posts from all over the internet. Blogger is already supported, all that's needed is push support in Disqus and vBulletin/phpBB . The challenge here will probably be minimizing noise - think Facebook app spam.
Related - Buzz from the corporate network. How many companies block access to the likes of Facebook? I'd guess quite a few, especially once you reach a certain size. Gmail on the other hand is often permanently open in a browser right next to the corporate Exchange mailbox. Short term advantage to Buzz here, but how long before the network policy declares it an enemy? Gmail is already on the borderline as it is with the embedded Google Talk feature.
I have turned Buzz off for the time being but I will keep revisiting it. I would have much preferred a standalone page which I can visit. As it stands, I find it very distracting in my Gmail. At the same time, I think that over time it will become a very useful tool. I suspect it will eat more into my Twitter usage than Facebook. And I should imagine that Buzz will really hit its stride once mobile support is rolled out.
Developers, developers, developers
Yes, what else, I'm referring to the infamous Steve Ballmer going crazy on stage scene. Bruce Eckel recently wrote in a blog post:
He's right, developers are important. And if you only go to Microsoft conferences, it looks like all developers are using Windows. But if you go to any other developer conference, everyone is using Macs.
Which got me thinking, WTF is up with the Windows command prompt? If there's one thing developers need, it's a solid command line interface which lets them manipulate OS primitives with the minimum of fuss. So why do I find myself installing Cygwin and puttycyg on every Windows machine that I need to get some work done with? Maybe I'm just a *nix die-hard who's too stubborn to learn something new but it works great, for the most part (what's wrong is the subject of another rant altogether).
Some will probably say that PowerShell is meant to be the answer but I disagree. It may be nice for scripted rolling out of patches and performing other sysadmin-type tasks en masse but c'mon, who wants to use that as their shell? Even if you were willing to dig deeper and learn the arcane syntax, you're still stuck in the same old DOS box "terminal" that the regular cmd.exe runs in. Even trivial operations like resizing the window or copy & paste are a misson. A Google search for "Those who don't understand UNIX are condemned to reinvent it, poorly" returns a similar rant about PowerShell as one of the top results so clearly I'm not the only one frustrated by it. It all sounds very good on paper what with the pipes on steroids and .NET integration but it somehow fails to provide a shell replacement.
Are all Windows developers hopelessly stuck somewhere deep inside the Visual Studio GUI? (The ones that haven't migrated to the Mac yet, anyway?)
Google Chrome OS
I had to do a double check if it's not April 1st. Why Chrome OS? And why not Android?
Firstly, this does not sound like another Linux distro. Yes, it might run on top of a Linux kernel and borrow some UI code, but you can think of this as a web browser that runs on the bare metal. What use is such a thing? (ASUS is already doing something similar by embedding a stripped down Linux in their motherboards. It boots in a couple of seconds and lets you browse the web and check your email.)
Google makes money off people using the Internet. More than that, they especially benefit from stuff that runs on open platforms - HTML and JavaScript as opposed to Flash and Silverlight. Hence the massive investment in technologies such as GWT and Gears that enable full-blown interactive applications inside a browser using widely understood open standards. The more people publishing useful stuff on the web, the more Google stands to benefit. The more users on the web, the more Google stands to benefit.
The Chrome OS could work quite well on a stripped down netbook (even lower spec than what we call a netbook today), touch-screen tablets, or minimalist desktop computers with specs along the lines of netbooks.
Given the recent popularity of netbooks, and Microsoft starting to push Windows 7 to OEMs instead of the ancient XP, maybe Google is hoping that some of them will jump ship and give Linux a second chance. What's going to be different this time? If you don't pretend it's a full-blown computer but rather a web-only "device", it's easier to sell it to people who already have several computers in their household.
The ultra low hardware requirements mean that the machine itself should be cheaper to produce too, so once again adding to the "it's a web appliance, not a computer" selling point. Lastly, this must have been fairly easy to do from a technical standpoint. It's simply repackaging a bunch of existing code into something usable so not a hugely risky project for Google.
If some Taiwanese manufacturer jumps on board and produces anything even remotely successful based on this software, it only further entrenches the Web as an application platform. And that, I think, is exactly what Google is hoping for. It's very much the same thinking as that behind Android, just aimed at a different segment of the hardware market.
UPDATE: Further reading - coverage from around the web:
Vista and file deletion
I've been running Windows Vista for about a year and a half (my desktop hasn't been reinstalled once), and find it to be great. But every once in a while I still encounter the ridiculously slow performance issue where file operations take forever - even simply browsing into a folder with Explorer. Here is an example of a folder deletion of a small source project with a bunch of Git history in it that Windows has been busy deleting for a good half an hour now:
A whole bunch of fixes were supposed to have been included in SP1 but it seems like some problems still remain
UPDATE: it's something to do with the folder being shared - and unsharing takes extremely long, while keeping the hard drive very busy. Possibly some kind of dodgy recursive file system metadata update? Deleting from the command line with "rmdir /s" solved the problem in the end.
Annotation-based dispatch for Spring ApplicationEvents
I created a little extension that allows you to dispatch Spring application context events in a clean and type-safe way to POJO beans. Instead of implementing the ApplicationListener interface, one can simply create a handler as follows:
public class EventListener {
@EventHandler
public void onAppEvent(MyCustomEvent event) {
// ...
}
}
The code is available as a zipped up Maven project or via Git:
git clone http://pavel.tcholakov.net/code/eventhandler-annotation.git/
