Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
An open source web-based flashcard studying system (github.com/hwgilbert16)
171 points by hwgilbert16 on June 24, 2023 | hide | past | favorite | 99 comments


After skimming the site and code:

Do not use this, just use anki.

Anki has a free web version (anki web), and has free-as-in-AGPL desktop apps as well.

Maybe one day this software will be comparable to anki, but right now it's missing spaced-repetition (which is the only thing that really makes large decks usable), and practically all the other features of anki.


The project is still early in its development. Spaced repetition is something that has been recommended to me and has already been planned for the project from the beginning.

The current flashcard implementation is not what it is intended to be in its final stage - it’s more of a showcase of initial functionality and a proving ground for building upon what other projects (like Anki) already offer.

Anki web is an option, but the Anki project as a whole can be daunting to new non-technical users with the variety of implementations it has. Scholarsome is intended to be simpler to use for these users while still offering more powerful study tools.


Well said about Anki.

I use it and it’s not for the many, and learning with spaced repetition should be.


If your goal is to be simpler, and also more powerful, could you write down what that means?

If your goal is to just poke around without a plan, or to just copy features without a unifying vision, it seems unlikely it ends up simpler or more powerful than anki.

As far as I can tell, there's no vision written down anywhere, no list of things other systems got wrong but you'll get right, no insight into what needs to be done in this space.

The only selling points / differentiators I see listed right now are: "no paywall/free, open source". Those do not differentiate it from anki.


> no vision written down anywhere

Shouldn't this be a deck of cards?!

I echo your sentiment. I also agree the Anki is a bit of a morass. A streamlined UI for creating Anki cards could be nice.


Wow, that’s an unnecessarily harsh criticism. The OP spent a lot of time coding this up, it’s still in progress, and they should feel proud of it! Anki isn’t for everybody, and maybe this person made a UI that speaks to some people better than others. I count myself among the camp of people who like SRS but dislike Anki.


"Anki isn't for everybody"

But I didn't see a single sentence about how this is different from Anki and why? Why do you want to reinvent the wheel when Anki is good enough?


Haven't yet seen this tool, but here's a quick answer. A few years ago, after skimming through the docs, I gave up on Anki because it seemed too complicated. I was using SuperMemo back when it was a DOS (and later Windows 3) application, I consider myself a fairly sophisticated user (e.g. I have a good expertise on LaTeX, even coauthored a textbook, I know Emacs very well, also authored a textbook), I've been a hobby programmer for over 3 decades and a professional one for 7 years, earlier I did a PhD in maths, etc., etc. And still Anki looked intimidating. That says something about "good enough". There's definitely space for an easy to use SRS out there.

I am using Anki now, btw, although I use it in a very simple way, but I think the point still stands. (Also, I agree that any new SRS should be somehow Anki-compatible.)


Rule 1 of Anki, is make good flashcards, and review every day. That's all you need to get started. The defaults are good enough to get started. You don't need fancy image occlusion, add-ons, machine learning tuned custom parameters, etc.

"Make good flashcards" is indeed a difficult problem, but not one that is mitigated by a different tool.

"Review every day" is a question of habit formation, which is difficult, but also not a problem that a different tool will do better.

So the default Anki settings are good enough to get started, and allows itself to be customized as the user gets more familiar and better knows their need.

Without Anki import and export, a new tool simply seems to be a dead end to me, even if it slightly simplifies getting started.


I understand all that (as a long time SuperMemo user). What was intimidating in Anki was the manual. Perhaps if I had tried to use it first there would be no problem...


I can relate to this. I had fond memory of SuperMemo on DOS and wrote a little terminal tool “lrn” inspired by it: https://github.com/krychu/lrn

I acknowledge it’s simple, runs on terminal only and lacks bells and whistles. But this is also probably why I use it so much.


Does it allow you to use Anki decks?


Unfortunately not, “lrn” uses a very simple file format where each entry consists of three lines: question, answer, empty line. But I think it’d be a good idea to look into supporting Anki decks. I should do it some time. It’d be probably limited to decks that use text only.


Yeah, I looked into a little bit. An Anki to Markdown converter would be ideal.

    Question: ...
    Answer: ...
----


Apart from LaTeX, I'm the opposite of you and while initially I found Anki to be a little "overcrowded", within a few days I became proficient in using its features and understanding its spaced repetition algorithm. I'm genuinely curious about the factors that contribute to the difference in our experiences.


