Description
Since you already sell EPUBs, I'd like to propose a paid feature.
Background:
Because this book is so good, I really want to read it from start to finish, and I believe many people feel the same. However in reality, that never happens, because I can never find such a big chunk of time. What typically happens is when I need to learn something, I come to read on that specific thing.
Proposal:
As a signed-in user, I wish to be able to mark a lesson as "studied" or "have read", which serves two purposes: 1. it's a motivation for me to read all the lessons and "check them all off" 2. help me organize which lessons have been read, especially when I jump to different topics without following any orders.
It could be implemented in multiple ways, for example:
- add a button for user to "mark this lesson as read"
- mark a lesson as read when user clicks "next lesson"
- mark a lesson as read when user's browser tab has focused on this tab for more than x minutes
These behaviors could also be configurable as user preference.
Depending on the implementation, a lesson could even be read multiple times, for example, a ✔ is shown on the page to indicate it's been read, and ✔✔✔ shows if it's been read for 3 times. Clicking or hovering the symbol could show the date it happened, and the duration of the session, etc.
Activity
ZYinMD commentedon May 18, 2020
As for the payment modal, you could do something like this: step 1. provide the button "mark this lesson as studied" 2. if a user clicks it, prompt to sign in 3. if the user actually uses this feature, after 20 lessons have been marked, prompt to pay
[-]feature request: mark a lesson as "studied"[/-][+]idea of a paid feature: mark a lesson as "studied"[/+]iliakan commentedon May 18, 2020
This feature should be free if implemented.
Also, we probably can implement it without a need to sign in.
But is it needed?
ZYinMD commentedon May 18, 2020
Haha, of course it's all up to you. I agree not everybody needs it, but it's also possible that people never thought about it, so they don't know they need it, until one day you give it to them, and they be like "oh this is so nice".
Again it's all up to what you think, but here are several of my random thoughts:
iliakan commentedon May 18, 2020
Let's hear what others say =)
Li-YangZhong commentedon May 22, 2020
Links visited will be shown in different colors compared with colors shown for unvisited links by most mordern browers automatically. Clicking the 'tutorial map' icon on each page's top left corner will give you an overview as to which pages have been visited(read) or unvisited. This serves as a bookmark telling users what lessons are learned and what lessons haven't been checked out yet. I found this feature very usefuel.
[-]idea of a paid feature: mark a lesson as "studied"[/-][+]idea of a feature: mark a lesson as "studied"[/+]orionrush commentedon May 29, 2020
Duplicate of #384
dagolinuxoid commentedon Jun 16, 2020
It sounds artificial to me. Keep in mind that JS is a fast-paced evolving language so most of the chapters in the tutorial are live and change due to updates.
remusbackup commentedon Jun 26, 2020
Yes its really a good idea. The clicks on link of chapter name tell me to keep going on, like the colour change on those links. @dagolinuxoid is also right and that it is changing at times. Can we have another tag for seeing those updates? Like a pill or something that a major update has been there on some chapter, that we should get a look into it. It will be good.
duhbhavesh commentedon Oct 1, 2020
I've recently started javascript.info and It's awesome!
It's a really good idea to have ✔ on the lessons we have completed.
or
If the visited lesson color would be grayed out or some other color it would be really great! I'm having a hard time differentiating the visited link and the lesson that need to be started. (It's just me probably)
Colt0804 commentedon Dec 10, 2020
I don't think that signin option will be needed for adding any feature like "studied" or "have read" for the users. But It's really a good idea to have any options like that.
orionrush commentedon Dec 10, 2020
How would you see this working?
True, but the 'completed/visited' data could be stored in the browser
.localstorage
, but in this case, it would mean that after a hard refresh it would disappear. And of course, this user state wouldn't be portable between browsers or devices. Without some sort of access to a database and backend to store user state, (and therefore requiring user validation via a login), I dont see how this could work.Firestore might be a good fit for auth and a data store, for this kind of project with a js only module (perhaps on top of vuejs). This way they wouldn't need further tooling of a back end. Firestore might not be the most economical though depending on the traffic the site gets.
Colt0804 commentedon Dec 11, 2020
@orionrush Highly agree with you that firestore might not be economical for such kind of projects if having huge traffic but we can store users specific data even after refreshing the page.
The easiest way to reload the current page without losing data, can be achieved by using WebStorage where we have -persistent storage (localStorage) or Storage.setItem() or Window.localstorage.setitem() is used both to create new data items, and (if the data item already exists) update existing values. Yeah this wouldn't be portable enough between devices but might be useful for users using the same browser.
10 remaining items