8 April 2008 - 8:53Awesomeness in Beta 5

I’ve been busy preparing for a conference talk, so I didn’t get around to reporting AwesomeBar improvements for Beta 5 sooner. (But for those curious, I presented Branch-on-Random [pdf, uiuc.edu] at CGO 2008 [cgo.org] (Code Generation and Optimization). Basically, it’s an instruction that’s really cheap to implement and allows for a factor of 10 times less overhead than traditional sampling techniques. I think it went well, and I even got asked during Q&A.. “When can I buy one of these?” :) )

As we’re winding down to ship Firefox 3, there aren’t as many more big features, but there’s still some useful changes in Beta 5 in terms of functionality, display, and performance. So those of you who have installed extensions to make the auto-complete smaller might want to turn it off to try out the new look.

Functionality

To better accommodate people’s expectations of results in the auto-complete, there are frecency tweaks to better prefer pages you’ve typed — by default, before adaptive learning. This helps address concerns that the top level site’s main page should appear high in the list because typically people are typing in the domain.

Another common complaint is that results seemed to be returning useless results when typing 1-2 characters. This stemmed from results being matched in the middle of words instead of at the start of the domain, for example. The adaptive learning helps avoid this problem because you’re typing words and selecting results that matched the word you wanted. The learning system then knows to show that selected page over others when you just type a single letter of the word — effectively showing a result that matches at the beginning of the word.

So to improve things for Beta 5, words that you type in the location bar will try to match on word boundaries e.g., matching after a forward slash or space. This even works for CamelCase (capitalizing the first letter of words instead of putting spaces) which is common for wikis.

Word boundary matching
Searching for “wik m” matching on word boundaries

Display

The first thing people will probably notice is that the list doesn’t feel as overpowering anymore. The number of results shown on the screen has been reduced to 6. Additionally the font size of the title text is smaller which felt unnecessarily large on some platforms like OS X. Ideally, the fewer number of results will help users scan results quickly instead of feeling overwhelmed. Combined with better functionality of multi-word search, adaptive learning, and word boundary matching, finding the page you want should be a happy experience. :)

Another set of changes is for how words you type get emphasized. Instead of only showing the first match in the title and url, it’ll emphasize all matches. Additionally, it’ll show matches when you type multiple words as well, so each word gets emphasized instead of nothing at all. For browser skin designers, there’s a new css class to alternatively emphasize matches, but the main purpose is to avoid styling bold which breaks common ligatures in some languages.

Emphasize islam
Bold/underline for english, just underline for ligatures

Performance

There has been improvements in browser responsiveness in Beta 5, so now it no longer eats up all of your CPU power for every letter that you type. In Beta 4, every single letter you typed caused the browser to start searching through your whole history

To optimize for users typing letters one by one for a whole word, we now reuse the results that are currently being shown in the list as well as continuing the search from where the last one left off. This has 2 main effects outside of reduced CPU usage: 1) existing matching results show up immediately instead of disappearing momentarily then reappearing and 2) not-as-frecently visited results can be found faster as you continue to type.

CPU Search Usage
CPU usage when searching in Beta 4 and Beta 5

The picture shows a CPU usage graph where high bars means the CPU is doing a lot of work (and potentially not letting it update the UI). The horizontal axis is time and each set of 5 bars shows the 5 seconds after typing a letter one by one. So comparing the two graphs, we find the same results with a lot less work.

As an informal poll, I was wondering how many people are using the unofficial tryserver builds that I’ve been making. There’s some features like showing keyword searches, restricting searches, etc., that might not make it into Firefox 3 final, but I could potentially start a build near ship time, so you can get Firefox 3 + some extra awesomeness.

5 Comments | Tags: Conference, Mozilla

13 June 2007 - 17:51Bye Bye San Diego!

Maybe I’ll be back here in 4 years for the next FCRC.. and perhaps with a paper submission! (Note to self: Don’t sign up for 2 conferences that are back to back that end/begin in the middle of the day. Apparently there’s no food for conferences ending today in the middle of the day, and no food for conferences starting in the middle of the day either..)

Time to head back to the commuter airport at SAN, which has the open ramp for boarding the smaller Embraer planes. (Watch out for passing planes that might cross your path while you’re out there ;) it can get pretty noisy and windy..)

Convention Center
Outdoor dining area in front of the Convention Center

No Comments | Tags: Conference, San Diego

