
ASCII art editor designed for the Mac - lalmachado
http://monodraw.helftone.com/
======
waynecochran
This stuff is great for commenting code. I like to draw pictures in my
comments. Now we need a LaTeX to ASCII to go with it:

    
    
         /*                                                                            
          * A = M G M^T                                                                
          *                         _               _   _   _                          
          * f(u,v) = [u^3 u^2 u 1] | A00 A01 A02 A03 | | v^3 |                         
          *                        | A10 A11 A12 A13 | | v^2 |                         
          *                        | A20 A21 A22 A23 | |  v  |                         
          *                        | A30 A31 A32 A33 | |  1  |                         
          *                         -               -   -   -                          
          *                                                                            
          *          ___3    ___3                                                      
          * f(u,v) = \       \       A[i][j] u^(3-i) v^(3-j)                           
          *          /__j=0  /__i=0                                                    
          *                                                                            
          */

~~~
ygra
Like in JavE:
[http://www.jave.de/docs/formula2/formula2.html](http://www.jave.de/docs/formula2/formula2.html)?

~~~
waynecochran
Cool. I may try that out. I would like to use LaTeX notation though :
$\sum_{i=0}^{n-1} \sin 2\pi i/3$

------
milen
Hey guys, I'm the developer of the app - glad to see it appear on HN. I'm
working on it as we speak, so that we can ship the beta out ASAP.

If anyone has any questions, just shoot - happy to answers :)

Thanks!

~~~
vxNsr
Did you intentionally do this? or is it a response to strange white spacing in
chrome? [http://i.imgur.com/VE2JT1N.png](http://i.imgur.com/VE2JT1N.png)

I'm on Win8.1, Chrome (latest stable), 1366x768

~~~
milen
Apologies that the robot didn't render correctly in your browser - here's how
it should look [http://imgur.com/pst21UO](http://imgur.com/pst21UO)

I believe this is caused by the font used to render it, which is not a
monospaced. We'll investigate it first thing tomorrow morning and make sure it
works on all platforms / browsers.

Sorry about that - thanks for letting me know :/

~~~
blahedo
I also have a (yet different) version of the robot rendered in my browser
(Firefox on Ubuntu). I'm sure it is due to the font, which _is_ monospaced but
which probably doesn't include all the Unicode code points that you are using
in your image.

Which is one of the weaknesses of using Unicode characters in "ASCII" art---
anything outside ASCII itself risks being missing in monospace fonts. Some of
it is pretty well guaranteed (like the DOS-pedigreed box-drawing characters),
but a lot of that is going to vary from system to system to system depending
on just what fonts are installed.

Perhaps you could have an option to render only a common subset of characters?
Otherwise the central premise of the tool is substantially undermined.

EDIT: To illustrate (and maybe help debug), the version on mine looks like
this: [http://i.imgur.com/WI4eRLo.png](http://i.imgur.com/WI4eRLo.png)

------
jaysonelliot
This is the kind of tool I've been wishing for for years. I can think of lots
of uses for it, both practical and fun.

I'm particularly happy to see that you're building it as a native application
rather than a Web app, so I can trust that I'll be able to use it for years to
come, even if the product pivots, gets acquired, or changes for other reasons.

Thank you for making something that users can actually own, rather than just
access.

~~~
milen
Thank you - I'm glad that we are on the same page :)

I've got nothing against web apps, I use some on a daily basis - they have
their own set of advantages over native apps.

But for the purposes of Monodraw, I wanted to provide the absolutely best user
experience. I want 60fps with tons of elements on screen, I want to be able to
tap into the OS and integrate with it. Our auto-tracing code would take
advantage of all your computer's cores. I even wrote my own custom text layout
engine and now you can do some really cool things with it. I love the
interactivity and fluidity of native apps.

You're absolutely right that once you have the app, it's yours to keep. Our
proposition is simple - we will charge for the software and our users / the
market will decide whether it's financially viable. Our job is to make an
outstanding product that delights customers.

------
overgard
This is pretty neat. I'd much rather have a web version for two reasons
though:

1) Most of the time I'm making ASCII art it's kind of a one-off (not a daily
thing). I'd say it's a thing I want to do maybe once a week or month. So I'm
liable to forget I have this installed, and go google something. (My
applications folder is full of "this looks handy" things that I never ended up
using).

2) Most of the times where this would be useful to me is when I'm doing
graphics coding, where a visual comment with maybe some equations is handy...
but if I'm doing graphics coding I'm usually in windows (apple's opengl
drivers suck), and I'm definitely not going to reboot.

------
Xyzodiac
This looks really promising! I'll probably use it to make diagrams for org-
mode in Emacs.

One thing though, please charge for it. I'm sure plenty of people would be
willing to throw money at you for this.

~~~
milen
Thank you :)

