Category Archives: Technology

My Analysis of Google’s Chrome OS

A couple of days ago, Google announced they’d be releasing a lightweight operating system called Chrome OS in 2010. The Blogosphere has spent the last few days speculating on how Chrome OS will compare to Windows in a head to head fight, and whether it will take significant market share from Microsoft Windows in laptops and desktops. I think that’s missing a lot of the point. For what it’s worth, here’s my uninformed speculation.

  • When it comes to browsers or operating systems, I don’t think Google care very much about market share of particular products, but they do care about the underlying technologies. The  Chrome browser has a relatively small market share, but it has had a disproportionate effect on the direction of browser development as a whole. There’s an arms race in areas such as JavaScript performance and HTML5 support, and the Chrome browser gives Google a tool to use to push the technologies it favours. Sure, Google would like you to use the Chrome browser, but if you choose another modern browser with similar features, such as Firefox 3.5 or Safari 4.0, I think Google still count that as a win. A similar argument also applies to iPhone vs Google Android.
  • A small percentage of marketshare in either browsers or operating systems is still a big number of people. If Chrome OS gets 5% of the operating system market, and Google has say 200 people working on it, I bet that looks like a good investment.
  • I’m often faced with casual computer users with old PC hardware. Windows is running like a dog on their system, and often they don’t have Windows restore media for a clean install. Many of these people just about accessing their email, Facebook and some online shopping, not video editing or photo editing. A web browser is enough for them. Currently their best option is Ubuntu (which is still quite heavyweight for old hardware), or some mini Linux distribution. These do work, but there are always some silly issues that spoil the experience. No doubt Chrome OS will have a cleaner interface, will be faster on old hardware, will be kept up-to-date without the user intervening (like the Chrome browser), and will be very secure. If old hardware is supported, it will be by far the best option for basic web users with old hardware.
  • More and more people have secondary machines in their homes and offices, and while a web browser isn’t the only application they need on their main system, in many cases it’s more than enough on a secondary device, as long as the price reflects the limitations. Michael Arrington’s Crunchpad is a great example of a device that embraces this.
  • In response to Linux netbooks, Microsoft have been selling Windows XP at a big discount to PC manufacturers, and have been quite liberal about the hardware specifications of this hardware. With Windows 7, it appeared that Microsoft wanted to tighten up the restrictions on netbooks, and sell the operating system at less of a discount. Chrome OS gives PC manufacturers a club to beat Microsoft with, and may well force Microsoft to discount Windows 7 for netbooks to a greater extent than they planned. I can’t see Google losing any sleep over this.
  • The ARM compatibility of Chrome OS is a very big deal. ARM SoC (System on a Chip) are very efficient in terms of power, and are also very cheap. Sub £100 ($150) smartbooks (like netbooks, but not Intel based processors) suddenly look realistic. 1Gb of RAM, 4Gb of flash storage,  combined with an ARM chip, is already a very cheap platform, and is only going to get cheaper over time.
  • If you can have a modern fast web browser on very cheap and efficient ARM processor, why not embed them in lots more devices, many of which already contain processors and RAM. Manufacturers could very cheaply add Chrome OS to a TV, a PVR, a games console, or a monitor. Spend an extra £20 ($30) on a monitor or TV and get Google Chrome OS builtin. The Nintendo Wii has an optional Opera browser, which is passable, but hardly a great experience, and it presumably wasn’t cheap to develop. Instead, just add a couple of cheap chips and you get a good web experience from Google, with the added bonus that Google look after all the updates and security.

In summary, I think Google aren’t going for Windows or Mac OS X head on, but just want more machines out there running Google friendly modern browsers at a low cost. In many ways, Chrome OS reminds me of Microsoft’s plans for Windows CE a decade ago. CE never really made much progress beyond Windows Mobile devices, but in this new world where the web browser is king, perhaps Chrome OS will have more success.

Interesting things from 2007

In the spirit of all the other 2007 lists out there, and to try to make up for my recent lack of posts, this is going to set of eclectic lists of things I should have mentioned during 2007.

Gadgets I liked:

  • Nokia N95 – still love it, especially with the v20 firmware, and recent apps such as Google Mobile Maps with GPS support, and the emTube video player. By far the best phone/PDA I’ve ever owned
  • Xbox 360 Elite – So many good games this year on the Xbox 360, and since I got a good deal on a new Elite, it was well worth upgrading from my old Premium to get the larger disk and HDMI video output
  • Topfield TF5800 PVR with the MyStuff interface – I’ve had this over a year, but it keeps getting better and better. Massively customisable, and it allows the download of recordings, ready for backup onto DVD with no loss of quality
  • Nintendo Wii – Just over a year old, overhyped and short of games, but worth it for parties, and the quality games are starting to come. Can someone please do a better Golf game than Tiger Woods 08?
  • Fuji F31fd camera – Got this at a bargain price to replace my old Fuji F10. Wonderful picture quality for the size. No compact I’ve seen comes close in less than perfect light. Fuji should stop wasting their time on higher megapixel cameras, and just offer an upgraded F31fd, with added RAW support, SD card slot, image stabilisation, histogram, and exposure bracketing. They could name their price
  • Sennheiser HD595 headphones – Not cheap, but so comfortable, and they sound great. By far best headphones I’ve ever owned
  • Sennheiser CX300 headphones – Cheap, and sound fantastic for the money. Great for train journeys
  • Mac mini (with Core 2) – This has been my main system for almost 6 months, as I’m waiting for a new Mac Pro to be released. I struggle with the 2Gb of RAM, but otherwise, it’s a fantastic desktop system; fast and super quiet. If Apple discontinue the Mac mini in the foreseeable future (as the rumours keep suggesting), without introducing a suitable replacement, they’re completely crazy
  • ASUS EEE PC – Don’t own one of these, but a friend does, and I’ve used it quite extensively. Love the price and the build quality. Firefox runs so much better than I thought it would. Release an updated version with a 9 inch screen, integrated bluetooth, and running the Xubuntu version of Hardy Heron, and ASUS will have my order in a heartbeat. A similar device with the lovely form factor of the Palm Foleo would be great too (just don’t copy the Foleo’s crippled software or internal hardware)
  • Joytech Tri-link HDMI switch – Affordable, nicely priced, and intelligently designed (with a nice IR extension cable). A painless way to add a couple of extra HDMI ports to my TV
  • Lenovo 3000 N200 – Purchased for my Aunt who was looking for a budget laptop. Available with XP (instead of Vista), came with 1Gb DIMM (instead of the usual 2x 512Mb), friendly system restore software (including backup to bootable DVD), and a Pentium Dual Core processor based on Intel’s modern Merom core (basically a slightly cut down Core2Duo). The build quality is better than most Dell’s I’ve experienced, and at £399, it was serious bargain. Added an extra 1Gb DIMM, and you can’t go wrong if you’re looking for a budget laptop.

Games I liked:

  • Portal – So clever, so funny, so short
  • Super Mario Galaxy – Nearly as inventive as Portal, but much bigger
  • Excite Truck – Best Wii game in the first half of 2007. A little too random at times, but plays like Sega Rally crossed with Stunt Car Racer
  • Forza Motorsport 2 – A little sterile, but so smooth and realistic. It’s an automotive sandbox, and I’ll be playing it for years. And yes, I do have a chipped Shadow Blue Golf GTI in the game 🙂
  • Endless Ocean – The most relaxing game ever invented. Animal Crossing under the sea, without the commitment to keep visiting every day
  • BioShock – Love the art and the architecture. The rest of the game is pretty good too
  • Sega Rally – Totally unrealistic, but so much fun. A pity that it didn’t seem to get the attention it deserved. Had the great track design that was always a feature of classic Sega coinops
  • Project Gotham Racing 4 – Just the right mix of fun and realism. So superficially similar to Forza, yet so different too. Which I prefer depends which day you ask me. Would love them to bring back the Edinburgh track from PGR2 as downloadable content
  • Call of Duty 4 – Best multiplayer game of the year. It’s like a tighter, more focussed version of Battlefield 2
  • Colin McRae: Dirt – This feels like Project Gotham of rallying to me. A lovely balance between fun and realism. It deserved more praise than it got. Extra bonus points for including the Pikes Peak Hillclimb too
  • SEGA Presents: Touch Darts – Bought this in preparation for a stag night I was going on, and it managed to help me appreciate a sport I previously knew almost nothing about. You don’t need to be a darts fan to appreciate this little gem

