Around the Browsersphere #14

Posted on January 1st, 2010 | 2 Comments »

I’ve been doing my best to keep my finger on the pulse of the browsersphere over on Twitter, but you know you’re not getting the real deal until we go “around the browsersphere.”

General

Chrome

Firefox

Internet Explorer

Opera

Minor Players

There’s a lot more to cover, but that should hold you over until 2010. ;)

Happy New Year, everyone.

Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Lars Bak, the Man Behind Chrome’s V8

Posted on December 27th, 2009 | No Comments »

An article written nine months ago, The genius behind Google’s browser, goes in-depth with the main programmer behind Google Chrome’s v8 JavaScript engine, Lars Bak.  Although the article’s title and certain parts of the story perhaps give a little too much credit to one man (there’s a lot more to Google’s browser than its JavaScript engine), it’s a very interesting read nonetheless.  The following is a short excerpt from the article:

Many computer programs are built using previous versions, or related code, but V8 was started from scratch – a blank slate. When I meet [Kasper] Lund later in my Denmark trip, he takes great delight in underscoring this fact: “It’s the purest form of coding there is.” [Lars] Bak clearly agrees – as Lund speaks, he can’t stop smiling.

Beyond detailing the story behind v8’s development in Denmark, the article gives a personal glimpse at its key creator, something his Wikipedia article doesn’t quite achieve.

If you’re interested in the developers behind the browsers or browser-related technology you probably take for granted on a daily basis, I’d definitely give the well-written The genius behind Google’s browser a read.

Tags: , , , , , , , ,

Chromium Tech Talk Videos

Posted on December 17th, 2009 | 1 Comment »

chromium_logo_smallOne of the things I’ve always been fascinated by is the low-level side of web browser development.  I used to look through Mozilla’s source code, take a look at patches that were added to Bugzilla, and try to find anyone on the web who actually did web browser development to get a sense for what it entailed.  Back in the day, getting that type of information was very much so a do-it-yourself kind of venture.  The closest I really came to getting low-level yet consumable details was when I used to follow David Hyatt’s work several years ago.

Having had those experiences in the past helps me appreciate even more the fact that the Chromium community has been publicly exposing details about the “guts” of Chromium in several tech talks posted over at the Chromium Blog.  The tech talks have been archived in video form on YouTube so that anyone interested in the details of Chromium development can find out more about what’s involved.

One video features Darin Fisher, who used to work for Mozilla, talking about The Chromium WebKit API.  In another, Pam Greene covers Chromium WebKit Layout Tests.  In another, Brett Wilson discusses Painting in Chromium.  Last but not least, Eric Seidel, who has worked on both Safari and Chrome, goes in-depth about Rendering in WebKit.

That last video is probably the most interesting to me, simply because it deals with the rendering engine and also unveils a few interesting facts.  For instance, WebKit is made up of almost 2 million lines of code and is developed by about 80 active committers, of which about half work for Google.

If you’re interested in how web browsers are tested, how HTML source gets transformed into what you see on a web page, etc., you’d be doing yourself a favor by checking out the Chromium tech talks.

Tags: , , , , , , , , , , , , , ,

The Current State of CSS Gradients Support

Posted on May 8th, 2009 | No Comments »

CSS GradientsWhile doing some web design brainstorming earlier today, I wondered if any progress had been made on adding support for CSS Gradients beyond WebKit, for which support was first introduced a little over a year ago.  Via MozillaZine, I realized I’m not the only one wondering this, and ended up stumbling upon the Bugzilla bug tracking the progress of CSS Gradients support in Firefox.  Reading through some of the commentary there, it gave me a newfound appreciation for just how fluid the implementation of these kinds of features really is.  For example, it’s somewhat obvious that the original support as announced at Surfin’ Safari was based on some of the canvas documentation related to HTML 5.

Paraphrasing the HTML5 spec and adjusting the language slightly to not be canvas-specific:

“The color of the gradient at each stop is the color specified for that stop. Between each such stop, the colors and the alpha component must be linearly interpolated over the RGBA space without premultiplying the alpha value to find the color to use at that offset. Before the first stop, the color must be the color of the first stop. After the last stop, the color must be the color of the last stop. When there are no stops, the gradient is transparent black…”

Furthermore, it’s obvious that not everyone completely agreed with the initial implementation, and it’s clear that Firefox developers collaborated with WebKit developers to hone in on a more logical implementation.

All of that being said, the reality is that CSS Gradients are not supported widely enough at the moment to be considered tools in the common web developer’s tool belt.  As aforementioned, Firefox support is still in progress (as of yesterday, in fact) and support in Internet Explorer 8 and Opera 10 appears to be non-existent, based on visits to this demo in those browsers.  The demo only seems to work as expected in Safari and Chrome (the latest “Dev” version, at least), which makes sense, since those are the major players that sport WebKit under the hood.

We’ll be keeping an eye on the progress of CSS Gradients support and several other, similar implementations over the coming year.

Tags: , , , , , , , , , , , , , , , , , , ,

Testing WebKit Nightlies on Windows

Posted on July 8th, 2008 | 5 Comments »

