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).
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!
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!
>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.
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.
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!
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.
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
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.
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.
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.
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.
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.
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.
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!
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.
https://app.monosketch.io/
https://web.archive.org/web/20210503172024/https://fatiherik...
https://textik.com/#
https://asciiflow.com/#/
https://fsymbols.com/draw/
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.
Just checked and my most recent document is a diagram of data flows between two services.
Highly recommended.
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.
I really care about stability and performance, so I’m happy to hear that it’s being appreciated.
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
> 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.
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 ..
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.
Interesting. But, why?
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.
As a user of Monodraw in an airgapped environment: thank you!
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.
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.
Companies participating in that transformation don't get my money and I'm glad to know that this isn't one of them.
I wish I had the time to port it to all three desktop OSes.
I love the app, please keep up the good work. It's perfect as is (at least for me).
Thanks for all the text ;)
Would it be possible to export to text with escape sequences for the colors?
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/
I hope we can one day compete. :)
Edit: removed the URL
the fact i can export to clipboard and re-import it and reconstruct all the shapes etc. almost flawlessly is such a big win.
Job Lifecycle: https://hexdocs.pm/oban/job_lifecycle.html
Composition: https://oban.pro/docs/pro/1.6.4/composition.html
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
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?
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
Very nice.
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.
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.
That word is a red flag for me — wondering what dark pattern is awaiting, finding myself digging for the fine print…
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.
It's one of the better parts of literate programming without typesetting.
Hiding a lot of complications in that phrase. What text encoding? What font? etc.
[1] https://www.gridsagegames.com/rexpaint/
[1] https://github.com/cmang/durdraw
how does this compare to asciiflow.com which is free and open-source?
asciiflow.com is great as well.
(Monodraw developer here)
https://github.com/casparwylie/cascii-core
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.