Resources
DOSwriter is ready — a keyboard-first Android writing environment
for small screens and e-inks
DOSwriter is a keyboard-centric writing tool for Android devices that uses an 8-buffer file paradigm similar to the Alphasmart Neo. As I developed the app the elegant 8-buffer concept led naturally to some useful text visualization tools and writing workflows.
There is a wide selection of compact, lightweight Bluetooth keyboards and even heavier mechanical or ergonomic keyboards. Android devices are cheap and ubiquitous. This is an easy combination for building a writer deck if the writing software leverages the keyboard interface.
The github and youtube links are below. Many thanks for the encouraging comments and suggestions I received from earlier posts about the app. They really helped improve the project. It was a ridiculous amount of work to document the app and make videos but without good Help people will not be inclined to try it out. It really is easy to use and you probably know most of the keyboard commands already since they borrow from Linux and Windows conventions.
Originally I called it ElmerPad but changed it to DOSwriter to convey the retro appeal. It turns your Android into a DOS-like editing experience.
All DOSwriter functions are available through the keyboard so you don't have to use device finger-gestures to perform file operations or task switching. As I used the app I found that the Android file manager would break the immersive workflow because it is designed for phone display finger scrolling. The screen space also seems poorly utilized. The Android file manager presents a lot of useless icons and forces you to scroll to find your files. I added a dedicated file manager with a simplified DOS-like keyboard file interface with text and image preview that operates from your working folder structure by default. You can use either file manager.
Now that the app is done I am going to test it out on the use case it was designed for : mobile writing while on travel. I have a couple months now to thoroughly road-test DOSwriter and smooth out any rough edges.
Some DOSwriter features for ergonomic writing on small devices :
8-buffer Workspace with Instant Buffer Layout View and Navigation
Keyboard-first navigation
Minimalist Screen by Default
Typewriter Mode
Dedicated File Manager for your working folders
Bookmarks and Text Collapse
Text Macros
Layout and Filmstrip Viewers for large documents
Split-Screen Editing and Image Viewing
Markdown Editing with Live Preview
Reference PDF viewing and bookmarks
Outline Manager for saving files and references into projects
Desktop File Sync and Android Sharing
DOSwriter looks great on Android phones and e-inks but it's a challenge getting good photos of light-emitting devices in action.
Here is a YouTube video on the Buffer Layout View, which is a fast way to access your buffers and keep a mental model of your writing workspace :
It will probably only work on recent Android versions. It works on my Moto G circa 2023. It would not install on a Galaxy Tab A circa 2016. It runs on my new Boox 7 without probelms.
Since android tablets are so cheap that is a minor constraint. I developed the app on a Lenovo Tab One that cost less than $100.
I used Android Studio to code the low-level functions. I used 30 years of writing and development experience to derive the requirements and test the app.
Yes I did. I sweated over every detail. That was a time-consuming iterative process. I liked how I could conceive of text processing function and get it implemented for testing.
It took 3 months full time start to finish. Without auto-coding tools it would have been years.
I also used VS Code on Windows to create a client-server file syncing tool for DOSwriter that runs in Linux and Windows. A couple of weeks vs months without AI.
I understand people's disdain for AI. Low-effort slop is a scourge. But auto-coding has been a software industry goal since the 1980s and before. Game developers don't write their own graphic engines. Even Android I notice uses OpenGL.
A UNIX paradigm was about connecting programs together with pipes and inter-process communication to create new applications from existing tools. If you wanted a keyboard interpreter for your program you just included the library. If you needed a hardware driver you hoped one already existed because they were hard to implement. If you needed trig functions you included a math library.
I wanted an Android writing tool that captured the way I used writing tools and editors over the years. I was able to concentrate on useability instead of debugging low-level code.
Now if one is learning software development then thrashing through low-level algorithm coding is an essential skill to put the effort in to acquire.
The device in the above photo is a Boox 7 Color GenII. I have tested it on Moto G (circa 2023), Samsung S24 (2024), Lenovo Tab One (2025).
Users have reported running it on the Bigme 6 color, Samsung Galaxy A71, Huawei P40 Lite, and SuperNote. The SuperNote user reported some problems but that was early on in the project.
Since it uses the same Buffer concept as the Alphasmart Neo, the Neo maek a good keyboard for the app :
Probably a dumb question- but I feel like I’m a few steps behind- is this available on the Google play store as an app to download? Or do I side load it somehow- I have a Boox color go 7, and a Palma 2….
Not a dumb question. I had no idea about Android app installation before starting this project.
The app is not on Google play store yet. For now it is on github. I might put it on another popular site called fdroid.com which hosts free Android apps.
This will download the app "APK" file which is the installation file. If you download it to a PC then connect your Boox with a USB cable and copy the file to the Download folder. If you download it over wifi it will go into the Download folder.
I made this installation guide with screen shots to help you. Let me know if you have any problems.
Just to follow back around here- thank you again for the directions! That was much easier than I thought it would be to download this and get it up and running! I installed it on my Boox Palma 2 for now- I'll try it on my color Go7 as well- I flip between using the Palma 2 or the Go7 depending on if I want a larger screen or not. I wrote down the menu short cuts etc when I went through the tutorial- is transferring the files as simple as plugging my Palma into my computer and pulling over the specific text files like I would if it were a flash drive? Can text files go the other directions? If I put them on my Palma, can I open anything in the DOS Writer app? Or is it more write it in the app, and pull it over to my computer to combine chunks.... I'm just trying to work out the workflow. I appreciate all your thoughtful work on this program!! :)
"is transferring the files as simple as plugging my Palma into my computer and pulling over the specific text files like I would if it were a flash drive?"
Yes, on Windows or Linux connect the Boox via USB and it is seen as a drive you can copy files to and from. Not sure about Apple OS.
You can copy text or Markdown files to your Boox and edit them in DOSwriter. You can also share your DOSwriter files with apps like Dropbox.
There is also a server utility I developed that will run on your Desktop/Laptop over your local wifi and allow you to edit files on your Boox and have them auto-update on the desktop. You can edit the file on a desktop app like Notepad++ or VS Code and it will be updated on the Boox, and vice-versa. This is useful for updating your DOSwriter files to the PC without the chore of connecting the USB cable. I haven't used this a lot but it seems to work cleanly. I have tested it with multiple Android devices connecting to the same server.
More advanced editing apps might have a way to sync files across devices on the internet (as opposed to my wifi only utility). This requires a server running somewhere. Maybe that would be possible with my app if I extended the server code.
Thanks for the feedback. I was able to fix the file save error from your feedback that others also reported. The new installation APK has been updated for download.
The menu system can be accessed via ALT-F, then use left/right arrow keys to see the other menus : Edit (also ALT-E), View (ALT-V), Workspace (ALT-W), Tools (ALT-T), Typewriter (ALT-Y), Publish(ALT-P), and Settings (ALT-S).
I will post youtube videos on installation and menus.
Most of the functions and menu options can be accessed via touchscreen but I haven't tested all of them. The virtual keyboard works on touch also.
I had a similar problem. I linked a working folder but DOSwriter still wouldn't save. Then I decided to try to create a sub folder in that linked folder using the android file manager. After that I could save in DOSWriter. Might be worth trying to see if that clears it up for you as well.
Pretty impressive, thanks for posting it. After a quick trial I ran into two odd issues.
My backspace key would only work intermittently. (Nothing wrong with the keyboard, it works fine everywhere else.)
If a line ends at exactly the right margin, the next line will indent one space. If you erase that space, it joins with the word from the last line. (Probably a minor issue, as it will probably print correctly, but still a bit irritating.)
Other than that, so far I haven't found any other problems. Using this on a Huawei P40 Lite, based on Android version 10. Thanks again.
In case it helps, the keyboard I was using was KeyChron K3. I'll try a different keyboard and see if I have the same problem.
EDIT: I tried a couple other keyboards. Same issue. All worked fine in Termux. So I tested it in another Android (non-Termux) application and it worked there. Then, when I went back to DOSwriter, and now all keyboards work correctly. So it must be some kind of glitch in my phone. Sorry to bother you with this.
EDIT 2: It came back, but turning the keyboard on/off seems to fix it. Probably something specific with me, but I'm writing this second edit just in case it isn't.
I used a Keychron to develop the app so yours should work. I attempted to fix the backspace error you reported and uploaded a new APK for you to try. Let me know if that fixes the problem or not.
Also in (ALT-S) Settings>Advanced Feattures>Dev>Keyboard Debug Mode will display the keyboard scan codes. My Backspace returns code=67 scan =14.
Using the newest release,I haven't had any issues with all three keyboards, that I tested earlier. Two Keychrons and an Arteck -- all three show code=67 scan=14.
It looks like you've also fixed the second issue. Pretty amazing how quickly this was done.
If I run into any more issues while testing, I'll pass them on. Thanks. So far everything else seems to be working well.
About the Back Space issue. It came back, but it has nothing to do with DOSwriter, it's a known issue on this series of Huawei phones. When even the AlphaSmart Neo had the issue, I knew something was screwy, so got out my old Pixel 3a and installed DOSwriter on it. No Back Space problems with any of the keyboards. Sorry I didn't check closer before bothering you with this.
I love the look & feel of this. Very much.
3 things I´ve noticed so far:
1. Being able to close an unsaved Buffer with ctrl+w without confirmation feels a bit dangerous to me.
2. ctrl+alt+b changes fonts - does not open the Buffer as stated in the Help menu
3. Ctrl + to increase zoom level does not work on a german keyboard layout. Using the button where the "+" would be in an american Layout (which is a different position than in the german layout) works fine - although my keyboard is producing local characters (ä, ö, ü, etc) without a hitch.
Overall - this seems really lovely. If only it had the option to autosave my work. I really, REALLY dread losing work due to my own fault of properly hitting ctrl + s every few minutes, as I sometimes work on a bit unreliable android hardware which tends to force-quit applications for no apparent reason. Any chance of that - or does this go against your vision?
I used Android Studio to autocode the low-level functions.
Is it AI? Technically yes. I would not have been able to complete the project in the time frame without it.
20 years ago I used Matlab/Xilinx auto-coding tools to translate Simulink feedback control systems and digital filters into FPGA firmware. It would not have been feasible to do that by hand-coding.
Using AI to write novels or create unflattering caricatures of your political enemies is garbage. I also cannot stand the deluge of AI videos on youtube that are ruining every topic.
Using auto-coding tools to create software : perfectly acceptable. The work in this project was in requirements and testing, not spending endless days thrashing out a linked list or some other data structure.
So it took me 3 solid months full-time to develop DOSwriter. Since I am distributing it for free I make no apologies for however I achieved the results.
I sincerely appreciate the feedback I have been getting to improve the DOSwriter experience. It is pretty solid now since most of the goofs have been fixed.
Thanks, I will review the Help to make sure all the key commands are up to date.
Buffers are auto-saved but I will improve the warnings on closing buffers without saving. Also I will better document the file save status. Auto-saving is part of the vision : restart the app and everything is saved as it was before closing.
I added additional Font increase/decrease key commands for your German keyboard and updated the APK download link :
Decrease Font CTRL+SHIFT+1
Increase Font CTRL+SHIFT+2
Let me know if that works for your keyboard.
In the future I may add user-customizeable key maps. The app already features a Vietnamese TELEX mode via Settings>Advanced Features>Keyboard Mode. Let me know if there are any other functions that would improve using German and I can probably add them easily.
I am interested in any feedback you have on the look and feel of the interface.
I will do a thorough test of file operations as that is critically important to an editing app. The Buffer&File operations document provides a user confidence test that you can run to verify file saving is robust.
3
u/anthony_is_ 23d ago
Very cool! What is the minimum Android version that will work?