As I said elsewhere – the manual gave the impression of a very complicated tool. (Also, I lack some things I had in SM back in the day, but that's not a big deal.)


Ugh, Anki is complicated? I would say it's powerful not complicated. It was really easy to start with existing decks and make my own.


This is what the project is intended primarily to address. Tools like Anki are very powerful and accomplish what they set out to do, but they fell prey to feature overload in certain aspects.

All it takes is one quick look at their docs to turn people away to a more mainstream option. Condensing its features into a more bite-sized application can make a world of difference for usability.


Anki is badly designed and inefficient, largely I think because it was the first project for its author. It's also become venerable and battle-tested, and features have been developed through the needs of a very large userbase.

I don't think that anyone denies that Anki could be a lot better if it were completely rewritten with the experience of having had Anki for years and knowing its pain points. You just have to have a plan, best based in analysis of Anki (and SuperMemo) to do that.

> There's definitely space for an easy to use SRS out there.

I think there's definitely even space for a hard to use SRS that's easier to deal with. But it's got to start by covering at least 80% of what Anki does already or it's not worth switching.


> Anki is badly designed

yes

> and inefficient

no. You can tweak every aspect of srs for each deck as you wish, if it’s inefficient for you - adjust the settings.


"inefficient" in what way? (not really used it myself)


> But I didn't see a single sentence about how this is different from Anki and why? Why do you want to reinvent the wheel when Anki is good enough?

Well, sometimes "good enough" isn't really the point. People have different tastes and different motivations.

Why did people use Windows before v3.0 when Mac at the time was objectively better? Why did people bother using OS X when Windows at the time was objectively better? Right now, why are people using Mac OS when UI and UX on Windows is objectively better?

Why use Linux circa 1995 when FreeBSD was objectively better? Why use netBSD now when everything else is objectively better?


you keep using the word objective and i'm not sure you know what that word means. these are subjective comparisons that you are making. and different people have different subjective tastes.


> you keep using the word objective and i'm not sure you know what that word means.

I don't know if maybe English is your first language or not, but objective means "based on established fact".

In other words, you don't know the criteria I've used to rank one above the other in all my comparisons, you only know that it is something based on fact.[1]

> these are subjective comparisons that you are making.

No, they aren't.

The reasons a person may choose one option over another can be subjective. The fact that one performs better than another on a certain criteria is objective.

> and different people have different subjective tastes.

But I already said that:

>> People have different tastes and different motivations.

See?

My entire point was that, even if something is objectively better than something else, people may still want the something else due to reasons of taste and motivation.

[1] And, in fact, you could switch almost all of my comparisons around (except for the poor UI/UX on Macs - that comparison was restricted to only the UI/UX) just by using different criteria in the objective comparisons.


No. Your assessment is obviously subjective because you say that UI/UX is better on Windows than on macOS which is objectively wrong.


> No. Your assessment is obviously subjective because you say that UI/UX is better on Windows than on macOS which is objectively wrong.

UI and UX is not subjective.

That Mac, in 2023, doesn't even have snapping Windows is not an inaccurate observation. No window groups. Barely visible and hard to hit Window titlebar buttons. Fails to remember Window placement for some tools (tkdiff) but not for others.

Without 3rd party addons, Mac window management is unusually poor (compared to various other Window managers, including Windows). Window management is a major component of a UI based on application windows.

None of those things are subjective.

Even with 3rd party add-ons, I eventually gave up and stopped using the MB M1 as soon as I could.


Because options is good for consumers and drives healthy competition leading to more innovations.


Anki also has an independent FOSS reimplementation for Android called AnkiDroid.

They can exchange data. Years ago I used Anki to prepare some decks which I then used with AnkiDroid.

I think AnkiDroid is mostly written in Kotlin now.


I've never managed to make pronunciation work on ankimobile personally, I'm using another app


That's nice, but AnkiDroid and AnkiMobile are different things. The former is a complete FOSS implementation of Anki for Android, whereas AnkiMobile is a proprietary companion app to Anki from the Anki author (I think, iOS only).


I didn't know that, I only use android so I did not notice you had another app on iOS. Maybe the one I tried was called AnkiDroid then? I can't remember.

I'm using a completely non-Anki based flashcard app just because of the lack of this feature.


At a minimum I would say any new SRS app or site needs to be Anki-compatible. It just has such a big lead in terms of mindshare in the space - though I agree with other comments that it definitely has some seriously dated features. Any interest is the space is good imo.


It has a lead but is no where near mainstream where the maximum amount of people could improve their opportunities to improve their lives.


I’ve been looking into adding the ability to import sets from Anki, especially with how widespread it is. We already have it for Quizlet, but Anki will certainly be next to be able to be imported from.


Release early and often, or release when it’s all done.

Shipping isn’t easy.

Anki is definitely nice and full of features but also a victim of design by committee and kind of consulted at times.

Lots of space out there for options and alternatives.


Anki is really not that great. All the implementations I’ve tried are ugly as hell and have crappy UX.

It’s also over complicated for something as simple as flash cards.


I use anki right now. I mean this question in good faith, is there a reason for me to switch? I'm happ with anki, but I'm open to being sold.

Relatedly: Can I pay for this? Anki won't accept money, and it makes me nervous that one day the software is going to change and become unusable. I don't know how ankiweb can afford to host decks at no charge.


If your reliance is on spaced repetition - in the current state - do not switch. An SRS has not been implemented yet, but it is high on the priority list.

Once it has been added, I’d encourage you to look around and see if Scholarsome can fit your use case. To be upfront - this is still very in-dev. Anki is much more feature complete, and will be for some time, but I’m a believer in shipping fast and early to get feedback from users.

I don’t have any plans to monetize my hosted option. At most, I may add a donate button in the future. Releases are all containerized, so it should be easy to host yourself on a system under your control if you trust that more than using a third party.


Anki is supported via the paid iOS app. It used to accept donations but the payment processors kept causing problems.


iOS app is $25 which is wild though


I'd like to create one with basic and obvious gamification integrated into the design.

Every aspect of my child's life is intensively, scientifically designed to be addictive and hyperstimulating except learning.

Then we're back to digital flash cards that somehow manage to suck even worse than analog hand written flash cards.

Not beating up on your early demo. Solid foundation. But please try to imagine a child using it and enjoying it. And whatever design decisions that implies will probably serve us adults better too.


Simple HTML5 games are on the docket for future releases. Nothing advanced - but still something stimulating other than pure flashcards.

This is a point where I’m not as well-versed. Would love to hear any recommendations for study games that you might find useful.

As a side note, this is more targeted at an older audience, i.e. ~16+.


One problem I've seen is that most addictive things, including games, either offer a diversity and discovery of content (as seen in watching YouTube videos or playing incremental games (Cookie Clicker, Candy Box!, etc.)), or foster competition and demonstration of skills (as seen in games like chess or FPS). However, memorization is by nature a repetitive and solitary task.

Duolingo operates in this space, and their gamification model, I believe, is to motivate users to study by allowing them to display their streaks and levels to others. (competition)

Anki also has a streak-based gamification, and it's somewhat successful, as seen here: https://www.reddit.com/r/Anki/search/?q=streak&restrict_sr=1.

However, these gamifications are not as fun as real games. It won't make your heart thump like FPS games do.

I believe there is room to incorporate features from incremental games (like Cookie Clicker) into flashcard apps, although it is not as simple as it sounds. Habitica [1] is another example of integrating incremental features into a task management system, but it lacked a diversity of content when I tried it last year. Incremental games are not merely about numbers increasing; they also involve the discovery of various elements (like grandmas, farms, factories, mines, shipments, alchemy, portal, ... in Cookie Clicker).

[1]: https://habitica.com/static/home


It's a good start! Keep working on it - Anki has aspects that are very, very dated (IMHO) and an open source competitor would be good for everybody.


I'm curious which aspects of Anki you find to be "very, very dated"? I haven't used Anki for very long, nor have I looked into any advanced-looking features, so perhaps I haven't run into those aspects you were referring to.


sure

why does the app give me a total number of cards to do? why not always present the card I'm most likely to forget and leave me to decide when to stop?

why is it so hard to understand the concept of a note vs a card?

why aren't there more ways to have cards be updated over time, to subscribe to updates?

why does the app cost $25 on iOS?

why can't I execute JavaScript within fields if my html/css is rendered in a browser anyway?

just off the top of my head. many more to list. i love Anki but let's not act like it doesn't have serious downsides


> why does the app give me a total number of cards to do? why not always present the card I'm most likely to forget and leave me to decide when to stop?

You aren’t under any obligation to continue learning until you’re done with all cards. The number of cards to learn is customizable.

> why is it so hard to understand the concept of a note vs a card?

It’s not that hard, but I guess it makes the learning curve a bit harder. Why it’s done this way? I guess to provide more flexibility. Is flexibility lacking in modern apps? Yes, absolutely. So in that sense this is indeed a dated feature.

> why does the app cost $25 on iOS?

Why is it “dated”? Also - why not? You’re free to use free desktop and web versions. Paying for ios app is a way to support the developer.

> why can't I execute JavaScript

Dunno about this one. What’s your use case? Can’t theg plugins cover it?


At least for the costs question I think the answer is: Because getting it into the Apple app store costs money.


Same for every app there, but few are $25. I've published an app there before and didn't price it that way.


Where's the button to pronounce the sentence on Android? This is a required feature for me and that's why I'm using a competitor


Has the "ease hell" issue been solved, maybe with the new scheduler? Or do you still need to stay away from two of the answer option (easy, hard) and only use the other two (good, again)?

Honest question, I haven't kept up with Anki, but just saw that a new scheduler (v3) seems to be default now.


Ask 10 non technical users


Have you tried the latest version of Anki? Its design has become modern. From a technical perspective, a software written in Rust, Python, Svelte, and TypeScript should not be considered "very dated". The only issue I see is that I still haven't figured out what "card" and "note" mean, even though I've been using it for more than a year.


A note is a set of field. A card is a specific way those fields can be displayed to the user.

If you want to learn the elements for example, instead of having multiple notes of the form "element name->symbol", "element name->atomic number" and so on, you can have a note that includes the fields "element name", "symbol", "atomic number" and so on.

The cards then specify which possible combinations to show.


the note is the db model. the card is the view on top of that, which includes html and css. many cards can be created from one note, just like a db model can have many ways of being shown


AnkiDroid is a FOSS (GPLv3) implementation of Anki for Android.

https://github.com/ankidroid/Anki-Android


Thanks for taking a look at it.

As you said - Anki has some aspects that are due in part to its 20 year age. We’re going to be addressing those issues so that people are not reliant on only one option.


Firstly, I wish you all the luck; this is a genuinely useful category of software and there simply aren't enough alternatives out there.

That being said, the big hurdle with SRS software is ... lack of content.

I wrote one too but gave up on it because creating the content takes too long.

What I'd like to see someone create is an open and free wikipedia-type-everyone-can-contribute-content project specifically for flashcards.

When I sign up to any SRS I want to be able to point the software to (for example) www.srs-commons.org/topics/programming/languages/kotlin, or maybe www.srs-commons.org/topics/history/south-africa/the-boer-war, or www.srs-commons.org/curriculums/us/grade-10/trigonometry.

Students seem particularly motivated to create a commons of cheating material, maybe they could be similarly motivated to add to a commons of study material.


I believe the issue is not a lack of content, but the quality of the content. There are so many decks on https://ankiweb.net/shared/decks/, including ones for Kotlin (https://ankiweb.net/shared/decks/kotlin) and Trigonometry (https://ankiweb.net/shared/decks/trigonometry), but most of them are of low quality or not what I want. Sometimes it's easier to just create a deck by myself.


Hmm - I've rarely used prebuilt decks but maybe I should consider that. Other services besides Anki have them as well. iDoRecall has a bunch that are tied in with OpenStax (a "free e-textbooks for all" project).


It's likely that we add the ability to import from Anki, I'll also add the ability to import from other services that act as flashcard repositories. I've seen a few of them in my research.

However, the project is more focused on giving individuals the platform to create their own sets/import from elsewhere, rather than hosting a large repository.


I'm also building an Anki clone (sigh) that I'm calling "Github for flashcards".

>A free, open source, local-first, spaced repetition system that works offline, has p2p syncing, plugins, and first class support for collaboration.

https://github.com/AlexErrant/Pentive

Very much a WIP, completely unusable, but I recently made a video demoing the technical proof of concept. I plan on it being more or less Anki-compatible though, so there'll be cloze deletions, note types, etc.


Props for this. We need a good, popular, open source anki for sure.


You're missing installation steps for how to use this on a phone without access to the Internet.

I can use AnkiDroid with the device in airplane mode.

For some users, it is absolutely critical that the spaced repetition program runs on a mobile device, because that lets them use any spare moments they have in any situation anywhere for the purpose of studying.

It's a web app, but the installation talks about Docker containers ... seriously?


Correct, it’s a web app. It’s run on a server that you will need connection back to - it’s not an Android or iOS app. Again, this is still very early in development. It’s likely that we will look into offline functionality in the future.

In the future, we may potentially look into adding companion apps that can sync back to the server, but that is a far ways off from now.


Are you planning on documenting your API? contributing a mobile client would become a lot easier

tbh after trying SwiftUI the last few weeks I am tempted to give it a shot myself but being really unfamiliar with this type of web development trying to figure out the API routes seems a bit daunting


Hah, thanks for bringing that up. I’ve been wanting to document the API, but have left it on the back burner so-to-speak since I figured nobody would reach it.

If you’re serious about giving the mobile client a shot, feel free to shoot me an email hwgilbert16@gmail.com and I might shift some priority over to the API.


I mean, you can always wrap your mobile website in a native-app skin (with Ionic or whatever the modern version of Phonegap is)


Not sure if the site's being HN'd or not, but the signup failed and then when I resubmitted the form it said my username was already taken. Tried a password reset just in case, but nothing came through for that either. Lots of error 401's, 409's and 500's in the network inspector.


It’s being HN’d right now. Twilio (email provider) seems to have flagged my account earlier, but emails appear to be working fine again. Give the signup another shot.


Same for me. An error during signup followed by username already taken followed by no password reset email.


Sorry about that. Email provider didn’t like the rapid increase in signup emails. Tested it, and it seems to be working now. Give it another shot.


> Inspired by the larger sites that are now charging for core functionality, Scholarsome intends to be a drop-in replacement for any study workflow.

What „larger sites“ does it refer to? All the comments here are about Anki but this seems to target something else?


Probably referring to Quizlet and Memrise, and the up-and-coming iDoRecall.com


Alternatively, I’m a happy free user of NeuraCache [0]. It has a dedicated ios app, where I can use markdown notes in Obsidian as flashcards.

[0]: https://neuracache.com/


I want to also mention an SRS site that has gotten really polished and isn't nearly as well known as Quizlet and Memrise and the rest - and it's not open source - but the science and the polish are all there (you can even create cards while watching a Youtube video and it will link to that spot in the video as an optional source reference) - it's called iDoRecall.com, worth checking out. (I found it in an old thread here on Hacker News where the creator posted about it when it was new - I followed the link and was stunned at how polished it had become)


I wonder how to compares to Anki


Anki has more features at the moment, but we’re hoping to go beyond its capabilities while addressing its shortfalls.


Feature count won’t make it better than Anki, but user experience will.


Although features around moving cards between decks, drawing from multiple decks, allowing tranches of cards to be released based on other sets of cards reaching maturity, etc. would get me to switch. I've been an Anki user for a few years, and the inability for Anki users to do simple things easily (or sometimes at all) is frustrating.

Having more than a few decks also slows everything in Anki to a crawl. The community has responded by dumping everything into an uberdeck (killing reusability, which gets sourappled), when we could instead be coming up with theories on how best to juggle multiple decks to maximize learning.


Stay the course and build the next curve. I didn't adopt Anki for all the reasons you listed.


Since Anki has been coming up quite a bit in the comments, and this is a self-hostable (but not yet spaced repetition) flashcard system, I wanted to note that Anki does let you run your own sync server now: https://docs.ankiweb.net/sync-server.html


Not quite sure why this deserves a downvote, it’s pertinent since it’s also an open-source flashcard system and there are lots of other comments about it, but okay!


Are flashcard system actually more efficient than other ways of knowledge memorization? It never worked for me,I am curious to whether I'm the weird one or if there's anything that can back help me understand if I'm using the system work.

To me, just for the sake of having a data point down, summarisation in writing is how I remember stuff.


I promise that turning your summary into flashcards and looking at them for the next couple of years will help you remember that stuff longer.


I just wanted to say Anki.


Could a teacher use Scholarsome to share flashcards with a group and track activity? It looks like some sharing features are already in place. Teachers use quizlet to assign both classwork and homework. Anki is designed for individual use and the sharing plugins are too complex and too limited for most teachers.


We’re planning to add study analytics in the future to track progress. It’s possible that we’ll have it so that this data can be shared with another user.


I made a simple one myself as a one file html app. https://gitlab.com/aksrikanth/flash-cards


Give Mochi a chance, it's got all the things and ease of use :)


What's wrong with Anki? Why would I switch to this?


It's a fresh start, the way I see it - Anki has a lot of dated bloat that's hard to shed (analogous to the heavyweight Visual Studio vs. the lightweight Visual Studio Code)


If you are looking for a good flashcard tool I suggest studykit.app started using it after Quizlet shut down most of its basic features


Will you propose tools to easily import existing stacks (Mnemosyne, Anki...) of flashcards?


We have plans in the works to allow imports from Anki. Right now, it only allows imports from Quizlet, but the ones you mention will be added in the future, assuming these other services provide a way for me to get the data other than web scraping.


I'd like to see the product without needing to register first


I've added a gif to the readme that showcases one of the current flashcard modes.


An example of over-engineering?


Why not build on top of Anki?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: