Show HN: Vexlio – Create precise, beautiful diagrams
vexlio.com
vexlio.com
I almost want to give you money just to encourage this kind of behavior.
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
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.
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.
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.
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.
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 ]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!
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.
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?
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).
Is the license activation per machine? (As opposed to be being per user.)
Is the scripting language in the gif example Ruby?
Slightly off-topic. Did you use a predefined Hugo theme for the landing page ?
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)
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.
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
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 UnicodeI'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.
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.
Right now there is no way to change the default white background (exported as transparent), but this would be an easy thing to add.
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.
Do you plan to offer template support? I would love to use this to create network diagrams.
Can it render PNGs at high qualities?
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"
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.
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?
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.