Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Show HN: Vexlio – Create precise, beautiful diagrams (vexlio.com)
309 points by ttd on June 14, 2017 | hide | past | favorite | 130 comments


"We, like many others, have developed “subscription fatigue” when it comes to buying software. A single Vexlio license is available to purchase for a one-time payment of $25.99 USD. No subscription and no recurring payments are required."

I almost want to give you money just to encourage this kind of behavior.


I agree, when desktop software asks for a subscription, it annoys me greatly. Fuck Autodesk in particular, because Fusion needs me to log in, won't let me save my files anywhere but their annoying "cloud", and Meshmixer had the audacity to not let me use the software because there was an updated version available. Literally, the two options were "update" and "quit".


this is my view towards subscriptions, particularly now that i use an iphone app to manage them.

in fact there are (at least) a couple of start-ups focused on subscription (recurring payment) management. The one i use is Trim.

this app is useful and paid for itself by a factor of 10 just in the first month

but here's the thing: a very large number of vendors have made their subscriptions resistant to cancellation by these "subscription managers"--even after Trim contacts them, the response usually something like "only cancel the following the tedious manual steps" which even after you do it, you have to check again next month to be sure your cancellation request was honored


Meshmixer gets extra hate from me because the update no longer worked with my graphics drivers, and there is no mechanism to run the older version that was working perfectly before they broke it.


I could write a SaaS that manages your subscriptions for you for a small fee of $5/mo! How about that?


You joke, but that's not a bad idea for a product.


Resellers are pretty common in enterprise land. They'll manage all your subscriptions and give you a consolidated bill each month.


SetApp is a subscription offering which works really well on Mac


That's what Zuora does. They are pretty successful and are expected to IPO soon.


...and then lament when you have to pay again for v2. Or when the software falls out of maintenance because there's no cash flow.


> ...and then lament when you have to pay again for v2.

Or not pay for v2 because you still have v1 and it works. Or pay for v2 because it has some new features you'd like.


Or be forced to pay for v2 because you upgraded your OS and now v1 doesn't work anymore.


I estimate paying $25 each breaking OS update would be better than paying a subscription, that should be no more than every couple years? Unless the subscription is less than a dollar a month.


Or have to abandon your cloud photo archive that you've been happily paying full price for despite not even uploading any new photos because "we don't support Windows Server 2003 any more" (even though everything continues to run perfectly fine). (Crashplan, if you're wondering.)


Just never leave the house, never build anything, never do anything ever.


Or run it in a VM, or compatibility mode, if I don't want to pay for an update.


Or a new file format for those new features and v1 won't read it. I've seen that years ago ;-)

Ok, there isn't a perfect way to pay for software. Developers usually pick the one that suits them better and it can change along the years. The constant is that they need money to cover their expenses.


It sucks either way. Selling software in subscription model encourages shitty business models - like turning what should be an off-line product into a cloud-based service. And that's just a tiny step from analytics and selling user data.

Either way, users lose. One-time purchase means probably less software (and less innovation in the space). Subscriptions means more shitty software and user-hostile business models.

Still, as it is, the expected lifetime of a piece of software is usually much longer than the expected lifetime of a SaaS business. So if something seems like a tool I might frequently use, I'd much prefer to buy it than to rent it - there's a better chance the company will abandon it or die than that the bit rot will set.


That is nice, but the following section that mentions a free "limited trial version" really should explain in what way it's limited. Total time, or number of uses, or crippled so I can't save ... there are many ways to do a limited trial. Some are better than others.


This is a great point, I will definitely add a blurb in that section.

The trial version is not time-limited, but it is limited in two ways: each drawing can have a maximum of 30 distinct objects, and exported images/PDFs have a small watermark along the bottom edge.

Save/load/import/export are otherwise unrestricted.


If you accepted Bitcoin, I'd buy a license. It's doable with Stripe.


