Hacker News new | past | comments | ask | show | jobs | submit login
Pure CSS3 dancing Bender (liveweave.com)
245 points by syswsi on Oct 23, 2013 | hide | past | favorite | 66 comments



Not to detract from the creativity here, but the id attribute specifies its element's unique identifier[1]. Strictly speaking, this should never happen:

  <div id="b7">
    <div id="b71">
      <div id="b71">
        <div id="b71">
          <div id="b71">
            ...
[1] http://www.w3.org/TR/2013/WD-html51-20130528/dom.html#the-id...


"strictly speaking" is right. It's invalid but all major browsers will handle the code just fine. Browsers are pretty damn forgiving.

It's also an easy mistake to make. All someone has to do is create an element with an ID in a child template without checking to see if that ID is already used in a parent template.


Is it possible to enable some switch in Chrome to force the browser to render only correct code in dev mode? This would catch me making mistakes that otherwise go unnoticed.

On the note of forgiving browsers, I love how they are a very accepting interpreter of information, much like a human listening to someone's broken English and still understanding what is being said.


Right after seeing Bender dance, that was the very first thing I noticed as well.


Yeah, not sure why it's not throwing a bunch of jQuery errors in the console


I don't think any Javascript is in use at all here, but if it were I would not expect errors but instead simply unexpected behaviour as browsers tend to just try do something if what you are asking isn't clear (for instance if a jquery selector returns nothing, any changes you chain after the call just apply to that nothing instead of complaining that they expect to have some nodes to act on).

Multiple elements with the same ID is wrong of course, so you can't guarantee what will happen if you use and ID based selector: three equally (in)correct interpretations would be "act on the first element you find with that ID", "act on all elements with that ID", and "error because we don't expect to find more than one". By breaking the standard you are exposing yourself to undefined behaviour - the browser can do what it likes and each environment might do something different.


I don't see any jQuery or even JavaScript being used.


> Pure CSS3


This is nuts -- but sadly dancing Bender is not too practical. (Unless the dancing trend catches on and GitHub releases the dancing Octocat to production...)

For more practical CSS madness, I'd recommend Ana Tudor's creations[1]. She had a cool talk at CSSConf.eu about the math behind building some of her CSS creations.[2]

[1]: http://codepen.io/thebabydino/public/

[2]: http://www.youtube.com/watch?v=w9HeWBH_kvg


I've seen her work posted around before, and always found myself really impressed. Thanks for the link to that video, I think it may have sparked an interest in geometry for me.

And I disagree about the practicality of a dancing bender. It's a tech demo if nothing else. I can picture a future where things like this are much easier to accomplish in CSS and we move on from using traditional images.


Wow. Dancing Bender is cool but it's basically just keyframes. Ana Tudor's CSS is on another level.


Great additions but again read my post.


Yeah, I don't want to be critical -- just wanted to point to some other lower-level shapes that might be easier for others to learn from and build upon. 100% believe we need more dancing characters, not less.


It looks like you're designing a user interface. Would you like some help with that?


Lets not go back to having animated office supplies offering us advice.

That was best left in that last century...

For the young ones: http://en.wikipedia.org/wiki/Office_Assistant



// center the horse, they like that

Pure comment gold.


I think that's cheating.


Oh, clever you.


There's nothing CSS about it. It's simply an image.


That's the joke.


> This Site Totally Doesn't Work Without JavaScript.

Fail!


How does.. I don't even...

Is there some tool they used to make this? Because my human brain can't imagine how this came to exist.


Looks like pretty clean handmade CSS.

I don't see any magic here. Modern CSS3 lets you build arbitrary geometry with arbitrary animations if you're crazy enough.

What I do see here is an excellent grasp of Cartesian geometry and some serious dedication. Which I suppose is no less magical.



The legs slide horizontally off Bender's ass on Firefox 24 on Linux :-( Nevertheless, great work!


I just were wondering the same and if that's intentional to make it funnier. Because hands seem to stick attached to the body well.


You're looking at it the wrong way. This Bender features detachable locomotors.


I thought it's by design :)

Reminded me the undead break dance from the inXile's Bard's Tale: https://www.youtube.com/watch?v=sP_7nFldRtY


Works on iOS 7 Safari and Chrome for me, but not IE10.

It seems to bring into question the practicality of multi-browser support of these complex 'apps' utilizing fancy CSS and HTML5.


A lot of the neat features used in demo's like this (although I haven't checked this ones code specifically yet) often rely on prefixed features and the like; it's more for showing what could be, rather than what is per se.


Likewise, doesn't work in FF24 on Windows either, nor in IE10.

I am wondering if this works in anything aside from Webkit based browsers.


It works fine, but if let for a while the legs detaches, I thing some variable is offsetting


That's because Bender's metal ass is so shiny.


For those of you who are bound to ask the point, this is pure hacking. You are given a technology and you produce a result, sometimes for the fun of it! Thanks for this! I learned a bit.


I love when people see the potential to use HTML structure as a makeshift DAG. Similarly, once the DOM got fully grokked in the mid-2000s, it was if the web changed overnight. From flat documents to a flexible graph. And to do this without JS? We're talking no actual imperative code here, just dead structure and presentation markup.

This is one of the first CSS animations I've seen that works flawlessly for me, at least on the iPhone. I also noticed the non-unique ID attrs as is noted below, but let's be real. With that amount of CSS to conceive of and write, would you really glance twice at the twenty lines of HTML you're using as a fly-by-night DAG? For a non-commercial passion project? The creator of this was in the ZONE!

The pure insanity makes me grin and long for the pre-teen days where there was time for this. All the ANSI art, the HyperCard stacks, the strange games made using dirt-cheap language implementations. Sigh, but a nice sigh. Also makes me damn grateful for open source and standards.


This is really neat. I'm really interested in seeing how all these new fancy CSS3/HTML5 features shape the evolution of casual online games. Back in the day it was either static images, like the Neopets sort of thing (which are still pretty common with young kids I think - Webkinz is a cash cow and that site looks straight out of my childhood), or slow awful Flash games that usually didn't have any data persistence. Even if this Bender example is kind of hacky as other comments are indicating, the possibilities still seem pretty limitless.


For an example of one modern JS game, see http://www.bombermine.com

I'm not aware of any games that use CSS3 for the ingame graphics, though.


It seems like we should be seeing heavy duty graphical editors that output CSS3 animations. Any tools exist yet?


Well, there's this: http://www.sencha.com/products/animator/

Never used it.


Like Google Webdesigner? http://www.google.com/webdesigner/


I can't believe this show is off the air. Again. Forever. :-(

Anyways, I hope ad people don't catch on to how CSS is a bit harder to block than JS.


Try zooming in your web browser for a ghostly -- some might say spooky -- disembodied bender.

Just in time for halloween.


Unfortunately Bandcamp's embed doesn't seem to be working in Firefox/liveweave for me, but here's a theme song added:

http://liveweave.com/bhu7HB


neat!

I've gotten into CSS3 and JS recently but I'm not sure how this works.

Can someone explain to this old C dog the principles of how it works, though? I thought this would require JS to work?

I apologize in advance for being out of touch. :(


You set up your elements in HTML, then do the keyframes and reposition the elements in CSS.

I did this: http://lucianmarin.com/peculiar/


After a while the legs and to some degree arms go out of sync with the rest http://i.imgur.com/EMGqXA3.png


Several <div>s with the same id... heresy!


Made my day. I need this for my 404 pages.

Is anything known about the author or license of this work? Will Comedy Central likely object?



Lovely, congratulations. This kind of thing inspires me to learn more and more!


This must be what CSS3 has been invented for. I can die in peace now.


Looks awesome while listening to Another Brick In The Wall Pt.2


Always find myself stunned by the capabilities of CSS.


What people can do in CSS3 blows my mind. I love this!


The real Bender's eyes have square pupils.


Hacker's equivalent of animated gif :)


I call bullshit on the "pure css" part. Nothing works if you have javascript turned off.


It's actually liveweave which doesn't work with javascript turned off.

This works if you don't have javascript on: http://fiddle.jshell.net/w5GFR/show/light/


That's because the site that's hosting it depends on javascript to serve anything up, not the demo itself.


Impressive! Great job.


Just WOW. Good job.


Ha. This is great!


holy mother of god! this is absolutely awesome!


Guess CSS is basically a Turing complete language.


boom!




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

Search: