Hacker News new | past | comments | ask | show | jobs | submit login
Monodraw (helftone.com)
996 points by saikatsg 8 months ago | hide | past | favorite | 201 comments



I maintain a list [1] of main web based text to diagram tools including ascii drawing tools like these. Web alternatives for this are probably https://fsymbols.com/draw/ or https://textik.com/ or https://asciiflow.com/#/ or https://web.archive.org/web/20210503172024/https://fatiherik... or https://app.monosketch.io

[1]: https://xosh.org/text-to-diagram/


Pikchar is another to consider for your list. From the creator of SQLite…

https://pikchr.org/home/doc/trunk/doc/userman.md


I was introduced to this recently, still digesting it, looks amazing. And no Mac only, and free to boot. Win, win.


It's the second item on the list already.


Yes but you only listed it once!


Thanks for this list. I find all of them are missing features that I would want for diagrams I hand made recently. Of the ones on this list only one seems to handle diagonals ( https://textik.com/ ) and that doesn't have a fill function AFAIK

The diagram I wanted to draw would be something like this https://pastebin.com/NPXFS1Fi

I created the box and triangle in textik.com but I had to manually edit a bunch of corners and manually fill it in.

I'm not sure I'd pay for Monodraw. Even though it's only $10 is a native app and Mac only. I do so much on the web and use so many machines and draw diagrams only a few times a year that I think I'd prefer something web based or a VSCode plugin.


Have you also checked out some of the lists on https://fmhy.net? Some there might be of interest.


Perhaps something for your list:

https://mbarkhau.github.io/asciigrid


Years ago I made a simple one that I still host at https://letterbrush.com


Another for your list:

https://github.com/blampe/goat


I've had this list bookmarked for years. Thanks for this!


Great list. Thank you so much!


That's helpful!


I always end back with monodraw. Other apps have too many features and style possibilities that you forget about the content. With monodraw I never get distracted.

However, it still has enough functionality that you can achieve a lot of things. One of my favorites are the anchors. I have even created a small demo/tutorial: https://tamasruss.com/articles/monodraw-anchors


Slightly ironic how you complain that other apps make you forget about content but fiddling with responsive separators and anchor points in monodraw is totally OK :) neat trick though


Haha, true. However, I think this one is less subjective. I just had to create it once then it works. With design, I always have the urge to change it after a week :D


That UML box of a class is really valueable. Great tutorial!


OMG this is one of my favorite tools paid for it all the way back when it went out. Have used it so many times just to write documentation for things like:

https://github.com/ivank/potygen/blob/main/packages/potygen/...

ASCII is just so versatile and allows you to put nice graphics in places where one does not expect, making things more easily understandable.


Those corners look like Unicode block chars.


I believe here ASCII was used not as in ASCII-the-standard but as “ASCII” in ASCII-art. I also believe that ASCII art should actually be called “monospaced Unicode text” since people doing ASCII art have been using as many codepoints as were available in their platform of choice.


Yeah, "BOX DRAWINGS LIGHT UP AND LEFT" and "BOX DRAWINGS LIGHT DOWN AND LEFT". (If this were ASCII, it would have used | ("VERTICAL LINE") instead of "BOX DRAWINGS LIGHT VERTICAL".)


ASCII means more than just characters from the ASCII character standard today, for better or worse. The "modern" translation would be something like "text".

I don't agree or disagree with it, so don't argue with me, just trying to explain how people use it today.


Anyone can write that a word no longer has its defined meaning. That can’t even be refuted, as it’s certain someone is confused somewhere.

However, ASCII is not a random ancient word, it’s a ratified standard. Would be like calling any datetime format “ISO8601”.


Context is important, ya know? If we're talking about text encodings, that's one thing, but we're talking about drawing. "ASCII text" drawing was never entirely limited to ASCII even in the days of single-byte encodings. There were code pages which used the high bit for more useful drawing glyphs, people took advantage of that when they could.

The concept of an extended ASCII encoding goes way back: https://en.wikipedia.org/wiki/Extended_ASCII, and UTF-8 is just another extended ASCII encoding, albeit a very clever one, with a lot of codepoints.


Extended supersets of a thing are not the thing, they are a larger group.


Are you saying we should reserve the term "ASCII art" literally for text containing just the original 95 printable characters? Even if you can make a good argument for that, I fear you're fighting a losing battle.


Yes, the terms ANSI art and Unicode art have been around for decades and are defined standards as well. No need to make an argument.


Neither a superset or subset of a thing is the thing. Only the thing is the thing.

But when you combine units of language the result is not just the sum of the parts. word1 means X and word2 means Y but established phrase "word1 word2" rarely means X + Y. The result relates to X and Y but it has a life of its own that depends on how it's used.

Think of these and how they are more than sum of their parts. Demo scene. Serverless. Skyscraper. Information security. Artificial intelligence. Drawing board.



> However, ASCII is not a random ancient word, it’s a ratified standard

Even so, ask around and you'll find debates about which ASCII standard is the "right" and "true" one. Some argue only the initial standard is correct for ASCII art, you need to follow that, others say any of the versions are alright.

It's still ambiguous.


This is a fantastic illustration that sells the software for me. Thanks for sharing! I'll have to look into this.


Hmm, the "With Expression" diagram on line 656 looks fine in emacs, but in chrome at that actual link, everything on the right is mangled. (The characters look fine, it looks like github's font choices do poorly with the "load bearing whitespace" for the extended bits...)


I think it's the ◀ character. It looks like Chrome (I'm on Windows) makes it wider than other Characters. I think ▶ has this same problem. But from a quick scan, I don't see any other place in the file where one of those characters is used in a way that it being extra wide would be noticable.


For web it'll really vary by font family availability and fallback. Personally I like the nerd don't variant for Inconsolata, Cascadia Coffee and Firs Code for fixed width usage.

I wish self packaging similar to how Google Fonts does it was easier to do. IE breaking up the don't into glyph segments to reduce unused characters for languages not used.


Just observing, I think this is the first time I’ve seen Unicode symbols outside of basic Latin rendering on HN.


I've always wanted to try this but never had a reason: do emojis work on HN? I've never seen one and didn't know if it was just a culture thing or if it was enforced:

EDIT: Nope! All but the TM "emoji" got stripped.


You should select the lines you'd like to show off and link that.


You should do a quick scan of the file, it's filled with graphs in the comments, not just one.


I did. Sorry, linking seemed like a good idea so it was just a suggestion. Maybe OP didn't know that was possible.


I love this tool!

I've used it to do diagrams for Mapless:

https://sebastianconcept.github.io/Mapless/guides/2024/01/28...

And to document this Pharo VM Plugin builder setup:

https://github.com/sebastianconcept/PharoPluginBuilder


So you used an ASCII drawing tool to draw these diagrams in text then took a screenshot of them and uploaded to your website? That seems like such a convoluted way to draw a few rectangles. Isn't there an easier way?


1. You can just “Save as” to PNG, it takes no time or effort.

2. I use to use Monodraw exclusively for making diagrams in source code, but over time I’ve become so comfortable with the tool, keyboard shortcuts, etc. that now I just use it for all diagrams. It’s a very nice tool.


If you feel the need to embed giant ASCII diagrams into a source file, I think you should just use a picture. Like a .png or .svg or something and write the documentation in another file. Or even maybe try out rich text source code.


The diagrams I am pasting in are usually like 80 x 40 chars and keep you from having to tab out into documentation. They don’t change often so they don’t create messy diffs. I don’t think that’s unreasonable. Nobody on my team seems to mind. I don’t think this is a problem and I’m having trouble understanding why you think it is.

If you’re wondering why I need diagrams in source code, then the answer is I usually don’t need them but it helps. The only project where they were game changing was where we were using Neo4j as a backend and being able to clearly diagram the data model was really helpful.


I don't really have much of an issue with it. It's got bad vibes by association. I find it a little annoying how much stuff is done with text, and this is just a small part of that.


Please don't do things like this that make it harder for people to read your comments.


Writing documentation is typically an addition to writing comments. They serve different purposes. That said, adding a diagram to a comment will only make it easier to read. It is an addition. It cannot make things harder.


If only it were true, that additions cannot nake things harder to read.


In this case, it is absolutely true. It is the difference between:

  // some comment
and

  // some comment
  // additionally see ./diagram.png
Diagrams are often useful tools for communicating information.


That's not the difference I'm talking about; I'm talking about the difference between

  // some comment
  // ... 25 lines of a diagram
and

  // some comment
  // additionally see ./diagram.png


Thanks! I’m sure they never thought of that!

Or maybe they did, and there are advantages and tradeoffs to any approach.

I’m sure your unique insight must be right, though.


You don't need to get so annoyed on someone else's behalf. I am just putting my opinion out there – specifically that I would prefer just an image file that is referenced from a comment. I'm sure this person knows what an image is; I was not trying to imply that they didn't.


Doesn't seem more convoluted than any other drawing tool to me. The UI of Monodraw appears to be pretty similar to "regular" drawing software.


In the second link, about the Smalltalk VM plugin, you can see is pre-formatted text in markdown.

In the Mapless guide, when I've kept it as text (as the first preferred way to have it done) it became challenging to make it work for all screen sizes and an image was the "good enough" approach for the case.


At least for the README, the diagram remains text in three backticks.


Think different.


Love this too -- I use this to document source code, being able to visualize a buffer or structure layout in the code is so nice!


Really wish this was cross platform. Would love to use this in Linux.

I appreciate the effort that it takes to deliver a polished application. I just wish more tooling did better to target Linux, Windows and Mac for desktop apps. Probably a larger driver behind web based apps.


I'm kind of surprised that for desktop applications more people don't use Qt. It's so good for these kinds of applications!


What DO people use for (cross-platform) desktop applications these days? Find it hard to believe Electron is the only one.


I don't know if cross-platform applications are very popular anymore. Most of the good software I use is either single platform using native code, or it's Qt or it's electron. Only rare cases use something else.

Sublime has their own cross-platform native widget system

Jetbrains/minecraft use Java

Spotify is chromium, discord is chromium, thunderbird is firefoxium, Obsidian is chromium, steam is (probably?) chromium.

Most software that I know is cross-platform uses Qt otherwise; qbittorrent (duh), Transmission, KeepassXC, VLC (mostly, but also uses other GUI frameworks sometimes), Calibre, Krita, OBS


Qt is a popular choice. And as a user, apps made with Qt are pleasant to use.


Tauri, Qt.

But I'd think Electron has more than 80% of the market.


Awesome tool! Also, for the web version, my friend made an alternative written in Kotlin https://github.com/tuanchauict/MonoSketch

I also have a half baked version in Rust too https://github.com/huytd/ascii-d


Looks nice. https://asciiflow.com/ is a web-based alternative that's been my go-to for a decade.


I use ASCIIFlow all the time. I still haven't figured out how to get browsers to render the monospace fonts correctly see example diagram on this page: http://uggly.bytester.net/#how-it-works


Looks fine on my machine - my guess is that your primary font does not contain all the glyphs used (e.g. the box-drawing chars), so its falling back to another font just for those glyphs, causing inconsistencies.


It seems to only mess it up on mobile. Desktop Chrome seems fine. Mobile Chrome is all I've tested on.


Ah, in that case you might want:

    text-size-adjust: none;
    -webkit-text-size-adjust: none;
