A new release (0.1.2) is due any moment now with serious enhancements to both the developer experience (e.g. the improved command editor) and the user experience (e.g. better multi word support, order independence in modifiers).
Tags: General Mozilla atlanta
I’ve been imagining a command line for working with places data, given the Labs Ubiquity project. I wrapped up the chats in a zooming presentation, via beta service ZuiPrezi, that walks through a chat with Dietrich on the nitty gritty. Click through for an impressive zooming UI experience with some unique use of rotation.

With a fresh revamp of the language parser and new install method via LINK tag, I’ve successfully crafted a Ubiquity command highlighting links with rel=nofollow. The install page has more info as well as Ubiquity installation details.
If you’re curious about why you’d care about nofollow beyond spam prevention, check this fresh guide to “sculpting pagerank” with an IA perspective.
Tags: Mozilla Search
Mozilla Labs has issued a Call for Participation for “Ideas, Mockups or Prototypes”. Alas, the post seemed to follow Techcrunch’s coverage and thus the one example versus the CFP is getting the buzz on techmeme.
Examples
Some recent work by a Mozilla intern on browser history is showcased as an example:
Adaptive Path steps up to the plate in the open source design arena with a compelling video. This is fully rendered scenario, from actors & setting to full screen capture of a rich interaction.
In this excerpt, we see a user working through a view of her browsing history by time to help a friend locate something.

In the second excerpt, an automated content clustering algorithm is conveyed in the organization of items on the x/y axis, where z is time.

