Show HN: Weekend project, Intro.js
usablica.github.com
usablica.github.com
Most people here are asking for more features. Please be careful with that; it would be a pity to see such a pearl to swell into bloatware. You have very good taste, let it be your guide.
I can't speak for what they've done since I stopped using them, but looking at their homepage, the velocity still seems pretty high.
Used today's commute to package it into introjs-rails, for anybody that wants to use this in their rails app (assuming you are using the RoR asset pipeline)
gem 'introjs-rails'
I can link you to my project if you'd like to see how I use it. Just email me- mariusz.n.lapinski@gmail.com. My app isn't ready for prod just yet.
Navigation: The “next” link is very small and it's in different place on every step. A fixed navigation and/or bigger link would be nice.
Also, showing me that it's “Step 3” is useless to me - I can count myself and even if I couldn't, I don't really care how many steps I've already seen. I'm more interested in how many more there are.
There should also be automatic scrolling so that I could actually see the next highlighted area. If you already do the scrolling, remember to scroll in a way that guarantees to show whole area, not only top line.
Thanks for the great work, I think I might use it in my next projet!
Other than that, I liked it. I especially appreciated the animated transition to the next step, where the "spotlight" flowed & resized forcing my eyes to follow.
Congratulations on your good work, by the way. I don't usually vote TFAs up, but you totally deserve it.
The current implementation feels more like a whack-a-mole game than a guided tour. :)
I'm pointing to this, because, even in tech forums I follow, some people believe Iranians are evil and they should be nuked or something.
Don't confuse what your local media say for each country (and how they choose to present it) with what the country actually is.
Don't even judge by the government of the other country (would Americans like to be judged by Bush or Nixon? Maybe Kissinger and Rove?).
And don't judge by your pre-determined cultural notions either. As a European, I abhor the death penalty, the practice of executing 15 year old children and protestant bible thumpers. Still I find the people of Texas mighty fine, including those that agree with those things, and not just the SXSW crowd. So I can also understand people in Iran (or whatever) having their own culture, religious etc and being backwards (to my view) in some regards.
Unless a country has done specific, unprovoked and tangible harm to another country, there is no reason to hate it at all. As for what happens INSIDE the country, it's mostly their thing to deal with.
By the way, "Iranians are evil" does not count, as it generally implies "most Iranians are evil", which, if you count it as a democracy (it is to some extent) and consider the elected leaders to be evil (a reasonable claim from a particular perspective), would be true.
However, do note that Foundation's javascript plugins also work with Zepto[1][2] which weighs in at under 10k gzipped.
At this point in its development, if you are able to use jQuery or Zepto I think that Joyride 2 offers a much better UI / UX especially if you are planning to use Foundation 3/4.
I tend to like the Intro.js page fade animation. Although JoyRide 2 actually scrolls to the highlighted object, whereas intro.js does not.
On the computer, though, this looks slick and works reasonably well. Good job!
Nice work.
Just to put it out there, here is an alternative built on jquery.
Many registration authorities choose to let anyone buy their domains because it's a big source of income. Libya is one of those (or always used to be. Since the revolution it's been less clear).
Great work in any case!
One item of feedback: the styling of the numbers look nearly identical to the feedback badge on iOS, which made me think for a second that it was some sort of alert, rather than a step in a sequence. Obviously the styling is customizable by the developer, but as a default, I could see it being confusing to iOS users.
Edit: one more tidbit: resizing the browser doesn't force the box(es) to resize. Admittedly an edge case. :)
I really like it by the way, and I think I'll use it for my next project. How about some events though? Like `introJs.on('5', fn)` would execute `fn` when the fifth hint is shown. It could be used to introduce several views to the user (one page app).
The next button could be way bigger though, I felt like I was trying to catch it every time :)
And maybe you can pre-focus on it with JS, so you'd give users the affordance that they can press enter to move on. (You enabled the right arrow key, but I didn't immediately know I could do it).
Could use some finessing, on Opera there appears to be a white square/rectangle that appears on the next element for the second and third ones (not sure why). Then it disappears. Maybe it's an Opera thing.
The styles that get applied to the element inside of the "white box" get applied before the white box moves. This is noticeable for the links in the top right. They turn light blue before the box even moves. It should be after the box has moved, since that kind of stuff is pretty much instant.
Just one thing. I pressed the Enter key thinking that it would take me to the next step (like the right-arrow), but the page background went darker. And, each successive press of Enter made it even darker. I actually liked the effect (even if it was unintended) as it increased the contrast between the step being focused and the rest of the page.
However, I found no way to get back to original page after all the steps are completed (by right-arrow navigation). Pressing ESC had no effect.
Edit: Using Firefox 20.0 on Ubuntu Lucid.
You can go back to normal by clicking with the mouse, the more you click the brighter it gets.
First, using data attribute is too intrusive, a json object would have been much better, we just cannot add these attributes everywhere in our app.
Using a json object would also make it possible for anyone to create a UI tool for creating guides.
Also a "scenario" concept would be nice, having the ability to have multiple scenarios in a page is essential for a support team.
Last thing, the UX is fantastic, it's clean and simple :)
What you need by "senario"? Could you please explain it more?
Thanks anyway.
it becomes for us like an advanced, usable, faq system
This would (imho) make it more obvious what's going on ("Ah, this is explaining that") and would improve usability.
But either way, this is a great start (I love the limelight-effect) and we are definitely going to build on this. Thank you for open sourcing it!
I'd recommend that you make a block link out of the text bubble that contains your 'next' link. Honing in on the actual word 'next' slowed me down.
For especially... uninitiated (?) web/computer users I could see there being an issue wherein the text bubble containing 'next' is cut off by the bottom boundary of the browser window.
Just recently I had to make a series of screenshots to walk someone through something. Great weekend project.
Here's another feature request to your list too: Have the word bubbles remain in the viewport, or scroll so they are always in view.
Keep this simple and fix a few of the bugs, and I think you have a winner.
I like what seems to be the differentiating feature here -- highlighting the actual elements on the page rather than pointing at it.
I'm looking forward to the pull requests that fix some of the style issues (next button etc, as mentioned already).
Looks good and I will use it no doubt!
Keep going nice work!
All these projects are really impressive.
If you need to customize more, http://tutorialize.me is my favorite.
Does this work in mobile browsers? maybe a compatibility table in the front page?
IMO not old enough to be not supported, but YMMV.
I needed something that could easily explain application workflow to the customer - and this is it!
Thank you.
Maybe step 1-3 is on "start.html" and step 4-6 is on "anotherpage.html". So when the user clicks next from step 3, he should be redirected to anotherpage.html and the intro continues.
Wow. Wow.
What a great way to do an on-site tutorial.
Thank you!!
keep me updated on your other projects. i may have more works for you
very proud of you.
Instead of looking for a workaround I would suggest that since you are already aiming for modern browsers maybe you should use SVG (clip-path) with CSS {pointer-events: none} so you have a real "hole" and you could use 4 dummy divs if you want to disable interaction with non-focused elements.
Worked fine on my laptop - a few problems on my iPad. Suggestion: enlarge the next/prev buttons.
Thank you Afshinmeh and happy new year! :-)
Just saying.
http://en.wikipedia.org/wiki/.in
http://en.wikipedia.org/wiki/.it
CIRA, who manage .ca domains, have stricter rules. They can be found here: http://www.cira.ca/why-ca/ca-101/who-can-register-a-ca/