This overlay technique works beautifully for guided, interactive tutorials.
We've had great success using it in our tutorials to get users quickly up to speed with our product.
It works better than the similar "show bubble beside dom element" technique[1] for a few reasons:
1) With bubbles, you need real estate next to the element to display the help text. This often doesn't exist, especially e.g. inside a frame in a Firefox sidebar. By fading everything else out, it is easy to have the help text in a different location.
2) Bubbles are typically not as high contrast as the overlay, so they are a weaker mechanism for drawing attention.
3) With the overlay technique, you can highlight multiple elements at once, which is impossible with bubbles. This is critical when you need to explain how two things relate to each other, and something that seems to be missing in this library.
You can check out how we did our interactive tutorials at http://www.parsehub.com (they're within the extension).
Yes, intro.js is a great lib, I know that, but for me has an important missing feature; you can't interact with the focused element, I mean, you don't have any mouse event or similar... this is the only bad thing I think.
Thanks sir! At the beginning I tried to implement the lib only with the Dom api, but was a little painful because isn't very agile and tedious... so I ended with the jQuery dependency, thing that I want to remove in the future.
Since it's tangentially related, is anyone aware of a tool (browser based or Mac-supported) that would take a CSS selector and, rather than spotlight it, capture a screenshot of its bounding box? Ideally, capturing multiple screenshots if there are multiple matching elements?
I'd need to look into the code as I couldn't find a live demo to quickly noodle with, but my first thought was to add a border radius or some sort of blur filter to make it more spotlight-like? :)
About adding a border-radius, I'll love that feature, in fact I was thinking about implement it, but isn't as easy as it seems.
TLDR: Right now they are 4 divs for making the focus enable:
1- Fills the left part of the page.
2- Fills the top part of the page to the top part of the element.
3- Fills the bottom part of the element to the bottom part of the page.
4- Fills the right part of the page.
These divs are absolute positioned inside a wrapper that have disabled the pointer events to enable the interaction with the focused element.
So for that reason I can't simply add a border-radius for the active element.
Awesome, thanks. After you focus a non-header area, how do you get back to a normal state? Clicking around doesn't remove the black area, ESC doesn't either. Mac/Chrome.
Create a 5th div that exactly overlays the focussed element, and give the overlay an inset box-shadow. (You may need to pass through mouse events programmatically.)
We've had great success using it in our tutorials to get users quickly up to speed with our product.
It works better than the similar "show bubble beside dom element" technique[1] for a few reasons:
1) With bubbles, you need real estate next to the element to display the help text. This often doesn't exist, especially e.g. inside a frame in a Firefox sidebar. By fading everything else out, it is easy to have the help text in a different location.
2) Bubbles are typically not as high contrast as the overlay, so they are a weaker mechanism for drawing attention.
3) With the overlay technique, you can highlight multiple elements at once, which is impossible with bubbles. This is critical when you need to explain how two things relate to each other, and something that seems to be missing in this library.
You can check out how we did our interactive tutorials at http://www.parsehub.com (they're within the extension).
[1] http://css-tricks.com/bubble-point-tooltips-with-css3-jquery...