Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Ecola – touch screen tree editor with hierarchical zoom (github.com)
46 points by hcs on June 24, 2017 | hide | past | web | favorite | 14 comments



I love the zooming & want to use this for category theory diagrams.


Thanks! If you can point me to a good structure I'd like to try coding it up in this system, category theory has mostly gone over my head so I'm not sure what you're thinking of. If it's large I might finally have to start optimizing :)


Where is the license?


If you want to use it now I can slap on whatever license you'd like, it's just a first test so I haven't thought about the "real thing" yet.


Not OP but personally I'd prefer MIT or Apache if you want it to be as useful as possible for as many people as possible.

If you intend to make money from license sales you could go with APGL/Commercial dual license. (That will most likely make me stay away until I can justify a commercial license.)


I'd caution the author against MIT style licenses for such an early release of a text editor; it's easier to loosen restrictions than it is to add them. Especially for an editor, having a GPL-esque license wouldn't have much practical impact on its use, aside from making it harder to embed and re-release it (which could be considered a feature of choosing that license).

The sole exception I can think of is plug-ins, but that would depend on the implementation.


What happens if I write a text editor under GPL, then I want to spin off some backend components under Apache2 or MIT or LGPL?


If it's all your code? Nothing. You own the copyright, therefor you can re-release the code under any license you want.

The only problem is that existing releases will remain under their original terms of release. For example, if you create a release with MIT, that release will remain available under the MIT licensing terms until your copyright of that code expires.

IANAL and all that, of course.


This is good!

I'm currently working on something related and I could really use this.

May I ask how are you computing the shapes of rectangles? Is there some optimization going on to fit them?


Thanks!

There's no real optimization, everything is just done from the bottom up: a box is large enough to contain its rows, rows are large enough to contain their "cells" (which are just the boxes the next level down).

There is some padding that is fixed, and some (the "handles" on either side of a row) that scales down with depth, though at a different rate than the text which is the main control over box size. Handles disappear entirely first, as it isn't possible to click on a row directly once it gets too small (instead a click will zoom in on the node).

While pinch zooming some effort is made to try to keep focus on the same object, but that's just a matter of keeping the object in the center of the zoom in roughly the same place on screen.

Happy to answer more questions here or by email (agashlin gmail), and I'd love to hear about your project.


It doesn't let me edit text on iphone 6, and Can you show example with large number of nodes and then I may use it


I've got a fairly large example [1] in place now, 128 nodes directly under the root, it is the proof assistant from The Little Prover [2]. I hacked at this a bit to get the framerate usable.

Make of it what you will, I find it neat but overwhelming, and this is only 128 definitions.

[1] https://gashlin.net/tests/ecola/langston/dist/

[2] http://the-little-prover.github.io/


Testing with more nodes is definitely on the horizon, that's the main reason for the zoom (besides being visually interesting). Can you suggest a good data set?

You may have to tap on the text box to get the edit to work and engage your keyboard, the auto focus seems to work only about half the time on Firefox for Android so I expect it is problematic on various browsers.

Thanks for the feedback!


What about a Sierpinski triangle?




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

Search: