I’m here at Adobe’s Atlanta “AIR Bus Tour” event — great show. Nice space (the fox theatre), generous concessions, and a nice starter kit of tech. I’m up and running with the lastest beta and dev tools. Very happy to see some of the talks using Aptana, an open source IDE, over Adobe’s proprietary tools.
AIR is a beautiful environment for executing greasemonkey style apps *and* distributing them. It also brings easy access to some really cool features, not available for a long time in the firefox environment. Notably, the ability to capture bitmaps of rendered HTML, zoom rendered HTML in or out, and render vector graphics. Now, all of these things are available in Firefox now, but the APIs are muckier (e.g. bitmaps), and the less well baked (e.g. I love firefox SVG and demo’ed > 30 fps at the CMU Developer Day in 2002, but it needs more work to compare to Flash).
The new GranParadiso SVG does offer the potential to scale and rotate live webpages, but it’s pretty beta. The new FUEL API to bookmarks is still a bit clumsy for walking the tree IMHO, but I’m massively happy with the new Places History model in principle.
Assigning session IDs to connected sequences of browsing solves a huge pain for the extension developer aiming to capitalize on the under-utilized memory of the user about recent browsing and the degradation of that memory from page to sessions over time.
The image shows the SQLite schema for history (see whole schema). A new session ID is created when a URL is entered in the url bar, or a bookmark invoked, etc. For link clicks, or even open in new tab, the session ID is maintained.
So, I’m having fun with Firefox3, especially since I found the Firebug build for GranParadiso. The XPCOM interface to the full history object with session IDs isn’t in yet, but I do have a slight recreation of mozwho coded up using chrome:// xpcom calls (email for the code). I haven’t got the bookmark browsing from mozwho working yet, but Firebug should help, as I was getting silent failures.
Given that I can’t get to session data yet in Firefox3, I’ll likely, ironically, try and recreate some of my visualizations with AIR, which can read the SQLite Firefox3 history/bookmarks/cookie dbs directly.
As Firefox3 matures, I hope we can do some kind of hack day, developer event in Atlanta. On a closing note, big props to whoever came up with the browsing session tracking for Places. Good stuff!
Category: 
Tags: None








hey andy,
regarding this:
“The XPCOM interface to the full history object with session IDs isn’t in yet”
i believe you can access the session id by specifying a result type of RESULTS_AS_VISIT:
http://developer.mozilla.org/en/docs/Places:Query_System#Result_types
also, here’s an ERD diagram of the Places schema.
Thanks for the ERD Dietrich!
RESULTS_AS_VISIT is the plan, but this bug says we’re not there yet:
https://bugzilla.mozilla.org/show_bug.cgi?id=320831
Expose visit ID in result nodes.
Hey Andy, thanks for coming to check out the event. And thanks for the feedback, it’s always good to hear and your experience with Firefox3 makes it really valuable.
=Ryan
rstewart@adobe.co
[...] BarCamp Atlanta this weekend! I’m planning up a demo of creating a firefox extension, getting 30 fps out of DHTML and SVG animation (ooold example), and SQLite places hacking with Firefox3. I figure I’ll have time to hack out the structure of the talk once the event starts. With Eclipse and XUL Booster, getting a new item in a Firefox toolbar is pretty easy. [...]
[...] been excited about the new history and bookmarks system, Places, in Firefox 3 for a long while now. With the [...]