Currently working on two #gnome apps!

- Scripter: A simple app for basic scripts ⌨️ & calculations 📐 [GitHub: https://github.com/david-swift/Scripter]
- Flashcards: Create, edit, and study flashcard sets 🎓 - easily import your existing Quizlet sets [GitHub: https://github.com/david-swift/Flashcards]

Both are written in #swift using an interface similar to #swiftui for #gtk and #libadwaita [GitHub: https://github.com/AparokshaUI/Adwaita]

GitHub - david-swift/Scripter: A very simple GNOME app for very simple Python scripts

A very simple GNOME app for very simple Python scripts - GitHub - david-swift/Scripter: A very simple GNOME app for very simple Python scripts

GitHub
That's how to import a Quizlet set.
You can only export private sets in Quizlet for some reason so you need to "Save & Edit" sets of other users and toggle the visibility (at least temporarily) to private.
@david_swift Very much looking forward to Flashcards, I've been waiting for an app like this to improve my Arabic vocabulary (Anki doesn't have the greatest UX unfortunately)! I've added the link to its GitHub on this page, hopefully that will help you get more attention: https://gitlab.gnome.org/bertob/app-ideas/-/issues/76
Spaced Repetition Software (#76) · Issues · Tobias Bernard / App Ideas · GitLab

It would be nice to have a native and responsive GNOME app for learning and memorizing information with flashcards - think Anki, but designed for GNOME and devices...

GitLab
@david_swift
Is there something for spaced repetition, like Anki, planned?
Spaced Repetition is way better for studying than a linear way of sorting the cards, it helps you get the ones you don't know more often, than the ones you know
@garlicus The algorithm used in the "Study" tab is currently super simple: Every flashcard has a certain property I called "difficulty" that is increased by one every time your answer is wrong and decreased by one if it is right. If a flashcard reaches the difficulty of 0, it won't appear anymore in the active "round". I'd definitely be interested in looking into other algorithms to implement, thanks for the request!
@david_swift not sure if you know this already and it is ok but there is already a gnome project called flashcards from @fkinoshita: https://github.com/fkinoshita/FlashCards Last commit was 6 months ago so maybe no problem? 🤔️
I also wrote a vocabulary trainer in Rust + relm4 that works but is not yet pretty enough to publish... Maybe soon 🤷️
Nice, that you can use Swift with libadwaita and linux mobile. I know nearly nothing about swift but will look into it 😊️
GitHub - fkinoshita/FlashCards: Memorize anything

Memorize anything. Contribute to fkinoshita/FlashCards development by creating an account on GitHub.

GitHub
@DrRac27 @fkinoshita I love the incredibly simple, elegant design of the app "Flash Cards"! My project's focus is more on providing an experience similar to Quizlet with the "Study" and "Test" mode. Since the name "Flashcards" is very close to "Flash Cards", I'd rename it if there are any good ideas around. Thanks for your interest!
@david_swift Your SwiftUI inspired Adwaita library is really cool btw! :) Tried it out two weeks ago or so and worked quite well for some basic stuff I tried.
@david_swift what currently holds me off from using Swift on linux though, is the kinda rough experience when dealing with networking and generally non-apple-platform-related stuff. Even doing basic http-requests are not a trivial undertaking last time I tried.
@nylki Thanks! Doesn't URLSession from the Foundation framework work on Linux the same way as on Apple platforms?

@david_swift I thought so as well!

But in my experiments I was only able to fetch http endpoints, but no https ones.
(On Fedora, could be a packaging/configuration issue with certificates maybe?).

Also you have to conditionally imort `FoundationNetworking` on Linux.

@nylki I experimented a bit with networking recently. SwiftNIO seems to be the way to do cross-platform networking in Swift.

https://github.com/apple/swift-nio

There are some libraries providing an easier-to-use interface for certain tasks, such as:

- https://github.com/swift-server/async-http-client
- https://github.com/vapor/websocket-kit

GitHub - apple/swift-nio: Event-driven network application framework for high performance protocol servers & clients, non-blocking.

Event-driven network application framework for high performance protocol servers & clients, non-blocking. - apple/swift-nio

GitHub
@david_swift thanks! I might give it a try next WE or so.
@david_swift Will you publish Flashcards to Flathub any time soon? 🤓️
@amadeus I'd first find a new name for the app (since there is another project called "Flash Cards") and improve the overall user experience before publishing, so I probably won't publish it in the next days, but (hopefully) in a week or so. Maybe I'll add a Flatpak file to the GitHub repo once the Swift SDK Extension is available on Flathub. I will definitely write here on Mastodon as soon as the installation gets easier.
@david_swift Awesome work! 🙌️ I intend to use it intensively to learn Thai Script. 🤓️