HotDrink is a declarative, constraint-based UI system that models the flow of <i>data</i> across the elements in the UI[1]. Trivially, it can repurposed for layout; although, most UI designers balk at the loss of control. The basic idea comes from a sizing dialog:<p><pre><code> height: [ ]
width : [ ]
area : [ ]
</code></pre>
If the user enters a height & width, the form should update area [2]. If the user then updates area, then height is the free constraint (last recently updated). The whole system scales to work with incredibly large interfaces [3]. The experience section in [4] describes Adobe's experience porting chunks of Photoshop to using this system. (I did the figures for [4]; I'm quite proud of them.)<p>[1] <a href="https://code.google.com/p/hotdrink/" rel="nofollow">https://code.google.com/p/hotdrink/</a><p>[2] <a href="http://dl.acm.org/citation.cfm?id=2371413" rel="nofollow">http://dl.acm.org/citation.cfm?id=2371413</a><p>[3] <a href="http://dl.acm.org/citation.cfm?id=2047892&CFID=690849385&CFTOKEN=46545378;" rel="nofollow">http://dl.acm.org/citation.cfm?id=2047892&CFID=690849385&CFT...</a> <a href="http://dl.acm.org/citation.cfm?id=1449927&CFID=690849385&CFTOKEN=46545378;" rel="nofollow">http://dl.acm.org/citation.cfm?id=1449927&CFID=690849385&CFT...</a> <a href="http://dl.acm.org/citation.cfm?id=1621630&CFID=690849385&CFTOKEN=46545378" rel="nofollow">http://dl.acm.org/citation.cfm?id=1621630&CFID=690849385&CFT...</a><p>[4] <a href="https://parasol.tamu.edu/~jarvi/papers/gpce08.pdf" rel="nofollow">https://parasol.tamu.edu/~jarvi/papers/gpce08.pdf</a>
Nice. But as with most of these libraries, I don't think it can handle large numbers of nodes/edges and show such graphs in a meaningful way. It really takes more than a force-directed algorithm to present data in an understandable way.<p>Here is a nice collection of large graphs: [1]
Visualize that in a useful way, and I'm impressed.<p>[1] <a href="https://snap.stanford.edu/data/" rel="nofollow">https://snap.stanford.edu/data/</a>
Offtopic - why does monash.edu.au redirect to monash.edu? This is an Australian university.<p>Edit: also, <a href="http://nic.monash/" rel="nofollow">http://nic.monash/</a>
can anyone recommend more papers/algorithms/reading material on layout algorithms in general? I'm very interested in layout algorithms of smaller node/edge counts (less than 1000). most material I've found is geared towards "big data" and hundreds of thousands (or more) of nodes/edges.