AnkiDroid is an Android app for Anki, a powerful flashcards application that aids in learning and memorizing various topics.
My work focuses on enhancing the user experience of AnkiDroid on larger devices like tablets and Chromebooks. The project aims to improve usability, readability, and overall aesthetics, ensuring AnkiDroid remains intuitive and efficient across various devices. Specific tasks include converting the DeckPicker screen to feature a unified menu, highlighting selected preference settings, integrating the NoteEditor into the CardBrowser, implementing a Previewer within the CardTemplateEditor, adding mouse support, and introducing keyboard shortcuts for efficient navigation and interaction. Throughout the proposal, a strong emphasis is placed on user-centric design and usability enhancements to elevate the overall AnkiDroid experience on tablets and Chromebooks.
Unified the DeckPicker screen's menu for a streamlined user experience.
Before:
After:
Improved user experience by highlighting the selected preference setting.
Before:
After:
Integrated a TemplatePreviewerFragment into the CardTemplateEditor for real-time preview of card templates, enhancing usability and efficiency.
Before:
After:
Incorporated the NoteEditor directly into the CardBrowser, making note editing more seamless.
Before:
After:
Added right-click functionality to areas with long-click listeners, enhancing user interactions on devices that support right-click actions.
- NoteEditor: Expanded the existing media drop functionality to support video and audio files, in addition to photos.
- DeckPicker: Enabled direct file import by dropping files into DeckPicker.
Introduced a wide range of keyboard shortcuts for faster navigation and operations. Also, added a dedicated dialog to display all available keyboard shortcuts.
Here's a list of the pull requests I created during GSoC 2024:
- Highlight selected preference setting
- Refactor DeckPicker to Single Menu Layout
- Add TemplatePreviewerFragment to CardTemplateEditor
- Remove back button if fragmented
- Refactor: Convert NoteEditor from Activity to Fragment
- DeckPicker: Implementation of Keyboard Shortcuts
- Add Right-Click Support to Long Click Listeners
- CardTemplateEditor: Implementation of Keyboard Shortcuts
- Enhancement of Media Drop Feature in NoteEditor
- Refactor: Consolidate media paths into a single variable
- Add NoteEditor to CardBrowser
- Rename pager
- CardBrowser: Implementation of Keyboard Shortcuts
- CardBrowser: Shortcut E
- Implement Keyboard Shortcuts Helper
- Enhancement of Files Drop Feature in DeckPicker
This project successfully enhanced the AnkiDroid app, particularly for tablet and Chromebook users, by offering a more polished and user-friendly experience. The new features and improvements are expected to significantly improve productivity and accessibility for users on larger devices.
I see potential for further refinements in keyboard and mouse interactions, along with additional optimizations for larger screens. I also plan to continue contributing to the AnkiDroid project, addressing community feedback and implementing new features.
Thank you for following my GSoC journey! Feel free to connect with me on GitHub, Twitter, or LinkedIn.