I don't use the app often, but I felt comfortable purchasing because it wasn't a subscription. The few times I do want ASCII art, it does the job perfectly, so it works super well to have in my back pocket. Thanks for not going the subscription route.
In the retro computing world, the use of "ASCII" to construct levels and worlds is quite prevalent.
I immediately considered whether Monodraw might be used as a kind of level editor in that context.
Would you consider adding an '8-bit character bitmap' mode, which allows for the bitmap to also be edited?
With such a feature, Monodraw would become immediately applicable to those of us building retro games for older platforms where this technique is used rather extensively to produce compelling art-work.
For context, here is an example game which uses plain ol' ASCII chars to deliver some fun Moon Buggy action:
> Would you consider adding an '8-bit character bitmap' mode, which allows for the bitmap to also be edited?
Can you clarify with an example? Monodraw supports "surfaces" which are just like bitmaps - you can use the Pencil tool and draw on those surfaces with any characters you want (there's a palette in the inspector), just like a bitmap editor.
I guess we might be describing the same thing, and I am yet to have time to download and play with Monodraw (IT policies), but if there is indeed a way that surfaces could be replaced at a pixel level, so that for example the 'A' character becomes a Pacman, then we'd be aligned.
The only issue is, are these surfaces 8x8 or similar, and would it be possible to load in a 6x8 bitmap, for those unusual 8-bit computers of the era which used them .. I refer to my favourite system of the period, the Oric Atmos, which graphics techniques are described here: https://osdk.org/index.php?page=articles&ref=ART9
IF I can edit the bitmap and render as 6x8 characters, Monodraw would be immediately useful for level design. In any case, when I have access to a non-work computer, I hope to spend some time digging in and informing myself, so apologies if none of this is relevant ..
Adding more character sets besides ASCII and shape elements?
Having all the Unicode emoji galore as an option would be great. Not just for colorful code docs, but millions of social media content creators out there!
Like many others I also want to express my gratitude for a fantastic app. I bought it in 2016 and it’s seen a lot of use since then (recently almost daily). Being able to copy to clipboard for adding diagrams in source code is the killer feature!
Are there any enhancements that you've wanted to do, but haven't had the time?
I'm a huge fan, and am surprised how stable Monodraw has been for me. I've kept a single, growing document open as a scratch pad for the last three years. The only downtime was converting it to the new-ish file format haha.
There’s this layout library in C called clay which is basically a renderer agnostic flex box style layout engine. You might be interested in reading its source!
Yeah, there's a few such libraries that I'm aware of but I haven't had time to evaluate them. I do plan to at least look into them and make decision from there.
nucleic/kiwi uses the same algorithm that autolayout uses. It's also a tried and true implementation I've used many times, including in console environments.
Great app... it's had a place on my macOS dock for years. I use it for adding diagrams to my team's internal developer documentation (mostly in a series of Markdown files).
It definitely looks like a cool app, and I was excited to test it out, but I don't have a Mac. If you ever hit the point where a rewrite makes sense, it would be awesome as a universal app.
One idea I've been toying with would be to do a Kickstarter-style campaign and if it reaches a certain threshold, then I know it would be worth porting.
Targeting Windows/Linux/web still means I cannot re-use the sources. But targeting web might be faster in terms of development time, although I don't have deep expertise on non-Apple platforms, so I cannot say for sure.
>I find it unlikely that such copy protection would actually convert a non-paying user into a customer.
I used to think that but then kept tripping across customers who ran multiple copies of my software after purchasing a single license. I now wish I'd tightened the DRM from the start.
I think you're missing his point. If you tightened DRM, would those customers that ran multiple copies pay for multiple licenses?
Fighting piracy is generally not worth it. Those people would never pay, so you're fighting to stop a pirate from using it, not to get them to pay. There's a big difference.
The way that DRM and similar user-not-in-control technologies are making the world into a skinner box is a bigger problem than anything solved by those technologies.
Companies participating in that transformation don't get my money and I'm glad to know that this isn't one of them.
People who pirate software at scale are not typically interested in ASCII art. It doesn't quite cross the threshold of business value and usefulness (e.g. SolidWorks, Photoshop) that would attract pirates.
Yeah, it was. After I finished working on the iOS app I was previously involved with, I needed to either find a job or make another app.
I was browsing StackOverflow and saw some cool looking ASCII diagrams, thinking to myself "How can I make these easily on macOS?". So that's how the idea was born.
I then spent about 1.5yrs from the initial commit until v1 release. Unfortunately, the financials didn't work out, so I had to find a job eventually.
But I'm still maintaining the app and do have longer term plans when my job situation changes.
you were involved with clear? damn! i was one of the first users back then, even using it to this day! monodraw looks awesome, will definitely check it out!
I was one of the co-creators of Clear and the developer who built the iOS app. It was co-created by me, Realmac and Impending. I had previously interned at Realmac and had been friends with the founder, Dan (they acquired another app of ours - EventBox, which later got rebranded as Socialite).
Vim’s modal editing, sans plugins, works surprisingly well for drawing too. Visual block mode is also helpful. At least in my experience, I built a puzzle game with pixel art elements[1] and I drew the initial puzzles in vim.
In the same boat myself... would be nice if they'd develop a more portable version... that said, could probably make an extension for VS Code or Zed to do similar.
My point being that it is a very neat way to now-and-then onboard some new users. Wonder if those submitting thew 'news' are in any way affiliated, or perhaps - from the team.
Sounds super interesting, where do you put these diagrams ?
It's an issue I'm seeing even for comments touching too much on algorithmic stuff. To take a somewhat common example, if you were dealing with a credit card payment flow, where would the explanation of how a transaction goes through a few states asynchronously, which all trigger a webhook callback ?
Obviously the people working on the code need to be aware of that, so documentation is somewhere needed. I've seen people put whole blocks in class headers, other sprinkle it all inside the code, personally I ended up moving it outside of the code. Where would you put it?
I personally just throw them at the top of my files as long block-comments, or sometimes inside/around very heavy functions. For example i often add little diagrams for when dealing with some bit-fiddly logic parts to easier visualize the bit-layouts.
But for architecture, either a whole text-file for it or at the top of the module
Thanks! Do you deal with the logic getting split/shared around the code ? For instance on the credit card example there will be probably be one central class (the transaction class?) but you'd need to know the whole logic in the card registration part or the webhooks as well. I guess you don't stick a diagram everywhere ?
On one hand, this could provide a lot of value as some things are just plain hard to explain using only words. On the other hand, aren't you worried about when someone else comes along and needs to update one of those comments? If they're not aware of this tool, it's either going to be incredibly tedious or simply not going to happen.
As the other commenters put it, i dont think this is a huge issue.
I usually use this for architecture level diagrams, and that shouldn't change often/at-all. In-case it does change, doing a new diagram is perfectly in-scope of whoevers working on that.
Looks like Monodraw a mac only BTW. That should be fine if macs are mandatory for all the devs on a project, but it would otherwise create a kinda weird situation.
Looks great, and also love the perpetual license for $9.99 rather than the host of subscription services, i'll probably end up buying it just to support good practices.
It's one of the few pieces of software I bought a licence for, rather than tolerate free tiers or simply not use it, because I approve of the licensing model.
Maybe just semantics? I think "license" is more technically correct. Even in the best consumer case, you are only "buying" a perpetual right to use a software product. Optionally, you might also get updates.
In the US, the First-Sale Doctrine won't apply to software (unlike tangible books and records) so you probably do not have the right to sell your copy of this software to another person.
Since that's not true ownership, I think it can only be described as a license.
But I'll agree that all sorts of shenanigans can, and often do, hide under that generic term. However, "buy" could suggest many substantial rights that are not on offer (most importantly distribution), so it's a bit of a quandary.
The phrase "Buy Now - $9.99, yours forever" might thread the needle. The sale page would still need to include all the legal terms, of course. I think "license" is a necessary word there.
Personal pet peeve, but the word people use really should be "lease." Copyright and patent rights are licensed (e.g. getting a license from Disney to manufacture Star Wars toys). The particular copy of the software you have is either sold or leased to you. If you buy a physical book, you are just being sold a copy. The book itself doesn't function as an ad hoc, theoretical license or anything.
Not sure how first sale affects software sales other than software rental in the USA is an exception to the first sale doctrine. Software rental is not allowed unless it's a physical video game copy for a video game console or you have a physical copy of the software and you can't just easily make a copy of it in the normal course of using it (not sure exactly what this would mean, but presumably things like software for embedded devices). There are exceptions for libraries and educational institutions.
A perpetual, irrevocable "lease" is just be a "sale". You are just selling a copy at that point.
Subscription-based/SAAS software is leased.
I know it's pedantic, but to me the key thing is that it is the rights themselves that are "licensed." Not specific copies. The license covers what ways you are and are not allowed to make more copies (that aren't just your personal copy). So e.g. Open Source/Free Software/Closed Source libraries can be "licensed" and copies of them can be modified and included in work you create according to the license.
At least back in the day, it used to be common to "buy a license" or "buy a serial key". I didn't really put too much thought into the phrasing, as I haven't received any feedback.
Regardless, when you buy it, it's yours forever - no activation, no DRM, no subscription, no fine print.
Such an underrated app. I’ve used it for everything from network topologies and storage diagrams and even for my kitchen redesign. Works way better than every pricey specialized tool I’ve tried, and the ASCII outputs look way cooler with their old-school hacker ASCII aesthetic! Highly recommended.
I’m a big fan of durdraw[1] for crafting ANSI/ASCII art in the terminal, but this takes it to a whole new level, excited to try this especially if it includes color? From the website examples it doesn’t appear to include a color palette, but if it does then game on!
While not exactly the same use case, I'd also like to point to REXPaint [1]. Same same, but different. And Windows only, though Wine might help under Linux.
That’s great. You gained a new customer.
In the prompt's and Caves of Qud 1.0 era, I'd say ASCII art is a must, both in terms of UX and aesthetic in general.
Can LLMs understand ascii drawings? Or produce them?
I’m trying to figure out a way to organize thoughts with charts in a way that provides useful context to an LLM and also that an LLM could theoretically generate.
I use Mermaid and such for a lot of technical documentation, but this seems like it's going to be much more straightforward, especially for quick and one-off diagrams.
Haven't so quickly gone from "woah, that's cool" to "purchase now" in a long time. This is awesome and I will use it daily.
There's a visual simplicity and legibility to the kind of straight-forward but slightly-decorated diagrams shown in the sample images. And the fact that I can now copy-paste them anywhere as well (rather than the classic "screenshot of a Miro or Paint.js board") is so cool.
Yeah, that seems bad. The whole point of the diagram was to explain something better than prose could, and now it is lost. I'm thinking the case were someone can make out the shapes/arrows/colors well, but not the text.
I was struggling to come up with "worth it" ASCII-art-in-code scenarios for my codebase and found a post[1] with examples (that turns out to have been posted here in HN a while back[2]). Pretty cool.
Not sure how comparable they are since I never used Monodraw due to not running MACs, but there is https://asciiflow.com/ and https://monosketch.io/ which I usually use. The latter is using some advanced UTF8 characters and when trying to get it incorporated for my personal blog, I had to use their specific monospaced font from their repo, as otherwise lines wouldn't line up correctly.
Antique furniture is nice because it looks pretty and uses sturdy materials. I don't buy it for the pleasure of knowing how many hours, days or weeks a person slaved over it in order to pay rent.
Good art is good art. Focusing on the time spent making it is a poor substitution for the ability to critique the art itself.
Anyway, people made this same argument when image editors came into their own. There is a long, tiresome generational tradition of artists thinking the new crowd has it too easy and doesn't appreciate the grit that goes into making art in earlier mediums. We can do better.
Developer of the app here, happy to answer any questions.
I don't use the app often, but I felt comfortable purchasing because it wasn't a subscription. The few times I do want ASCII art, it does the job perfectly, so it works super well to have in my back pocket. Thanks for not going the subscription route.
That makes sense - I deliberately did not go down the subscription route.
Very nice product!
In the retro computing world, the use of "ASCII" to construct levels and worlds is quite prevalent.
I immediately considered whether Monodraw might be used as a kind of level editor in that context.
Would you consider adding an '8-bit character bitmap' mode, which allows for the bitmap to also be edited?
With such a feature, Monodraw would become immediately applicable to those of us building retro games for older platforms where this technique is used rather extensively to produce compelling art-work.
For context, here is an example game which uses plain ol' ASCII chars to deliver some fun Moon Buggy action:
https://www.oric.org/software/ascii_moon_buggy-2500.html
The same technique is used here, albeit with redefined character sets, to implement a Scuba Dive adventure:
https://www.oric.org/software/scuba_dive-89.html
Thank you for the kind words!
> Would you consider adding an '8-bit character bitmap' mode, which allows for the bitmap to also be edited?
Can you clarify with an example? Monodraw supports "surfaces" which are just like bitmaps - you can use the Pencil tool and draw on those surfaces with any characters you want (there's a palette in the inspector), just like a bitmap editor.
I guess we might be describing the same thing, and I am yet to have time to download and play with Monodraw (IT policies), but if there is indeed a way that surfaces could be replaced at a pixel level, so that for example the 'A' character becomes a Pacman, then we'd be aligned.
The only issue is, are these surfaces 8x8 or similar, and would it be possible to load in a 6x8 bitmap, for those unusual 8-bit computers of the era which used them .. I refer to my favourite system of the period, the Oric Atmos, which graphics techniques are described here: https://osdk.org/index.php?page=articles&ref=ART9
(EDIT: details on the charset feature, which would be 'nice to have' in Monodraw, here: https://osdk.org/index.php?page=articles&ref=ART9#title11)
IF I can edit the bitmap and render as 6x8 characters, Monodraw would be immediately useful for level design. In any case, when I have access to a non-work computer, I hope to spend some time digging in and informing myself, so apologies if none of this is relevant ..
I wonder if REXPaint might be more what you are looking for, though it could stumble upon the OS requirements. It needs Wine to run under OSX.
Adding more character sets besides ASCII and shape elements?
Having all the Unicode emoji galore as an option would be great. Not just for colorful code docs, but millions of social media content creators out there!
Brilliant app, nice work.
Like many others I also want to express my gratitude for a fantastic app. I bought it in 2016 and it’s seen a lot of use since then (recently almost daily). Being able to copy to clipboard for adding diagrams in source code is the killer feature!
Are there any enhancements that you've wanted to do, but haven't had the time?
I'm a huge fan, and am surprised how stable Monodraw has been for me. I've kept a single, growing document open as a scratch pad for the last three years. The only downtime was converting it to the new-ish file format haha.
The top two features I want to add next are table support and some form of auto layout (like flexbox).
I really care about stability and performance, so I’m happy to hear that it’s being appreciated.
There’s this layout library in C called clay which is basically a renderer agnostic flex box style layout engine. You might be interested in reading its source!
Yeah, there's a few such libraries that I'm aware of but I haven't had time to evaluate them. I do plan to at least look into them and make decision from there.
nucleic/kiwi uses the same algorithm that autolayout uses. It's also a tried and true implementation I've used many times, including in console environments.
Both would be sick! I do spend quite a bit of time making my own "tables" and re-arranging things.
Just want to say thanks for a great app. It's one of my favorite tools, even though I don't get to use it that often.
Thank you!
Great app... it's had a place on my macOS dock for years. I use it for adding diagrams to my team's internal developer documentation (mostly in a series of Markdown files).
Best app on mac hands down.
Windows version in the future?
There are no current plans but never say never (the app is 100% AppKit, so porting means a full rewrite).
I wish I had the time to port it to all three desktop OSes.
It definitely looks like a cool app, and I was excited to test it out, but I don't have a Mac. If you ever hit the point where a rewrite makes sense, it would be awesome as a universal app.
Monodraw is one of the apps I miss the most after switching to Windows. Would love to see it one day! Would be a buyer for sure.
One idea I've been toying with would be to do a Kickstarter-style campaign and if it reaches a certain threshold, then I know it would be worth porting.
LLMs make that far more tractable these days than it would have been in the past.
ok.. web app? (not a programmer, so no idea if a web app is any different from a development standpoint)
Targeting Windows/Linux/web still means I cannot re-use the sources. But targeting web might be faster in terms of development time, although I don't have deep expertise on non-Apple platforms, so I cannot say for sure.
Targeting the web will remove your giant advantage: native UI.
as a noob Swift dev (Swiftie?) , why AppKit over SwiftUI? Maturity of former?
As jamil7 noted, Monodraw predates SwiftUI by about 4yrs.
But more importantly, my priority is delivering the best user experience and that's where AppKit shines.
Not the OP but Monodraw predates SwiftUI by quite a while. On top of that SwiftUI is pretty bad on macOS.
> Monodraw does not use activation or any other form of DRM. We have complete trust in our customers.
Interesting. But, why?
Any time spent on copy protection is time not spent on improving the product for the paying customers.
I find it unlikely that such copy protection would actually convert a non-paying user into a customer.
I also don't want to make the software network dependent in any way.
> I also don't want to make the software network dependent in any way.
As a user of Monodraw in an airgapped environment: thank you!
>I find it unlikely that such copy protection would actually convert a non-paying user into a customer.
I used to think that but then kept tripping across customers who ran multiple copies of my software after purchasing a single license. I now wish I'd tightened the DRM from the start.
I think you're missing his point. If you tightened DRM, would those customers that ran multiple copies pay for multiple licenses?
Fighting piracy is generally not worth it. Those people would never pay, so you're fighting to stop a pirate from using it, not to get them to pay. There's a big difference.
Yeah, it's unclear how many people fall into that bucket. I'm sure it's non-zero but I don't know if it's worth the time.
I have had a handful of people request additional licenses (at a discount) for the purpose of running my software on multiple.
The way that DRM and similar user-not-in-control technologies are making the world into a skinner box is a bigger problem than anything solved by those technologies.
Companies participating in that transformation don't get my money and I'm glad to know that this isn't one of them.
Cool app! What part excludes it from being sandboxed?
The direct version is not sandboxed as I didn't want to deal with Sparkle (autoupdater) and sandboxing. The Mac App Store version is sandboxed.
People who pirate software at scale are not typically interested in ASCII art. It doesn't quite cross the threshold of business value and usefulness (e.g. SolidWorks, Photoshop) that would attract pirates.
FWIW, pirated copies of Monodraw are widely available, I take that as a form of flattery :D
I can't tell if this comment is satire, given how prevalent .nfo files here...
Really neat, great work!
Would it be possible to export to text with escape sequences for the colors?
It's on the TODO list!
Awesome :)
Hi Milen.
I love the app, please keep up the good work. It's perfect as is (at least for me).
Thanks for all the text ;)
Thank you!
Huge fan of the product, just wanted to say Thank You :)
Appreciated!
Was this to scratch your own itch or who needs this?
Yeah, it was. After I finished working on the iOS app I was previously involved with, I needed to either find a job or make another app.
I was browsing StackOverflow and saw some cool looking ASCII diagrams, thinking to myself "How can I make these easily on macOS?". So that's how the idea was born.
I then spent about 1.5yrs from the initial commit until v1 release. Unfortunately, the financials didn't work out, so I had to find a job eventually.
But I'm still maintaining the app and do have longer term plans when my job situation changes.
[1] https://milen.me/software/clear-iphone-walkthrough/
As a years-long user of both Monodraw and Clear: thank you for making software that is opinionated and focused on what it wants to do.
Thank you for the appreciation!
you were involved with clear? damn! i was one of the first users back then, even using it to this day! monodraw looks awesome, will definitely check it out!
Oh, wow - so happy to hear from a Clear user!
I was one of the co-creators of Clear and the developer who built the iOS app. It was co-created by me, Realmac and Impending. I had previously interned at Realmac and had been friends with the founder, Dan (they acquired another app of ours - EventBox, which later got rebranded as Socialite).
Ouch! It looks very sweet i must say. Having worked on a similar idea for a while as a side project, it does hurt to see something better coming out.
I hope we can one day compete. :)
Edit: removed the URL
Good luck with your project! The world is big enough for multiple products in the same space, no need to get discouraged.
Some relevant browser based ascii-drawing tools.
https://app.monosketch.io/
https://web.archive.org/web/20210503172024/https://fatiherik...
https://textik.com/#
https://asciiflow.com/#/
https://fsymbols.com/draw/
https://github.com/cwensley/pablodraw
https://alternativeto.net/software/monodraw/
Don’t forget emacs. It has artist-mode.
TIL: https://www.emacswiki.org/emacs/ArtistMode
Vim’s modal editing, sans plugins, works surprisingly well for drawing too. Visual block mode is also helpful. At least in my experience, I built a puzzle game with pixel art elements[1] and I drew the initial puzzles in vim.
[1]: https://apps.apple.com/app/nonoverse-nonogram-puzzles/id6748...
This at least 10th post of Monodraw on hn
https://news.ycombinator.com/item?id=8433417 - oct 09 2014 https://news.ycombinator.com/item?id=9545252 - may 14 2015 https://news.ycombinator.com/item?id=27832910 - july 14 2021 https://news.ycombinator.com/item?id=32134469 - july 18 2022 https://news.ycombinator.com/item?id=39651796 - march 9 2024 https://news.ycombinator.com/item?id=45037904 - 1 year ago
and the some
all of these gained interest, so my conclusion is Monodraw benefits a lot from being regularly exposed to HN crowd.
Thanks! Macroexpanded:
Monodraw - https://news.ycombinator.com/item?id=39651796 - March 2024 (200 comments)
Monodraw – a non-subscription, powerful ASCII art editor - https://news.ycombinator.com/item?id=32134469 - July 2022 (36 comments)
Monodraw: ASCII art editor for the Mac - https://news.ycombinator.com/item?id=27832910 - July 2021 (102 comments)
Monodraw – macOS ASCII art editor - https://news.ycombinator.com/item?id=27778326 - July 2021 (3 comments)
Monodraw – Powerful ASCII art editor designed for the Mac - https://news.ycombinator.com/item?id=15734212 - Nov 2017 (1 comment)
Show HN: Monodraw, an ASCII Art Editor for Mac - https://news.ycombinator.com/item?id=9545252 - May 2015 (53 comments)
Monodraw: Powerful ASCII Art Editor for Developers (Mac) - https://news.ycombinator.com/item?id=9145945 - March 2015 (3 comments)
Show HN: Monodraw for Mac, ASCII Art Editor – Beta Available - https://news.ycombinator.com/item?id=9138039 - March 2015 (11 comments)
ASCII art editor designed for the Mac - https://news.ycombinator.com/item?id=8445087 - Oct 2014 (107 comments)
It's very effective. Both times I've wanted to give them my money. But mac only, geeze
In the same boat myself... would be nice if they'd develop a more portable version... that said, could probably make an extension for VS Code or Zed to do similar.
It's also allowed. This is my first exposure to it, despite being a regular. Looks like a cool app.
My point being that it is a very neat way to now-and-then onboard some new users. Wonder if those submitting thew 'news' are in any way affiliated, or perhaps - from the team.
The team is just me - the developer.
There’s no affiliation whatsoever, I’m actually quite surprised every time Monodraw appears on the front page as the app just had its 10th birthday.
I would have assumed most people in the community would know about it by now.
"If I haven't seen it, it's new to me!" feels apropos...
https://www.youtube.com/watch?v=i4nTu0ldFvQ
One of today's lucky 10,000.
https://xkcd.com/1053/
Awesome. This is the cleanest ascii-art tool I've seen, so far. To date, I've been using
https://asciiflow.com/#/
and
https://meatfighter.com/ascii-silhouettify/
to create input text for TerminalTextEffects to create terminal animations like the following:
https://chrisbuilds.github.io/terminaltexteffects/img/change...
https://github.com/ChrisBuilds/terminaltexteffects
Thanks for posting this. Seems like an incredibly sharp implementation by simply bundling it into an HTML page. Extremely lightweight and portable.
Bought this couple months ago, and am now always looking for more ways to include this for inline-documentation.
the fact i can export to clipboard and re-import it and reconstruct all the shapes etc. almost flawlessly is such a big win.
Absolutely love monodraw for diagrams in documentation! All of the diagrams for Oban and Oban Pro are done this way:
Job Lifecycle: https://hexdocs.pm/oban/job_lifecycle.html
Composition: https://oban.pro/docs/pro/1.6.4/composition.html
Sidenote: thanks so much for taking the time to write the Oban docs. I'm a big user (and fan) of Oban, and the docs are fantastic.
Sounds super interesting, where do you put these diagrams ?
It's an issue I'm seeing even for comments touching too much on algorithmic stuff. To take a somewhat common example, if you were dealing with a credit card payment flow, where would the explanation of how a transaction goes through a few states asynchronously, which all trigger a webhook callback ?
Obviously the people working on the code need to be aware of that, so documentation is somewhere needed. I've seen people put whole blocks in class headers, other sprinkle it all inside the code, personally I ended up moving it outside of the code. Where would you put it?
I personally just throw them at the top of my files as long block-comments, or sometimes inside/around very heavy functions. For example i often add little diagrams for when dealing with some bit-fiddly logic parts to easier visualize the bit-layouts. But for architecture, either a whole text-file for it or at the top of the module
Thanks! Do you deal with the logic getting split/shared around the code ? For instance on the credit card example there will be probably be one central class (the transaction class?) but you'd need to know the whole logic in the card registration part or the webhooks as well. I guess you don't stick a diagram everywhere ?
On one hand, this could provide a lot of value as some things are just plain hard to explain using only words. On the other hand, aren't you worried about when someone else comes along and needs to update one of those comments? If they're not aware of this tool, it's either going to be incredibly tedious or simply not going to happen.
As the other commenters put it, i dont think this is a huge issue. I usually use this for architecture level diagrams, and that shouldn't change often/at-all. In-case it does change, doing a new diagram is perfectly in-scope of whoevers working on that.
Add a one line comment stating that it was edited by monodraw.
Looks like Monodraw a mac only BTW. That should be fine if macs are mandatory for all the devs on a project, but it would otherwise create a kinda weird situation.
Since they're text files, you can also say "Please copy to a ASCII diagram editor and update there (e.g. Monodraw, asciiflow, etc.)".
> am now always looking for more ways to include this for inline-documentation.
same lol. here is a blog post of mine where I used them - https://avi.im/blag/2024/disaggregated-storage
I had to convert them to images because I couldn't get to working with Hugo, static site generator
Will love to buy this once I get my Mac.
Looks great, and also love the perpetual license for $9.99 rather than the host of subscription services, i'll probably end up buying it just to support good practices.
It's one of the few pieces of software I bought a licence for, rather than tolerate free tiers or simply not use it, because I approve of the licensing model.
That's cool … but we're calling buying an app licensing it now?
That word is a red flag for me — wondering what dark pattern is awaiting, finding myself digging for the fine print…
Maybe just semantics? I think "license" is more technically correct. Even in the best consumer case, you are only "buying" a perpetual right to use a software product. Optionally, you might also get updates.
In the US, the First-Sale Doctrine won't apply to software (unlike tangible books and records) so you probably do not have the right to sell your copy of this software to another person.
Since that's not true ownership, I think it can only be described as a license.
But I'll agree that all sorts of shenanigans can, and often do, hide under that generic term. However, "buy" could suggest many substantial rights that are not on offer (most importantly distribution), so it's a bit of a quandary.
The phrase "Buy Now - $9.99, yours forever" might thread the needle. The sale page would still need to include all the legal terms, of course. I think "license" is a necessary word there.
Personal pet peeve, but the word people use really should be "lease." Copyright and patent rights are licensed (e.g. getting a license from Disney to manufacture Star Wars toys). The particular copy of the software you have is either sold or leased to you. If you buy a physical book, you are just being sold a copy. The book itself doesn't function as an ad hoc, theoretical license or anything.
Not sure how first sale affects software sales other than software rental in the USA is an exception to the first sale doctrine. Software rental is not allowed unless it's a physical video game copy for a video game console or you have a physical copy of the software and you can't just easily make a copy of it in the normal course of using it (not sure exactly what this would mean, but presumably things like software for embedded devices). There are exceptions for libraries and educational institutions.
I am not a lawyer, however.
A lease implies a limited term though, doesn't it?
A perpetual, irrevocable, lease could be a thing.
A perpetual, irrevocable "lease" is just be a "sale". You are just selling a copy at that point. Subscription-based/SAAS software is leased.
I know it's pedantic, but to me the key thing is that it is the rights themselves that are "licensed." Not specific copies. The license covers what ways you are and are not allowed to make more copies (that aren't just your personal copy). So e.g. Open Source/Free Software/Closed Source libraries can be "licensed" and copies of them can be modified and included in work you create according to the license.
At least back in the day, it used to be common to "buy a license" or "buy a serial key". I didn't really put too much thought into the phrasing, as I haven't received any feedback.
Regardless, when you buy it, it's yours forever - no activation, no DRM, no subscription, no fine print.
(Monodraw developer here).
true - it does say personal license, maybe there's some little print that says we own your entire project if it makes over $100
Same here
Such an underrated app. I’ve used it for everything from network topologies and storage diagrams and even for my kitchen redesign. Works way better than every pricey specialized tool I’ve tried, and the ASCII outputs look way cooler with their old-school hacker ASCII aesthetic! Highly recommended.
Good occasion to mention a super nice ASCII/UTF drawing library for Emacs: https://github.com/tbanel/uniline
Emacs has an artist-mode, you know.
I know! But this is way different since it aligns everything properly and can be used in tandem with artist mode, you should try it out!
This app is great for writing code comments when you hit one of those “1000 words or 1 picture” cases for an explanation of something.
Just checked and my most recent document is a diagram of data flows between two services.
Highly recommended.
I'm using this app since its first release.
It's a great simple app I use for inline comment diagrams and more importantly server login banners.
I love to login to a server with a customized banner and a tagline. It's just a small joy makes work more fun.
My favorite diagramming tool hands-down! It’s the only one that’s ever “clicked” for me, I use it all the time.
I’m a big fan of durdraw[1] for crafting ANSI/ASCII art in the terminal, but this takes it to a whole new level, excited to try this especially if it includes color? From the website examples it doesn’t appear to include a color palette, but if it does then game on!
[1] https://github.com/cmang/durdraw
While not exactly the same use case, I'd also like to point to REXPaint [1]. Same same, but different. And Windows only, though Wine might help under Linux.
[1] https://www.gridsagegames.com/rexpaint/
That’s great. You gained a new customer. In the prompt's and Caves of Qud 1.0 era, I'd say ASCII art is a must, both in terms of UX and aesthetic in general.
Can LLMs understand ascii drawings? Or produce them?
I’m trying to figure out a way to organize thoughts with charts in a way that provides useful context to an LLM and also that an LLM could theoretically generate.
I wonder how tokenizing ASCII would work - although you could try ocr?
Reminiscent of TheDraw (https://en.wikipedia.org/wiki/TheDraw), a tool I used "back in the day" to create BBS artwork.
I use Mermaid and such for a lot of technical documentation, but this seems like it's going to be much more straightforward, especially for quick and one-off diagrams.
Very nice.
Haven't so quickly gone from "woah, that's cool" to "purchase now" in a long time. This is awesome and I will use it daily.
There's a visual simplicity and legibility to the kind of straight-forward but slightly-decorated diagrams shown in the sample images. And the fact that I can now copy-paste them anywhere as well (rather than the classic "screenshot of a Miro or Paint.js board") is so cool.
Accessibility question: how do screen readers handle ascii art-style diagrams like this? It seems like they would be overwhelmed by the lines.
They don’t. You should aria-label it thus:
(Happy to be corrected/updated here, I am not an a11y expert. I am a very happy Monodraw customer though!)Would this tell the screen reader to just ignore it? Then you'd lose all accessibility for its content.
The aria-label would be used to describe the content.
I believe role=“img” tells it to behave like one, causing the descriptive text to be read out in its place.
Yeah, that seems bad. The whole point of the diagram was to explain something better than prose could, and now it is lost. I'm thinking the case were someone can make out the shapes/arrows/colors well, but not the text.
Latest release Apr 2025 introduced a plain text save file format, which plays nicer for source control. Great to see development is still active.
Being able to include diagrams of what code is doing _inline_ is something that is vastly over looked by the majority of developers.
It's one of the better parts of literate programming without typesetting.
I was struggling to come up with "worth it" ASCII-art-in-code scenarios for my codebase and found a post[1] with examples (that turns out to have been posted here in HN a while back[2]). Pretty cool.
[1] https://blog.regehr.org/archives/1653 [2] https://news.ycombinator.com/item?id=31891226
>Because it's all just text
Hiding a lot of complications in that phrase. What text encoding? What font? etc.
10 USD?
how does this compare to asciiflow.com which is free and open-source?
Monodraw's main selling point is that it's a fully native AppKit macOS app. If you value the experience, then you might like the app.
asciiflow.com is great as well.
(Monodraw developer here)
The most obvious difference (and one worth much more than $10 to me) is that one is native and the other is not.
or even the "export to ascii" of draw.io? I would be happy to hear what the advantages could be.
How do you export to ascii in draw.io?
It seems very good, is there anything comparable for Linux?
Not sure how comparable they are since I never used Monodraw due to not running MACs, but there is https://asciiflow.com/ and https://monosketch.io/ which I usually use. The latter is using some advanced UTF8 characters and when trying to get it incorporated for my personal blog, I had to use their specific monospaced font from their repo, as otherwise lines wouldn't line up correctly.
This is fantastic. If I can integrate it into an IDE for commenting my programs that would be next level.!
I have given you my money and haven’t regretted it. Nice app!
Own it, love it... corporate standard is Lucidchart but prefer Monodraw.
Seems really cool and the price is fair! I'm gonna try it!
Mac only ?
Yes. Always nice to see good, Electron-free native apps for Mac.
Monodraw is great. If I could change one thing, I would make it more expensive. $10 feels like a steal, given the use I've gotten out of it.
reminds me of
https://github.com/casparwylie/cascii-core
It's a really cracking little app, and great for inline docs.
The price is so good for such an amazing app. I'm in!
I really needed this 20 years ago.
Wow, this is cool
Really cool, and so sad at the same time.
Now, that is something really cool, pity we didn't had something like that on BBS days.
I could have sworn I was using a tool called AcidDraw 30 years ago to design ascii bbbs login screens for use on Renegade systems.
Antique furniture meant something- it was done by hand.
Same with ASCii- you could respect that it took some time to make it. What respect and feeling will there be for work in the future?
Everything generated or thought cheaply generated on whims. Everything throwaway.
Antique furniture is nice because it looks pretty and uses sturdy materials. I don't buy it for the pleasure of knowing how many hours, days or weeks a person slaved over it in order to pay rent.
Good art is good art. Focusing on the time spent making it is a poor substitution for the ability to critique the art itself.
Anyway, people made this same argument when image editors came into their own. There is a long, tiresome generational tradition of artists thinking the new crowd has it too easy and doesn't appreciate the grit that goes into making art in earlier mediums. We can do better.
Unfortunely the work in the future will be mostly done by our AI overloards.
Once again, the tool that I really want to see on Linux is available on... MacOSX.
(I wonder if there is a Linux alternative? Closest thing I use is the drawing mode in emacs).
You might try Durdraw. Not exactly the same as Monodraw, but it does color, utf8, animation, mouse drawing, etc, and runs in the terminal.
sign. Another macOS-only tool. Yawn