TremulaJS
garris.github.io
garris.github.io
If I click+hold and move my mouse fast, then bring it to a stop and let go, the thing spins off into the abyss because it's as if I swiped fast when I did not. I repositioned the cursor to a set point and let go - it stopped and should stay stationary.
If I move my cursor slowly there is absolutely no inertia. If I move my cursor above some arbitrary speed, the thing spins like it's trying to take off. edit: Sorry, there is a very narrow band of inertia levels. Most of the 'slow' mouse movement sits below the lower bounds and so has 0 inertia, and if I go even just a bit faster I exceed the upper threshold and shoot off into infinity.
The first thing I did was try to use my mouse wheel to scroll, like just about every other desktop implementation of such a list. Nothing happened and I wondered if it was just a fixed image I was interacting with wrongly.
edit: FF 38.0.1, Win7 x64, default mouse settings (6/11 slider setting, "enhance pointer precision" acceleration on, presumably 400 dpi on this generic dell workstation mouse).
edit #2: I should clarify: graphically, this is neat and I like it. I haven't tried it on my phone but I sense that it'd work well and look good, but on a PC it just keeps moving in ways you don't want it to and feels all wrong. I keep having to 'catch' the images after flying over them several times.
Good luck at guessing how "static/dynamic linking" applies to javascript. Then wonder nexus between the concept of "distributing" and HTTP downloading. It's license trolling at its finest :)
And as to static/dynamic, absolutely.. if it's properly abstracted, does dynamic mean just leaving it in its' own file (separate script tag in the browser)?
Scope of the work however is not well defined on the web. Is each page a separate work, or should the domain of a site define the limits where one work begin and one work ends? Does a image count as part of the work, or abstracted and separated? What about links? And then we got Javascript.
Personally, I lean towards JS and images being in the same boat. If an image creates a derivative work when added to a website, then JS surely does the same.
Desktop-only interactions on mobile just makes a site seem simple. Touch=click, swipe=scroll. As long as buttons are big enough and have enough padding no one complains and they use it fine.
Mobile-only interactions on desktop though are generally horrible.
Not to mention supporting left-right arrow key binding.
That said, if this was for a mobile-only interface (Apache Cordova, or similar) might not be so bad. Didn't look to see the implementation details, but Angular, React and Bootstrap compatible versions of this as components would be awesome.
Some presentations are just not made for a broader public that doesn't have a crystal ball to give the answers the site builders forgot to include.
Yes if those portions are separate pages, otherwise no. The GPL doesn't permit linking to (i.e. calling into or calling from) non-GPL'd code . The GPL FAQ states that an exception to the GPL is needed in order to permit JavaScript library calls, see http://www.gnu.org/licenses/gpl-faq.html#WMS. Any application code which interacts with Tremula must be under the GPL and any libraries it uses must be GPL compatible. Any code which calls into that application code will also need to be under the GPL too.
(We were early Browserify adopters, two years or so ago, and haven't looked back since - or even bothered to evaluate any of the newer alternatives, in fact.)
That said, I love my ES6/7 syntax sugar, and write a lot of server-side JS too, so the transpiling doesn't really bug me.
You mean straight DOM not JS because as a matter of fact, jQuery didn't add a lot to the feature set of JS but contributed immensely to fix/smooth the DOM API.
[].concat(document.querySelectorAll('#foo > div')).forEach(function(div){
//got my div
})
Isn't too much worse than $('#foo > div').each(function(){
var div = this;
//never liked this pattern, and even then why isn't "this" a jQuery object?
});
Let alone adding another few dozen k for the library itself... Zepto is about 1/3 the size for modern browsers, without all the extras you generally don't need if you just want some dom sugar around modern browsers. Though, I'm not sure if Zepto has enough for say the Bootstrap components to work against.As to why... well, it makes more sense with jQuery's event listeners (`$(this)` being much shorter than `$(event.currentTarget)` and usually being what you actually want), and thus I guess in the name of consistency it's good to have all callbacks behave the same way. Why it's not a jQuery object... pass. More often than not that would be what you want, and if it's not, `.get(0)` or `[0]` is hardly a great stretch. Historical reasons, perhaps.
If I'm iterating over collections of elements and I have access to Underscore, I'll just use `_.each($("..."))`, which has the benefits of a more suitable `this` and the callback arguments in a sensible order (element then index).
$('#foo').click(function(foo,event){ ... });
$('#foo .item').each(function(item,index){...});
Is more sensical than... $('#foo').click(function(event){ var foo = $(this); ...})
$('#foo .item').each(function(index){ var item = $(this); }
With jQuery, I couldn't use a function that was bound to an object. $('#foo').bind('foo',myContextObject.handleFoo.bind(myContextObject));
The binding/pattern just blows up, and handleFoo can't get to the foo instance... It's just really sloppy in my mind to change the context of functional expressions that way. Don't get me wrong, I really like a lot of what jQuery has done, and it's better than what came before it, I just find that using the this context removes a lot of options.Once ES6 is well handled by the browsers a lot of these intermediate shims/libraries will go away anyways.
As to webpack, conceptually it's awesome... though it just feels a bit alien to me in practice. Just a few layers too much PFM (pure f*ing magic) for my taste, when I am already using ES6/7 syntax more and more in addition to React, BabelJS, Browserify bits.
> Otherwise please use the original title, unless it is misleading or linkbait.
Chrome 43.0.2357.81 (64-bit)
starting tremula
getJSON problem.
no target object selected
Tremula: Warning. No data found on layout operation.
no target object selected
Tremula: Warning. No data found on layout operation.
TypeError: reduce of empty array with no initial value
no target object selected
TypeError: reduce of empty array with no initial value
no target object selected
TypeError: reduce of empty array with no initial value
no target object selected
TypeError: reduce of empty array with no initial value
Tremula: Warning. No data found on layout operation."
no target object selected
Tremula: Warning. No data found on layout operation.
Firefox 38.0.1 (64 bit)Mixed Content: The page at 'https://garris.github.io/TremulaJS/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://ws-decor.art.com/api/decorProductSearch?engine=judy&p.... This request has been blocked; the content must be served over HTTPS.
XMLHttpRequest cannot load http://ws-decor.art.com/api/decorProductSearch?engine=judy&pageNumber=1&num…se&totalRetrieved=0&getDataFromThisUrl=null&totalFound=1000&pageReturned=4.
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://garris.github.io' is therefore not allowed access.Great to see high quality options for sharing photos outside of putting them all on dropbox/google/flickr/etc. Does anybody know of any similar functionality from other packages? I haven't seen anything close but haven't looked hard lately.
TremulaJS is a client-side javascript UI component providing Bézier-based content-stream interactions with momentum & physics effects for mouse, scroll and and touch UIs.
Put another way, TremulaJS can be thought of as an extremely bad-ass image carousel.
Edit: same with Firefox. I have an Intel Celeron 2.6GHz system, /proc/cpuinfo gives two CPU cores at 5188 bogomips.
The request to art.com's search API which is taking many seconds and probably isn't making their servers very happy, is not so cool, and possibly illegal.