Inspecting the Web

Inspecting the Web

WebKit offers two neat tools for web developers. This is Drosera a JavaScript debugger and the Web Inspector. Some weeks ago I wanted to find out how hard it would be to enable the WebInspector for the WebKit/Qt port and it is really easy. Almost everything of the Web Inspector is portable code, ready to use by the available ports. So everything one has to do is to implement the InspectorClient clas which accounts for a couple of hundred lines of C++ code and you are done. The code can be found in this git branch and this going to be merged to qtwebkit and trunk once we have sorted out #15938.

In the below screenshot you can see the WebKit/Qt and WebKit/Mac Web Inspector next to each other. You can spot some errors on this screenshot, e.g. the WebKit/Qt port doesn’t render search menus yet and when using it you can see some other issues in the drawing and networking code. So the Web Inspector makes a perfect test tool as well.

inspector

Arte messing with my mind

Arte messing with my mind

Wow no channel like arte is messing with my mind. I just saw Reds about the live of John Reed and Louise Bryant and it is a wonderful movie. It is totally messing up my mind, really touching on so many levels….

I really recognize how much I would like to have someone like Louise in my life but that is getting even more off-topic.

More movies on arte tonight and immortal yesterday so I’m slowly making up my TV-less time.

OpenEmbedded at T-Dose

OpenEmbedded at T-Dose

I was at T-Dose the last two days. I did arrive on Friday and had certain difficulties to find a place to sleep. I had to find out that the train station actually closes at 1:30 in the morning…
So today I had my talk on OpenEmbedded and I’m going to upload my slides, it was my first talk using keynote and I think it went quite well. It was quite an easy talk without going into details too much. E.g. I spared the audience from talking in the sense of interdependant tasks but gave a high level view on OpenEmbedded and tried to show how much we rock as community. I will put the slides up somewhere but will do another post.
I was honored by the presence of Kirk McKusick and Eric Allman and I hope Kirk didn’t fell a sleep due my talk….

Thank you for the nice food!

Thank you for the nice food!

Woglinde has recently worked with Robert Schuster of tarent on the OpenEmbedded Java integration. He approached Robert and asked if tarent would be interested in inviting the visitors of the OEDEM 2007 to a dinner.

The result is we had a fantastic dinner with great food at the Oderquelle. So Robert and tarent a big thank you for inviting us and continue the work on documentation and java integration as it is highly appreciated as well.

Traveling, Planning, Failing

Traveling, Planning, Failing