(it's infuriating that these options need to exist!)


How do you set options for chrome on iPhone and android?

Sorry for the naive question, I never figured this out.


You could use a browser that supports extensions on Andriod, iOS will protect you from such nefarious things though.


iOS supports browser extensions, and has done for some time - e.g. https://apps.apple.com/us/app/makeover-custom-css/id16023611... (which demonstrates custom HN CSS in the demo screenshots!)


These are in-page CSS controls, not browser config options (no idea how those works, I avoid mobile platforms)


First is using a monospace font, second is aligning line height to font height. Third includes a bit of tweaking and trying different sizes.

Your best bet is to use a good fixed width don't with broad character support. Some are better or worse than others. Cascadia Code and Fira Code work pretty well with differing characteristics and both have nerd don't variants.

Emoji alignment is another problem.


Doesn't look like screen readers can read the text on these.


I believe you can treat it as if it were an image by putting it an element with attributes role="img" aria-label="description of the diagram goes here"

https://developer.mozilla.org/en-US/docs/Web/Accessibility/A...


The problem is, having to describe a diagram using text defeats the purpose of the diagram. Must better is to use diagrams that render as SVG, so screen readers can read them. [0]

[0] https://accessibility.princeton.edu/how/design/images-text


A flowchart involving labeled boxes with arrows between them is going to be more accessible as an SVG than a PNG, sure, but you're still going to need to explain what the arrows are doing, otherwise a screenreader user will be quite lost.


I love this tool. This is one of those that you buy it and keep it, even if you use it once a while.


Have you had this for a long time, or are you speculating that it’s the type of software you like?

This looks very cool to me, though. If you have used it, can you share how you’ve used the generated diagrams? I can imagine a screenshot of the diagram, but the raw text would probably be too big in (e.g. a terminal).


> Have you had this for a long time ..

Similar to the OP, I've had it for years, and used it every and now then through those years.

> .. can you share how you’ve used the generated diagrams?

The website mentions exporting in text and images. I use the text importing (to clipboard), with "Trim trailing whitespace".

> .. but the raw text would probably be too big in (e.g. a terminal).

It's as big or small as you want it to be? With the obvious constraints of the different banner styles. People have had ASCII banners in consoles for decades, there's nothing new about the ASCII banners from Monodraw.


As other have mentioned I’ve used it for diagrams in code comments and READMEs (before GH added mermaid integration).

Making readable diagrams with 80 character width can be a challenge.

I bought it back in either late 2017 or early 2018 and used it a fair amount at first but will admit it’s been a couple years since and haven’t tried reinstalling since my last clean OS wipe.


1Passwords shows that I bought a license on April 6, 2017.


Try installing figlet, for banner text.

At its simplest:

    figlet "Text"
or use fonts

    figlet -f small "Small Text"

     ___            _ _   _____        _
    / __|_ __  __ _| | | |_   _|____ _| |_
    \__ \ '  \/ _` | | |   | |/ -_) \ /  _|
    |___/_|_|_\__,_|_|_|   |_|\___/_\_\\__|


I bought license to Monodraw in 2018 and have used it off and on since, so I can attest to GP


The website design is also neat.


This went into "maintenance mode" in 2018, has anything changed? https://blog.helftone.com/monodraw-maintenance-mode/


Developer of Monodraw here.

Thank you all for the kind words regarding the app.

Unfortunately, my time is extremely limited which is why I haven’t had the chance to push more updates out.

I’ve got a few highly requested features in the works but I cannot promise when they’ll see the light of day (I usually get to make progress during my holidays).

I’m still committed to fixing any breakages due to OS upgrades and ensuring the product continues to work.


Thanks for your work in making an excellent tool; I, and many of my coworkers, use this. The price point is entirely fair and it’s a pleasure to use every time. But - above this - thank you also for prioritising personal life above development.

It’s great as it is and we’ll be happy to see new features when you’re ready. I would be really proud if I were in your position.

Cheers!


Thank you for the kind words!


Thank you, Milen! It's nice to see Bulgarians being behind a popular desktop app! I've been a paid user for years and Monodraw is among the first apps I install when I get a new MacBook machine!


Curious what some of the requested features are since it seems feature complete to me


The main requests have been for:

- Plaintext format (in progress) - Dark mode support for the main canvas (in progress) - Auto/Dynamic Layout - Table support - ANSI export


> Dark mode support

Hell yeah! I'm a long time user of Monodraw (thanks for the awesome work!) and this would be an instant upgrade for me :)


What does "plaintext format" mean? Isn't it already plaintext?


to offer a guess, I assume plantext probably means plain ASCII or maybe extended US ASCII (adds IBM box drawing chars, etc.) As opposed to full unicode text charset.


+ 1 for table support


Hi - I'm not a user but I am reacting to obvious love many developers have for your app.

Have you thought about open-sourcing it?

Or even keeping it closed source but crowd-sourcing help?

No need for profit sharing - your income is a nominal management fee if that. Just need a nice credits page to give thanks to the names of the people who contributed.

Might work?


Thank you so much for Monodraw! I've used it on and off for _years_.


https://x.com/Monodraw suggests there have indeed been updates


To be fair, the last tweet is from 2 years ago.

However, I’ve made pretty good use of it, and it’s really a “complete” product. Not much more to update than the occasional mandatory platform upgrade.


From the FAQ at the bottom

> Why not open source the app? > > Maintaining an open-source project can be a significant amount of work and I'm not going to have the time to take on such responsibilities. Furthermore, open-sourcing full products tends to result in many clones being sold directly to unsuspecting customers which is not something I want to enable.

It's strange how both of those statements are incorrect... open-sourcing a project allows for contributors to pick up some of the workload and certain licenses would prevent clones from being sold to unsuspecting customers


Contributors don't magically appear. Maintaining a community, reviewing changes, steering, etc. all take time and energy. Again, contributors don't magically appear who can do those things, who are aligned with the creator.

Licenses don't magically stop bad actors.

Both statements by the author are correct.


As someone who has worked on an open source product with a commercial version, the FAQ matches my experience. I think you're letting you're mixing up is and ought.


a license doesn't magically stop bad things from happening.


it doesn't, but it's a deterrent. the very fact that this app had limited commercial success is reason to believe there likely won't be "many clones", especially if they're forced to go against the license


I've used this in the past and enjoyed it. My one complaint, if I recall, is that you have to use its own built in file format to maintain all the cool features like anchors and resizable boxes and stuff. You can't just point at at an ASCII drawing in a markdown document and get all the functionality for free. I suspect if someone really wanted to they could crack that through clever algorithms and LLMs - and I've extensively used the latter to work on first drafts of ASCII diagrams to some success. But I've never found a good balance of maintainability (i.e. a box is a box and I can move it and have its connections follow it around) and portability (everything really is just pure text). If I'm wrong about recent versions of Monodraw or something else achieves this I'm all ears! I certainly had more success with Monodraw than artist mode in Emacs, at least.


Interesting take. Do you have a lot of existing diagrams you'd like to manage? If I'm starting from scratch, I would sort of expect/want to have the abstract file format like this, seeing it as like a PSD, and the output as a rendered, flat image like PNG. Or source code vs. binary. Parsing an output artifact back into a more semantic and abstract form is hard to get perfect, I would imagine.


There are times when I've wanted architecture diagrams to be ASCII in markdown, meant to be consumed through GitHub or in a Backstage portal or something. For me, the ideal workflow would be to just be able to edit those inline but still have cool editor features. Maintaining a separate file is just hassle, and it's hard enough trying to keep diagrams alive as part of documentation as it is.


what's the native linux alternative? aka not a webapp

edit: hm, maybe https://github.com/nkh/P5-App-Asciio


For anyone who is willing to use a webapp, I like drawio[0]. You can download locally[1] and self host (I just use the python webserver).

While finding the Github, I see they now actually package an Electron application, so that is probably worth exploring[2].

[0] https://www.drawio.com/

[1] https://github.com/jgraph/drawio

[2] https://github.com/jgraph/drawio-desktop


DrawIO feature to save editable PNGs (embedded diagram source code) is absolutely magical.

The tool is quite basic, until you realize, you can create reusable blocks (in scratchpad) with predifened style.

From that point on you just publish editable PNGs to git and draw them rather quickly by dropping in predefined blocks.


One way would be to use emacs’ artist-mode to draw ascii lines and boxes then use ditaa[1] to transform them into images. It’s not a pretty packaged GUI app but it’s certainly an option

[1] https://ditaa.sourceforge.net/


Fairly new and barebones for now, but it is available as a flatpak: https://github.com/Nokse22/ascii-draw


emacs artist mode also suitable for something like that

https://www.youtube.com/watch?v=1JZ6ljIRGus


Also not native, but huydotnet mentioned this in another comment and it looks great https://github.com/tuanchauict/MonoSketch


I've been using PlantUML, having come from using GraphViz.

I can't tell is has any relation to this. I use it to generate SVGs in Maven documentation site builds.


https://asciiflow.com/#/ works pretty well.


get gramscii and aamath


Owned this for years, and regularly use it to brainstorm, and sometimes I’ll add ascii diagrams to code comments.


I use Monodraw since the first day it came out. I use it to draw software architecture, diagrams, and most importantly login banners to the systems I manage personally.

It's a nice, to the point tool.


Monodraw is great. I occasionally use it to document system architecture in code comments and project READMEs etc. [0]

Also handy as a quick way to document CSS styles to help visualise which parts of a layout a given style targets [1]

[0] https://gist.github.com/supertr0n/f006a5f61b60160862ec13024e...

[1] https://gist.github.com/supertr0n/462325ec3f7fbea02780039150...


*Love* monodraw. The last 2 times i was on the job market I used monodraw extensively for little inline diagrams for my take-home projects. It always was a big hit with the reviewers.


Claude 3 racecar lol

     _..-------++._
   _.-'/ |      _||  \"--._
.-' / | .-' || \ "-.

.' _/ | .' || | ____

| .-' | | .' | | \ | ' __ _.-' "-.| ' ".* .' .* /| / _|. ... | _..-' | _ ". '. .' / | \

\ / _.'' | _| | | .-' | '-..| | __**..--'\ _.\ | || / "-..' | \ // \ \ | |/ . _.--' |/ "-.. ..__...-' _.' """ .-' _...----"""


Is there a markdown flavor that allows for font size changes mid-document? It seems like you'd struggle to embed higher-fidelity diagrams that don't encounter issues with wrapping in markdown unless you can also reduce the font size for some diagrams.


As a markdown veteran: Not out of the box.

What you can do is custom css for a code block or just insert html with a custom class and style that css seperately, many markdown implementations allow for injecting html into the markdown.


Looks amazing

It would be cool if they had an img2asciidiagram that would convert something drawn on paper to an ascii, and that could run from my phone (similar how GeniusScan works)

Then I could just draw on paper, and scan the diagrams from the phone :)


