ASCII art editor designed for the Mac
monodraw.helftone.com
monodraw.helftone.com
/*
* 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
*
*/Neither is LaTeX syntax, though.
If anyone has any questions, just shoot - happy to answers :)
Thanks!
I'm on Win8.1, Chrome (latest stable), 1366x768
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 :/
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
Our top priority currently is to create tool that we're proud of and which ours users love. The financial side is only secondary (although very important). When we get close to releasing v1, we'll put more thought into it. The beta will be free to use for everyone (and that should last quite a while).
The development of Monodraw will be very open from now on, I'll be writing about my thought process about all aspects, if you're interested make sure you follow our blog.
If the price point were about $19 or less, I'd think about it, maybe play with it a bit, and probably buy it without too much hesitation if it worked well.
At $9.95, it would be an impulse buy that I might not even bother to properly evaluate first, just because it's so useful and looks so good. (I know I should try before I buy, but I'm being honest about my purchase behavior)
If it were higher-priced, in the $39-$89 range, I'd think very carefully about why exactly I needed it, and probably make due without unless there was a very compelling case I could make for it.
Any higher than that, especially getting into three figures, and I wouldn't buy at all.
But I can tell you that from the bits that we have left, none of them require any internal architectural changes and it's mostly just implementing missing bits and pieces.
We have two major improvements that are left to be implemented (I'm in the middle of the first one) and the rest are minor. For example, document zoom is trivial to implement (practically, it involves putting some UI controls and some small bits of code to tie loose ends).
I'll be very open about the development process and try to keep everyone informed as much as possible. My advice would be to follow @Monodraw, our blog and/or myself (@milend).
1) Why Mac? Because I'm an Mac / iOS developer and I know Cocoa. I have no experience programming for Windows (e.g., MFC, WinForms, WPF) nor Linux (GTK+ / Qt - I dabbled a bit many years ago but that's about it).
2) Why not use a cross-platform toolkit? Fundamentally, a cross-platform app is at odds with our core value - providing the best user experience. In practical terms, this means we have to use the native toolkit for the platform. While it is true that you can use a cross-platform toolkit, the experience will never be as good as it can be. Moreover, not only do I lack experience with such toolkits, if we want to make a cross-platform app, we would want it to feel native on all major OSs. This involves an incredible amount of work and resources that we do not have.
It all boils down to the fact that we want to make the best app for the platform that we have experience with.
Hope that clarifies the reason why it's Mac-only.
In general, the best way to have your voice heard would be to drop us an email, so that we can have at least some quantified data - thanks.
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.
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.
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.
One thing though, please charge for it. I'm sure plenty of people would be willing to throw money at you for this.
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.
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!
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.
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
But it's a cute tool, no question.
But it won't be supported in the initial public beta build, as we have to prioritise other areas (sorry!).
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!
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.
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?
No - but the same logic applies to application software, right? If SuperApp m+1 requires OSX n+1, surely you can continue to get work done with what you have now - SuperApp m running on OSX n?
There's no reason for developers to handicap SuperApp m+1 by avoiding all OSX n+1 APIs...
The user experience comes first, no compromises. But please note that I'm not saying that I'll drop support for 10.9 because there's some convenient API on 10.10 that will save me a few days of work. 10.10 would be a requirement if and only if it provides a meaningfully better experience.
I also think some developers might start requiring 10.10 for their next major versions, assuming they have been designed in line with Yosemite's new visual language. Supporting both < 10.10 and >= 10.10 UI-wise would involve non-trivial amounts of work, would for most small indies would be impractical.
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).
http://www.tech-chat.de/aacircuit.html
As I recall, folks used it for inserting circuit diagrams into usenet posts. I've used it for sticking skeletal hookup diagrams into my microcontroller source code. When I write a code to access a particular device such as a specialized chip, I like to include in the comments a diagram that will at least let you demonstrate the code.
As an aside, the cool toys are coming out for this "operating system" called Python. ;-)
There is only one text example on the page, and it is messed up.
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 :)
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 :)
I really wish it was multi-platform though.
1. The screenshots are not displayed fully, but clipped at the window edge.
2. The robot displays improperly, maybe because of missing font?
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
The reason why I made the screencast in Unicode mode is simply because it looks nicer :)
> [...]
> 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.
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.
for example using boxes to denote classes and methods, and maybe arrows for events.
You can argue about the merits of wanting such a UI, but given that the Monodraw developer does, creating a Mac-only app is the only option.
Sure, any cross platform UI can be a trade-off. The question is what is more important, to leave out users of all other platforms by making the UI look more native, or to reach more users.
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...
#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.
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.
Also, for an ASCII art editor, I'd say that even something as simple as an xterm-compatible terminal application would be suitable ;)
An xterm-based[0] version of this would be very cool! Though the surface tool wouldn't work well in that situation.
[0]: http://invisible-island.net/xterm/ctlseqs/ctlseqs.html#Mouse...
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.
(note: I consider KDE/Gnome programs as "Linux/*BSD-specific releases", which they pretty much are in practice).