Yes, we are going to charge for it because we have to - we are a very small
independent software studio without any funding.

The future of the software belongs in the hands of our users, they will decide
if our work is worth it and support us financially.

------
Artemis2
Looks great! Sometimes I use [http://asciiflow.com](http://asciiflow.com) for
my ASCII diagrams needs.

~~~
drewda
Do you actually like the newer ASCIIflow? I prefer the older one myself:
[http://www.asciidraw.com/#Draw](http://www.asciidraw.com/#Draw)

~~~
Artemis2
I have mixed feelings about this. The features are pretty much the same, but I
like the grid in the newer version.

------
thom
Lovely idea, seems very tastefully done. I find myself occasionally using
artist-mode in emacs, and I have endless nostalgia for extended ASCII box-
drawing, having made crappy RPGs for a good 25 years.

I actually feel like this could have a genuinely useful place on the modern
internet. If you look at the success of animated gifs, it's a lo-fi,
lightweight solution to video. I think this could be the same for quick
diagrams, on blogs or in tweets.

Is there colour support? Outputting HTML and CSS snippets with `white-space:
pre` would be great.

Anyway, will definitely check it out when it's shipped!

~~~
milen
Thanks :)

There's currently no colour support, as my focus has been to make a solid v1.
I've looked into ANSI escape sequences to support colour and it should be
quite easy to add.

Part of the problem when I work on Monodraw is that there are so many cool
things I stumble upon related to text art and I want to do them all but have
to restrain myself, as there's only so much I can do.

We do have something related to HTML / CSS output in the pipeline which I'll
be talking about more over the next few weeks.

------
boomskats
I found some really interesting software I'd not heard of through this thread
so I thought I'd post this for anyone else interested:

[http://picoe.ca/products/pablodraw/](http://picoe.ca/products/pablodraw/)

More of a paint than a draw, but pretty damn cool and xplatform.

Also Monodraw looks absolutely awesome. I'll be paying for it when you release
it

------
fensipens
ASCII? The arrows alone scream UTF-8 and require proper charset- and font-
support.

But it's a cute tool, no question.

~~~
milen
I've designed the app so that you can choose your character set - Unicode or
ASCII. This is a property of the document and can be changed on the fly, so
you should be able to use the tool for text in a legacy environments as well.

~~~
userbinator
Will it support CP437
([http://en.wikipedia.org/wiki/Code_page_437](http://en.wikipedia.org/wiki/Code_page_437)
)?

~~~
milen
It's quite easy for me to support arbitrary character sets, so if there's
enough demand, I can definitely implement it. If you can just drop us an email
(see "How do I provide feedback" section at the bottom), that'd be great -
thanks.

But it won't be supported in the initial public beta build, as we have to
prioritise other areas (sorry!).

------
shurcooL
> We would generally not hesitate to drop support for older versions of OS X
> if it allows us to improve the user experience.

That's an attitude I love to see. Especially since OS X updates are now free
and afaik all hardware that supports 10.9 will run 10.10.

Very nice looking and polished job!

~~~
fensipens
> That's an attitude I love to see.

Because when OSX n+1 is released, it's immediately impossible to get any work
done on OSX n?

I'm still on 10.6 and see no reason to upgrade.

~~~
Tehnix
>Because when OSX n+1 is released, it's immediately impossible to get any work
done on OSX n?

No, but as a developer, I can do much more on OS X n+1. And you're not even on
n, you're on something like n-4.

Curious though, is it hardware holding you back, or do you simply not like the
direction Apple is going with OS X atm?

~~~
CJefferson
NIR the original poster, but I'm held back by hardware. 10.6 works great with
even 2GB of RAM, whereas anything past that often grinds even with 4, and of
course, being macs, upgrading memory on laptops is basically impossible.

~~~
LnxPrgr3
Whether you can upgrade and how much you can put in varies by machine, but
Apple publishes instructions for upgrading your own RAM:
[http://support.apple.com/kb/HT1651](http://support.apple.com/kb/HT1651),
[http://support.apple.com/kb/ht1270](http://support.apple.com/kb/ht1270)

------
liadmat
Looks very promising. I used to draw .nfo's a long time ago, this is a tool I
wish I had back then. I would use it today for commenting on code, if only it
were web based instead of Mac only.

------
detritus
Oh, why are all the cool toys coming out for Mac these days?

~~~
milen
I don't think all the cool tools are coming out for the Mac but it's
undoubtedly skewed towards it. The reasons for this are a mix of cultural,
social and technical, along with momentum.

Speaking for myself, when I was getting into serious programming, it was right
in the heyday of the Delicious Generation (Delicious Library, Disco, AppZapper
and more). Back in the 10.4 / 10.5 days, eye candy and ease-of-use were the
top priority. Some notable apps came out and they in turn inspired other
developers to follow the same path - a polished user experience is absolutely
vital. This creates a self-perpetuating cycle, where the existence of such
apps creates fans who dream of making apps like that (I'm one of these).

------
jeffreyrogers
This is great. I needed to draw some ASCII art as part of a network design
project I was doing and having something like this would have saved me a ton
of time.

------
mserdarsanli
[http://i.imgur.com/za2WQUF.png](http://i.imgur.com/za2WQUF.png)

There is only one text example on the page, and it is messed up.

------
jakeogh
Nice project! In the past I have used asciio (cross platform):
[http://search.cpan.org/dist/App-
Asciio/lib/App/Asciio.pm](http://search.cpan.org/dist/App-
Asciio/lib/App/Asciio.pm)

Demo:
[https://www.youtube.com/watch?v=0l9W84PhOyI](https://www.youtube.com/watch?v=0l9W84PhOyI)

------
Mahn
Any plans for a windows version?

~~~
milen
I would love to but I'm not a Windows developer (I have no experience on that
platform), so there are no immediate plans. Depending on how things go, we
might re-consider.

I'm also playing with the idea in my head of collaborating with some Windows
developer to make it happen, although it's nothing more than just a thought.
If any Windows developers are interested, please get in touch - thanks :)

~~~
LukeShu
I'm told that a number of developers have had luck with using GNUstep to port
Mac apps to other platforms.

------
arh68
Now _this_ is a text editor. Somewhere between Emacs and MS Paint. Not sure
how I'd want extraneous whitespace to show up (where are my newlines? or can
you only select rectangles). The execution looks refreshing.

~~~
milen
As far as the internal data model is concerned, there are no newlines. All
shapes exist in an abstract discrete coordinate system and draw to it (if
you're using the text tool, you can insert new lines etc but that's internal
to the text shape, the canvas only cares about what characters appear at what
abstract point).

Of course, when we export as text, we need to insert newlines so that it
renders the way it's displayed.

Thanks for the kinds words about the execution :)

------
diimdeep
[http://www.jave.de/](http://www.jave.de/)

------
math0ne
This is great! I was a member of many ansi and ascii groups back in the day
and anyone who makes anything related to text art has my utmost respect.

I really wish it was multi-platform though.

------
gidgreen
Hey! A shout out from the developer of Email Effects, a now pretty much
defunct ASCII art editor that was all the rage in 1997 :) Good luck with your
project.

------
im3w1l
The website doesn't work for me (win8.1, ff32):

1\. The screenshots are not displayed fully, but clipped at the window edge.

2\. The robot displays improperly, maybe because of missing font?

~~~
milen
1\. That's part of the design, should be apparent at most sizes but if your
browser width is around the 2000px mark, it will look more like a bug.

2\. Sorry about that, the issue seems related to the font metrics which
results in the robot looking misaligned. We'll fix that it in the next few
days. Here's how it should look correctly -
[http://imgur.com/pst21UO](http://imgur.com/pst21UO)

------
ezequiel-garzon
I like it! It's not just ASCII, though.

~~~
milen
Thanks! I replied to fensipens explaining that the app can work in both
Unicode or ASCII mode, which can be switched on the fly.

The reason why I made the screencast in Unicode mode is simply because it
looks nicer :)

------
astrojams
Why? Why would you want this? Its not like I'm running a dialup BBS.

~~~
coldtea
If you have to ask you will never know.

------
Fastidious
Very nicely done, I love it! Thank you!

------
molikto
What's the point?

~~~
jonsen
ASCII period.

------
drt
Looks great!

------
Dewie
> Plain text has been around for decades and it's here to stay. Monodraw
> allows you to easily create text-based art – like diagrams, layouts, flow
> charts and visually represent algorithms, data structures, binary formats
> and more. Because it's all just text, it can be easily embedded almost
> anywhere.

> [...]

> Monodraw is designed for the Mac from the ground up – everything from the
> text layout engine to the interface is made to take advantage of OS X.

Is that perhaps a philosophical disconnect, or is it just me?

Granted, the most significant thing is that files created with this tool can
be used anywhere else. Not that the editing experience of those files will be
the same everywhere.

~~~
milen
You're quite right that the most important thing about the tool is that you
can take the exported plain text result and put it in your code, web pages,
etc.

But when it comes to actually creating the content, we want to provide the
best user experience. Monodraw can be thought of as a drawing app which was
designed assuming the output would be ASCII.

In my view, those aspects are orthogonal - you can have a hard to use tool
that exports into a standard format or an excellent tool that produces
proprietary files.

------
dang
Please don't put "Show HN" in titles when software isn't ready for everyone to
try out yet:
[https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html).

------
jlebrech
Would anyone be interested in a programming language/framework which uses
ascii art as syntax?

for example using boxes to denote classes and methods, and maybe arrows for
events.

~~~
wingerlang
Sounds cumbersome.

~~~
jlebrech
I guess it would be cumbersome in a standard editor, maybe an ide which had
function to create new methods and classes would be needed. also the added
benefit is that the code could serve as a diagram of itself.

~~~
kiiski
But if you're going to use an IDE to generate all the ASCII, why not just use
regular graphics instead?

~~~
Dewie
I guess because then you can view it in any editor later. Or view it in a
simple terminal.

------
zenciadam
How is the better than Ascii Pumper
([http://www.findbestopensource.com/product/asciipumper](http://www.findbestopensource.com/product/asciipumper))
?

~~~
nicky0
It seems to be a completely different kind of app, for a start.

------
shmerl
Why is it "for Mac"? Just use something like Qt and make it cross platform.
Come on, it's not the dark ages anymore!

~~~
gulpahum
I'm currently rewriting my Mac application. Its prototype was written in Qt,
but I'm now dropping Qt for several reasons:

1\. I demoed my application to my friends and they all complained that it
didn't behave exactly like a native Mac application.

2\. Qt5 has a lot of UI bugs on Mac OS X.

3\. The LGPL license of Qt may not compatible with Mac App Store [1].

4\. I could buy the commercial license of Qt, but it's $215/month for Mac OS
X. I don't know if my app is going to sell at all, so I can't afford that kind
of burden.

[1] [http://blog.qt.digia.com/blog/2014/10/01/benefits-of-the-
ind...](http://blog.qt.digia.com/blog/2014/10/01/benefits-of-the-indie-mobile-
licensing/)

~~~
shmerl
#1 and #2 are understandable.

#3 is Apple's fault. I'm not using OS X so I don't know about their
installation policies. Do they require to use their store to install
applications now? In the past you could just provide packages on your own.

------
Sir_Cmpwn
"designed for Mac" makes me sick these days. It's not hard to make good cross-
platform software, especially if you only care about sane POSIX systems.

~~~
epistasis
Not when it comes to GUIs! All the cross-platform frameworks seem to have
issues that make them less than ideal.

Far more sane to have POSIX core code, then develop the GUI for each platform
in the preferred mode.

And when it comes to graphics and drawing, divergences become even more
extreme. POSIX is not relevant when it comes to pushing pixels.

~~~
shmerl
Less than ideal is still way better than "it doesn't work on your system at
all".

~~~
epistasis
"You can please some of the people all of the time, you can please all of the
people some of the time, but you can’t please all of the people all of the
time"

I think a lack of focus in development, with the purpose of trying to please
everyone, is a huge novice mistake when it comes to development.

~~~
shmerl
Not these days anymore. Platform specific releases of desktop applications
like these is a major novice mistake which inherits outdated mindset from the
previous era. Unless we are talking about low level code.

~~~
coldtea
Says who? Last time I checked, in all major platforms (Windows, Mac, Linux)
there are platform specific releases that are doing great (commercial and open
source).

(note: I consider KDE/Gnome programs as "Linux/*BSD-specific releases", which
they pretty much are in practice).

~~~
shmerl
If you have resources for such releases. We are talking about another choice
here (i.e. either one platform only with native UI, or many platforms with
cross platform one).

