Last modified: 16 June 2011
By deployment of this feature Khan Academy will be able to handle unregistered users by creating "phantom accounts" in the background and associating them with unregistered users. As an unregistered user dives deeper into the site, earning more points and badges and completing exercises, the amount of pressure to register will increase. Our goal is to allow users to get a feel for the site without having to register, but we want a healthy balance between users feeling obliged and users feeling like they should never register. The purpose of the background "phantom accounts" is so that we can track and store users information, which will help with analytics and will make porting their progress easier when they choose to register.
Some sites, like stack overflow, can recover points/information if a user forgets to log in and accidentally clears their cookies. We plan to alert the user enough when they choose not to register/log in, so we will not keep such information. If a user chooses not to login or register, they will need to understand that we are not at fault if they lose their progress. The only way for them to ensure that they can keep their progress is if they register with us and create an account.
Also, we do not want to encourage users to never register, so we're considering the idea of limiting functionality. If a user cannot login due to network issues (ie: a school blocks Facebook) then it is their network administrator's issue to allow access.
Finally, we'd like to be able to tell users to log in, but we don't want to made the site feel annoying or look tacky. One of the things we'll do is leave the video page as is, no changes will be made.
Currently we lose about 20% of potential users after they view the login screen. Our goal is to retain as many possible users as we can, and by allowing more access initially, we have a better chance of retention.
The user should initially notice nothing different, when they use the exercises they should be able to do so without having to register/login (should we offer a "Not now" button on the login page?). As the user garners points, badges, and answers questions, the site should warn users that progress is only stored locally and that they need to register to save it.
This page is the same as before, except we keep track of the user's points. We will not be intrusive at all, as videos are the most important part of the site. The users' experience will be the same as it is now, allowing them to view the video without hassles or intrusions. Hopefully some users will notice the points accumulating below the video and become enticed. Users still cannot comment or vote on comments without logging in.
Here we begin to push the user to sign up. We display some kind of message gently nudging the user to sign up. Again, we want users to be able to interact with the site and get started easily. Note: the image below is not what it will look like.
The user will be able to complete problems as if they are a registered user; points will be tallied and badges can still be earned. As the user progresses through the exercises we may begin to become more persistent in asking them to login/register. Out goal is to allow the user the full experience of Khan Academy without having to signup right away, but we'd like to avoid making them feel as if they never need to join. Notice in the screenshot the user has just earned a badge (but they're still not logged in) and there is an extra button giving them the option to sign up.
For the profile page, which includes the users statistics, badges, and other profile information, we have several choices. One is that we could simply add a header asking them to login. Another option is to blur out or disable the page and require the user to login/register if they want to proceed. Additionally, we could include full access with the persistent popup as mentioned below.
A possible choice to notify users to login/register is a persistent "notification" we can have to remind users to login/register. The popup will be out of the way, but will show until the user takes action. The advantages of this are that we can use it site wide, sans video, with the existing UI.
Another possibility is occasionally giving an alert reminding the user that they need to login. The alert could appear after certain events, such as becoming proficient, or completing a set amount of exercises. The alert would force the user to actively make a choice: login, or close the box and continue. The upside of this is that the user will have to make a choice, and may choose to register at that point. The downside is that we want to make sure we don't put off any potential users, so if we use this method we need to make sure to only show it at certain times.