You may wish to sign your installer binary.

    Windows protected your PC

    Windows Defender SmartScreen prevented an unrecognized app
    from starting. Running this app might put your PC at risk.

    App: vexlio-setup-1.0.0.exe 
    Publisher: Unknown publisher 

    [ Don't run ]


Hey HN,

Creator here. I thought this would be of interest to the HN crowd for things like the LaTeX equation integration and Lua live-edit mode. Happy to answer any questions!


Love it so far. Is there a way to make HTTP requests in the Lua code (or a way to add plugins)? I can think of a few applications where it would be nice to generate some diagrams off web requests using Lua-cURL and a json parser.


Plugins are definitely on the roadmap. Much of the complexity there is just exposing the API, which is already done for program mode.

Your idea of generating diagrams from web request data is great! I'll definitely keep that one in mind.

On a related note, it's also planned that you will be able to invoke Vexlio from the command line with a Lua script to programmatically generate diagrams from the shell. That is not yet implemented, however.


Can you please give examples of the applications you're thinking of?


Mostly around data visualization for quarterly reports. Occasionally I make infographics for stakeholders that involve some unusual data visualization / presentation that is more artistic than the usual bars and lines. A tool like this would allow me to build the template for my periodic infographics and then I could enter the data on a website and have the infographic generate on the fly. I've used d3.js for something very similar in the past, but I find d3.js to be a bit complicated and this would be a lot easier to share with less technical team members who I would like to eventually own the creation of these reports.


Making pretty diagrams from swagger JSON specifications of live APIs would be pretty awesome


Am I correct in thinking that diagrams have something like a "program-mode" part and a "normal-mode" part? From a new diagram, if I place some objects in normal mode and then switch to program mode, there's no textual representation of those objects.


In your scenario, the way to gain access to the objects you created in normal mode (e.g. to modify their properties) is by using the `Layer:getObject()` method to retrieve objects by their index. You can see an example in the "Modifying Existing Drawing Elements" in the program mode section of the user guide: https://www.vexlio.com/user-guide/#program-mode


I think it would be nice if, when drawing shapes, it would generate the Lua code and the program mode text would persist when switching between modes. I definitely realize that would be quite the task.


So it's more that Program mode is an imperative means to add objects to the diagram, and switching between modes commits those changes?


Hi, what are you using to do the LaTeX formula layout?


I would buy your software if it has template library comparable to Visio or at least Dia. Template library is the thing which defines productivity.


Do you find the Dia templates usable? Every time I use it I end up banging my head against the wall trying to use their symbols until I just give up and make my own.


Congradulations on your release. A few questions, if you will:

1) What happens if Lua execution blocks? Or if you construct an infinite loop of drawing primitives?

2) The page claims that you can switch between code representation and normal mode. Are they somehow kept in sync? For example, if I draw a circle, will it generate an API call in Lua code?

3) The interface seems very similar to Inkscape's. Is this intentional?


I'm doing some small amount of sandboxing for the program-mode drawings, but right now there's nothing preventing an infinite loop of primitive creation from exhausting memory and eventually crashing the application.

