Tue, 24 Nov 2009
On... Chrome OS
A short lecture
A friend of mine - technically interested, but not particularly knowledgeable - asked me about Chrome OS stuff. I wrote her a short lecture in return, and thought I'd dump it here as well :)
We'll start with 'cloud computing', which is actually an appropriately nebulous term... It's been traditional for a long long time, particularly when teaching computer networking, to use a cloud in a diagram to represent "all the stuff which happens on the network between computer A and computer B" - http://www.yourdictionary.com/computer/cloud - we don't care how the communication happens between A and D, we just assume they can talk to each other. This usage has been changed a bit, in the past 5 years or so, to add the idea of *services* which live in 'the cloud' - we don't care where they are, as long as we can communicate with them over the Internet, using standard tools from anywhere. A simple example would be using gmail/hotmail/yahoo for your email, rather than an email system supplied by your employer, school or ISP. Another simple example would be Facebook - you don't know anything about how it works, you don't have any relation with them other than being a user of the service, you can access it from anywhere...
So 'cloud computing' is the idea of taking things which previously ran either on your computer, or at least on your local network, and shoving them out into the cloud. It relies on a combination of 2 or 3 technologies, which are just about available now, but weren't 5 years ago - ubiquitous broadband, standard network protocols, and, to a slightly lesser extent, cheap/ubiquitous computing.
Chrome OS is what falls out of all that, if you're Google. It's an OS designed to run on cheap portable computers (i.e. netbooks) which are always on-line (wifi or 3G) and running a standard platform called a 'web browser'. It assumes that you use Gmail in your web browser, rather than Outlook connected to an Exchange server. It assumes that you use Google Docs rather than Microsoft Office. It assumes that you stream music and even video (TV, etc.) from the web, rather than storing and playing it locally. It assumes that you're using Google talk through your browser, rather than running a local chat program. It assumes that you're doing all of this on a 'secondary' computer.
They're not claiming that you can or should run your life like this yet. What they are saying - correctly, in my opinion - is that if you are willing to trust the 'cloud services', you can move a lot of what you do online without losing very much, and gaining ubiquitous access in return. You've got a big heavy laptop... I've got a little handheld phone... they both access the same online data, to a great extent, and my phone has a longer battery life, built-in 3G, and lacks the potential for spraining my back by carrying it.
As for running Chrome OS to take a look at it, there are a couple of options. You can't run it directly on your Mac, because it only runs on netbooks, and a small specific list at that. What you can do is run it under virtualisation - same same way I, for those rare occasions when I need it - run 'Windows in a window'. VirtualBox is a virtualisation tool, which will let you run Chrome OS in a window on top of your Mac OS. Alternatively, and much more simply, just load up the Chrome browser - technically, the chromium open-source browser, which is the core of Chrome, since Chrome is still Windows-only. Chrome OS is, in essence, a modified form of the Chrome browser running on streamlined Linux OS, so if you want to know what Chrome OS looks like today, running Chrome (or chromium) will get you a lot of the way there...
Chromium is pretty usable as a browser - I've been using it as my main browser for a few weeks now, with little trouble. Chrome OS, however, is not usable yet. It's expected to be released to hardware manufacturers sometime around the spring, and be on the market latish next year.
[
16:47] | [
] |
#
Sat, 25 Apr 2009
On... Cupcake
Or Android 1.5, as it's properly known
About 20 minutes ago, jbq (aka Jean-Baptiste Queru, Android engineer and community friend par excellence) announced on the #android IRC channel that Android 1.5 - the release formerly known as Cupcake - was done, tagged and released. And that being done, he was going on vacation...
There's a somewhat full feature list here, but the things I'm really interested in are:
- A2DP, or stereo Bluetooth support, coupled with AVCRP for remote control. To be honest, I'm not hugely bothered about it being stereo as such, since I mainly listen to podcasts and other spoken content, but without A2DP, only calls can go over Bluetooth, regardless of the number of channels in your audio. I had A2DP on my Treo years ago, thanks to Softick Audio Gateway, a third-party shareware A2DP driver, and it's good to know that Android has caught up a bit.
- On-screen keyboard. The G1 is the first phone I've ever owned which slides, flips, rotates or otherwise isn't a single block with a keyboard on the front, and while the slide keyboard is pretty decent for a phone, it's pretty annoying to have to flip the phone open to enter a URL, a search term, or some other short text - and it's almost unusable one-handed, say when holding onto something in order not to fall over on a moving vehicle. I've had a fiddle with the soft keyboard in the 1.5 preview SDK, and it seems pretty usable, at least for short things. Not sure I'd want to type an email, blog post, IM, etc. on it, but we'll see
- Widgets. One of the most-requested features for the home screen - apart from not taking a few seconds to rebuild itself after being kicked out of RAM to make use for something else - widget support appeared as somewhat of a surprise a couple of months back, and not quite in the expected way. Rather than being HTML/CSS/Javascript widgets, they are implemented as an application interface, so they are richer (and probably faster), but a little harder to write. There are already lots of ideas floating around, and at least one community widget competition which should hopefully produce some interesting things. I wonder how long until the 3-screen home screen becomes limiting?
- Browser performance. Not that the existing browser is particularly slow, but it'll be nice to see it faster.
- General polish and performance. There's been a bunch of screenshots floating around recently, and thing are looking a little more form-over-function. Not that it really really matters, of course, but prettier phones sell more units, and I want Android to sell as many units as possible - both because I think it's a good platform and good for the mobile market, and because, selfishly, I hope to release some Android software soon, and more users (customers?) would be better
The interesting question, of course, is when it'll get shipped or pushed to users. The HTC Magic should be the first device shipping with 1.5 out-of-the-box, and it's expected to be released on May 5th, which really isn't far away. For the G1, T-Mobile Germany have already announced that they expect to push a 1.5 update to users in May, so it's not unfair to expect T-Mobile in other countries to do something similar - I have a US G1, so I should get the push whenever T-Mobile US gets round to it. I suspect Dream (same device, but not T-Mobile branded/released) users might have to wait slightly longer, but hopefully not too long.
Roll on donut!
[
11:31] | [
] |
#
Tue, 21 Apr 2009
On... Android Top Tip!
Just a little thing
I got a T-Mobile G1 (aka HTC Dream) back in November, the first Android device to hit the market. There's a partially-done full writeup somewhere in my draft folder, but for now, I wanted to get down a little tip I discovered today:
I've been trying to sign up with the new PCCW Wifi 'Single Device Plan', which is a very cheap ($28, around US$3.50 per month) unlimited wifi plan which uses the MAC address of the device for authentication. You have to manually login once, entering the activation code you got by SMS, and from then on it'll recognise your device and log you straight in. Their regular wifi service is virtually unusable on a regular basis with Android, since you have to connect to the service, then login before you can get to the internet, but as soon as you connect the device tries to reconnect to gmail, IM, etc. over wifi and fails. Very annoying... One limitation of the single device plan is that the $28 rate is only applicable to mobile phones, not laptops, and they use server-side user-agent sniffing to make sure you're activating a supported device. Android is, of course, no supported.
No problem, says I, since the webkit rendering engine in Android has support for choosing an Android user-agent, a 'desktop' user-agent, or an iPhone user-agent. I knocked together a simple web browser which pretends to be an iPhone, and went to register. Problem, says I - there's something a little funky about the SSL setup used on the activation form, and I can't get it to work with my toy browser. The built-in browser uses undocumented APIs to handle SSL errors, and while I probably could hack something up to work, I really can't be bothered.
I originally discovered that webkit had optional user-agent strings from the famous Mr. Romain Guy - author of the Android Home application - who mentioned something about a debug mode in the browser. Unfortunately, this debug mode is, while not exactly secret, also not well-known, and I went off on a wild goose chase to make my own browser. Today, while randomly browsing the bug list for the best-known Cupcake-on-G1 build, I see a mention of the debug mode, complete with instructions on how to enable it. In short, what you need to do is load the URL "about:debug" - this won't load a page, but will enable debug mode, which adds a bunch of options to the bottom of the 'Settings' panel, including a User-Agent picker.
As soon as I found it, and tested it on this site, I popped down to the PCCW shop in my building, loaded up the activation page, and bang! working fine. I haven't tested it, but according to original instructions, the setting doesn't persist (across a restart of the Browser, or a reboot, I don't know), but it's very useful to know if you just need to access a page behind a stupid iPhone-only user-agent check.
For the record, the other toggleable options which show up are:
- Single column rendering
- Use wide viewport
- Normal rendering
- Enable tracing
- Enable light touch
- Enable nav cache dump
Don't really know what any of them do, but I'm sure there are one or two people out there who might want to play around with it...
[
16:49] | [
] |
#
Thu, 03 Jul 2008
On... New phone - Sony Ericsson G900
I've abandoned PalmOS for the second time
This is a bit of a placeholder, since I linked to this post from another post before I'd actually written this one. There should be a longer review along soon - no more than a few days.
Like most people, I've been through a bunch of mobile phones in the past few years, keeping at least somewhat up with technology - when I was in the UK, it was funded by subsidies from the operator once I signed a contract, but I've been buying phones retail in HK and been quite happy on a no-minimum-term contract, in particular one which gives me a decent amount of included voice minutes and unlimited GPRS. I don't actually talk on the phone that much, since most of my communication is either online or face-to-face nowadays, but having an always-on connection terminating at a smart device in my pocket is quite nice.
It's small, it's sleek, it's got a smaller but brighter screen than my Treo 680. The interface is a little slow, but the individual programs are fine. The world of UIQ3 software seems very small, even compared with the sadly shrinking PalmOS world. The built-in email software is usable, even if it behaves slightly strangely - Chatter Email for PalmOS is nicer, but that's a dead end now anyway since the author was hired by Palm. The signing thing complicates things a bit and probably contributes to the shortage of third-party software, as does the UIQ/S60 split. The built-in media player is quite nice, even if it doesn't do Ogg - or for that matter, AVI. Getting used to handwriting recognition and a phone-type keyboard rather than a qwerty keyboard is taking a bit of time. The battery life is almost certainly longer than the Treo, but I haven't really stress-tested that yet. I wish they'd just use a USB connector. Full Java support is nice, and makes the software situation a little less disastrous. I'm waiting for the first OS update for what is a pretty recently-released phone, which will apparently have some Flash support - I don't care too much for Flash, but it would be nice if it gets delivered with a newer version of the Opera Mobile browser. Alternatively, there is some work going on to put together a webkit-based browser, which should be able to handle most/all iPhone-targeted sites, which would be nice. I might do some hacking at some point to remove the Chinese support, which might make some of the input quicker. I wish it had the hard soft buttons of the G700, rather than the soft soft ones, but I think the wifi and better camera are fair exchange. Wifi on a phone is nice, but I haven't really had a chance to use it on a public network yet, rather than at home. My mobile network are offering access to their affiliated wifi network for almost nothing if you are already paying for a data plan, so I've signed up and will try it out sometime soon. It's a 3G phone, but my (current) phone network is 2G-only, so I can't comment on 3G at all. It cost me $3780, standard Hong Kong retail price, but I've got a year's interest free credit so I'm paying around $315 per month and the shop threw in: (deep breath) spare battery and charger, screen protector, SE gym-sized bag, a voucher to get some crappy stickers for the phone, a 2GB memory card, a couple of pads and fridge magnets in the shape of the phone, two cans of Coke Zero and a large metal retro-style Coke thermometer. They call it dark brown, but it's really just a slightly 'warm' black.
How's about that for a brain dump then?
[
15:12] | [
] |
#
On... Home networking
Homeplug and wireless and airport, oh my!
I live in a medium-sized apartment, in Hong Kong terms. We've got a reasonably large living room, two comfortable-but-not-roomy bedrooms and smallish kitchen and bathroom. During the change of flatmate, I moved from one bedroom into the other, because the new one is slightly larger and has more storage. Our broadband connection comes into the living room, where there's a file server in the corner and an 802.11n wireless router box thingy, but unfortunately, that puts the bathroom between the wireless box thingy and my bedroom. The bathroom which has thick concrete walls which do a pretty good job of blocking 2.4GHz signals, apparently. In the bedroom, there's a weak, slow and unreliable signal from the wifi box which is only really a few meters away. I'm not entirely happy about this - I've got quite used to having wireless in my bedroom for things like watching TV in bed, late-night IM and so forth, particularly with the EeePC and my new wifi-enabled phone thrown into the mix. Incidentally, a little testing shows that my GSM signal strength also drops significantly between the living room and the bathroom.
So how to solve this problem? I tried moving the wifi router box thingy around a bit, which didn't make much difference, so I decided to throw a bit of money at the problem. I went down to Wanchai and bought a couple of no-name cheap Homeplug boxes for $500 the pair (approximately £32 or US$64). There are more expensive brands and more expensive standards - there are three generations of the technology in use, analogous to 802.11b, 802.11g and 802.11n for wifi. There are strict warnings in the short documentation for the homeplug boxes saying that you must only ever plug them directly into the wall, not into power strips, but that simply wasn't going to happen - I'm a techie living in a flat with a real paucity of power sockets and it would be impossible to dedicate two of them to networking. So, I plugged the boxes in and they work - really not that much more to say that that. They are pretty slow, comparable to 802.11b, but that's okay because that's all I paid for. They have some support for on-the-wire encryption, but you need to load up some Windows management tool to do that, so I'm running them unencrypted.
Phase 1 complete - I have a working network connection in my bedroom.
Unfortunately, I'm greedy. I don't just want a working wired connection, I want a working wireless connection. The next thing I tried was to repurpose my old Dell laptop, which has been almost completely replaced by the Eee, as an access point. That was... not a great success. Without a wifi card and driver which supports running in Master mode, you're stuck with an ad-hoc network, which is a lot less reliable than Infrastructure mode, particularly in a dense urban environment where any channel is going to get interference from other wifi devices, not to mention microwaves, TV signal senders and so forth. One notable thing I did find while trying to get this to work was parprouted which does virtual bridging between networks using ARP, rather than actual bridging which doesn't work with wifi interfaces. Parprouted does seem to work, but the network itself let it down.
I finally (?) solved the problem last night. One thing which most techies have is a drawer/box/room/large warehouse filled with spare bits and pieces which were useful in the past and might be useful again in the future, and which are being stored against that possible future use. Deep in one of my storage vats was an old Apple Airport Express, possibly the first 'travel router' designed for use in places like hotels, which might provide a wired connection but not wifi, or would charge extra for it. It can also do streaming audio and run as a printer server, but I've never used those - I have used the wireless bridge before, however. After a lot of faffing around trying to get a copy of Windows XP running under kvm/qemu to see the little AE box on the physical wired network, I configured it up, plugged it all in, and I seem to have a nice reliable wireless network in the corner of my room now. It is even happily acting like a real bridge and routing between the networks, over the virtual cable supplied by the homeplug boxes, rather than doing NAT and running its own DHCP server, which is the usual mode. In the end, I've got two little boxes lying on the floor in the corner of my room, and all is well!
There's also a bright blue network cable running right across the middle of my living room, but there are always sacrifices...
[
13:33] | [
] |
#