Yes, easily my longest lasting ASCII tool in the box. Used it last year for an album cover - https://ynac.bandcamp.com/album/medulla-assemblongata and I use it for my ASCII sites and ASCII ads as well. Loads on launch and rarely gets more than 5 or 6 from the left.

I'll resist posting an ascii heart, a Monodraw heart through it, but it's hard not to.


Funny. The front page (still) states:

"We're a small studio that loves to make delightful apps. We just launched Monodraw."

The blog says:

Maintenance Mode With immediate effect, Monodraw is entering maintenance mode. This means that there will be no more updates in the future. While I'll be aiming to provide OS compatibility updates, if required, those are not guaranteed. Accordingly, the price has been reduced from $19.99 to $9.99.

Why?

Monodraw was released in May 2015, about three and a half years ago. Unfortunately, it did not achieve commercial success and it meant I had to get a job. In the years that followed, I could only work on Monodraw in my spare time. Due to recent changes in my life, I can no longer devote any meaningful time to the app. ""

https://blog.helftone.com/monodraw-maintenance-mode/


Developer of Monodraw here.

I haven’t updated the official website (priorities and lack of free time).

I’ve pushed out some updates after the maintenance mode announcement but the frequency is not guaranteed since my free time is extremely limited.

I’m still committed to fixing any breakages due to OS upgrades and ensuring the product continues to work.

While I have some new features in the pipeline, I cannot commit to any timelines as I don’t know when I will ship them.

I want to thank everyone who’s supported the product throughout the years, it means a lot to me.

Happy to answer any further questions.


It may not have reached commercial success, but to me it's the best commercial application on MacOS. Nothing comes close in value.


And thanks to being proprietary, no one else can devote time to it, either.


I’ve toyed with the idea of open sourcing the product. I reached the conclusion that it’s not the approach for two main reasons:

- I believe in a strong, centralised product vision and execution - The code will be packaged up and sold by unscrupulous people who will not contribute back

I’m a strong advocate of interoperability and open data formats. The Monodraw data format is not proprietary and I do have plans for a plain text format (currently, it’s just zipped JSON which doesn’t play nice with VCS).

Interoperability is key to competition and avoiding lock-in, so I’ll push in that direction as my time permits.


I understand your concerns about open-sourcing the codebase and won’t try to convince you otherwise. It’s your code.

That said, I would like to share my perspective on the subject, having given some thought to if/how I should open source my code. I don’t feel that I have any ground to stand on if I were to choose not to open source my code. That same code would be uploaded to the internet using a web browser or other tool that is open source. That code is probably compiled or interpreted by a tool that’s open source. For me, it all runs on an operating system that’s open source. Nearly everything that I am able to do as a software developer is built on the shoulders of giants who, out of kindness and conviction in their beliefs, chose to make an entire ecosystem of software available to the world, with source code available, free of charge. I feel that I owe it to the world to pay that legacy forward.


Aye, but you're commenting on a Mac program, which is necessarily developed on a closed, anti-competitive system (and in the context of that ecosystem, accepting it as normal). GP lives in a much darker world than you.


> I believe in a strong, centralised product vision and execution

Fair point! I'm reminded of this quote from Jaron Lanier:

> Why are so many of the more sophisticated examples of code in the online world—like the page-rank algorithms in the top search engines or like Adobe’s Flash—the results of proprietary development? Why did the adored iPhone come out of what many regard as the most closed, tyrannically managed software-development shop on Earth?

>An honest empiricist must conclude that while the open approach has been able to create lovely, polished copies, it hasn’t been so good at creating notable originals. Even though the open-source movement has a stinging countercultural rhetoric, it has in practice been a conservative force.

I love free software, yet most of the software I use is proprietary. (I consider my own apathy as contributing to the problem...)

As for this point,

- The code will be packaged up and sold by unscrupulous people who will not contribute back

an interesting example is Jason Rohrer, who has open sourced all (?) his games.

The way he got around this is that he made a multiplayer game, where the $20 in effect gave you access to the main server. People indeed repackaged his game, sold it on other platforms etc. Yet last I checked, he was doing better than ever. (Probably cause he keeps pushing out updates to keep the game interesting.)

Not sure how well this works for "single-player software", although Aseprite seems to be doing all right. (Though technically not free software anymore, despite being open-source...)


Nitpick: Aseprite is source-available, not open source by the Open Source Initiative's definition. From the Aseprite EULA [1]:

> (g) Source code.

> You may only compile and modify the source code of the SOFTWARE PRODUCT for your own personal purpose or to propose a contribution to the SOFTWARE PRODUCT.

The OSI's definition of open source [2] permits distribution of unmodified and modified copies (with the exception of lone, unmodified copies; I read somewhere that adding a hello world program is a workaround):

> 1. Free Redistribution

> The license shall not restrict any party from selling or giving away the software as a component of an aggregate software distribution containing programs from several different sources. The license shall not require a royalty or other fee for such sale.

...

> 3. Derived Works

> The license must allow modifications and derived works, and must allow them to be distributed under the same terms as the license of the original software.

"free software" is ambiguous to English speakers/writers, but "open source" is ambiguous in its own way.

By the way, there is a "Fork of the last GPLv2 commit of Aseprite" called Libresprite [3].

[1] https://github.com/aseprite/aseprite/blob/main/EULA.txt

[2] https://opensource.org/osd

[3] https://github.com/LibreSprite/LibreSprite


> The code will be packaged up and sold by unscrupulous people who will not contribute back

Choose a good license then


A license wouldn't stop the unscrupulous people, they'll keep making clones of it and ignoring the license.

This means I have to start chasing any clones, engage legally and try to take them down. It's just not worth the time - I would rather spend the time on improving Monodraw instead.


To voice support for current state - do what you're already doing, and I agree on focusing on opening up the format.

Don't hesitate to charge for v2, if improvements pile up and you have affordances to do so. Will gladly pay.

It's pretty great already as-is. Thank you.


If unscrupulous people are willing to ignore the license anyway, wouldn't they just hex edit to change the branding to sell clones even while it's closed source?


It’s perfectly fine that it’s proprietary. Just because it exists doesn’t mean other people are entitled to the source code.


There's a cost to open-sourcing code. It takes effort. You must write documentation and clean up your code in many ways. It's good to "clean up code" of course but is that the most urgent thing on your task-list?

Who should pay for that effort? The original author? Yes if they think it's worth it and they can afford to spend the time on it.

There's also a risk whenever you publish source-code, someone might sue you for copyright infringement, or patent violation, etc.


I agree. Nobody owes anyone anything!

I was merely pointing out that it's a shame that

(1) it has apparently been abandoned for years,

(2) people are not able to do anything about that.

(Bus factor == 1, etc.)

Based on the other comments in the thread, I'm sure there are people who would love to contribute.

(Worth pointing out that making something open source isn't zero-maintenance by any means, especially since GitHub still doesn't let you disable pull requests...)


Please not more app-store abandonware. I have a decent amount on both my phone and my MBP. Sad to see, I really liked Monodraw for creating ASCII illustrations for source code (e.g. buffer layouts etc).