Can Open Source UX Beat Commercial Alternatives?
It’s hardly fair to lump Firefox into the average open source UX project experience, given funding and a dedicated UX team and research lab, but MPT’s list of problems with open source usability stem from a long history of involvement in the Mozilla project. This effort by Mozilla labs seems to address several of Matthew’s top issues.
Numbers 3 & 5 are obviously addressed just by the CFP and Mozilla Lab’s existence.
3. Design suggestions often aren’t invited or welcomed.
5. Coding before design
Note, I’m really impressed increased upfront design that the Mozilla team is putting forth in the latest iterations, thanks to MikeB & a stellar UX team. In contrast to the original Firefox UI which was (skillfully) developer driven.
7. Chasing tail-lights.
While there is some really outstanding prior art along all of the dimensions shown in this video, it’s awesome to have a high profile open source project setting the bar against fierce, and highly business constrained, efforts by Apple (Safari) and Microsoft (IE).
The video included in the CFP that isn’t excerpted here, Aza Raskin’s mobile (Z)UI concept, is the most unique in terms of lack of historical precedent and sheer user interface engineering in combining zooming/panning with UI control access. That’s especially welcome, but there’s a lot of accumulated wisdom in the prior art on hypermedia that has yet to be brought to consumers. The ZuiPrezi team seems to share that same conclusion.
This blog’s archives are a veritable run-on sentence on the need and opportunities to enrich browser history. One that I haven’t dug up in a while is the MSR prototype “Data Mountain” which combined zIndex stacks of thumbnails with a topographical landscape model and innovated on the gestures for re-organizing. I had a history based RSS mashup running called “blog mountain” back in ‘04 before I joined the devil
12. Design is high-bandwidth, the Net is low-bandwidth.
There may be a paradigm here for high fidelity concept videos, especially to garner the contributions of top design firms.
Yes, as much as I appreciate the videos, the technology-hacker/designer in me wants to find a satisfying incremental gain using the “zone of promixal development” within the current Mozilla technology.
It’s also challenging to pull out the real defining points from a video mockup. The Adaptive Path Aurora video packs a lot in for example. Collaboration, visual revisitation support, and some serious machine learning and statistical data mining tech.
Getting to Prototype Implementations
Functioning software in the history visualization space is much more feasible in Firefox 3 than ever before. The new places datastore and easy screen capture may create performance bottlenecks for a aspiring developer, but much of this is realizable at the prototype stage.
Screenshots, however, are not enough. We need to be able to extract assets, text or image or whatever, from browsing history to create better memory cues and representations. Imagine being shown the button images that you clicked on as well as the thumbnail. That would better differentiate the site you considered buying from versus the one you did buy from in a historical browsing session. I’ve filed a bug to add cache access support to the FUEL.js browser library.
One of the CFP commenters offers up this set of sketches of a trails implementation. I’m a big fan of the trails notion, and it address collaboration as well as revisitation support. The real magic is not just in the authoring, though Dgray@Xplane captures some of the illusive extracting and subsequent mashup that is missing from common authoring tools. A playback component is needed, ideally along with a standards based representation format, ala microformats?
Tags: HCI Mozilla Visualization
Designing richly interactive UI controls for the iPhone and the web is an interesting challenge and much more feasible now that touch events are exposed in Safari for javascript hackery. Check out some examples.
On the iphone, you don’t have mousemove. Not much sooner than I had inked this draft, I discovered TLRobinson’s library that ports multitouch events to mouse events. This is one part of the equation, providing “down level” experience for user input in multi-touch designs. For the reverse, touch events can proxy mousedown and up.
With improved javascript perfomance, and toolsets like Aptana, looks like web apps for the iphone are going to be fun. Alas, Canvas is lame compared to SVG compound DOM for direct manipulation UI.
Tags: DHTML General iPhone
Following up on my first generation video on how to podcast with the iPhone, here’s a look at the 2.0 appstore options for recording, with an eye to podcasts.
The iPhone SDK doesn’t apparently make it easy to record and transfer audio files, so to make a long story short, jailbreaking and then SSH’ing to pull your podcasts is still the only way you’ll get full fluency with big files.
Transfer limited recorders
A bunch of apps haven’t figured out how to get their files off the iphone:
- VoiceNotes (free)
- Recordifier $4.99
- Quickvoice Recorder $1.99 given a favorable review by lifehacker.
- YouNote (free): email is coming soon, but this is picture, text, and audio note taker & manager. It’s likely too clunky for on the go recording, requiring immediate naming of audio recordings. Nifty free app nontheless with note geotagging.
- SpeakEasy Video Recorder: audio levels, playback scrubber, unique features include resumption after a call. Attach a pic. Organize in categories.
Of course, the no-transfer restriction is likely easily solved by Jailbreaking and accessing the iPhone filesystem directly.
Recorders with Email Transfer
Some contenders that do have the ability to transfer files include:
- Note 2 Self $4.99: interesting customization and unique controls (trigger recording by moving phone to ear). Email compressed or uncompressed.
- Recorder $.99: Email. Rename.
- Audio Recorder $2.99: Add to a recording, rename, email to self or contact, audio levels, playback scrubber. One of the slicker looking apps in the category. CAF core audio format, making email to contact somewhat wacky.
Hybrid web/iphone/operation system applications
- Evernote: Evernote gives 40mb of space per month free, with a subscription yielding 500mb at $5/mon. Audio files are auto-synched to the server in .wav format. While there’s no download button, the file is easy to find and there’s an easy greasemonkey fix. Note, no longer windows only! There’s a Leopard client now but audio files are stored in a fairly obfuscated library folder in a sequence of .reco files.
- Reqall: An integrated note consolidation web app like Evernote with the unique feature of transcribing audio.
So for short clips, typically under 10mb, you can get away with one of the contenders and email. With most email servers blocking attachments over 10mb, for serious interviews at a conference or routine meeting recordings, this solution is inadequate. Alternatively, an Evernote subscription might work for moderate monthly volume.
The right way to do this is synch recordings with iTunes in a special category.Given privacy concerns & legal restrictions, it makes sense to try and prevent the surreptious recording of audio calls, but hiding the music library from 3rd party apps is a user experience crippling profit inspired outcome.
I haven’t pwn’ed my freshly replaced iPhone 2.0 yet (old one had a broken screen), but is sure is tempting.
Tags: iPhone
There’s been a lot of good research on tag clouds lately — from usage evaluation (>33% users surveyed) at IA Summit, layout at WWW’07 to visual processing at Hypertext ‘08.
I’m a bit fan of tag clouds, yet sense there’s much more to be done. Marti Hearst’s recent work on tag clouds challenges their usefulness as a true visualization or UI, while other acknowledging benefits. More on that some other time…
Here’s a sampling of the best / most-representative stuff I found in a quick run through of the search startup SearchMe’s results… displayed in their new Stacks widget.
About 80% of them are from a half dozen queries I ran. The other 20% (mainly research articles) I had to manually add. The widget is quite slick, though I wish there were a few more items onscreen at one time. I’ve already asked the SearchMe folks when the API will be available for creating “stacks”. I’d love to hook this up to my delicious feed or build a widget to auto-create a stack for all of the links in a blog post.
Rich document previews for the web are here! I can’t help but wish for more — but most of the best ideas of HCI over the last 20 years are yet to be deployed to the masses. Hats off to the folks at SearchMe for the acumen and perserverance to get this feature to market.
Tags: Flash Visualization
It’s been a long time since my hyperactive extension building days of ‘01-02. My first extension to make out of basic prototyping stage in 6 years is now available, timed to coincide with the new Firefox 3: StomperNet Ranker.

The tool features:
- An interactive SVG-based visualization of result overlap in the top 20 results for Google, Yahoo, and Live Search
- “Brushing” feedback highlighting same domain results and displaying a info panel
- Click to preview the result page
- Tabs for the full result views from each engine
- Access to the 7 search markets
It also integrates the Scrutinizer browser, which simulates foveal and peripheral vision for design inspection and more informative observation of use, with a “Scrutinize This Page” option.
We used the Komodo IDE (howto pdf) to build it. It makes getting started pretty simple and I roped in two members of our StomperNet dev team who had no experience with extension development more easily because of it.
Parsing search results with the DOM is a breeze compared to using regular expressions, no matter how good a PERL hacker you are. The tool also features interactive SVG, sharing CSS between the XUL and SVG layers. I’ve long been a proponent of SVG in Firefox, notably in my MS Thesis on menu mousing behavior. It’s an under appreciated part of the Firefox UI toolkit.
Go Get Firefox 3 and then get StomperNet Ranker. And, if you’re in Atlanta, join us for a celebration of the best browser on the planet tonight.
Tags: AddOns Search
Note: Updated from original post for improved accuracy.
Made a bit of progress tonight in using places to assess my personal success and use of the big 3 engines. I’m not quite ready to share the code, but using Firefox places sqlite database and the google visualization API I came up with the following:
| Sessions |
Clicks |
Engine |
ClicksPerSession |
| 705 |
2340 |
.www.google.com |
3.32 |
| 39 |
38 |
.search.live.com |
0.97 |
| 62 |
54 |
.search.yahoo.com |
0.87 |
One of the subleties of Google’s brand is the intense degree of trust users place in their results. This not only leads to a perceived advantage in quality, but also to a greater level of trust. This results in users returning to Google for another click as opposed to spending more time on the site they land on or one it links to.
My sql for this is:
select count(distinct s.session) as N, count(distinct s2.from_visit) as clicks, rev_host from moz_historyvisits s, moz_places p, moz_historyvisits s2 where s.place_id = p.id and s2.from_visit = s.id and( rev_host like ‘%moc.elgoog.www%’ or rev_host like ‘%moc.hcraes.nsm%’ or rev_host like ‘%moc.evil.hcraes%’ or rev_host = ‘moc.oohay.hcraes.’) and (p.url like ‘%q=%’ or p.url like ‘%p=%’) group by rev_host
If we exclude queries with no clicks, we get
| Sessions |
Clicks |
Engine |
ClicksPerSession |
| 606 |
2340 |
.www.google.com |
3.86 |
| 25 |
38 |
.search.live.com |
1.52 |
| 40 |
54 |
.search.yahoo.com |
1.35 |
My sql for this is:
select count(distinct s.session) as N, count(distinct s2.from_visit) as clicks, rev_host from moz_historyvisits s join moz_places p ON s.place_id = p.id LEFT OUTER JOIN moz_historyvisits s2 ON s2.from_visit = s.id where ( rev_host like ‘%moc.elgoog.www%’ or rev_host like ‘%moc.hcraes.nsm%’ or rev_host like ‘%moc.evil.hcraes%’ or rev_host = ‘moc.oohay.hcraes.’) and (p.url like ‘%q=%’ or p.url like ‘%p=%’) group by rev_host
So session abandonment is:
| Google |
Live |
Yahoo |
| 14% |
36% |
36% |
Another critical stat is the frequency of refinement activities. Looking at sequences, I see 36% of sessions involving query to query chains on Google, 8% on live, and and 40% on Yahoo (sql).
While my search behavior is rather abnormal, both through extreme geekitude and SEO activities, my goal with this work is to find a way for many users to contribute this data to form an independent analysis of search experience.
Tags: Mozilla Search