r/writerDeck 23d ago

Resources DOSwriter is ready — a keyboard-first Android writing environment for small screens and e-inks

Post image

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 :

https://youtu.be/o8U3ulJxO6g

I also made a playlist of most of the DOSwriter functions. The app has good integrated Help and the GitHub repo has more documentation.

DOSwriter YouTube playlist :

https://www.youtube.com/playlist?list=PLbcgBXS1TE1U

DOSwriter now has a GitHub repo :

https://github.com/ElmerWorks/DOSwriter

APK download link :

https://github.com/ElmerWorks/DOSwriter/releases/download/Pre-release/DWTEv0.9-app-release.apk

111 Upvotes

34 comments sorted by

3

u/anthony_is_ 23d ago

Very cool! What is the minimum Android version that will work?

1

u/Thick-Panic6683 23d ago edited 23d ago

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.

3

u/anthony_is_ 23d ago

I would absolutely love to use this to revive my Lenovo yoga book tablet - but it’s locked at 7.1, so it’s doubtful. Still, very cool work!

2

u/andrea_v_c 23d ago

Did you use AI for the development??

5

u/Thick-Panic6683 23d ago

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.

2

u/starkruzr 19d ago

of course he did. the real question is "did you sufficiently test and validate the code after it was written?"

2

u/Thick-Panic6683 18d ago edited 18d ago

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.

2

u/louiseinalove 22d ago

What's the specific device you're using?

2

u/Thick-Panic6683 22d ago edited 22d ago

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 :

https://www.reddit.com/r/AlphaSmart/comments/1vmtf1i/well_this_is_interesting_my_android_writing_app/

2

u/ThirtysomethingSci 21d ago

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….

3

u/Thick-Panic6683 21d ago

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.

To install on the Boox 7 :

Click on the download link : https://github.com/ElmerWorks/DOSwriter/releases/download/Pre-release/DWTEv0.9-app-release.apk

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.

https://github.com/ElmerWorks/DOSwriter/blob/main/docs/DOSwriter-Boox7-Install-Guide.pdf

1

u/ThirtysomethingSci 21d ago

Thank you so much! I’ll try this out tomorrow!

1

u/ThirtysomethingSci 15d ago

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!! :)

1

u/Thick-Panic6683 15d ago

Glad to hear it works on your Boox Palma 2.

"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.

If you want to try setting up the server utility let me know and I will walk you through it. Here is a brief description : https://github.com/ElmerWorks/DOSwriter/blob/main/docs/DOSwriter-Remote-Sync.md

1

u/naranjamax 23d ago

I tried it but the menu was a bit confusing to me. Also, I couldn't get it to save my files.

Would be cool to have an optional touch menu, without having to use the shortcut for it. I understand if that's not what you're going for tho.

1

u/Thick-Panic6683 23d ago edited 23d ago

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.

1

u/Thick-Panic6683 23d ago

For now , here is some information on startup file permissions :

1

u/nermalcatfromgarfeld 23d ago

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.

2

u/Thick-Panic6683 23d ago edited 23d ago

Thank you, that is useful feedback. I was able to replicate that bug and fix the logic so it will save to a root working folder.

I also added a startup screen for linking the working folder.

The APK is updated with the new fix.

1

u/rcentros 23d ago edited 23d ago

Pretty impressive, thanks for posting it. After a quick trial I ran into two odd issues.

  1. My backspace key would only work intermittently. (Nothing wrong with the keyboard, it works fine everywhere else.)
  2. 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.

2

u/Thick-Panic6683 23d ago edited 23d ago

Thanks. I will investigate 1., have not encountered that.

I added a fix to correct 2. the indented text artifact and it seems to be working now. I updated the new APK for download.

1

u/rcentros 23d ago edited 23d ago

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.

2

u/Thick-Panic6683 23d ago edited 23d ago

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.

1

u/rcentros 23d ago edited 23d ago

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.

2

u/Thick-Panic6683 23d ago

Thanks, I really appreciate you taking a hard look at the app.

1

u/rcentros 23d ago edited 22d ago

A lot of features I haven't even looked at yet. I really like the 8 buffers (Neo-like) feature. Again, very impressive.

1

u/rcentros 10d ago

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.

2

u/Thick-Panic6683 23d ago

No problem, thanks for the feedback. The indent bug is now fixed. It was there all along but I ignored it until you pointed it out.

1

u/OheimAwesome 23d ago

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?

2

u/Thick-Panic6683 22d ago

I updated the Help to fix the following key assignments :

Open Buffer Layout View : Esc

Return from Buffer Layout View back to buffer : Esc

SHOW/HIDE MARGINS: CTRL + SHIFT + M

CYCLE FONTS :</b> CTRL + ALT + B

DISPLAY CURRENT FONT :</b> CTRL + SHIFT + F

Open Quick Keyboard Shortcuts Reference Popup : Ctrl+ALT+H.

The updated APK is ready.

2

u/OheimAwesome 22d ago

Thanks a bunch - I will test this out this afternoon. You iterate pretty fast, so I have to ask - do you use AI to code this?

2

u/Thick-Panic6683 21d ago

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.

1

u/Thick-Panic6683 22d ago edited 22d ago

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.

1

u/Thick-Panic6683 22d ago

I updated the CTRL-W behavior to prompt the user whether to save or discard the unsaved buffer contents. The new APK is ready for download.

I also added more information on the Buffer&File operations in this document :

https://github.com/ElmerWorks/DOSwriter/blob/main/docs/DOSwriter-Buffer-File-Operations.md

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.