Software I liked:

  • Mac OS X Leopard – Nothing revolutionary, but since Tiger was pretty good, big changes weren’t needed. I love Spaces, Safari 3, Quick Look, and Time Machine
  • Safari 3 – Deserves an entry of its own. It’s now my favourite Mac browser (narrowly beating Camino). It seems to leak a little memory, but it’s fast and stable
  • Ubuntu – I seriously considered switching from Mac to Ubuntu this year. In the end, Leopard’s polish, and some of Ubuntu’s rough edges put me off, but given a choice between Windows and Ubuntu, Ubuntu wins hands down
  • Google Earth – A bigger time sink than Wikipedia, and that’s saying something. Love the new flight sim mode
  • TextMate – This has been my main text editor for over two years. I probably don’t even use 10% of its features, but even so, I’ve more than had my money’s worth
  • VideoReDo – Although it’s a Windows only program, this powerful MPEG2 editor is fantastic for chopping the ads out of recordings made on my Topfield PVR. The new TVSuite version even authors and burns the DVD for you
  • Google Maps on N95 – GPS support, the new My Location feature, and high speed data over HSDPA make this a tremendously useful tool
  • emTube – Brilliant YouTube app for S60 phones
  • VMware Fusion – Windows, Mac and Linux together on one machine; wonderful. Instead of multiple machines in my office, I can just buy one powerful Mac, and host anything else I need inside VMware Fusion. Brilliant for testing new OS installs too.

Disappointments/irritations:

  • Internet Explorer 7 – Fixes lots of IE6 bugs, but introduces lots of new issues, along with a new and particularly horrid user interface. If it had replaced IE6 more quickly, it would have been better, but for now it’s just another broken browser to support
  • Firefox 2 on the Mac – I want to love it, but despite many clean installs, it’s just not as stable as Firefox 1.5 was. I don’t care about new features right now, just please improve the stability
  • DRM – Some positive movements this year, but not enough. There’s no future in providing a worse service to paying customers than freeloaders
  • Apple’s treatment of its customers – Bricking iPhones, expensive ringtones, no Mac Pro upgrade, no mid range desktop Mac, expensive hardware upgrade pricing (insulting RAM prices etc), censoring legitimate discussions on your support forums. Sort it out, or I may have to reconsider defecting to Ubuntu
  • The Sony PS3 – The lack of games, inept handling of the press, loss of backwards compatibility, confusing hardware variations, etc…
  • Windows Vista – What were Microsoft doing for 5 years? XP with some extra eye candy shouldn’t have taken so long, and should have worked better. I’m recommending everyone I know to stick with XP, or move to Linux or the Mac. This XP review sums it up very well
  • Palm Foleo – The physical form factor was so right, but the crippled internal hardware and software were so wrong. Add in the high price, and Palm were right to can it. Combine the best bits of the Foleo and the EEE PC, and you’d be onto a winner
  • Windows Product Activation – I’m happy to pay for a legitimate Windows licence, but I don’t want to be treated like a potential criminal just because I reconfigure my machines more often than is usual. Virtualisation makes this even annoying. I had real trouble getting a single Boot Camp install of Windows XP to validate in both Boot Camp and VMware. One OS install, one physical machine, but I had to fiddle around with mac addresses, and call Microsoft several times to get this working. Not a good experience for a paying customer, who just wants to test websites on Windows (for the benefit of Microsoft’s other customers). And as IE7 isn’t available for Windows 2000, that’s not an option either. Any more problems and I’m moving to Wine

Django and Ruby on Rails

Over the last few weeks I’ve been taking a bit of a holiday (well as near as I ever get, which means I just work a few hours less than usual each day). One of the things I’ve been meaning to do over the last year or so is investigate the newer web frameworks, with a view to moving over to which ever one I prefer, as a replacement for PHP.

Reading around, I decided to install and play around with two of the most popular new frameworks – Django and Ruby on Rails. There’s already lots of comparisons between these two frameworks, but below are my thoughts having installed them and worked through their tutorials.

