Web
Another distraction has been Facebook. Very popular in London, it does draw a rather neat feed of all your friends activities. It also has a nice API that allows you to pull in external content, such as Twitter or Flickr. However, there's no way they're letting you pull content out easily.
A good example is the news feed from your friends¹ - it's a perfect candidate for RSS. But no, you're stuck with visiting their site. And their messaging service is just as bad: while I have a perfectly good IMAP inbox they insist I use the parallel one on their site. It doesn't help that their e-mail notifications of new items are rubbish.
Likewise, you can't replace things - Twitter and Flickr sit alongside their photo and status apps - there's no way to use something more open.
Now they've a critical mass they probably don't really care. It's all very trendy, people are going to use it anyway. And other more reluctant people will get dragged along by the tide. The downside is that once something new comes along people have no choice but to jump - rather than making access to data open and allowing users to pull an environment together they leave users with a simple choice: buy-in, or don't. Great when you're on top but as MySpace have found it won't save you from the competition.
¹ Is anyone else driven mad by people you've never encountered before wanting confirmation as friends? Or is this a cultural thing?
The magic of hypertext was the ability to suddenly make a glorious, if somewhat unstructured, whole from a mountain of disconnected data. And so we end up with the web, and the ability to lose hours bouncing in to Wikipedia and ending up God knows where.
This is a much nicer approach than the old world, with its disconnected computers and systems, each man being but an island. However, I can't but notice a nasty slide back to this world, only this time we'll be stranded on different platforms.
The much-hyped 'Web 2.0' is the worst offender. Google Reader for instance - fantastic application, but your data ends up in a silo. Newsgator have a better idea here with the ability to synchronise data, but lack a Linux client and have but a rather basic web client. And the social networking sites take this to extremes - I have a presence on the web. Here. Why, should I want to join MySpace (heaven forfend) or Facebook (which seems suddenly very trendy), do I need to create another one?
Would a true networking site not allow me to draw my disparate services together: mix in my homepage feeds with my LinkedIn profile, my IMAP e-mail and my Flickr photos? Let me manage my contacts via iSync and track down my friends via this data source? Let me read my news via the best tool, whether I'm on the web, my computer or my phone?
There is some movement: Facebook have their new API but it is still rooted on their platform - you draw data in to them, not out. Flickr are fairly open, to their credit. Google, surprisingly, aren't - POP mail in GMail looses you your valuable filing metadata, and you are completely buggered with respect to Google Reader.
I guess in a way in all comes back to the Semantic Web - if you can exchange data freely then all sort of interesting things will pop up. While you silo it a huge amount of energy is wasted on duplication. And that's bad for all involved.
(We apologise for the sloppy writing in this post. It's that sort of day...)
There are two big problems with online applications. One is a limited UI - you do not have the rich controls and interoperability that you do with desktop applications. The other is connectivity - you need an internet connection, and given there's no connectivity on the Tube or most flights this can make many applications useless during such periods of time. Google have today gone someway towards solving the latter with Gears.
Gears offers two things that previously you'd have been looking at something like Apollo or Silverlight to provide - threading (rather than a single JS thread) and offline data storage. Hence appropriately enabled application, like the new version of Google Reader, can be toggled into an offline mode and used in the absence of connectivity. Also, Gears is really cross-platform and cross-browser, with IE, Firefox, Safari and Opera support promised, and it works very nicely on my Linux box at work (unlike Silverlight).
It also fires a salvo in the direction of Microsoft, clearly stating Google's desire to provide an application platform that threatens their core business. Further, once Google Docs is enabled it suddenly becomes rather a greater threat. Interesting times.
Now if they'd only release a synchronisation API for Reader I'd be chuffed silly. While Reader is a superb, quite possibly the best, web feed reader, it doesn't yet match up to NetNewsWire. Unfortunately that leaves me stuck using NewsGator as a synchronisation server, which has a rubbish web interface and no client whatsoever for Linux.
Microsoft have just given the somewhat badly named WPF/E the shiny new label of 'Silverlight'. What's more, they've actually made it interesting.
WPF/E was a flash competitor built around XAML, Microsoft's XML format for UI specification. Interesting, yet not really adding much more than you can already get in Flash or Apollo. Along with the new nomenclature, they've now added an embedded version of the CLR, the VM behind .NET. What this means is you should get a lot more power, support for more languages and a lot more speed.
The downsides? Cross-platform means Windows, Mac OS X and Windows Mobile (you can download beta releases of the first two). There's no Linux support, no Symbian support, no Palm support - indeed, cross-platform is provided purely by Mac support. And development tools are Windows only. Also, those who remember Internet Explorer for the Mac, HP/UX and Solaris will remember Microsoft's old habit of professing interoperability until they've won the market, then dropping it. Only time will tell if they've left this behind for the good of all involved.
On the upside, certain parts have been released under BSD-style licences, so one can only hope that the good people of Mono will fill the gap. One can even dream and imagine Microsoft may fill it - although history does not offer much hope on this score.
One can't help but think back to the days of Netscape and Constellation - make the desktop obsolete in favour of the web. We know have the raw power and enough bandwidth to make this a reality for many users, so the technology used to do this is an extremely important area in which to make one's mark. Cue the reprise of the 'browser wars', Microsoft vs. Adobe this time. May you live in interesting times indeed...
Shortly after repatriated to the UK I purchased a Linksys WAG354G. This is a Linux based 802.11B/G ADSL router in an attractively small package. There were, however, a few drawbacks: it ran somewhat on the warm size, the UI (and the modem) were a touch slow, stability left a little to be desired and it had no external aerial, so WiFi reception was rubbish. And it was list last one that made me snap after 18 months.
Our flat has the phone sockets in the oddest places - one in the hall, between the stairs and three doors; and one upstairs, outside the bedroom door. This second lends itself to extension, and so the router sits in the bedroom, upstairs. Hence it passes through a brick wall, the root and an internal wall before reaching the living room at the far extent of the ground floor. The Wii sits in the far corner and worked as long as it was angled in just the right way. However, Polly's PowerBook would often drop off and give hell when it came to reconnecting. Given the PowerBook is one big faraday cage this isn't too surprising, but my MBP was also teetering on the edge. And so I decided action was needed.
The action in question ended up being the WAG200G. I wasn't completely convinced on another Linksys, but the reviews were good and at below £40 not too much could go wrong. Nor did it.
It's really a bug-fixed WAG354G. It runs cool, the UI is fast and doesn't use NTLM anymore (hence it works with Safari), the throughput seems faster and our WiFi throughput has jumped from 11Mbps to 54. In short, smashing.
So, problem solved. The only decide is that I now have not only a spare ADSL modem gathering dust, but the WAG354G as well. The trials of life...
One has to question if the online world is an exercise in homogeneity or individuality - is the consistent (and often unwisely unguarded) content of MySpace a quest for individual expression or the start of the rise of the hive mind, sentient internet, world domination and so on? New Scientist have chimed in this week with a sociologist voting on collectiveness - but without community. It's an interest take - a social network where the collective encourages expression over introspection, but nevertheless doesn't provide a group focus and intent. And it does make one wonder what the point of community is if the whole point of the community is to parade the individuals within.
Or maybe I've had too much tea and am talking bollocks...
In any case I can hardly talk. I've had a vanity site for years, well before they were called 'blogs'. My only saving grace comes from my introversion - I've no real interest in communities like MySpace as I've better ways of keeping in touch with those I know and no great interest in the deepest thoughts of those I don't. And on this line it's a great annoyance to me that MSN Messenger won't integrate with private or even third party sites, only Windows Live Spaces - I'd love to let my friends see new photos and the like but I'm not going to be moving services for the privilege. Not that this concept has ever troubled Microsoft...
Sometimes one wonders if release control should be beaten into some people with a stick. Drupal 4.7.3 breaks the MoveableType interface. Bless them.
At least I'm not the only one being driven mad. That last link has a typical example of 'we-don't-care' when someone replies with a link to the diff file. Yes, these people are donating their time for free but really, if you're going to do something, do it properly. And for the love of God, don't break point releases - save that for minor and major revisions.
Yes, Flickr now has geo-tagging (i.e. the ability to specify where your photos were taken by way of a map). The problem is that this worldwide in the same way the World Series is - yes, US only. It's using Yahoo Maps, and unfortunately out of the way places like Paris and London are represented by a couple of squiggly lines and some low resolution satellite imagery. Hence geo-tagging the back streets of London becomes an exercise in frustration.
This is in marked contrast to the excellent maps of both via Google Maps. Yahoo please take note: this is a fine example of integrating with the worst service just for corporate warm-and-fuzzies. Mind, given Google still haven't managed a mobile version for the UK and Apple still think 'English' is equal to 'American' it's hardly a bias particular to Yahoo.
At last I have an excuse for my tardiness in updating this so-called blog. I've spent the last two weeks avoid trivial pursuits like games and reading my book on the politics of Africa - instead I've been programming, playing with the MVC framework WebWork 2.
Why WebWork 2? Well, I've got a task to complete and I've significant expertise in Java. WebWork 2 is lined up as the basis for Struts 2, which is quite an endorsement. And while Ruby on Rails is all very neat, so in IntelliJ 6.0 (beta). So I've been mocking up a simple user management system, with the now-standard toys like adding list items without the pain of a page reload.
What's good? It's a streamlined Struts. While many of the concepts remain the same you have much more control over the workflow, more options in how the code is structured and lots more done by convention over configuration.
What's not so good? It uses the OGNL stack so it has custom tags. It doesn't make indexed properties easy, something Struts mastered in 2003. And the documentation is spotty - there are lots of gaps and quite a few contradictory areas. And given the emphasis on convention over configuration it can lead to some quite mysterious behaviour.
It is certainly a framework with a lot of promise though. My suggestions would be simple support for indexed properties - just why do I need to generate indices? - and general robustness (the validators don't handle null items in lists for instance). And, of course, clear, in-depth and accurate documentation. Maybe these things will come as part of Struts 2.0. Or I could even add them: the joys of open source. But, of course, for the free time to do it.
I just checked the current timeline for my upgrade from 2mbps to 8mpbs:
We currently estimate that we will upgrade your line in the week commencing Monday, January 01, 2007.
Yes, six months from now. Why?
We would love to upgrade you sooner; however, our supplier, BT, have limited the amount of upgrades we can complete every week.
Proof that local loop un-bundling won't prevent your line supplier from being a wanker.