Anyone who has followed the support for web standards in today’s popular web browsers knows that the WebKit rendering engine has been at the forefront of that support.  Therefore, if you’re a browserphile like me, there’s a good chance you’re interested in testing out the latest and greatest WebKit build so you can see what all the fuss is about.  The following is a step-by-step list of things I had to do to get WebKit nightly builds working on my Windows computer.

  1. Download and install the Safari web browser for Windows.
  2. Download the latest WebKit nightly build for Windows.
  3. Unzip the contents of the download to a location like C:\Program Files\WebKit Nightlies.
  4. In the contents of the extracted folder, run (either from the command line or by double-clicking on the file) run-nightly-webkit.cmd.
  5. Watch as several necessary files are copied over to your Safari installation directory.
  6. If Safari launches and then crashes, fear not.  First try running the run-nightly-webkit.cmd file again.  If the crashing persists, work backward through the Windows Nightly Build Archive until you find a working build.  Remember, nightly builds are almost always considered dangerous (which is why the Firefox nightlies are called “Minefield“) so it may take some tinkering around before you find a good one.  The last good one I found at the time of writing was r34388.
  7. If Safari launches and renders the default start page, you’re in business.

If you want to verify that you’re indeed using the WebKit nightly build you downloaded and not the default Safari rendering engine included with the latest version (3.1.2 at the time of writing), an easy way to check is to head on over to the Acid3 test.

This is what the test looks like in Safari 3.1.2:

Screenshot of Acid3 in Safari 3.1.2

And here is what it looks like in WebKit nightly build r34388:

Screenshot of Acid3 Test in WebKit Nightly Build r34388

Pretty cool!

I’d be remiss not to mention Swapnonil Mukherjee’s previous post on the subject, which proved to be a pretty good guide to getting a WebKit nightly build running on my computer.

Tags: , , , , , , , , , , , ,

Firefox 3 RC1 is Code Complete

Posted on May 10th, 2008 | 1 Comment »

Just caught wind of this via Twitter:

Thanks to all the hard work of the Mozilla community as of 9:15 AM PDT today we are code complete for Firefox 3 Release Candidate 1 (RC1). New nightly builds are available – if you are a nightly tester/Minefield user you can help test these builds by selecting “Check for Updates” from your help menu.

Assuming no new issues are found today the build team will start official prep work for Release Candidate 1 (RC1) tomorrow. QA will start their extensive RC1 test pass on Monday. If all goes well we should have the Release Candidate publicly available in late May.

RC1 is intended for wider scale public testing. Our 1.2M+ active beta users will automatically get updated to RC1 when it is released. If no new showstopper issues are found in RC1 it will become Firefox 3 final. If we find any critical issues we will continue to release new Release Candidates until we are ready for final ship.

Source: Mozilla Developer News

Tags: , , ,

Quick Latitude Update

Posted on April 3rd, 2008 | 1 Comment »

For those interested in the development of Latitude, which was covered here in the past, be sure to check out the new official website at latitudebrowser.com and a very informative interview with the Latitude team over at Mac Fanatic.

Tags: , , ,

An In-depth Look at Firefox 3 Memory Usage

Posted on March 12th, 2008 | No Comments »

I stumbled upon Firefox 3 Memory Usage via Twitter tonight.  The post, from Mozilla software engineer Pavlov, goes into great detail about many of the various memory usage-related changes and fixes that have gone into Firefox 3.  Those changes include, but are not limited to, reduced memory fragmentation, cache tuning, image data storage improvements and memory leak reduction.  Be sure to read the full post if you’re interested in those gory details.

Tags: , ,

Safari Closing in on Acid3

Posted on March 7th, 2008 | 2 Comments »

According to Dave Hyatt, the Safari team has made significant gains of late in achieving compliance with the new Acid3 test.  Apparently they’ve made the leap from scoring 39/100 on the test to 90/100 after addressing issues with CSS3 Selectors, general parsing bugs, SVG and DOM Level 2 features.  According to Hyatt, the remainder of the issues tend to fall into the SVG category, and since they are getting so close to Acid3 compliance, they will be updating Surfin’ Safari regularly with updates on their progress.

Tags: , , , ,

Latitude Q&A with Sebastiaan de With

Posted on March 6th, 2008 | 3 Comments »

As promised, I sent some questions to Sebastiaan de With, the icon and interface designer who came up with the idea for a new web browser, Latitude, which was covered here at Browsersphere recently.

Sebastiaan was kind enough to come back with very thorough and informative answers, so I’ve posted them here in full, with a few minor edits and links added.

Has the idea for Latitude been lingering in your mind for a long time, or is it something that sprang to life only recently?

I’ve been thinking about browser interfaces since the last few months, mostly inspired by the expressions of Mac users about the lack of a Mac-experience in browsers like Firefox and Flock. Although most people consider an .app bundle adequately ‘Mac-like’, I think it goes down to the very mental model the user has of the software he’s using. Take, for example, Safari’s bookmark management. There’s this great bookmark bar, that lets you toggle between the bookmark view and your website. It’s a tiny button that usually confuses some novice users I know, but I can understand that’s no priority. However, the same kind of view pops up if you access ‘History’ from the menu. It’s something a lot of users find confusing, because these completely different content views are all accessed from different places and are dismissed differently (discounting tabs and undo). Firefox also does this wrong, using a separate sidebar for anything you might be able to imagine. No user wants to think “in what sidebar is this thing I need?”

There [are] two options to improve on Firefox’s models; you either take away all the crud, without reinventing the basic principle (Safari’s path), or you re-think browser interfaces from scratch, keeping in mind the paradigms of Mac OS X, and for example iTunes. Why can my mother buy a song in iTunes, while she can’t find a fun movie on the internet, or keep track of what’s happening in the world?  It then struck me that original ideas should be implemented to reduce the screen estate the interface would consume, and the pieces of the puzzle soon clicked together. What do you want in a browser? I’m sure I could ask any intermediate computer user and get a list of his most wanted features. Now try condensing that into a new browser, with the basic premise that the UI should be minimal.

In your “My dream browser” post you wrote “I am aware of several ‘new generation’ browser projects, but none really line up with my ideas.”  Can you share a few of these “new generation” projects and/or why you think they fall short?

The two projects that really [caught] my attention were Flock and Shiira; these two browsers are ideologically opposed to each other. Flock tried to make an integrated browsing experience and failed, in my opinion. The Mac version of Flock once counted no more than 10 buttons; these days, its toolbar is chock full of nondescript buttons and widgets. To me, it wasn’t just visually busy, but it was mostly a browser that seemed like a big hassle to get my head around. I just want something I don’t have to learn, while still being feature-packed. Shiira really did much better in this regard, but simply went a different direction, reinventing parts of the interface, making things more intuitive and visual, but in no way expanding on the feature set of browsers. I really want both; an intuitive browser that’s as functional for viewing web content as the Finder is for viewing files on your disk. Finder doesn’t just handle one format of files either; it can handle your content. And in my opinion, that’s what a browser should do today. Focus on content.

The feedback to both of your posts on the subject has been very positive based on the comments.  Have you gotten a lot of other feedback through email or by other means, and has it been just as positive?  Are there any instances where you received constructive criticism or even negative feedback?

I’ve gotten a lot of email from developers and people who really want to see this developed. I chatted with a few developers, but as I’m very occupied as a full-time icon and interface designer, I can’t oversee or manage such a project right now.

I’ve gotten more than enough constructive criticism and even negative feedback; from people saying my interface mockups are just ‘someone with Photoshop‘ to dismissing certain ideas or even calling me names for proposing to take away the tab bar when the sidebar is active. I think a lot of people misinterpret my designs; most think it’s intended to completely throw every interface paradigm in browsers today overboard, but that’s the opposite of my intention.

I want to make a browser with a more accessible and less cluttered interface. For loose ideas, like the ‘Time Machine’ view for history I mocked up, criticism is fierce, while I’ve always mentioned that it is just a mock-up of a more visual way to view your history for one website, suggesting a different view for all website history. But most people who express the most intense critique fail to offer any real better solutions to the problem.

In your “Latitude” post, you wrote “Several developers have contacted me with the desire to develop it, and some have already actively begun programming whole aspects of it.”  Can you share what aspects have already gone under development?

Thanks to Apple’s WebKit, developers are able to implement a multitude of my interface ideas and gauge the feasibility other features I suggested . Currently, basic work is being done on making more intelligent sidebar behavior, fullscreen browsing, and changing things like Downloads and Bookmarks from their conventional format to something ready for the sidebar.

Will you be making the design document and centralized website you mentioned in that same post available for public consumption, or are you trying to limit it to only those actively working on the project?

I intend to make this as open as possible, and I hope all developers working on the project are eager to allow other people to chip in and collaborate to make a better browser reality.

I noticed some criticism of Firefox in your other blog entries.  Is this your primary web browser today?  If so, what do you think are its biggest shortcomings?

Although Firefox is not my primary web browser (Safari is), it is one of the most used browsers today, and the last beta version for OS X showed an interface that is absolutely nonstandard and horribly designed. I think Firefox, while aiming for a ‘good’ look and feel on all platforms, really fails to deliver on any, with perhaps the notable exception of Linux. As I said in the response to your first question, the lack of invention in the interface causes the user to go on a quest to find the features he needs, and disappoints most of the time in providing them.

Have you put any thought into working your visual design ideas into an already existing platform (e.g. Firefox) via extensions or themes in order to bypass all of the work that goes into creating a new rendering engine, etc.?

As I said in my response to question 4, WebKit already allows this, and thanks to that, I can deliver the interface in full Cocoa glory. Firefox (with the exception of Camino) still uses XUL to render its interface, which is something I wouldn’t want to touch with a ten foot cattle prod. Also, I think drastically changing the structure and interface of a browser like Firefox would require so much more than an extension, that working ‘from scratch’ is automatically the preferred option.

If readers of Browsersphere are interested in contributing, what kinds of help are you looking for?

Anything! If you can code a website, feel free to drop an email, but especially (talented) developers are encouraged to contact me to get details on the project before the official website goes live.

Tags: , , , , , , , , , ,