Django and Ruby on Rails compared to PHP:

  • Both push you into separating content from presentation, whereas PHP doesn’t try to help you impose any structure on your code. For larger projects, I’m sure this going to be a good thing
  • They both try to take you away from writing SQL. Instead you access the database through objects
  • Scaffolding in Rails and the Django admin interface help you get up and running very quickly
  • Implicit naming conventions are used in many places to transparently get data from one place to another. This avoids lots of tedious coding and potential mistakes

Good things about Django compare to Rails:

  • The free admin interface is very very slick. Much more powerful and elegant than Rail’s scaffolding. It’s something that you could give to end users with very little customisation
  • It’s supposed to scale better than Rails. A lot of the difference is probably because Python interpreter uses compiled bytecode, whereas Ruby does not have this facility in its current stable release
  • It’s written in Python, which seems to have better library support than Ruby at the moment
  • It seems to be biased towards content management systems, which is most what my websites are
  • Using Django would improve my Python, and Python seems to be used across a far wider set of domains than Ruby at the moment

Good things about Rails compared to Django:

  • Much easier to install. Making Django work on Mac OS X took me most of an afternoon, whereas Locomotive took only five minutes. I also found Rails installation instructions for Redhat Enterprise Linux 4, which will be very useful if I’m going to deploy a Rails application on my main webserver. I couldn’t find a similar document for Django
  • Rails works very well with my favourite text editor – TextMate
  • There are more tutorials and books available for Rails
  • Rails and Ruby just seemed more beautiful to me. I’ve written Python several times before, and while I admire it as a language, I just can’t get away with errors because of mixed spaces and tabs, and all the “self”ing and double underscores. Not the most rational of reasons, but if I’m going to spend many hours with a technology, it helps if significant aspects don’t irritate you
  • Rails seems to have more momentum than Django. If I’m going to switch to a new platform, I want to to have a good longterm future. That said, I think Django has a very positive future ahead of it too
  • Rails just seems to be about a year ahead of Django in terms of the slickness of the experience. Everything worked the way it should have done, where as Django felt like more of a work in progress

In summary, while I loved Django’s admin interface, its probable performance advantage, and the better availability of Python libraries, I’ve fallen for Ruby on Rails. This is mainly because of its elegance, and absence of any significant problems while installing and using it.

Computer Language Shootout

Just read an article linked from digg.com comparing the performance of various programming languages.

On most tests, it’s amazing to see how slow Perl, PHP, and Ruby are. What I did find interesting is that Python seems to be faster than all of the above on most tests. The other point of note, is that Java is in the same ballpark as C/C++.

Most of the test programs seem to be computationally intensive, so you need to be careful about reading too deeply into this. For example, most of the PHP code I’ve written is performance limited by the MySQL queries embedded in it, not the speed of PHP. So I’m not about to abandon Perl or PHP, and I still plan to learn Ruby.

I have played around with Python in the past, and this tells me I should revisit it, and not just mindlessly follow the current fashion for Ruby.

I’ve also been writing some Java recently (which seems to have improved a lot since I last wrote Java code about 7 years ago). The code I’ve been writing is quite computationally heavy, so it looks like it was a good choice. And even if I’d gone for C++, I don’t think any potential performance gains are large enough to compensate for the benefits of Java (rich libraries, garbage collecting, cross platform binaries).

Finally, it’s interesting to note that the three official languages at Google are Python, Java, and C++.

Study suggests that large monitors make you more productive

digg.com has interesting article about a report on how large monitors increase your productivity. I couldn’t agree more.

I find my 20 inch iMac rather cramped these days, and much prefer the screen area of my 24 inch Dell 2405 (purchased when Dell had one of their crazy discounts in place). Next year, if my finances will stand it, I’ll be on the look out for a 30 inch display (a Dell probably, due to their frequent discounts). I’ve tried using dual displays, but nothing works as well for me as a single large monitor.

It still amazes me that lots of companies provide their employees with 17 inch CRTs, or 15 inch LCDs. Large monitors are so cheap these days, compared to the benefits they provide for anyone who works at a computer all day long.

WordPress 2.0.1

I’ve just completed the upgrade to WordPress 2.0.1 and all seems to be well.

I’ve now been using WordPress for almost a month, and I have to say that I’m pretty impressed with it. The people responsible are doing a great job, and I really appreciate their efforts.