I just started working on a self hosted Android & iOS ereader app. I’d like to know what features you would like to see if you use this kind of app.
Current Planned Features
- Support for EPUB, TXT, and HTML ebooks.
- Syncing over WebDAV. (Bring your own server. I’m not hosting people’s pirated libraries.)
- Multiple libraries (a WebDAV server is a library), and multiple users per library.
- Current progress from offline reading will get synced when back online.
- Dark mode.
- Custom fonts and themes.
- Text to speech.
- Keep awake.
- Orientation lock.
- Open source. (GPL license)
- Native apps using React Native.
- Animations can be turned completely off.
- Really good e-ink screen support.
- Tablet and phone sized device support.
Background
I use a Boox Palma, but sometimes I don’t have it with me, and I’d like to read on my iPhone.
With the current ereaders I know of, there’s always some downside. Syncing costs money, rendering is janky, page turn animations can’t be disabled, themes cost money (really???), no cross platform support, etc.
I want to learn how to build native apps with React Native, so I’m using this as a learning project. I’m not trying to make money on it, so it’ll be open source, and you have to have your own WebDAV server with all your ebooks on it to sync.
Non-Planned Features
Some things I just can’t do or won’t help me learn, so I’m not going to do them.
- PDF support. (Maybe in the future, but not the initial version.)
- Web app. (I don’t want to host it.)
- Kindle app. (React Native doesn’t support them.)
- Syncing over anything but WebDAV. (I’ll be using WebDAV properties, and I’m not interested in doing any other providers.)
So I’d like to know, what are some features you would like to see, and what are the pain points you’ve experienced with your current ereader apps?
What are the things to consider when writing an app that works well for e-ink devices? I’m asking because I have a project in mind but at this point I’m just trying to figure out best practices when it comes to the software and things to be aware of. Any good advice that you have learned?
Basically everything should be as black and white (literally) as possible. Anything colored runs the risk of looking the same on a grayscale screen as what’s around it. You can turn your phone grayscale to test it, but the contrast on your phone is better than on an e-ink device, so that doesn’t always work. Also anything that animates should be optional. You should be able to completely disable animations. They cause ghosting on e-ink. Thick borders work better to differentiate things than background colors. Gestures can work fine, but it’s better to also have the same functionality with a button or menu.
That’s what I’ve learned so far. I hope that helps. :)
Thank you! I will keep those things in mind!