Of course, probably it'll be ok for a while, but then some App Store API or updated processor requirements will render it unusable like so many others (particularly on iOS).

So now I've got several abandonware apps that I paid for: Things (v1), Quiver, Artboard and now Monodraw. I can't say any of them really had any non-minor updates since I got them certainly not features (yes, I realize Things did a separate V2 app ... but I wasn't happy about that happening so soon after buying V1). I do realize some of this is Apple's fault in the way the store is structured.

Too bad Apple doesn't enact some sort of source-code escrow such that if an app is abandoned, the source gets published, but with owner-copyright retained so no-one can resell -- as part of the T&C of submitting an app. Maybe after 1 year of abandonment for a "big" company and 2 years for indie-dev apps.

*EDIT*: Happy to see Milen's sibling comment about fixing breakage!! I realize you have to make a living -- is there a way to contribute for these new features (or is it a totally new app -- which is fine!).


> EDIT: Happy to see Milen's sibling comment about fixing breakage!! I realize you have to make a living -- is there a way to contribute for these new features (or is it a totally new app -- which is fine!).

I've considered the idea of letting other developers have access to the source code and help with the development. Unfortunately, I couldn't figure a way to make it fair - e.g., if someone starts contributing, do they start receiving a percentage of the proceeds? What's a fair percentage and what about multiple external contributors?

I could never come up with a workable model, so it's either fully open-source or proprietary. As I mentioned in another comment, I believe the way to go is an open data format which allows interoperability. This way there's no lock-in and competing apps (open or closed) can exist.

For what it's worth, the Monodraw data format is not secret, it's just compressed JSON. I haven't documented it because it's more of an implementation detail and I'd rather spend my very limited time on improving the product.

Hope that provides a bit more context.


Thank you for the comment, apologies if I came off a bit antagonistic! It's just a little frustrating when you see really great apps potentially ending.

It's really too bad there's not a better indie-dev model for the App Store, if I am buying an app (I think maybe I maybe paid $19 for Monodraw -- totally worth it btw), am I buying the app as-is? or do I get updates ... if so how long should I expect to get them and are the updates minor fixes or bigger whizbang features.

I can see that once an app gets to a steady state, there's probably diminishing returns in putting a lot of effort into new features esp. if your market is small. On the other hand, if the app has some sort of subscription, now there is an expectation for updates (not unreasonable, but possibly the numbers might not work for the developer).

I think Pixelmoter sort of got this right, although they did release a Pro version separately (which I also bought). However, I suspect they're a much larger company and probably have quite a large market share and can afford to continue to release updates to keep it fresh (and for someone like me, the app is exactly what I need vs. say photoshop and the price point is reasonable).


At this point, the only apps worth using were released 10 years ago, and have all been removed from Play Store. I have to either use my own backups or download sketchy APKs. I'm not exaggerating, today I tried a number of shoddy disk space analyzers full of bloat and ads, until giving up and just using one from 2014... (except it'd been deleted, so I had to do a bit of digging.)


When I worked in telecom, this is how people used spreadsheets


These used to be called Macro Shops back in the 90s AOL prog/punter scene.

There used to be thousands of truly incredible ASCII macro artworks. This is barely scratching the surface.

https://i0.wp.com/justinakapaste.com/wp-content/uploads/2014...


Love it. Triggers memories!

I wrote my own similar-ish version of this for a school project in 1991. Although mine wasn’t mono, so I could draw in foreground colour, preserving the existing text, background colour or text. Eg draw a filled in square made up only of background colour changes. Obviously this is very different but I love the sense of surprisingly good output despite a lot of restrictions.


Mildly related: for complex diagrams where too much overlaps, consider yEd - which has functionality to rearrange boxes to minimize overlaps (and other settings)

https://www.yworks.com/products/yed


> A picture is worth a thousand words. A diagram is probably worth twice as much.

Or (sometimes) worth ten thousand words: https://onlinelibrary.wiley.com/doi/10.1111/j.1551-6708.1987...


Can somebody help me? I've tried Monodraw a few times, but whenever I attempt to use the ASCII on a website (Wordpress, if that's important) the artwork never appears with the correct spacing. The tabs don't show up, or the alignment is off.

So I end up having to create a GIF, which defeats the purpose.

Any ideas?


Are you putting the monodraw text output into a code block or using a monospaced font?


Which one is the dumb one? Because that's probably the one I'm doing.


Here is an example of me using a code block in Wordpress but setting the max width:

https://cs.joshstrange.com/r3pM1Vzs

Here is how it looks rendered on desktop:

https://cs.joshstrange.com/dvX5qKvf

Here is how it looks on mobile (broken):

https://cs.joshstrange.com/pHNdKLxH

It will work if I set a `style="width: 1200px;"` on the `<pre>` tag (edit as html):

https://cs.joshstrange.com/1zTrXZGM

But then Wordpress is going to complain:

https://cs.joshstrange.com/ctGRh46j

You can always convert the block to HTML so it stop bugging you which will look gross in your editors but work when displayed:

https://cs.joshstrange.com/8FPgPBXp

I hope this helps!


Thanks! This is really helpful - I’ll try this out soon.


Either of those options should work for you. Code blocks are almost always rendered with monospace fonts and manually setting a normal block of text to a monospaced font will do what you want as well.

The only other issue I can see is if your diagram is too large it might start wrapping which will break the “image” you are going for.

EDIT: See my sibling comment for examples of how to do this.


This is a great application and far better than any of the web based stuff in the other comments. You should be given a product award for the Add Attachment Point alone, something no one else has achieved with such ease.


Why isn't there a good CLI tool for specifying and rendering these?

I'm imagining something like dot -Tascii


I got 20% done prototyping an implementation of this for myself. Gonna just pay the $10. Thank you!


I haven't seen anybody mention JavE (http://www.jave.de/), substantially predates monodraw, but maybe they have different features.


I remember that I bought it through the App Store just to find out that they offered a CLI that is only non App Store. Wrote them a mail and asked if they could change me to non App Store. Never got a reply lol


