15 ms·
Show HN: Vexlio – Create precise, beautiful diagrams
- ttd 9y agoHey 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!
- whatnotests 9y agoLooks great. Is the scripting language in the gif example Ruby?
- ttd 9y agoThanks! The scripting language is Lua 5.2.
- deleted 9y ago[deleted]
- jpfed 9y agoAm 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.
- ttd 9y agoIn 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 https://www.vexlio.com/user-guide/#program-mode
- mipmap04 9y agoI 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.
- deleted 9y ago[deleted]
- jpfed 9y agoSo it's more that Program mode is an imperative means to add objects to the diagram, and switching between modes commits those changes?
- pbourke 9y agoThis looks really sharp! You mention Lua as a scripting language - was it used for the entire program?
- ttd 9y agoThanks 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.
- kittiepryde 9y agoSweet, C#, any chance plugins could be implemented in C#?
- ttd 9y agoI 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.
- mipmap04 9y agoLove 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.
- ttd 9y agoPlugins 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.
- samstave 9y agoCan you please give examples of the applications you're thinking of?
- erinaceousjones 9y agoMaking pretty diagrams from swagger JSON specifications of live APIs would be pretty awesome
- mipmap04 9y agoMostly 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.
- deleted 9y ago[deleted]
- ComodoHacker 9y agoI would buy your software if it has template library comparable to Visio or at least Dia. Template library is the thing which defines productivity.
- InitialLastName 9y agoDo 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.
- veli_joza 9y agoCongradulations 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?
- ttd 9y agoI'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 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).
- samstave 9y agoHave you installed this on Linux with wine? Werky?
- ttd 9y agoI haven't done that experiment yet, but it's an excellent idea.
- samstave 9y agoI 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)
- ttd 9y agoRadial 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.
- delhanty 9y agoIt looks very slick. Is the license activation per machine? (As opposed to be being per user.)
- ttd 9y agoThe legalese states that you are allowed to install and use Vexlio on up to 3 machines per license key.
- derekmcloughlin 9y agoDo you plan to add connectors to shapes - i.e. lines that stay connected to the objects at either ends? Dealbreaker for me.
- ttd 9y agoAbsolutely -- 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.
- fasteo 9y agoCongrats for the release. Slightly off-topic. Did you use a predefined Hugo theme for the landing page ?
- ttd 9y agoI am using a fairly heavily customized version of the "Universal" theme for Hugo: http://themes.gohugo.io/hugo-universal-theme/ 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-template 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.
- fasteo 9y agoThanks for the pointers.
- mkl 9y agoHi, what are you using to do the LaTeX formula layout?
- daveroberts 9y agoHow did you make / optimize the animated gifs on the front screen?
- ttd 9y agoI used the ShareX screen recorder (https://getsharex.com/ 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.
- asp2insp 9y agoI 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.
- ttd 9y agoI'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!
- Ginguin 9y agoHopefully 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.
- ttd 9y agoHmm, I'm seeing some slightly slower-than-usual response times but it still seems up to me. Hopefully the issue clears up for you.
- didgeoridoo 9y ago"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.
- nathancahill 9y ago...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.
- mcphage 9y ago> ...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.
- teleclimber 9y agoOr be forced to pay for v2 because you upgraded your OS and now v1 doesn't work anymore.
- colecut 9y agoI 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.
- snoman 9y agoOr run it in a VM, or compatibility mode, if I don't want to pay for an update.
- ghrifter 9y agoJust never leave the house, never build anything, never do anything ever.
- GoToRO 9y agoOne 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.
- chrismealy 9y agoA lot of people don't know this, but before Steve Jobs's keynotes become famous not every software application was described as "beautiful."
- sratner 9y agoYou 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 ]
- _pmf_ 9y agoVery nice; love the pricing. Reminds me of an older editor I used http://ipe.otfried.org/ http://ipe.otfried.org/ that also allowed programmatic interaction (yours being much more polished, of course).
- sushisource 9y agoWow, this looks great and the pricing is awesome. Any plans for a Linux version?
- ttd 9y agoThanks 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.
- deleted 9y ago[deleted]
- kaushalmodi 9y ago+1 for Linux version!
- infinisil 9y agoAnother +1 for a Linux version. Is there some similar tool avaialble on Linux for now?
- dflock 9y agoInkscape: https://inkscape.org/ https://inkscape.org/
- kuon 9y agoI would also accept paying more for a Linux version if the port is done correctly.
- kuon 9y agoI'd also suggest that you create a waitlist (or "interest list") for the linux version.
- nizmow 9y agoI'd really love a good GUI framework for .NET Core on Linux, but there's nothing really out there yet.
- dom0 9y agoPDF export: can it create automatically cropped PDFs, e.g. for inclusion as bare figures in LaTeX? Can it render PNGs at high qualities?
- vbuwivbiu 9y agobut LaTeX can crop PDF images anyway
- dom0 9y agoThat 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.
- ttd 9y agoYes, 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"
- jostylr 9y agoDo 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.
- turdnagel 9y agoPardon 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.
- wmeredith 9y agoI 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.
- ttd 9y agoInstantly 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.
- tgb 9y agoThis 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."
- ShaneOG 9y agoLooks great. Signed up for the waitlist (macOS). Do you plan to offer template support? I would love to use this to create network diagrams.
- ttd 9y agoOn the roadmap is a "shape search" similar to what Visio has. Is that the sort of templating you're thinking of?
- rcdwealth 9y agoThat is proprietary software. I am now touching it.
- deleted 9y ago[deleted]
- lklklkj2342487 9y agoIt's so refreshing to see something other than Electron-based garbage on HN.
- theveloped 9y agoThis 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!
- otikik 9y agoThis is funnily aligned to my interests. Some time ago I did a relatively popular slideshow(https://www.slideshare.net/otikik/how-to-make-awesome-diagrams-for-your-slides 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 https://github.com/kikito/sandbox.lua
- ttd 9y agoThe slideshow looks like a great reference, and I will absolutely be revisiting your Lua sandboxing repo to learn more about your approach. Thanks!
- mmargerum 9y agoWill you be putting this on the mac store?
- ttd 9y agoI am not sure on this yet, but this will be decided before the Mac version is released.
- protomyth 9y agoAre 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.
- thomk 9y agoI couldn't disagree more with this statement. Omnigraffle 7 blows Visio away.
- protomyth 9y agoI 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.
- seanmcdirmid 9y agoVisio 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).
- protomyth 9y agoI'll take classic and allowing me to draw what I want over 'modern'.
- seanmcdirmid 9y agoIt feels horribly outdated whenever I try to draw something. Omnigraffle is far ahead of it.
- ttd 9y agoYes, 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.
- bryanrasmussen 9y agoI have a lot of diagrams in graphml, can I import?
- ttd 9y agoAt 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.
- ai_ia 9y agoI have looking for something like this. Thank you so much creators of Vexlio.
- polskibus 9y agoHow does it compare to open source draw.io?
- angry_octet 9y agoAny chance you would have OmniGraffle interoperability? It's the killer app that keeps me using OS X.
- bastijn 9y agoI 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
- ttd 9y agoI'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.
- bastijn 9y agoNo. Only close or debug pops up.
- vijucat 9y agoVery 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.
- conmarap 9y agoIt 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.
- vijucat 9y agoOP, 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.
- payneio 9y agoLinux plz