The Amazing Adventures of Me

The problem with Google

by Jon on Dec.30, 2009, under Tech

Generally speaking, I like Google and I like Google products. I like the web, and I’m glad there’s a company such as Google who are so invested in it as a platform, and determined to push it forward. And yet, sometimes I’m baffled by Google’s seemingly half-hearted commitment to developing some of their flagship products, especially when it seems to be hurting the arrival of the web-centric world they want and need.

Google Docs is, I think, a particularly standout example. It was launched in late 2006 and initially consisted of a web-based word processor and spreadsheet that had been acquired from a couple of startups. This, it appeared, was Google’s big play to break Microsoft’s Windows/Office symbiotic stranglehold, and prove that the web was a viable platform that could compete with the desktop. The future looked very interesting indeed. And then… what happened? Presentations were added mid-2007, again taken from a startup, and a form builder was added somewhere along the way. New features and enhancements occasionally trickled out, but major improvements and game-changing innovations just never occurred. It’s telling that in the wikipedia article on Google Docs the two most recent items in the history section are:

On September 17, 2007, Google released their presentation program product for Google Docs.

On July 6th, 2009, Google announced on their official blog that Google Docs along with other Google Apps would be taken out of beta.

That’s it. In the two years after adding presentations, the only change anybody thought worthy of putting into Wikipedia was that Google had dropped the beta label. And this was something they did on most of their products as a way to encourage their adoption by businesses, not a reflection of any great change to the underlying products themselves.

Meanwhile, Microsoft were hardly standing still. The 2007 release of Office tore up the rulebook to deliver a new look and feel and a radically different ribbon-based user interface. The entire product was overhauled to provide a far slicker and attractive experience, and to bring previously hidden functionality to the fore. 2010 will see another new version of Office, and while its changes will not be as monumental as 2007′s were, having used the beta I can say that the enhancements still put to shame the miniscule improvements there has been to Google Docs in the same period.

Now, Google Docs may never be able to compete on a feature for feature basis with a desktop product like Microsoft Word, at least not while still having to maintain compatibility with older browsers like IE6 and 7, but it seems to me like they’re not even really trying, and that’s what’s really disturbing. Google should be the setting the pace for complex, bleeding-edge web development. Their engineers should be making the most of the web deployment model to push out major enhancements to users at a rate Microsoft can only dream of. They should be paying graphic designers to reinvent the interface of Google Docs, combining the lessons of the Microsoft’s ribbon interface, with the natural flows of the web, and their own innovations, to produce a revolutionary user experience. You should be checking Google products every day to see what marvels they have delivered, and pinching yourself and going ‘that’s a web application!?’ every time. Instead, every time you load up Google Docs you get the same lame imitation of a 1990s desktop word processor, and nothing ever changes.

At this point, you may be screaming ‘Google Wave!’ And sure, Wave is an exciting product, and a great showcase for what web apps can be, but it’s one product, amongst the hundreds that Google develop. Wave is exceptional, when it shouldn’t be exceptional at all. Google has almost 20,000 employees, many of whom (we’re told) are some of the smartest programmers on the planet, is this really the best the can do? It seems to point to either an under-resourcing of important product teams or, more worryingly, a real lack of vision and ambition that has infected the whole company. Whatever it is, I hope they fix it, and Google starts to push its products along much harder and much more quickly.

Leave a Comment more...

Activities

by Jon on Nov.08, 2009, under General

Yikes, that’s a fair while without an update. I had a long period of crazy working hours, but hopefully that’s coming to an end now, and I’ll have more time to spend on personal stuff like this site. Or maybe I’ll just spend it all playing Counter-Strike Source. Such a dumb game, but I am perversely addicted to it. I’ve been playing around with JavaScript / DHTML lately have produced a couple of demos/experiements: Cloudy Daze and Zooming Form Fields. Nothing revolutionary, but they’re helping to get me into the JS mindset. I also purchased a copy of Fireworks recently, so I’ll be getting back into design and attempting to create a bespoke WordPress theme for this blog. I have a bunch of iStockphoto credits to use up before the end of the year, so anticipate it being stockphototastic. That is a real word.

Leave a Comment more...

Internet Explored

by Jon on Mar.10, 2009, under General

Weird article on Slashdot today, claiming “IE8 May Be End of the Line For Internet Explorer“. It links to a blog post by some guy called Randall C. Kennedy who explains how he’s been hearing that Microsoft are thinking of moving to Webkit, or even their brand new research browser called Gazelle. Now, I may not have the hot industry contacts that Randall C. Kennedy undoubtedly has, but I find the whole story a little hard to swallow. Firstly, Kennedy (and Slashdot) seem to be a little confused over the separation between a browser and its layout engine. Internet Explorer is a browser, but it uses a layout engine called Trident to perform the actual rendering of websites. Trident can also be used externally to IE, by Windows applications that need to display HTML. Webkit is also a layout engine, one that is used by Apple’s Safari browser, and Google’s Chrome browser. It is entirely concievable therefore, that IE could switch its layout engine to Webkit and still be “Internet Explorer”. I don’t think it’s likely, I don’t believe Microsoft would want to such a crucial component of a Windows system relying on what is still a mainly Apple controlled project. Especially since they’d still have to support Trident anyway, due to the mass of legacy code that would require it.

It’s the mention of Gazelle that is really confusing. Gazelle is an experimental browser from Microsoft Research, that takes a more OS-like approach to architecting the browser, and is supposedly more secure and reliable. What the article seems to miss though is that according to the Gazelle technical document…

“We have built an IE-based prototype that realizes Gazelle’s multi-principal OS architecture and at the
same time utilizes all the backward-compatible parsing, DOM management, and JavaScript interpretation
that already exist in IE.”

In other words, Gazelle uses Trident for its layout engine! So even if IE 9 was based on Gazelle, there’d still be a mass of the old IE technology hanging aroudn. I suppose it’s possible that they could rip Trident out of Gazelle and use Webkit instead, but it seems a highly unlikely scenario. For one thing, if they were going to do so, why not do it from the start? Gazelle is a relatively new project, and if they knew Webkit was the direction they were planning to go, it would make sense to choose it from the start.

Overall, I think it’s quite likely Microsoft will adopt Gazelle, or something similar, for a later version of IE (perhaps not IE9 though). It’s architecture is the way most browsers seem to be going. But I think any announcements on the death of Trident, or of the “Internet Explorer” brand are highly premature.

Leave a Comment more...

by Jon on Jan.21, 2009, under Code

I’ve not heard much about ASP.NET 4.0 yet. I don’t know if that’s because there’s not much information out there yet, or (more likely) because I haven’t been looking. We’re still very much in 2.0 land at work, so there’s not too much point getting excited about v.next features. But today I stumbled across a post on a post on an official asp.net blog called ASP.NET 4.0 ClientID Overview that details the support 4.0 will have for controlling the client-side IDs generated by server controls. Those familiar with ASP.NET will know that in current versions, all server controls that have specified IDs (thus enabling them to accessed from the code behind) generate corresponding client-side IDs containing their full naming-container hierarchy. This guarantees their uniqueness, but often means they’re very long and push up the page weight. It looks like ASP.NET 4.0 will do some work in this area to give developers more control over what IDs are generated and when, on a per control basis. Sounds pretty cool, roll-on 2015 or whenever that I can actually use this stuff in production!

Phil Haack has posted a couple of blog posts recently on named formatting in .NET. The basic idea is, instead of the usual numbered placeholders in a String.Format string like "Hello {0}, you have {1} unread messages", you have the name of properties, which are then reflected from some source object, e.g. "Hello {Name}, you have {UnreadCount} unread messages". He posted his own implementation, and a solution file containing unit-tests and a performance comparison with some alternative implementations. These posts in turn prompted a few responses from people who produced their own, even swifter implementations. So obviously, I had to have a go myself. I went for a simple, ugly, but fast approach, and at the time of writing I believe mine is the fastest (by a couple of hundredths of a second) except for one that uses some wacky Linq stuff to pre-compile property-accessing lambdas and assemble them for a particular format string. The code for mine can be found here. It’s not pretty, and I certainly wouldn’t write code like this for anything serious, but it was fun to do.

Leave a Comment more...

Lets All Play Doom

by Jon on Dec.08, 2008, under Games

As part of my commitment to actually get some content on this site, I’ve been going through my archives of material and old hard-disk contents to find anything worth salvaging. For the most part it’s a parade of embarrassing E/N sites, fragmented IRC logs and stupid animated gifs. I did find something I thought was quite fun though, it’s the spoof article I wrote way back for a (fictional) site called LetsAllPlayDoom.com. I think I created it in around 2000, shortly after Doom 3 had been announced by Id Software. The premise was that it was an article from the future, March 2005 to be precise, by a Doom 3 fansite, investigating the rumours of a predecessor game.

letsallplaydoom.com: Doom – A Retrospective Glance

Reading it back, it’s a bit hit or miss, but better than most stuff I wrote back then (and probably nowadays as well). It feels a little curtailed, I never really exploited the idea properly as there’s very little that actually focuses on Doom’s gameplay itself, instead most of the article is about the history of Id and a rather labored pun on the word “prodigy”. I did get to use a joke about the “burn all gifs” campaign turning militant in a too-literal fashion, which I’d been saving for a while and I still think is quite an amusing image.

Fun bonus fact: Some time later I considered writing a much expanded version of this article as a spoof of the book Masters of Doom, to be called “Barons of Hell: How a Couple of Nerds Got Rich and Bought Some Fast Cars”. It was to feature copious Romero trolling. I wrote a few pages, but decided to put it on hold until I actually got a copy of Masters of Doom to read through. In the end, I never did though. Fascinating, eh?

3 Comments :, , more...

Firefox is eating my cookies

by Jon on Dec.07, 2008, under Tech

I recently suffered a problem where Firefox began forgetting all my account authentications and what-not each time I restarted the computer. Investigating further, I discovered all my profile’s cookies were being wiped every time I exited the browser. Searching bugzilla turned up a few open bugs where people described having the same problem, but none of the them had fixes or answers beyond “check your settings” and “delete Firefox, trash your profiles, re-install”. I eventually found the answer in some mozillazine forum thread, which I thought I’d post here, in the hope that it may help any poor soul Googling the issue.

The problem is apparently caused by corruption of the SQLite database file used to store cookies for you browser profile. The fix is (or was in my case) to delete the cookies.sqlite file completely. Under Windows Vista, the file is located at: \Users\[account-name]\AppData\Roaming\Mozilla\Firefox\Profiles\[random].default\cookies.sqlite

When you next run Firefox, it should recreate the cookies.sqlite file, this time free of whatever evil corruption had infected it. Exactly what causes the corruption in the first place isn’t clear. People in the mozillazine thread where I found this answer claimed a poorly written add-on or plug-in is the likely culprit. The only add-ons I had installed at the time were Firebug and the Microsoft .NET Framework assistant. I have a bunch of plug-ins, but only the normal stuff like Java, Flash, Acrobat, etc. I guess it’s just one of those things. Anyway, I hope this helps someone somewhere.

1 Comment :, , , more...

Grindhouse

by Jon on Mar.30, 2008, under General

Because of poor box-office returns and stupid cinema audiences walking out halfway through, Grindhouse was split up into separate features when it was originally released in the UK, but now is finally getting a limited tour of the UK in it’s original double-feature, fake trailer glory. I went to a local showing last night and it was everything I’d hoped for: bloody, tense, often hilarious and just incredibly entertaining. I refused to watch the original films when they were released, as I felt I’d somehow be condoning the cowardice of the distributors, and I also wanted to see them both as they were originally intended before watching an extended cut. I’m glad I waited. Of the two, I found Planet Terror more enjoyable than Death Proof, as it felt like Rodriguez was cutting loose and having more fun than Tarantino, whose effort didn’t seem too far removed from his normal films, but both parts were good.

Leave a Comment more...

Source Thoughts

by Jon on Mar.25, 2008, under Code, Games

I’ve recently started looking into modding for Half Life 2 / the Source engine. On the whole, Valve provides quite a lot of help for modders. There is an official Source SDK that can be downloaded through Steam, a number of official forums on Steampowered.com that Valve developers are (occasionally) active in, and a wiki with relatively up to date information for developers on a wide range of topics. There are a number of active third party sites devoted to Source modding, the best of which appears to be Interlopers.net. All this is good. what is not so good is that the architecture Source and Steam appears is rather unfriendly to beginners.

Any beginner to modding a game has to start somewhere. The usual place to start is by making a small modification to the original game’s behaviour. For example, a beginner to Doom modding might take the game’s source code (or rather, a stable windows port such as ZDoom), make a change to a small aspect such as the player’s maximum health, recompile and play the game. Similarly, someone using the Quake engine might make a small change to game’s QuakeC code, perhaps to increase the number of gibs spawned when a monster is killed, recompile the code and test out their change. This approach, of tweaking a small aspect of an existing game, and quickly seeing the results is a standard and very useful one. It allows new developers to get in at the shallow end, so to speak, by gradually exploring the existing code base, learning to make more significant alterations at their own pace.

With the Source SDK, there is an option to create a blank mod, or to make one based on Half Life 2 singleplayer. You might imagine that choosing the latter option would produce a mod that replicated the Half Life 2 singleplayer game, while allowing the developer to start making code changes, but this is not the case. This option produces a mod with the source code from HL2 singleplayer, but no access to the resources of the game. Instead it uses what is called the “Source SDK Base”. This is a shared set of basic resources that is available to anyone who owns a Source engine game (e.g. Half Life 2, CounterStrike Source, Day of Defeat, etc). Getting the mod to a state where it simply modifies the default Half Life 2 singleplayer game is possible, but it involves quite a bit of work copying configuration and resources from the original game and modifying the code to mount the original HL2 resources within the engine’s internal file system.

The thinking behind this is clear enough, Valve want to enable and encourage people to make mods standalone mods that work across their product range, rather than reusing a load of resources from a single game and therefore being tied to it. However, this assumes the developer is ready and able to make a large standalone mod, whereas I would argue this is only a stage reaches after a large intermediate period of learning their craft and forming or joining a dedicated mod team. Until then, most people will want to product basic mods of a single game. If Valve wants to improve the learning curve for Source modding, thus increasing the size of the community and the associated revenue it drives, then they should enable a better route within the SDK for beginners. The option to create a HL2 singleplayer mod should do exactly what it suggests, creating a mod that replicates the normal behaviour of the game and can be played immediately, allowing the developer to start making changes at their leisure.

1 Comment : more...

Hello

by Jon on Mar.24, 2008, under General

I thought it was time to get a permanent home on the web, and since I couldn’t be bothered running my own server, I decided to pay for hosting. I’m using Tsohost who seem to be pretty on the ball. They got the site set up in minutes and the domain working within a few hours. Plus it’s extremely fast on my end.

I don’t know exactly what I’ll host on the site yet, but I’ve got a few ideas. So far I’ve just installed WordPress so I can move my blog over here. My Livejournal can be considered officially defunct. I’m not going to bother trying to import anything  from there, as there’s very little of value. Plus a fresh start is quite nice sometimes.

1 Comment more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Blogroll

A few highly recommended websites...