Show HN: GoldenLayout – JavaScript Layout Manager
golden-layout.com
golden-layout.com
To justify a licensing price, a javascript library needs to offer huge, peerless, hard to imitate functionality, stable code base, rapid bug-fixing and preferably a paid team working on it.
Which isn't to say that nobody will buy it. At $99 per site even one or two dozens of customers would cover the development costs.
I prefer licenses that are based on how much something gets used. So, free if your site has small traffic or maybe free if the number of developers using it is small. That lets me use it in experimental projects or personal side projects (which may or may not make money and hence may be commercial) but not have to pay until the project grows large enough to be worth buying something like this.
I think the only library I've ever bought for a web project was $30 for a site license. It was when I worked at a company and multiple projects were going to use it and run from the same domain.
In this licensing model, it is far from certain that the library will continue to be developed and supported.
I do understand that buying code can be a very good choice. But the decision isn't just "purchase price" vs "features".
Also you still have to support the code yourself, even if you buy it.
I'm not saying that this is completely unreasonable. What I am saying is that small javascript libraries are a very tough sell.
Edit: there is https://golden-layout.com/?gl-window=%7B%22g%22%3A%5B%7B%22o...
Please don't chastise me for disclosure ethics, this one was low-hanging fruit.
The Golden Section is a number considered to produce the most aesthetically pleasing ratios of things. A playing card's dimensions are usually roughly the same ratio: 1:1.618
For the past few hundred years print designers have been aware of the Golden Section and have been working it into their page sizes and margins - so wether it's beautiful and that's why we use it, or we use it and that's why it's beautiful - there's no question that we are familiar with seeing this design tool be used in print.
This looks like a library to help integrate some of those layout ideals into your code in ways that would be tricky or cost a lot of time to implement otherwise.
A 1:1.618 ratio has some geometric properties that are useful in rare situations, but the idea that it is "aesthetically pleasing" is completely unfounded.
Explanation here: http://www.lhup.edu/~dsimanek/pseudo/fibonacc.htm
What's cool about the golden ratio is that it's the most irrational number by a couple of interesting heuristics, having come from one of the simplest recursive processes you can think of and therefore having the simplest continued fraction.
Transforming the definition of a golden rectangle into a process to "goldenize" a rectangle by adding a square to one side and rotating by 90 degrees leads to `goldenize (w, h) = (h + w, w), which implements the Fibonacci recursion rule. In turn if you "lift" the subscripts in that rule into superscripts F^n = F^{n - 1} + F^{n - 2}, you get a quadratic for F and if you solve it, you get the golden means F = φ and F = -1/φ.
You can also see this recursion at work in pentagrams: if you work out the three angles at the vertex of the outer pentagon, it turns out they're all the same angle (36 degrees, 180/5). If you then look at the side lengths in the top part of the pentagram, this fact lets you infer that the sideways-pointing triangles are isosceles (36-72-72) and combined with the 36-36-108 isosceles triangle you can derive the golden ratio again.
Those things about it are aesthetically pleasing; but I don't find that people unconsciously choose ratios of Fibonaccis as their perfect rectangles moreso than, say, 4x3 rectangles.
I was just looking if it makes sense to adopt, but our needs are pretty customized compared to what is offered here. But a lot of it is similar. Maybe if we were starting over, this would make sense and we could have adopted it.
Screenshot of our tab/multiple window UI: http://exocortex.com/img/blog/OneYear_ModelingTab.png
I think this is a real contribution though, especially if others build upon it.
Q: Can I apply a Creative Commons license to software?
A: We recommend against using Creative Commons licenses for software. Instead, we strongly encourage you to use one of the very good software licenses which are already available. We recommend considering licenses made available by the Free Software Foundation or listed as “open source” by the Open Source Initiative.
https://wiki.creativecommons.org/Frequently_Asked_Questions#...
RavenDB is a company that offers a dual license commercial and AGPL. http://ravendb.net/docs/appendixes/licensing You may be able to glean some information on how they do it.
For a sampling of how complex the legal issues around the GPL are: https://en.wikipedia.org/wiki/GNU_General_Public_License#Lin...
However, note that, say, an MIT licensed or BSD licensed or Apache licensed project, developed for noncommercial use, would be prevented from using your library for their layout, because then the non-commercialness of the CC BY-NC could "infect" their project and prevent them from using those licenses. For instance, the Highcharts license caused this project to switch to a competing library altogether: https://github.com/sebastianbergmann/php-code-coverage/issue...
In general, there's no good solution, but I personally shy away from CC-licensed code.
(I am not a lawyer, and this should not be construed as legal advice.)
I realy like the concept in Blender where you can divide the screen the way you like and select a view(controller) per division.
What are the plans for graceful degradation on mobile?
A typical set-up at work (game studio) is 2-3 monitors for artists/level builders. We had to write a new docking system for Qt5, since the existing did not allow to dock outside windows to others (or tab in them) - e.g. bit like Visual Studio docking (but not there yet)
The window you popout can still communicate with its opener until you refresh or navigate away from that page. It's not ideal, but it's the best you can do without using something like signalr or sockets.io to join everything together.
Chrome Version 39.0.2166.2 dev (64-bit)
The ones that didn't still have money.