Tilt is a Firefox extension that lets you visualize any web page DOM tree in 3D. It is being developed by Victor Porof (3D developer responsible with the Firefox extension itself), along with Cedric Vivier (creating a WebGL optimized equivalent to the privileged canvas.drawWindow, see #653656) and Rob Campbell (who first thought about creating a 3D visualization of a webpage). Everything started initially as a Google Summer of Code project, but now, with an enthusiastic team behind it and so many new features and ideas, it has become an active Developer Tools project.

Tilt is a fun new Firefox extension focused on creating a 3D visualization of a webpage.

Since the DOM is essentially a tree-like representation of a document, this tool layers each node based on the nesting in the tree, creating stacks of elements, each having a corresponding depth and being textured according to the webpage rendering itself.

Unlike other developer tools or inspectors, Tilt allows for instant analysis of the relationship between various parts of a webpage in a graphical way, but also making it easy for someone to see obscured or out-of-page elements. Moreover, besides the 3D stacks, various information is available on request, regarding each node’s type, id, class, or other attributes if available, providing a way to inspect (and edit) the inner HTML and other properties.

Based on WebGL

The visualization is drawn using WebGL, for dynamic, fast, in-browser rendering. At initialization, Tilt creates individual 3D objects (structures describing how the webpage geometry looks like) using the DOM, with the BODY as the lowest layer and the base of the document upon which descendant nodes are layered. For each successive level, another platform is built, adding depth to the 3D webpage mesh. For example, stacks are built from DIVs, ULs, or any containing node with children.

Controls

Controlling the visualization is achieved using a virtual trackball (arcball), which rotates around the X and Y axes. Other mouse events exist to control yaw, pitch, roll, pan, zoom, as well as various additional keyboard shortcuts. The controller is not tied to these peripherals only however, making it accessible and easily scalable for other input methods or devices. Double clicking a node brings up the Ace Cloud9 IDE editor, showing more useful information about the node and the inner HTML.

Try it

You can find the Tilt source code and the latest extension builds on Github, and a development blog with milestone updates on blog.mozilla.com/tilt.

For now, to test the extension, just download the latest stable build (tilt.xpi: download the file, then open it with Firefox or drag’n drop it on Firefox), install it and search for Tilt inside the Tools menu. Or, you can use Ctrl+Shift+L (or Cmd+Shift+L if you’re on a Mac) to start the visualization. Close it at any time with the Esc key. Tilt works with any webpage, so you can even inspect this blog to see how it looks in 3D.

Future

More features are soon to be added, some of which include: modifying and updating the 3D webpage mesh on the fly (as the webpage changes, exposing CSS transforms for each node, plus customizing stack spacing, thickness, transparency etc.), rendering elements with absolute position or floats differently (e.g., hovering above the webpage based on their z-index), creating a more developer-friendly environment and better integration with the Ace editor and the Firefox Developer Tools. (highlighting the currently selected node, instant 3D preview), exporting the visualization to other browsers or applications (as a 3D object file, probably .obj and/or COLLADA).

The greatest milestone will be achieving seamless 3D navigation between webpages, as in a normal 2D environment.

For more information about upcoming tasks visit the TODO.md list.

105 comments

Post a comment
  1. Buzu wrote on July 20th, 2011 at 8:28 am:

    This is a really cool tool.

    Reply

  2. Jeff Hammel wrote on July 20th, 2011 at 9:51 am:

    The .xpi link doesn’t auto-install for me. Plz fix

    Reply

  3. Joss Crowcroft wrote on July 20th, 2011 at 10:12 am:

    Holy crap, that’s cool – wonder how it’d cope with GMail? The inbox view would look like New York’s skyline

    Reply

  4. Paul Rouget wrote on July 20th, 2011 at 10:15 am:

    To install the XPI, download the file, then open it with Firefox or drag’n drop it on Firefox.

    Reply

  5. Vitor De Mario wrote on July 20th, 2011 at 10:23 am:

    It’s working through the menu, although Ctrl Shift L is bringing up Firebug. It would be nice to be able to customize the keyboard shortcut. Anyhow, great job, it looks great and very useful.

    Reply

  6. Ajay wrote on July 20th, 2011 at 10:39 am:

    This is awesome!

    Reply

  7. Rian Ariona wrote on July 20th, 2011 at 10:59 am:

    that was Cool!!
    also note, you can’t activate it by pressing Ctrl+Shift+L when you’ve firebug installed :)

    Reply

  8. mattew fedak wrote on July 20th, 2011 at 11:00 am:

    Wow this certainly could lead to some creative looking 3D DOM art. I wonder if people will try and build with this in mind, for example the store could layer their site elements on purpose to create a 3D model of their logo for example

    Reply

    1. francois wrote on July 20th, 2011 at 12:22 pm:

      Totally agreed !
      I will give it a try:)

      Reply

  9. Keith Barrows wrote on July 20th, 2011 at 11:07 am:

    I have FF 3.6.18 installed. When I drag-n-drop the XPI onto FF it tells me it is not compatible with that version of FF.

    Reply

    1. Jerrie wrote on July 21st, 2011 at 4:25 am:

      I have 3.5.6 and it isn’t compatible with that version either.

      Reply

  10. Galaxy wrote on July 20th, 2011 at 11:13 am:

    Wow! This is awesome. Love watching websites in 3D. :) ..
    BTW, will it work on all the builds of Firefox?

    Reply

  11. skylamer wrote on July 20th, 2011 at 11:21 am:

    Really, nice and cool thing:)

    keep up!

    Reply

  12. Ali wrote on July 20th, 2011 at 11:39 am:

    This is just awesome.

    Reply

  13. Michael Behan wrote on July 20th, 2011 at 11:41 am:

    Very cool stuff! Keep up the great work.

    Reply

  14. skilamer wrote on July 20th, 2011 at 11:48 am:

    suxx — it go crashie on 2nd page I tried it on.

    Reply

  15. Riley Strong wrote on July 20th, 2011 at 12:02 pm:

    This is actually really valuable as a developer to see how my page structure looks & make sure it’s clean!

    Reply

  16. vicapow wrote on July 20th, 2011 at 12:19 pm:

    so cool! thanks for sharing.

    a cool feature idea would be to still allow user interaction

    Reply

  17. ZukWoo wrote on July 20th, 2011 at 12:20 pm:

    This makes a lot of sense dude., Very good stuff. Wow.

    http://www.net-privacy.us.tc

    Reply

  18. Michael Scovetta wrote on July 20th, 2011 at 12:40 pm:

    Wow. This is really amazing. It would be awesome if this gets extended to include more details (like Firebug) and the ability to zoom “into” nodes to get to subnodes — so zooming in/out doesn’t mean having the whole thing get closer/farther, it means peeling back layers.

    Really awesome work!

    Mike

    Reply

  19. Med wrote on July 20th, 2011 at 12:45 pm:

    Ctrl+Shift+L opens the Panorama to me.

    Reply

  20. Saurabh Mukhekar wrote on July 20th, 2011 at 1:08 pm:

    Really Cool and rare feature from Firefox,I am loving it

    Reply

  21. Andrew wrote on July 20th, 2011 at 1:33 pm:

    Can you write an export tool so I can import the 3d webpage into minecraft?

    Reply

  22. Max wrote on July 20th, 2011 at 2:32 pm:

    Is there a version of the video for modern browsers? I would really like to see the <video< tag useful somewhere else than on the realease notes page of firefox and also, sometimes, be able to watch videos. I cannot force anyone on the net to provide content through the video tag, but I expected mozilla.org to be the very first to make this effort.

    Keep on with the good work, from the comments above Tilt seems to be really impressive!

    Reply

    1. Paul Rouget wrote on July 20th, 2011 at 9:43 pm:

      Activate the HTML5 version of youtube: http://youtube.com/html5

      Reply

  23. Yuriy Romadin wrote on July 20th, 2011 at 2:43 pm:

    Coll but useless extension :)

    Reply

  24. Ken Saunders wrote on July 20th, 2011 at 3:37 pm:

    OMG! Wicked cool.

    @Keith Barrows
    4.0
    You need a browser that supports WebGL

    Besides, you really should upgrade. :)

    Reply

  25. Ken Saunders wrote on July 20th, 2011 at 3:39 pm:

    Meant to say compatible with 4.0 – 8.*

    Reply

  26. Eric Bieller wrote on July 20th, 2011 at 3:52 pm:

    Wow this is awesome. I’m a chrome user and I’ll just have to face the facts that I will always have to use FF for some of my development process, especially troubleshooting ;)

    Reply

  27. andrei wrote on July 20th, 2011 at 4:08 pm:

    It doesn’t work for me! I have FF version 5.0

    Reply

  28. db48x wrote on July 20th, 2011 at 6:44 pm:

    Superb!

    If you can’t get it to work, check about:support to see if you have webgl available. A lot of people find that their graphics driver is blacklisted, because it was causing crashes. If that’s the case, simply updating it is all you need to do.

    Reply

  29. Jeff wrote on July 20th, 2011 at 9:14 pm:

    Really Mozilla? A flash video demo? If only there were some kind of native web video format…

    Reply

  30. Paul Rouget wrote on July 20th, 2011 at 9:38 pm:

    For those complaining about not having a HTML5 video in this post, please activate the HTML5 version of youtube: http://youtube.com/html5

    Reply

  31. Wren R wrote on July 20th, 2011 at 10:49 pm:

    Wow this is great! Reminds me of flipping to 3D in Paper Mario.

    Reply

  32. Gaurav Mishra wrote on July 20th, 2011 at 11:16 pm:

    OH!! Man!… worked fine.. Aaah! three DEee Dee

    Reply

  33. AdamT wrote on July 21st, 2011 at 1:13 am:

    OK, so where is the Tools menu??

    Reply

    1. Paul Liddington wrote on July 21st, 2011 at 4:12 am:

      Press the ALT key. Also mine has the short-cut CTRL+SHIFT+M.

      Reply

  34. morgan wrote on July 21st, 2011 at 1:42 am:

    Most Linux desktops have had a similar feature for about 6 years….

    Reply

  35. Alex Hall wrote on July 21st, 2011 at 3:42 am:

    This is awesome! Thanks for sharing guys

    Reply

  36. Claudiu wrote on July 21st, 2011 at 3:49 am:

    Glad to see this featured here! He’s been working hard on it and it’s something that stands out of the crowd. Good job!

    Reply

  37. Uwe chardon wrote on July 21st, 2011 at 3:51 am:

    And HTML? will bring us 3D specifications – then webdesigners are able to build 3D Tables ???

    Reply

  38. Koldkaffe wrote on July 21st, 2011 at 3:58 am:

    Doesn’t work in my FF 5 either, I think I need to update the graphics driver, so, why is it DELL hasn’t updated it since 2007? WOW is my computer that old LOL

    “Could not initialize the WebGL context,
    your hardware or drivers may not support it.”

    Reply

  39. Murali Kumar wrote on July 21st, 2011 at 4:01 am:

    To enable it with firebug, Customize firebug shortcut from ctrl+shift+l to something else.

    Reply

  40. Unus wrote on July 21st, 2011 at 4:15 am:

    Neat. but how useful is it?

    Reply

  41. Chichi wrote on July 21st, 2011 at 4:19 am:

    Its working great on FF5, but defaults to Ctrl+Shift+M since my firebug uses Ctrl+Shift+L……. very nifty tool

    Reply

  42. RobIII wrote on July 21st, 2011 at 4:31 am:

    @morgan: And how exactly does a “3d desktop” compare to a 3d visualization of a DOM tree? Other than that they’re both 3rd they have nothing in common. Let alone the fact that this is about a browserextension/plugin and not a desktop fancyfier.

    Reply

  43. Martin Dubé wrote on July 21st, 2011 at 4:52 am:

    Wow! Now it will be much more easy to explain my job to my kids… “Look I’m building a page just like you do with your LEGO”.

    You should have named this extension “LEGO DOM”.

    Reply

  44. Vanessa Tibika wrote on July 21st, 2011 at 5:16 am:

    It’s a very interesting way to look at pages.
    Suggestion for new feature: it’d be cool to be able to reverse the direction of the interpretation, so that higher priority objects and copy are highest.
    To generate a “SEO” view of your page for instance = which objects are seen first.

    Nice job, will watch out for the next versions!

    Reply

  45. Charbel wrote on July 21st, 2011 at 5:20 am:

    “Could not Initialize the WebGL Context, your hardware or drivers may not support it”…

    Lol, i’m running an i7 machine with 1gb of dedicated memory.. Drivers up to date. can any one help out?

    Reply

  46. Daniel S wrote on July 21st, 2011 at 5:26 am:

    Doesnt work. FF 4 / Win7 x64.

    Reply

  47. moo wrote on July 21st, 2011 at 6:19 am:

    Great idea!

    After I first installed the extension (by dragging the link onto the addons pane), it did nothing and was visible but inaccessible in the addons pane. It didn’t ask to restart Firefox, but after restarting Firefox it worked.

    The shortcut seems to be Ctrl-Shift-M now.

    The “help” or “exit” links do nothing for me. Doubleclick works sometimes, but often it has the side effect of rotating the page, or the DOM for the wrong element is shown. Why is it doubleclick anyway if single left click isn’t taken? I would love it if I could just click on an element and have it highlighted in Firebug.

    Reply

  48. Eelke wrote on July 21st, 2011 at 6:25 am:

    So cool to see this tool alive, in the field. I have had exactly the same idea in my head and actually did my Msc thesis on the subject. I didn’t have the time to develop my idea any further out of the conceptual stage I left it at in December, 2010. So, I am really excited to see that somebody actually did do it! It offers so many possibilities to web developers, I’ll be following this project with great interest!

    If you’d like to check my thesis for some thoughts on the subject, check it out here: http://bit.ly/domscape. A video of my thesis concept here: http://vimeo.com/18895373

    Best regards,
    Eelke Boezeman

    Reply

  49. Jack wrote on July 21st, 2011 at 7:08 am:

    crash on IME(Input Method Editor)Ctrl+Space

    Reply

  50. Charbel wrote on July 21st, 2011 at 7:47 am:

    For anyone having trouble with webGL just go to about:config and look for webgl, and turn it to true.

    Reply

1 2

Add your comment

  1.