I used this often for diagrams before repository sites' Markdown renderers started to support Mermaid. Nice tool; easy and fast. Can be a bit fiddly to make changes, depending on how much you care about neatness.


Interesting. I have been spending a lot of time with Mermaidjs for the last year or so and love it but not around ERDs because of the inability to map field relationships the way I want. I will check this out.


I've been using this since 2015 - and just found out today they have a cli tool! But, I bought through the App Store so it's not available for me. For any users, is the cli tool useful?


This reminds me of the old text file format walkthroughs for video games. I fondly remember using the The Legend of Zelda: Wind Waker walkthrough hosted on IGN. Good times. :')


I love monodraw, I buyed it and use it for other developers to show complex functions. You can also ask GPT to render Unicode diagrams and past it in monodraw if you like.


Monodraw has been invaluable to me for creating UX workflow mockups that sidestep all the bikeshedding by way of having no fine details that people can nitpick.


Awesome tool I purchased when I stumbled upon it.

I draw flowcharts for complex implementations in ASCII using Monodraw and embed them in source code.


I love MonoDraw. It is a amazing tool with a great UI. Just a breeze to use!


One of the first few tools I install on a new machine. Absolutely no subscription nonsense.


Hm. I'm interested in hearing more about the specific scenarios where this sort of tool is useful.

I skimmed through the HN comments and see that it can be used for adding diagrams to code comments. But what else? Slack, Jira, READMEs, SMS, Signal etc all allow you to include pngs.


What do you mean by READMEs here? Markdown readmes support embedding images from external files, which isn't really useful if you're looking at the readme directly (or do you use data: uris there? Last I looked they had too-severe length limits.)

