Posted by George Wright
Tue, 13 Nov 2007 20:19:00 GMT
With the recent announcement of the Google Android mobile phone and the subsequent release of their SDK, I couldn’t resist downloading it and giving it a play.
First thoughts are very positive; the user interface is clean, uncluttered and I think it makes good use of the screen space. One of my favourite gems is the iPhone-like scroll bar mechanism, which only appear when you’re actually scrolling and disappear, thus not wasting a valuable column of pixels on needless information!
As anticipated, there are still a few rough edges, but as it’s still very early on this isn’t surprising. Nonetheless, I’m very impressed with their SDK (which is only a 55MB download!) and I hope to have a look at the actual APIs soon. Hopefully some day I’ll be able to put this on the HTC Universal!
In unrelated news, a Google Summer of Code 2007 shirt arrived for me at home today; thanks Google!
Posted in Computing, Misc | 2 comments
Posted by George Wright
Sat, 10 Nov 2007 19:03:00 GMT
So in the spirit of Freedesktop.org I was added to Planet GNOME yesterday. Thanks Jeff!
This doesn’t mean I’ve converted to GNOME or relinquished KDE, but as the work that I’m doing these days involves both KDE (in the form of my NX stuff) and GNOME (WebKit/GTK+), I figured it was time I had myself added to Planet GNOME.
Here’s to exciting times ahead!
Posted in WebKit, Computing, NX | 1 comment
Posted by George Wright
Fri, 09 Nov 2007 11:23:00 GMT
Yesterday, Collabora finally put the WebKit EAL code that Alp and I worked on over the summer into a public git repository on git.collabora.co.uk! This is great, as our development is now done in the open instead of behind closed doors, which is the way it should be done in my opinion.
At some point I hope to put online a method of building and installing this EAL which doesn’t involve a ridiculous amount of pain, but we at Collabora are currently concentrating on working with upstream on implementing missing features in WebKit/GTK+.
Some exciting new stuff that has appeared upstream is Rodney Dawes’ work on implementing NPAPI support in WebKit/GTK+ as well as the platform independent new CSS transformation work by Apple. This effectively obsoletes my work on full page zooming as we should hopefully be able to reuse their scaling code for these transformations and create an API function which sets a scale factor on the <html> element.
Personally, I am now concentrating my efforts on implementing a backing store for WebKit/GTK+ which should hopefully substantially increase scrolling performance, as well as investigating and looking into writing this zooming wrapper around the new transformations code.
Posted in Computing, Misc | 5 comments
Posted by George Wright
Sun, 12 Aug 2007 01:06:00 GMT
Today I updated the WebKit checkout and rebuilt it. Had a few hiccups because recent commits depend on GTK+ 2.8, whereas the N800 only has GTK+ 2.6, but in the end I managed to get it to work. Now we have Google Maps (which was broken in the previous WebKit)!

WebKit displaying Google Maps
Thanks go to Holger Freyther for his work on WebKit which has made this possible.
Posted in Computing | 1 comment
Posted by George Wright
Fri, 10 Aug 2007 00:20:00 GMT
On Wednesday Collabora moved out of the old office which we had outgrown and into our new amazing 4-room office opposite King’s College, Cambridge and above the Fudge Kitchen on King’s Parade. The old office is a shoebox in comparison! We now have a large front office, a large back office, a smaller back office (which I think we’re letting out to Ept Computing) and a large conference room. This ought to improve productivity, and as an added bonus it’s situated right next to my college supreme convenience!
To respond to some of the comments I’ve seen about Alp’s and my WebKit work; yes, I will be trying to get it to work on the Nokia 770 as I personally own a 770 and not an N800 and we may well be making a public release when it’s more stable. Currently I’m investigating the upstream source code and hoping to start working on adding the features we need to WebKit itself and submitting patches which implement them. Alp already has commit access to WebKit and will be working upstream anyway.
Last week, Tobias Hunger blogged about my involvement with standardising Mission Control, which is the abstraction layer which sits between Telepathy’s Connection Managers and the client. To anyone who’s interested in the work, the preliminary specification is online. So far, we still need to work out a sensible API for the Channel Handlers and iron out a few problems with the current specification, but we’re getting pretty close to coming to an agreement about it all. I personally would be very happy at the idea of having a standard API for this which can be shared between KDE (Decibel) and GNOME (Nokia Mission Control).
Posted in KDE, Computing, Cambridge | no comments
Posted by George Wright
Tue, 07 Aug 2007 16:59:00 GMT
For the past few days Alp Toker and I at Collabora have been working on integrating WebKit with the abstract browser user interface on the Nokia N800. Thanks to Nokia’s Engine Abstraction Layer (EAL) we were able to compile (with much difficulty) WebKit for the N800 and create our own EAL which provided hooks for the Nokia browser interface to communicate with WebKit.
Some of you may wonder why we are even bothering with this project. Well, for a start, WebKit is significantly smaller than Gecko and renders pages significantly better than Opera does (in my opinion). It also has a built in SVG renderer and has an active community surrounding its development. And, of course, it has its roots in the KDE project. Additionally, it’s run as a serious open source project and they do things the right way for open source, which is fantastic.
So far the port has been fairly successful. After a little setback we were soon on the ball and managed to get a proof of concept EAL working with WebKit rendering Google’s homepage.
By now we’ve managed to implement a few more hooks thus making more browser functions work, such as changing URL, going forwards/backwards in history etc, but it still needs a bit of ironing out - although the basic implementation is there and surprisingly usable.
There’s still quite a lot of work to be done, such as improving the rendering performance (it’s pretty good, but it still feels a little slow), adding input focus signals to WebKit GTK (to let us know when to bring the on screen keyboard out), and context menu entries (for right clicking). There’s also a slight problem with the rendering such that native widget theming isn’t great due to Hildon’s use of non-scalable widgets but we’ll be working on that.
At the moment we’re still developing this on our own but Alp and I are hoping to make a public release when the port has stabilised a bit.
Posted in Computing | 5 comments
Posted by George Wright
Thu, 24 May 2007 00:00:00 GMT
This summer I’ve managed to land an internship at Collabora Ltd to work on freedesktop.org projects.
Collabora’s current projects include Telepathy, Farsight and Nice. I will be working on something related to one of those projects.
So far we’re still in the brainstorming phase of what to work on, but Rob is keen that I work on getting TCP-like stream properties (flow control, ordering guarantees, retransmissions etc) into Telepathy’s “Tubes”, so that applications can communicate using stream-like Tubes over whatever UDP connection ICE has NAT-traversed. This will effectively provide a generic method for applications utilising either D-Bus or their own protocol (over a SOCK_STREAM) to communicate through NAT routers whilst still speaking something like TCP.
Of course, I would like to get the community’s opinions on the projects and most of all I’d like suggestions on other things I can spend my time hacking on which will benefit the populace at large. Any criticisms (constructive or otherwise) are welcome. The work will almost certainly be in glib but if there’s any relevant work that needs doing in KDE, Collabora may consider letting me work on that.
Posted in KDE, Computing, Cambridge | 4 comments
Posted by George Wright
Mon, 26 Feb 2007 00:22:00 GMT
The second day of FOSDEM was good fun. The night before was not so fun. After having dinner with a bunch of KDE developers, I decided to go and try to find the hotel I was staying in. After two and a half hours of running around Brussels like a headless chicken carrying a few tonnes of computers on my back, I finally managed to get to the hotel we were staying in - the Hotel Continental.
For those who don’t know, the Hotel Continental was the cheapest hotel I could find using Google that was in Brussels. It’s literally right next to the Bruxelles-Midi station and a twin room costs 61.50 EUR per night. The downside? The room is terrible. The wardrobe door fell apart when we tried to open it, the room was tiny and there wasn’t a shower anywhere near the room. However, it wasn’t all terrible. The staff were exceptionally friendly and courteous, the beds were comfortable and the breakfast was quite nice, which made the whole experience much more pleasant than it could have been. If you don’t mind a cheap place to stay that’s nicer than a youth hostel I think the Hotel Continental is quite a nice place to stay.
As for the conference itself, I finally managed to meet Lorn Potter today. I’ve known him for years due to my interest/work in Opie and Qtopia but as he’s located in Australia I’ve never had the opportunity to meet him, so it was great to finally meet him today. The rest of the time was spent trolling on the Debian booth and being viciously attacked by Nattie of #debian-uk fame, who has now surpassed Jes Hall and Lauri Watts on my top ten list of people to hate for touching my hair.
Anyway - it was a great conference and I hope to see many of you again next year!
Posted in KDE, Computing | 5 comments
Posted by George Wright
Thu, 22 Feb 2007 06:53:00 GMT
Well, it looks like my ThinkPad T43p has decided to die. A few months ago the UltraNav touchpad/trackpoint combination thing decided to start being faulty, in that it would randomly stop working and then only start working again when it felt like it (a reboot didn’t fix the problem, and no mouse was detected by the kernel if I did reboot), which was a pain.
So today I rebooted the laptop and what am I greeted with upon next boot? The following error message splurted out over and over again:
translated ATA stat/err 0x51/40 to SCSI SK/ASC/ASCQ 0x3/11/04
Really not my idea of fun. A hard disk failure - the most annoying thing in the world. Luckily I managed to get the hard disk into a USB caddy and copy the entire home partition off it, but it seems the hard disk really is faulty as dd if=/dev/sdi of=/dev/zero on my desktop (where sdi is the disk) gets the following sent to dmesg:
[19135224.412000] sd 23:0:0:0: SCSI error: return code = 0x8000002
[19135224.412000] sdi: Current: sense key: Medium Error
[19135224.412000] Additional sense: Unrecovered read error
[19135224.412000] end_request: I/O error, dev sdi, sector 61507808
[19135224.412000] Buffer I/O error on device sdi, logical block 7688476
[19135322.864000] sd 23:0:0:0: SCSI error: return code = 0x8000002
[19135322.864000] sdi: Current: sense key: Medium Error
[19135322.864000] Additional sense: Unrecovered read error
[19135322.864000] end_request: I/O error, dev sdi, sector 61507816
[19135322.864000] Buffer I/O error on device sdi, logical block 7688477
Oh the joy. I’ve now contacted Lenovo/IBM to see what they can do for me under warranty, and upon reading the warranty documentation it seems the trackpad and disk drive are customer replacement units so hopefully I won’t even have to send it in! Hooray for sane warranty agreements! :)
Posted in Computing | 6 comments
Posted by George Wright
Mon, 19 Feb 2007 13:22:00 GMT
Thanks to the response of my previous blog about the NX client I’m now working on for the 770, I’ve come to the conclusion that the best way to allow GTK to interact with the client library I wrote would be to implement a D-Bus interface in addition to the standard C++ interface so that the library can work much more cleanly with other toolkits (and hopefully even other languages!). Unfortunately, this is going to be on hold for at least a few days while I sort out my university work… It’s going to be quite a cool project though!
For the first time this year, I’ve finally decided to go to FOSDEM. In previous years it’s always been during term time and as I was at a boarding school I could never go, but now that I’m at university I’ve decided to just take the plunge and go (besides, Alasdair Kergon told me that I absolutely had to come this year). If anyone I know is going give me a shout and I’ll see if I can find you amongst the large crowd of (possibly drunken) geeks! I’ll be leaving Waterloo on the 6:06am Eurostar to arrive in Brussels somewhere around 9:30am and returning on a Eurostar departing sometime around 9pm on Sunday.
Posted in KDE, Computing | no comments