Show HN: Lekh Diagram, sketch recognition diagramming app for ipad
itunes.apple.com
itunes.apple.com
• If you can attach text to a bezier connection, I couldn't make it happen. I want this. Code faster, sleep less.[2]
• I kept trying to move objects a little bit without the double pump of first selecting. This makes tiny fly dropping lines which have to be undone or deleted. I think a short, brief gesture from the center of an object might be safely interpreted as a drag. You must already be deciding if it is a connection or a line. What's one more logic branch?[3]
• I'd like to select several objects of a class and have the option to "make same shape" in order to tidy up. Say, grab 3 rectangles and make them the same dimensions. Easy context menu item, but you have to figure out how to select 3 arbitrary rectangles first. Perhaps in select mode a brief touch adds or removes from the set of selected objects?
• For reshaping rectangles and ovals, I think a horizontal or vertical pinch should change just that dimension, diagonal can still resize preserving aspect ratio. This gives a natural way to change aspect ratio without all the mode-i-ness of the vertex.
• I find myself wanting to connect more than 4 things to a rectangle, I want them to come in at right angles to a side, but not overlap their lines on the way in. That will take a day of thinking to imagine a solution to rendering that. Having them spaced pleasingly, near the center of the side, in an order to minimize crossovers would be lovely. Good luck.
• I keep making fly specks on my drawing by touching the surface. I want that not to happen, but I suppose I might eventually want to make a tiny line too. Please resolve my ambiguous actions like an oracle. I expect this to be done so well I never realize you are doing it.
• Xcode-esque snap to other stuff on the page would be nice, particularly snapping to "things I am connected to" would help keep those horizontal and vertical lines tidy.
• I think adding "shake to undo" would be nice. That undo button is so far up in the corner, it feels like a context switch to me to go hit it, while a shake is just part of my flow. How strange is that?
Well that should keep you busy until December 1st. I'll get back to you with my next set of demands then.
EOM
[1] I kid, But I don't get to be the "user" end of these very often and I'm going all out.
[2] The Omni Group NSBezierPath extensions might be helpful here, they have a getPositionForPoint: method that tells how far along the path a point is, and a corresponding getPointForPosition: so you could glue the text to a relative position along the curve. They also have hit testing for NSBezierPath, but you already crossed that bridge. https://github.com/omnigroup/OmniGroup/blob/master/Framework... [4]
[3] Plus a time machine so you can draw the feedback as a line or drag without knowing if it is going to be short or brief. Your problem. Not mine.
[4] You realize if you give me this I am going to come back and ask for the ability to drag the text along the bezier curve, right? Best plan for that from the start.
The real time collaboration using this app is a killer idea. This was suggested by many people sometime ago (in pre launch demo). But honestly, this feature will take some time to implement.
For more info: http://www.avabodh.com/lekh
But… why don't you support DOT as an export type? It would be so unbelievably awesome for me to prototype in Lekh and then finess with DOT.
Anyway congratulations on the release!
I was not aware of DOT format. Just now goggled and found the wiki page of DOT. Looks interesting. Probably in next release/update I will add DOT support.
Let me know if I can help you in any way.
Edit: spelling
Which here I think means, get your sketch-recognition feature as near to the beginning of your description as possible. Only the first sentence or two show up in the web and desktop-iTunes store (don't have ipad with me now), until you hit "...More" to expand the description.
Maybe replace "with extreme ease" with something along the lines of "simply by sketching shapes with your finger".
You could also use the first screenshot slot to show a nice illustration of the UI procedure. For example, a photo montage of a finger sketching a freehand shape, and then that shape re-rendered by your app.
The icon too, could be used for some rendering of the freehand concept.
Maybe I'm missing what makes Lekh distinct, but if it's this, show it off as much as possible -- don't bury it in text!
<sarcasm>Cue to patetent lawyers in 3...2...</sarcasm>
And regarding the instaviz, this very restrictive. It does not allow you to rearrange the shape the way you want.
The sketch recognition might be patented (at a minimum there is previous art), and I know it is only one piece. But that is enough to create some unwelcome letters. And it is also the reason why I am against patents. This is a case where copyright is enough, and IP would be counter-productive
Kudos to you for figuring out shape recognition. It took me a long while to get my head around it.
What I miss is a "snap to grid" feature.
Some comments:
- dragging object feels slow on iPad 3
- the line and text options give too much choices, maybe you could have an advanced toggle to enable fine-grained parameters, and a default with simpler options (like just 5-10 colors, no transparency and no line width)
Your app needs a bit more polish, and your icon could do with a bit more work, but for a first version its fantastic.
Your app has replaced grafio as my goto diagramming tool.
Q1: What algorithm do you use to recognize the closest shape?
Q2: Which shapes are the most difficult to recognize?
Once I know if this is quadrilateral, then uses various heuristics to find out if it is close to a rectangle or parallelogram etc.
I would suggest some sort of transitional photo. Show the sloppy drawing fading into the crisp flowchart. Maybe a little text on the image. "Draw flow charts in seconds!".
You may want to consider making the dash/color/fill tappable, instead of relying on the tiny disclosure button. It would definitely speed up access to those features.
edit: It feels a little naked without pinch-zoom.
I guess you asked connecting to itself.. right?
for that draw a independent bezier curve. You can easily move and modify the bezier curve by moving it's control points.