Unexpected

Blog post by aldeck on Wed, 2012-06-13 01:32

After a week of struggling with my friend the compiler, I finally managed to bring the port into a buildable state again. Porting the latest changes to libwebkit, the last of the four WebKit subcomponents (libwtf, libjavascriptcore, libwebcore, libwebkit), took me more time than I anticipated but to my great surprise, after I fixed the first runtime crash, HaikuLauncher and WebPositive would run and be almost usable. Yes, there are visual glitches, and it is quite easy to crash, but you can search google, use maps, facebook, haiku-os.org and post this blog post.

This was totally unexpected, I would have considered it normal to struggle with numerous crashes on startup, but it seems that I didn't broke that many things in the upgrade. The first thing that I noticed was the overall snappiness even in debug mode and, after looking for a simple load time benchmark, I confirmed that first impression. This benchmark shows a ~3x improvement in load time. Javascript is substantially faster too, but you know that already if you read my last post.

This is really encouraging, especially for me, as I've now got something to click and play with... after discussing with a compiler for almost a month :-)

Now the real work begins, fix all regressions and provide a solid release, one that can run the most important sites correctly. And if I've got some time left, I'll look into bringing new features and enhancements. But don't count too much on that, if prefer concentrating on a solid base for now.

Screenshot (sorry I couldn't manage to embed the image)

Comments

Re: Unexpected

Haha, sometimes the code amazingly works once you get done fighting the compiler!

This sounds awesome. I also love the "meta-ness" of the screenshot in the blog post showing a tab where you are likely composing said blog post! Anyhow, it sounds like your work is going well.

Do you know if your new code has caching turned on? Because if it is still off then there is even more room to increase the snappiness of WebPositive...

Re: Unexpected

Great work! Looking forward to your future updates.

Quick question, did you test Gmail? And if so, were you able to use the new(ish) interface or still had to resort to the old one?

Iirc, the problem was with a backend component (curl?), Ryan knows way more about this than I do :)

Great work as I mentioned before, keep it up (with some rest here and there).

Re: Unexpected

Unfortunately the problem is still there, one can check the inbox but sending mails won't work.

Re: Unexpected

Can't send e-mails? Weird... last time I used it I think it worked, can't be sure though, it's been a while. It was more about not being able to use the "web2.0/ajax/whatevertheycallitnow" interface.

Re: Unexpected

Weird? No! That's the "expected" part :) a.k.a "many things broken". The list of websites i gave was just to show that it can already load a few sites. For what it's worth i retested the old Web+ and i confirm that it can't send mails either with the normal gmail interface.

Re: Unexpected

Fair enough :)

I'll be anxiously waiting for your updates, as everyone else will be I'm guessing.

Re: Unexpected

The GMail problems are primarily due to the libcurl backend, which is still currently in use. One of the possible tasks if he has time will be replacing that with the one written for Services Kit, which should hopefully get rid of that problem.

Re: Unexpected

*pets* the yak

Thanks for the clarification, I knew I was messing up somewhere in my explanation :)

Re: Unexpected

Congrats!

Could you try to enable autoscroll support http://webpositive.haiku-os.org/ticket/72

I was also wondering how much WebPositive and it's libs weigh now compared to the last available version?

Re: Unexpected

Sure i'll have a look at all the tickets at some point. Only the libs took weight (i didn't touch the browser code yet) growing from a total of 23.3MB to 27.9MB. Note that there might still be unneeded stuff in there.

Re: Unexpected

Oooh, nice.

Re: Unexpected

how does google+ work/performe with the new webkit port? (compared to the old one).
Is WebPositive at the moment using the services kit?
In any case, my congratulations for the progess. I didnt expect it would happen that early.

Re: Unexpected

Wonderful news! Thanks for all your hard work.

Re: Unexpected

Nice :)

Re: Unexpected

Nice going aldeck! I seem to recall that webkit would be exposed through the native api as a way to render html/css etc in any application, do you know anything about this?

Re: Unexpected

Rox wrote:

Nice going aldeck! I seem to recall that webkit would be exposed through the native api as a way to render html/css etc in any application, do you know anything about this?

Yes we would like to provide a BWebView or similar, which is actually already part of our WebKit bindings (in libwebkit.so) and used by WebPositive. We just need to be careful and design the API right so it is useful to all applications. That means that it may be "beta" for a long time and prone to changes and breakage until we totally refine it. Of course we have plenty of other WebKit API examples for other platforms that we can model, the Mac OS X one being a great example of one used extensively in various applications.

But I can safely say the Haiku API probably won't be "official and public" until after R1.

Re: Unexpected

Makes sense, good to see this is on the official roadmap as it will likely be very useful and thus a nice addition to the native api.

Re: Unexpected

This is definitely unexpected but very good news indeed! One step closer to having an every day usable release. Keep up with the good work.

Re: Unexpected

Awesome progress!!!

Re: Unexpected

This is great work. I think we kind-of forgot about Web Positive because it appeared to work for the most part. These performance increases sound like experience will almost be night and day.
I am unclear on whether the updated WebKit will also necessarily bring more HTML5 features. From what I understand each feature has to basically enabled and mapped down into Haiku (sometimes).

Re: Unexpected

DanielDevine wrote:

I am unclear on whether the updated WebKit will also necessarily bring more HTML5 features. From what I understand each feature has to basically enabled and mapped down into Haiku (sometimes).

Pretty much, but this work lays the groundwork for us doing that much easier since we will be dealing with the latest and greatest WebKit, not the one from two years ago (or however old it was.) Certainly things like HTML5 audio and video will require us to add Haiku-specific code, but there should also be a lot of stuff we will get for free. But there is still plenty of work to be done in the Haiku platform code to support all of WebKit's features.