(I'm also curious what you mean by SMS, or are you conflating it with RCS?)


Messaging apps don't have fixed width apps, I think. You would need to pick one app's specific font (idk if Monodraw lets you do that), and draw using that.


You can use it for mocking up a text user interface.


Any examples of free body diagrams (from physics) as ASCII art?


Is generative ASCII art a thing? Anything tools similar to Monodraw out there or possible to assist in taking a description and generating an image? Would think even LLM could be trained to think of this as some sort of language.


I get it, but what about mermaid for diagrams? and free


How accessible are these diagrams to screen readers?



They aren't


monodraw has been one of my favorite diagramming tools, but never seemed to be popular with the folks i worked with.


Yeah, I'm known as the ASCII diagram guy at work because I use ASCIIFlow a lot. Still not sure if people think I'm a joke.

https://asciiflow.com/#/


Stretching the idea of "plain text" quite far imho.


how does it compare to excalidraw ?


Is there a UTF-16 version?


In TempleOS you can embed animated images into your code.


Amazing tool, thank you for building this. One piece of feedback: let me pay you without having to fill out a 20 field form. I would have happily bought a license through PayPal, but having to enter all the info really makes me want to press the back button.


ASCII art, so great we built a GUI for it


https://www.charidy.com/1710253741955592190 https://www.charidy.com/1710252924625031815 https://www.charidy.com/1710208158746506799 https://fastcomments.com/auth/my-account#tab-profile-comment... https://forum.chainide.com/topic/17927/imax-ran-dune-part-tw... https://500px.com/photo/1087608339/%C2%BBwatch%C2%AB-dune-pa... https://tempaste.com/Through https://www.artstation.com/artwork/NyDwr5 https://www.artstation.com/artwork/WBWNxD https://www.emilyrosenpt.com/group/tracks-trails/discussion/...

https://website01streamm4u.wixsite.com/demon-slayer/post/wat... https://website01streamm4u.wixsite.com/demon-slayer

https://ninaharyanti2.wixsite.com/watch-demon-slayer/coming-... https://ninaharyanti2.wixsite.com/webmovies/post/full-watch-... https://ninaharyanti2.wixsite.com/webmovies/post/watch-anyon... https://ninaharyanti2.wixsite.com/webmovies

https://www.kooapp.com/koo/guest_81BR70/2197b9dd-adb8-4298-a... https://www.kooapp.com/koo/guest_81BR70/fbf071cf-6696-4b85-8... https://community.badabusiness.com/post/6696100_watch-fighte...

https://atoplay.com/videos/165e9ce01bad141709821441 https://atoplay.com/videos/165e89975291d81709742453 https://atoplay.com/videos/165e886fa911e31709737722 https://atoplay.com/videos/165e8865e88d031709737566 https://atoplay.com/videos/165e87e2079d611709735456 https://atoplay.com/videos/165e87b95d0e801709734805 https://atoplay.com/videos/165e8783cced181709733948 https://atoplay.com/videos/165e87595b40201709733269 https://atoplay.com/videos/165e8701109c301709731857 https://atoplay.com/videos/165e86a09eacec1709730313 https://atoplay.com/videos/165e867739e8621709729651 https://atoplay.com/videos/165e8609daad1d1709727901 https://atoplay.com/videos/165e85bae43ab81709726638

https://atoplay.com/videos/165e47ddf415191709473247 https://atoplay.com/videos/165e344f67ef4f1709393142 https://atoplay.com/videos/165e33fa11e8191709391777 https://atoplay.com/videos/165e330fc713d81709388028 https://atoplay.com/videos/165e32c28bcbc41709386792 https://atoplay.com/videos/165e3247fddf841709384831

https://atoplay.com/videos/165debf7f8d7141709096831 https://atoplay.com/videos/165d4cc576568b1708444759 https://atoplay.com/videos/165d4c47fdb0781708442751 https://atoplay.com/videos/165d4cab4441c81708444340

https://atoplay.com/videos/165d44a1f287991708411423 https://atoplay.com/videos/165d49f0fa39361708433167 https://atoplay.com/videos/165d4abb25160a1708436402 https://atoplay.com/videos/165d4aed1a4c961708437201 https://atoplay.com/videos/165d4b0e8b32dd1708437736 https://atoplay.com/videos/165d4c47fdb0781708442751

https://paste.rs/SZ73D.txt https://forum.chainide.com/user/miaby

https://soundcloud.com/yixas40465/fullfilm-godzilla-minus-on... https://soundcloud.com/nina-haryanti-864037420/argylle-2024-... https://soundcloud.com/nina-haryanti-864037420/watch-or-down...

https://www.bankier.pl/forum/temat_fighter-2024-fullmovie-on... https://bemorepanda.com/en/posts/1707316455-watch-fighter-20...

https://www.hkhoc.org/group/the-hong-kong-hall-o-group/discu... https://www.hkhoc.org/group/the-hong-kong-hall-o-group/discu... https://www.hkhoc.org/group/the-hong-kong-hall-o-group/discu... https://www.hkhoc.org/group/the-hong-kong-hall-o-group/discu... https://www.hkhoc.org/group/the-hong-kong-hall-o-group/discu...

https://website.01streamm4u.com/movie/1216221/demon-slayer-k... https://website.01streamm4u.com/zh/1227816/red-right-hand.ht... https://website.01streamm4u.com/zh/569094/spider-man-across-... https://website.01streamm4u.com/movie/940721/godzilla-minus-... https://website.01streamm4u.com/movie/1011985/kung-fu-panda-... https://website.01streamm4u.com/zh/1090874/mea-culpa.html

https://website.01streamm4u.com/movie/1229958/lover-stalker-...

https://website.01streamm4u.com/movie/975773/wicked-little-l... https://website.01streamm4u.com/movie/530385/midsommar.html https://website.01streamm4u.com/movie/1020006/priscilla.html https://website.01streamm4u.com/movie/753342/napoleon.html https://website.01streamm4u.com/movie/848326/rebel-moon-part... https://website.01streamm4u.com/movie/365620/ferrari.html https://website.01streamm4u.com/movie/814776/bottoms.html

https://website.01streamm4u.com/movie/979097/memory.html https://website.01streamm4u.com/movie/974036/ordinary-angels... https://website.01streamm4u.com/movie/1139829/orion-and-the-... https://website.01streamm4u.com/movie/931642/lights-out.html https://website.01streamm4u.com/movie/523607/maestro.html https://website.01streamm4u.com/movie/1168709/einstein-and-t... https://website.01streamm4u.com/movie/1075175/how-to-have-se... https://website.01streamm4u.com/movie/993784/lisa-frankenste... https://website.01streamm4u.com/movie/843617/players.html

https://website.01streamm4u.com/movie/1217343/this-is-me-hel... https://website.01streamm4u.com/movie/673593/mean-girls.html https://website.01streamm4u.com/movie/957304/drive-away-doll... https://website.01streamm4u.com/movie/1014590/upgraded.html https://website.01streamm4u.com/movie/915935/anatomy-of-a-fa... https://website.01streamm4u.com/movie/1026436/miller-s-girl.... https://website.01streamm4u.com/movie/866398/the-beekeeper.h... https://website.01streamm4u.com/movie/848538/argylle.html https://website.01streamm4u.com/movie/969492/land-of-bad.htm... https://website.01streamm4u.com/movie/802219/bob-marley-one-...

https://website.01streamm4u.com/zh/693134/dune-part-two.html https://website.01streamm4u.com/zh/792307/poor-things.html https://website.01streamm4u.com/zh/872585/oppenheimer.html https://website.01streamm4u.com/zh/634492/madame-web.html https://website.01streamm4u.com/zh/467244/the-zone-of-intere... https://website.01streamm4u.com/movie/1072790/anyone-but-you...

https://website.01streamm4u.com/zh/869760/hanu-man.html https://website.01streamm4u.com/en/1187619/2358-2376-2340-23... https://website.01streamm4u.com/zh/1166133/bramayugam.html https://website.01streamm4u.com/movie/1069945/manjummel-boys... https://website.01streamm4u.com/zh/962074/captain-miller.htm... https://website.01streamm4u.com/zh/1233531/article-370.html https://website.01streamm4u.com/movie/1149791/premalu.html https://website.01streamm4u.com/zh/1038874/malaikottai-vaali... https://website.01streamm4u.com/zh/890116/merry-christmas.ht... https://website.01streamm4u.com/movie/834664/anweshippin-kan... https://website.01streamm4u.com/movie/1150478/eagle.html https://website.01streamm4u.com/zh/1215938/crakk-jeetega-toh... https://website.01streamm4u.com/zh/755388/ayalaan.html https://website.01streamm4u.com/zh/868660/guntur-kaaram.html https://website.01streamm4u.com/movie/1110390/teri-baaton-me... https://website.01streamm4u.com/zh/784651/fighter.html https://website.01streamm4u.com/movies/popular/ https://website.01streamm4u.com/movies/playing/ https://website.01streamm4u.com/


[flagged]


especially confusing since for many people using Mono in the name of software triggers associations with cross-platform capabilities


[flagged]


the reason I want this is because I can inject a diagram anywhere, specifically code files


Because beautiful diagrams that can be edited and viewed anywhere and any developer tool and platform on the planet.


No Linux or windows?


No, but Asciiflow is very good.

https://asciiflow.com/


try gramscii, and aamath for math formulae.


I'll never understand willingly restricting yourself to one desktop platform. Especially with a paid app. Oh well. Looks nice


Sketch, Rogue Amoeba apps, Panic, etc. plenty of Mac-only businesses. They make decent money. As Mac users actually tend to pay for their software rather than expecting everything to be free.

If you released the same software for the same price on Windows, not only would it be more difficult to develop (due to Windows lacking the same abstractions as macOS), you'd probably have way less users, as Windows users don't typically buy apps like this.


I share similar caution with tools and multi-platforms (specifically Mac, Win & Linux). However, the format is interchangeable with other Ascii drawing apps and it isn't too expensive. So I'm totally fine with it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: