• Designing the First Run Experience

    Friday, January 3, 2014

    1/3/2014— Kelsey Breseman

    I’m designing the first run experience for Tessel, and I want it to be excellent.

    It needs to do well with:

    Highly varied audience: Most of the people purchasing Tessel are used to writing code– but not all of them. This presents an immediate challenge: I don’t want to bore our main audience by including too many basics (“what’s the command line? How do I use it?”). People will skim, skip, roll their eyes, and probably miss important information.

    At the same time, I don’t want to alienate our beginning users; I’m all too familiar with technical sites that assume you have a lot more knowledge than you actually do, resulting in anger and frustration.

    Variation in product: Every user will have a Tessel and at least one module. That’s on purpose: we didn’t want people to get their Tessel, push the blinky example, then wonder what to do next. Instead, we want people to immediately plug in the modules they chose and try out their functionality. You’ll plug in your accelerometer module, wave it around, and see values changing on the screen. And then you’ll think, “What if I taped it to a ping-pong paddle?” “Can I use it to make my servo module move?” “How hard would it be to implement gesture control?”

    That’s all very good, but people have different modules or sets of modules, and it would be best if the instructions on the screen matched what you had in your hands. What’s more, the first run in my head ends with you on a page full of projects which use the modules you have.

    Other considerations: The first-run experience, first and foremost, needs to get a user from unboxing to up-and-running as seamlessly as possible– providing all necessary setup and orientation instructions. Users should also be introduced, via the first run experience, to the site’s project and community features, if these can be integrated into the setup.

    Here are some ideas on the subject:

    • Eric style, I could add in links every few sentences to (e.g.) a tutorial page for working with the command line.
    • Choose your own adventure: users select what modules they have, leading them on a customized first-run featuring their new abilities. This could also be extended to a customized-by-experience.
    • Adventure pre-chosen: since we have information on everyone’s orders, we could in theory give you a login or special key which would serve a first run tutorial based on your modules. This has the added benefit of logging you in to our site, which might make it easier to join the community.
    • Have login involving GitHub accounts. This would be useful generally, as we’d like to have GitHub integration with Tessel projects we’ll display on the site generally (more on that in another post perhaps; I’m also working on Tessel’s community aspects, including a way for the community to share their Tessel projects on the site). The other benefit of GitHub login could be to separate out experienced web programmers from people who might need a more detailed introduction to using node modules on Tessel– slyly serving up a customized first run.

    What would you like to see? Do you have any examples of particularly stellar first run experiences?

    Kelsey Breseman



    #technical machine #tessel #kelsey breseman #community #github #first run experience #user experience

August 2018

January 2018

July 2017

February 2017

November 2016

October 2016

September 2016

August 2016

July 2016

June 2016

April 2016

March 2016

February 2016

November 2015

September 2015

August 2015

July 2015

June 2015

May 2015

March 2015

February 2015

January 2015

December 2014

November 2014

October 2014

September 2014

August 2014

July 2014

June 2014

May 2014

April 2014

March 2014

February 2014

January 2014

December 2013

November 2013

October 2013

September 2013

August 2013

July 2013