It is almost a week ago that I left Eindhoven to visit Michael and Daniel and since Wednesday I’m back in Eindhoven, the tuesday was spent in Amsterdam and I stayed in a christian hostel (http://www.shelter.nl). I had planned/expected to be in the north (think of Finland, Denmark, Sweden) by this time but I’m somehow stuck at my family in Eindhoven, no idea if I will leave them before OEDEM, if I’m going to manage it to go to London/o-hand for a day or two as I’m somehow really stuck here.

I have been mostly doing janitor work on WebKit/Gtk+, killing the TemporaryLinkStubs.cpp, moving stubs to separate files, finally did the renaming from *Gdk.{h,cpp} to *Gtk.{h,cpp}, started on working drawing comboboxes and popupmenu support. I’m searching for a nice and easy way to bind GObject to JavaScript but it looks like I have to use h2def.py to extract the public methods. In this regard the Qt Object Model is just better as you have access to signals and slots (specially marked methods). So the moc creates are more pleasant experience in contrast to the m4 foobar the gtkmm bindings requires one to do… but I’m drifting away.

I spend most of the day reading books, publications and try to take care of my cousins, their dog and doing other physical work. I quite enjoy that and it helps me to relax.

I congratulate Trolltech for opening up Qtopia and as I have promised back then I will do the Qt4 dance now. I don’t know where, how and if some one is going to record it but some people at OEDEM will be forced to see me dancing.

Oh and btw there is Charon a web browser designed for the Neo, go and check that out.

WebKit, GSoC 2007 at an end prototyping

WebKit, GSoC 2007 at an end prototyping

Officially I’m on vacation. The plan is to travel a bit, prepare for at least one exam and hack on a new OpenMoko application. I hope to not really skip the traveling part but it will probably suffer due studying. I will be at least in Eindhoven on the 15th and in Frankfurt on the 16th of September 2007 but with the goal to go north. Hopefully visiting two friends one in Rostock one somewhere in Denmark and then hopefully going further north (e.g. sweden or finland) and return by crossing this one kingdom located on this island and hopefully to meet some old friends in Cambridge.

Currently I’m still in Berlin. As my flat is still rather empty I mostly hang out in the office. To make a difference I’m sitting in a different room with a different pile of books and papers on it. So my thoughts are divided between what to study, reading old GCC summit papers and other compiler related publications and thinking of a new application for OpenMoko. El, my usability master, kindly agreed to give me a hand in designing the interface and work flow and I hope this works out. I have prepared Neo1973 paper versiona paper version of the Neo and already wrote some stuff for the main tasks this application should do. I have a list of actions and settings this application has but as the space of the toolbar is rather limited I don’t really know what to do with it. Again I hope my usability master has some thoughts and that I’m, the Kode-Knecht, will be able to realize them.

Oh, I will hopefully be able to emulate Aaron and find a copy-shop and people to try the paper prototype…

What does that have to do with WebKit? No idea but as you are clever you will find that out. On a rather funny note Google asks the GSoC2007 students to create a Gmail Account and to upload the code to a code.google.com repository. Sadly they only allow to upload 20MB and my tarball is 105MB…. I have mailed LH and filed a ticket to request more quota…

Chaos Camp Update

Chaos Camp Update

Today is the fourth day of the camp. Before the camp started I was busy improving the feedreader, at the camp I have been busy preparing, splitting and merging patches for WebKit. So WebKit can now properly handle ScrollBar’s of div elements and such, we support multiple frames so Google maps, which recently introduced iframes, works again. You can select text and input non ascii charachters. So WebKit/Gtk+ is nicely improving. In a month or two we are most likely busy creating the API and have a rather complete WebCore implementation.

I will create screenshots at a later point.

z.

WebKit/Gtk

WebKit/Gtk

ChangeLog | 6
WebCore/ChangeLog | 11 +
WebCore/WebCore.pro | 27 +++
WebCore/platform/gdk/ScrollViewGdk.cpp | 4
WebKit.pri | 3
WebKit/ChangeLog | 26 +++
WebKit/gtk/Api/webkitgtkdefines.h | 48 ++++++
WebKit/gtk/Api/webkitgtkframe.cpp | 87 ++++++++++++
WebKit/gtk/Api/webkitgtkframe.h | 100 +++++++++++++
WebKit/gtk/Api/webkitgtkframedata.cpp | 29 ++++
WebKit/gtk/Api/webkitgtkframedata.h | 65 +++++++++
WebKit/gtk/Api/webkitgtkglobal.cpp | 39 +++++
WebKit/gtk/Api/webkitgtkglobal.h | 41 +++++
WebKit/gtk/Api/webkitgtknetworkrequest.cpp | 29 ++++
WebKit/gtk/Api/webkitgtknetworkrequest.h | 65 +++++++++
WebKit/gtk/Api/webkitgtkpage.cpp | 208 +++++++++++++++++++++++++++++
WebKit/gtk/Api/webkitgtkpage.h | 132 ++++++++++++++++++
WebKit/gtk/Api/webkitgtkprivate.cpp | 47 ++++++
WebKit/gtk/Api/webkitgtkprivate.h | 82 +++++++++++
WebKit/gtk/Api/webkitgtksettings.cpp | 69 +++++++++
WebKit/gtk/Api/webkitgtksettings.h | 117 ++++++++++++++++
WebKitTools/ChangeLog | 8 +
WebKitTools/GdkLauncher/main.cpp | 160 ++++——————

A lovely respond to Lorn Potter of Trolltech

A lovely respond to Lorn Potter of Trolltech

Dear Lorn,

in your recent blog entry you make a couple of claims I would like to analyse/respond to.

Lorn: “You can make phone calls, send SMS messages, AND easily add your own customized functionality, right now!. (they would too, had they used Qtopia) Heck you can even use it as your primary phone. I have been using mine for almost a year now.
You can hack on applications all you want, because Qtopia is GPL, and will always remain GPL. As an open source developer for more than 5 years now, I just don’t get the LGPL and why advocates of free, open source software keep using that license. Do you want more proprietary closed source or software that will always be free?”

I sincerly agree with your opinion on freedom, it is one of the greatest goods we have and should not sacrifice and let’s take a look at your claim. Imagine I write a killer application using SMS and Phone and I test it on my Greenphone. Now I want other people to use this excellent application. They have a Neo1973, a Dreambox, a couple of other HTC devices. So this is where the Freedom starts. I will just compile Qtopia for the Neo1973 (ARM OABI), Dreambox (MIPS and PPC), HTC Devices (ARM EABI) and let my application run and everybody is happy, right?
Wrong, a fundamental part for SMS and Phone the libqtopiahone library is not GPLed and this is where my Freedom is limited. I can not let my application run on any device not officially supported by Trolltech. This is what I normally refer to as binary crap as I’m not free to read the sourcecode, I’m not free to change the code, I’m not free to compile the code and I’m not free to distribute the code.

So Lorn please do yourself and your employee a favor and stop lying to the community by claiming everything is free as in GPL.

z.

PS: If libqtopiaphone is liberated/GPLed I will write another blog posting stating so and will do the Qt(opia)4 dance…
PPS: Use the Neo1973 emulator to adopt Qtopia, and send a image to your colleagues in munich to test it on real hardware.

Congratulation OpenMoko.com

Congratulation OpenMoko.com

Hija,

congratulation OpenMoko Inc. for launching OpenMoko.com and setting up the webshop. Let us create a kick-ass product/consumer device!

happy hacking.
z.

PS: You have to buy a Neo. Even if it is not green it is awesome!
PPS: It looks like I will have to try the webshop soon as well as the lovely DHL/Deutsche Post did a favor to me and lost a package…