11 June 2007 - 23:24Banquet at the San Diego Zoo

It turns out that there was a trip to the San Diego Zoo after the first day of ISCA. I was slightly confused during the last couple presentations today when people kept asking when and where the buses were picking people up. Apparently the bigger conferences have fancy trips like these for a night of adventure and mingling.

After the shuttles brought us to the zoo, we switched over to the guided tour buses that would bring us to the dining area. And just as we pulled out of the boarding area.. a peacock!

Peacock Usher
Peacock sending us off on our merry way through the San Diego Zoo

The rest of the tour had quite a few animals showing up with an 80% attendance rate - perhaps the missing group were tired from the day and went to sleep already. (Hrmm.. sitting around and getting fed while people watch you could be a tough job..) So of the ones that did show up, there were all sorts of birds and boars to meerkats and antelope-like creatures. A note about the meerkats.. they have one of them standing guard to alert the rest, so you probably won’t see many of them - let alone the one that stands motionless blending into the area.

Meerkat.. maybe
There’s nothing here! ?

At the end of the journey, there were drinks and a ton of food (desserts too, but those disappeared quickly) for all the computer architecture people to sit down and chat. It was an interesting experience for me because I just joined while a lot of people have been around for many many years. I got to meet some people and hear what they’ve been doing in this field, so I could get up to speed and see where things are going. But I won’t go into all those details here - instead, I’ll fill the rest of this post with animal pictures. :)

Polar Bear Plunge
Is the polar bear thirsty or looking for a swim?
Elephant Snacking
The elephants were having dinner… right next to where we were having dinner
Squinting Koala
A fuzzy little koala (squinting causes the camera to blur ?!)
Flamingo Pond
A bunch of pink flamingos partying late at night

No Comments | Tags: Conference, San Diego

10 June 2007 - 14:40End of HOPL III

The History of Programming Languages conference is pretty neat because programming languages designers describe how they developed the language and reflect on how it has progressed. There have only been three of these conferences with the first being in 1978, so it was nice that I was able to attend and listen to all these important people.

Just last semester at UIUC, I was attending a dynamic language virtual machine seminar where we went through quite a few Self papers - all of them had David Ungar in the author list. And it turns out the Ungar was around to give a presentation and ask some questions at the panel at the end of the conference.

Panel Discussion at HOPL III
David Ungar asking questions for Larry Wall (far right, Perl guy) and Olin Shivers (middle, Scheme) about their goals for making programming languages

No Comments | Tags: Conference, UIUC

9 June 2007 - 23:53In San Diego for FCRC

I’m taking a quick “vacation” from Summer of Code and traveled down to San Diego for my first time. ;) Actually, officially I’m here with my UIUC research group for the Federated Computer Research Conference (FCRC) to attend the International Symposium on Computer Architecture (ISCA) - also my first time at one of these types of conferences (but there’ll be plenty more as I continue the Ph.D. program). FCRC is a combination of a bunch of other conferences, so there’ll be sessions about programming languages, theory, and more - it’ll be interesting to hear about the exciting new research in those fields as well.

The flight from San Jose was just over an hour, and we landed in the Commuter Terminal (so if you ever have a short flight out of SAN, make sure to go to CT and not Terminal 1 or 2). I met up with another of my advisor’s Ph.D. students, and we taxied to the hotel/convention center and took the trolley to Old Town to find some dinner.. mexican food! I’m sure there’ll be plenty more in the days to come before I leave Wednesday night.

Flying into FCRC 2007
About to land at SAN - flying past the baseball stadium

No Comments | Tags: Conference, San Diego, Summer of Code, UIUC

8 June 2007 - 17:55Whew.. submitted to MICRO

The last several days were.. filled with activity - gathering data and preparing a paper submission to MICRO-40. It’s my first time to submit a paper, and it’s mostly the research I did during the Masters portion of the degree, so it’ll be interesting to see how things work out.

Yay for screen multiplexing! Perhaps it’s more useful for my 12″ iBook G4, but ssh + screen to keep console sessions running from a single terminal is very useful when moving around remotely. Add in vim’s own document splitting.. I’ve got 10+ virtual windows with many more subwindows to edit scripts like crazy. All this is going on with X windows opening and closing as tests start and finish…

After 100s of emails and last minute changes.. time for a nap.

X windows galore
Running a ton of tests remotely - X windows everywhere!

No Comments | Tags: Conference, UIUC