A SuperMemo of our own

From Pleasurable Learning
Jump to navigation Jump to search

Current issues with SuperMemo

  • Aged user interface
  • Aged user experience
  • Closed-source (propietary) and paid
  • Not so much active development. Many bugs remain unfixed.
  • Lack of support for modern standards such as PDF, markdown, LaTeX.
  • Horrible customer support

Current state of the Supermemo community

SMA Discord

Are there software developers skilled enough to built an app as an open source alternative to SuperMemo?

Current state of Piotr Wozniak's vision

We all know that user experience plays a significant role in the adoption of a product. While we, the existing users, might find satisfaction in mastering the steep learning curve of SuperMemo, wouldn't we want more individuals to discover and enjoy this tool?

Previous attemps for an Open-source SuperMemo

In the 1990s, the concept of open-source SuperMemo was introduced, following the initial achievements of other open-source initiatives. Zoran Maximovic and Piotr Maksimczyk created online versions of SuperMemo, while Luis Gustavo Neves developed SuperMemo for Linux using the SuperMemo 8 codebase.

Tomasz Kuehn initially proposed the idea of an open-source SuperMemo for Linux on October 24, 1997. However, around 2004, the availability of CrossOver software diminished the demand for a native Linux version, consequently affecting the progress of the open-source project. In 2006, Florian Zwicke and Filip Glowacki introduced their own variations, and in 2008, Darek Murakowski revitalized the idea.

Despite these efforts, successful open-source versions of SuperMemo have never emerged, and there has never been a native SuperMemo specifically designed for Linux. Some users sucessfuly used SuperMemo in Linux computers by using Wine or other tools with some main features broken. Keep in mind that runnung SuperMemo on Linux doesn't make it open source. The oposite is true, an open source app doesn't need to run under Linux systems.

An honarable mention is SuperMemo Assistant (SMA) which is entirely open-source. SMA is not an app or a replacement for SuperMemo. It is a companion app for SuperMemo 17-18 versions which extends its functionalities through plugins. It has been developed quick hacky as it runs over compiled code. Its has been mostly developed by one person, Alexis.

Intrinsic characteristcs of Incremental Reading (IR)

Incremental Reading has a steep learning curve. SuperMemo, to date, is the only software that implements Incremental Reading (IR) sadifying the minimum definition of incremental reading as described by Piotr Wozniak.

What should a new SuperMemo-like app have?

  • Open Source
    • Licence that any fork should keep the licence of being kept open-source.
  • Local first
    • Forget about SaaS (software as a service) only.
    • The user owns his or her own data.
  • Use of open standards
    • The information is accessible outside of the app, it can be exported to third parties, research can be done, etc.
  • Multi-device support
    • Support for both mobile and desktop versions.
    • All major operative systems are supported: Windows, Linux, Mac, etc.
  • Use of plugins (add-ons)
    • Users can customize their own experience, specially when their motivation contradicts some learning principles of Incremental Reading such as gamification.
  • Support for any modern browser
    • Imports should be possible from Chrome and Firefox and not just Edge as SuperMemo 19 is planned.

Rellevant open-source projects

Gulpereel

Logseq

Anki

Speki

Wrath0fLog1c's Shared semantic representation of the project

  1. Create a shared project document: Set up a shared document and repo (I like Google Docs and GitHub, Notion could also work?) that serves as a central hub for all project-related information. This hub will contain a brief yet comprehensive overview of the project goals, proposed features, technical choices, and an organized timeline or roadmap with milestones. Also contains additions and modifications towards the roadmap.
  2. Assign roles and responsibilities: Clearly outline the roles and responsibilities for each participant, along with their focus areas. This will enable everyone to have a more precise understanding of their contribution to the project and accommodate individual preferences and commitments.
  3. Regular check-ins: Set up periodic online meetings for all participants to discuss progress, address concerns, and share updates. This will promote a strong sense of collaboration and ensure that everyone's voices and ideas are heard. I would like to give attention to the need for asynchrony though, because not all of us would be able to participate in these check-ins. Perhaps set up a Twitter account and host a recorded Spaces? We can also use Otter for transcription.
  4. Continuous revision and adaptation: Allow the project document and roadmap to evolve over time. As new information arises or as participants propose changes, update the document to keep everyone informed of the project's current state.
  5. Visual representation: Create a visual representation or mind-map of the project's architecture, components, and dependencies. This will provide a graphical overview of the project's structure and interrelationships, making it easier for participants to absorb information, see the bigger picture, and identify potential areas for collaboration.
  6. Training and support: Encourage participants to share tutorials, resources, and best practices related to the chosen technologies and approaches. This will help everyone develop the necessary skills and knowledge to work cohesively on the project. Like a Collective Knowledge Bank that we can import into our preferred SRS's?

I think this could allow the project to become more unified and manageable, and everyone can continually update their mental framework with new information. This will pave the way for a more efficient, collaborative, and successful development experience for the new SuperMemo app.

Questions

Why do you think SuperMemo for windows remains clozed source?

What do you think it will happen if SuperMemo is open-sourced?

Who will be the main target user base for the Open source SuperMemo?

References

https://supermemopedia.com/wiki/Open_source_SuperMemo

https://supermemo.guru/wiki/Open_source_SuperMemo

https://supermemo.guru/wiki/33rd_anniversary_of_SuperMemo#Open_source_SuperMemo

https://supermemopedia.com/wiki/An_Appeal_to_Open_Source_SuperMemo

https://supermemopedia.com/wiki/Completely_rewrite_SuperMemo

https://forums.ankiweb.net/t/incremental-reading-in-long-term-future/596