Switching between normal and program mode has several restrictions, but at no point will your drawing lose any objects (if it does, that's a bug). Creating objects in normal mode does not generate API calls, meaning in order to interact with those objects in program mode, you need to use the method I outlined in this comment: https://news.ycombinator.com/item?id=14555028. Additionally, switching back to normal mode after using program mode will "commit" the Lua commands, and the next time you switch back to program mode, it will be as if the drawing was entirely created in normal mode. This piece is a bit of a pain point for me, so this behavior may change in the future.

Vexlio's interface was definitely inspired by Inkscape in some areas (perhaps most notably, the color bar at the bottom).


It looks very slick.

Is the license activation per machine? (As opposed to be being per user.)


The legalese states that you are allowed to install and use Vexlio on up to 3 machines per license key.


Do you plan to add connectors to shapes - i.e. lines that stay connected to the objects at either ends? Dealbreaker for me.


Absolutely -- it's an important feature for me as well. I have a development branch already with initial support for "sticky" lines with this behavior, but it did not make it into this release.


Looks great.

Is the scripting language in the gif example Ruby?


Thanks! The scripting language is Lua 5.2.


This looks really sharp! You mention Lua as a scripting language - was it used for the entire program?


Thanks for the compliment! Vexlio itself is written in C# (the Mac version in development uses Xamarin.Mac). I'm using the open-source NLua library to provide Lua hooks to call into the application.


Sweet, C#, any chance plugins could be implemented in C#?


I won't rule it out, as it would probably be a (relatively) small extra bit of work to load a C# assembly which interacts with the same API exposed via NLua, but Lua plugins will come first.


Congrats for the release.

Slightly off-topic. Did you use a predefined Hugo theme for the landing page ?


I am using a fairly heavily customized version of the "Universal" theme for Hugo: http://themes.gohugo.io/hugo-universal-theme/. It's a port of a template by these people: https://bootstrapious.com/p/universal-business-e-commerce-te.... It is only $10 to remove their attribution from the footer, but I'll happily give them a plug here.


Thanks for the pointers.


How did you make / optimize the animated gifs on the front screen?


I used the ShareX screen recorder (https://getsharex.com/) to record each GIF at 30 fps. I believe underneath ShareX is using ffmpeg to do the encoding. They were a bit of a pain to make, as it's a very manual process to get something that looks rehearsed and smooth.


Have you installed this on Linux with wine? Werky?


I haven't done that experiment yet, but it's an excellent idea.


I like the draw by grid, but it would be great to have a radial array as well.

In your user manual, you show an alias for ellipse which draws on "current layer" - how to make an alias that will draw an object on a set later every time, and if layer doesn't exist, create it...

Also, will you have dragable guides (like Visio) from top and bottom, I use them extensively in the diagrams I draw... (drawn thousands)


Radial arrays are a planned feature. I'm still undecided on how the UI will work (if it will be similar or not to the existing duplicate on a grid tool), which is why it didn't quite make it into this release.

You can define your own function to do what you're describing. It would just be a part of the function you define before calling the underlying Vexlio `ellipse()` function. Your alias function signature would look something like `function myEllipse(L, ...)` where L is the specified layer to check and create. Then the rest of the varargs would be passed to the `ellipse()` function.

Draggable guides are a good idea (Inkscape has them as well) that I'd like to add.


It's so refreshing to see something other than Electron-based garbage on HN.


This is funnily aligned to my interests.

Some time ago I did a relatively popular slideshow(https://www.slideshare.net/otikik/how-to-make-awesome-diagra...) about making diagrams. This software seems to enforce a lot of the guidelines I proposed there out-of-the-box, which is nice.

I also happen to know some Lua. I delved a bit on sandboxing it. Maybe the author'll find it useful: https://github.com/kikito/sandbox.lua


The slideshow looks like a great reference, and I will absolutely be revisiting your Lua sandboxing repo to learn more about your approach. Thanks!


Wow, this looks great and the pricing is awesome. Any plans for a Linux version?


Thanks for the feedback! There's nothing in Vexlio's software stack that would prevent a Linux version (thanks to the Mono project), but it would take a non-negligible time investment to make it happen. I'll have to see if there's enough demand for a Linux version before I decide to tackle it.


I'd really love a good GUI framework for .NET Core on Linux, but there's nothing really out there yet.


The next version Xamarin.Forms will have Linux support, from what I've read.


I'd also suggest that you create a waitlist (or "interest list") for the linux version.


Linux support would be fantastic. Inkscape is not powerful enough and everything nice is Windows or Mac only :(


Another +1 for a Linux version. Is there some similar tool avaialble on Linux for now?



I would also accept paying more for a Linux version if the port is done correctly.


+1 for Linux version!


I would buy a linux version of this.


Flagged as possible replacement for my Visio-in-a-VM workflow (I don't use most of Visio's vast feature set), since it can do that: https://news.ycombinator.com/item?id=14555490


+1 here too for a Linux version. this might also help you expand to markets like academia, where vector-based graphics are desirable and often used in paper and technical document creation, and where Linux is frequently used as well.


I don't know that I would buy the Linux version right now, but I would certainly be interested and keep the program in my bookmarks for when I will need it.


+1. I would also like a linux version.


Ditto. Would buy for my Gentoo system!


I would as well.


As would I.


As would I.


ditto.


Me too!!


Very nice; love the pricing. Reminds me of an older editor I used http://ipe.otfried.org/ that also allowed programmatic interaction (yours being much more polished, of course).


I installed this as I was curious. Both x64 and x86 downloaded fresh from the website crashed on boot. Shame, I wanted to try and considered buying even.

Had UAC enabled but tried both normal and run as admin.

Does it contact a server on first try? I'm behind a (corporate) proxy. Noticed your website does load but your user-guide does not behind my proxy. I disabled the proxy but still the app crashes though.

------------------ System Information ------------------

      Time of this report: 6/15/2017, 21:14:05

             Machine name: doesntreallymatter

               Machine Id: neither

         Operating System: Windows 10 Enterprise 64-bit 
(10.0, Build 14393) (14393.rs1_release_sec.170427-1353) Language: English (Regional Setting: English) System Manufacturer: Hewlett-Packard

             System Model: HP ZBook 15 G2

                     BIOS: Default System BIOS

                Processor: Intel(R) Core(TM) i7-4810MQ 
CPU @ 2.80GHz (8 CPUs), ~2.8GHz Memory: 16384MB RAM

      Available OS Memory: 16266MB RAM

                Page File: 9946MB used, 8750MB available

              Windows Dir: C:\windows

          DirectX Version: DirectX 12

      DX Setup Parameters: Not found

         User DPI Setting: Using System DPI

       System DPI Setting: 120 DPI (125 percent)

          DWM DPI Scaling: UnKnown

                 Miracast: Available, with HDCP
Microsoft Graphics Hybrid: Supported

           DxDiag Version: 10.00.14393.0000 64bit Unicode


I'm sorry it crashed on you! Does a "send crash report" dialog pop up when you launch? If so, please either click the send button or copy/paste the crash report in an email to me (tyler at vexlio dot com). If not, the crash is happening before the crash report handler is configured, and it becomes a little more tricky to debug.

I'd love if I could chat with you about this issue to see if I can get it resolved quickly -- if you're ok with that, please send me an email.

I'm not sure why the user guide isn't loading for you. That page is entirely static and only makes requests to the Vexlio web server to fetch the content.


No. Only close or debug pops up.


This might be worth it for my thesis alone. BTW, your logo displays as a pixelated image when viewed on my phone (looks like it's magnified a couple times). Slightly ironic considering the product on offer! I think the problem is the extra-wide gif demoing the "program mode."


Rats... do you know the resolution of your phone screen by chance? Good luck with the thesis!


I have a note 4 (2560x1440) and it has a slight blur for me too.


It's 1080x1920 (vertically oriented). Thanks!


I love this idea. I can't try it out because I run OSX, but I've signed up for your waitlist. Seems very competitively priced for something that looks like it competes with some features of Microsoft Visio (which starts at $300) for similar diagramming/snapping functionality.


I'm hopeful that the price does seem competitive, but not too low. I'd say the Visio market is slightly different, although you're right there is probably some overlap. Thanks for checking it out, and I hope to have a Mac version up and running before too long!


Very usable and intuitive, yet powerful. I love it and you have a happy, new customer. Maybe it's my inexperience with advanced tools, but this is the first time I could simply align the text inside a box horizontally and vertically without having to count pixels manually. Lucidcharts, et al, are great, too, but the monthly subscription fees is ridiculously high.

It might be hellish to implement, but it would be amazing if the Lua code and the drawing were 100% duals, and one could switch between them at will. I bet this is a common request on HN, but a dangerous one to try and satisfy, i.e., it would be difficult to implement, appreciated by only a niche customer, and not worth the effort, so please feel free to ignore it. The tool is quite awesome as it is.


Are Boolean operation on the shapes supported? What background options are available? Looks nice. Will buy for Mac since OmniGraffle just isn't good enough to replace Visio.


Yes, Boolean operations on shapes are supported. Select the shapes/paths, and use the "Merge selected objects" operation in the Object menu. Currently supported are union, difference, and intersection. The resulting object will be a path.

Right now there is no way to change the default white background (exported as transparent), but this would be an easy thing to add.


Grids with units of measure would be a nice touch (also not exported), thanks for the response.


I couldn't disagree more with this statement. Omnigraffle 7 blows Visio away.


I gave up after buying every version until 5. Their shapes and even grids were poor. Did they finally get Boolean operations? Something Visio has had since the early days. Heck, I liked the original sampler 3 1/2" floppy version of Visio more than any OmniGraffle version.


Visio hasn't been updated for diagramming since the early days. All they've added to it are enterprise features while it's diagramming engine is stuck in he late 90s (it was great back then, now a days, omnigraffle and sketch are just more modern).


I'll take classic and allowing me to draw what I want over 'modern'.


It feels horribly outdated whenever I try to draw something. Omnigraffle is far ahead of it.


This is absolutely amazing! Just wish I had seen it a year ago or so. You have no idea how many hours I've spent drawing in tikz while writing my thesis.. Best of luck!


OP, it just occurred to me that the Lua live-edit mode should ideally work like Excel Record Macro, i.e., everything you do in the drawing editor is actually generating code in the backend. Hope you find this a useful analogy.


Hopefully it's just me, but nothing outside of the main page is loading. I am getting a "This site can't be reached" when attempting to see features, the about page, pricing, the download, etc.


Hmm, I'm seeing some slightly slower-than-usual response times but it still seems up to me. Hopefully the issue clears up for you.


Pardon me for being a pedant, but what is the meaning of the word "instantly" in the headline? As in very easy to get started? I was sort of hoping Vexilo had invented a brain-PC interface.


Instantly in this case means several things to me (person who wrote the copy). 1) Very quickly create precise diagrams, meaning diagrams where you know things are perfectly snapped, aligned, etc. 2) Very quickly see the changes you make to your diagram reflected in the drawing (i.e. you don't just see the outline of geometry when moving an object, you see the entire object). 3) Very quickly make your diagrams in code, if that's what you like to use, with the live-edit program mode.

Other small things factor into this choice of words as well. For example, native embedding of LaTeX equations can be a big timesaver for someone who needs many of them. Or, using the "duplicate in grid" tool to quickly make rows of boxes connected with arrows.

I hope it doesn't come across as misleading. I really do believe Vexlio can allow you to create diagrams much more quickly than its competitors.


I had the same thought. I can create precise beautiful diagrams with Adobe Illustrator, or d3.js, or Sketch. This tool seems to have a lot of feature overlap with those, but I don't see what would be faster, and it's certainly not instant. That's just more marketing bullshit that make the company lose credibility in my eyes.


It looks pretty, but how is it better than Google Drive's diagram app? I couldn't exactly tell the difference by looking at the website, besides being pretty.


A lot of people don't know this, but before Steve Jobs's keynotes become famous not every software application was described as "beautiful."


The title is talking about the fact that the diagrams themselves are beautiful, not the application itself.


Not many applications were beautiful either.


Not many are to this day.


I have a lot of diagrams in graphml, can I import?


At this time, there's no native import for GraphML, although this is something I do want to support eventually, including other graph specification languages like DOT. This is not implemented yet, however.


Looks great. Signed up for the waitlist (macOS).

Do you plan to offer template support? I would love to use this to create network diagrams.


On the roadmap is a "shape search" similar to what Visio has. Is that the sort of templating you're thinking of?


PDF export: can it create automatically cropped PDFs, e.g. for inclusion as bare figures in LaTeX?

Can it render PNGs at high qualities?


Yes, PDF (and PNG) export are automatically cropped by default. You can export an arbitrary region of the drawing as well. You can also just export the objects that are currently selected, which is convenient for doing repeated exports of different pieces of your diagram.

The resolution of the output image in the case of PNG is something you can specify, so you can make it as large as you want.

edit: "render" -> "export"


Do you have any plans to export out a diagram as code, such as in GeoGebra's export to PSTricks and Tikz?

Perhaps even better would be a set of instructions that could be piped into some other program to transform into whatever it needs.

That is to say, if you could create a simple parseable format or use an existing diagram lanuage, if one exists sufficiently compatible, then those who want to convert it into PSTricks or SVG or whatever could then base their conversion off your language. Both PNG and PDF don't seem amenable to such a transformation.

One use for this could be using your program to create a basic figure template for some math problem involving a diagram, one whose parameters might change and thus some of the textual content changes without necessarily changing the text. This could be a SVG on the web, for example.

It also would allow for a better integration with particular fonts, etc., in embedding into another document, such as a LaTex document.

Perhaps, at a minimum, since you have a scripting language you use, you could have a diagram to export it as a whole diagram as something in that language. That might be a bit dangerous since ideally your exported language format would not change much and I could see your underlying scripting language would change. Also, ideally the export language should be rather explicit to make it simpler to parse, e.g., a loop to draw concentric circles could just output the concentric circles in the simpler language while the Lua script would naturally be having the loop.


You can already export to SVG, which is a widely enough supported graphics format that there are quite a few standalone tools to perform various transformations on it. In fact, the .vex file format is a just very thin wrapper around SVG content to store a bit of extra metadata (such as the LaTeX for equation objects).

Perhaps I misunderstand your question though. Are you envisioning an export format with more semantic information about the diagram, rather than just a simple declarative description, as is present with SVG or Postscript?


That's great to hear; SVG should be more than sufficient. I only have a Mac so I can't play with the program itself. I was going off the visual of the export of pdf/png.

I see now that it says SVG in the body text. I totally missed that the first time. The heading of "export to pdf" along with the graphic that showed PDF and PNG support in the drop down was what filtered into my head.

Now I just need to wait until it comes to the Mac. Looking forward to it.


but LaTeX can crop PDF images anyway


That doesn't really help if the exporting application distributed the figure across multiple pages. E.g. in Visio you have to work around that by using the "export current viewport" option, which is quite annoying and irreproducible to use.


How does it compare to open source draw.io?


Any chance you would have OmniGraffle interoperability? It's the killer app that keeps me using OS X.


I have looking for something like this. Thank you so much creators of Vexlio.


One can draw 30 objects in Trial mode. Pretty nice. I might have it on my computer for years and never have a use for it. But if I have it I might learn it and find a use for it.


Will you be putting this on the mac store?


I am not sure on this yet, but this will be decided before the Mac version is released.


Linux plz


That is proprietary software. I am now touching it.




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

Search: