

Show HN: How We Built an Extensible Tour System for Streak - alooPotato
http://blog.streak.com/2013/04/how-we-built-extensible-tour-system-for_22.html

======
jmathai
We did something similar.

Configuration file with sections/selectors of the feature to highlight [1].

Model to determine if the user has unseen "tutorials" [2].

JavaScript to show an indicator that new features exist [3][4].

It looks like this, <http://imgur.com/a/ZWaHV>

[1]
[https://github.com/photo/frontend/blob/development/src/html/...](https://github.com/photo/frontend/blob/development/src/html/assets/themes/fabrizio1.0/config/tutorial.ini)

[2]
[https://github.com/photo/frontend/blob/development/src/libra...](https://github.com/photo/frontend/blob/development/src/libraries/models/Tutorial.php)

[3]
[https://github.com/photo/frontend/blob/development/src/html/...](https://github.com/photo/frontend/blob/development/src/html/assets/themes/fabrizio1.0/javascripts/op/Tutorial.js)

[4] <https://github.com/usablica/intro.js>

------
mrgreenfur
Why bother making this from scratch? There are tons of tour plugins and
companies that have sprouted in the past few months.

~~~
OmarIsmail
Right now the landscape is split between startups providing the service and
jquery/bootstrap plugins.

The startup offerings don't work for us since we're inside of Gmail which
presents a unique technical challenge in regards to loading javascript, etc.

The libraries have the issue of things being "hard coded" meaning it becomes
too difficult and annoying to make lots of tour variations, or do A/B testing.

~~~
mrgreenfur
Ahh. Great answer, makes sense now.

------
mkoble11
I just wanted to say, I LOVE your product - it's simple yet flexible...and it
lives right where I need it. :)

