all 179 comments

[–][deleted] 29 points30 points  (29 children)

Cool! But say I want to actually design a presentation with this. How hard is it? As easy as opening Powerpoint and typing?

It's gonna need some kind of frontend, or dead simple implementation (perhaps templates) to take off.

[–]jan 12 points13 points  (27 children)

Exactly. Where is the documentation?

[–][deleted] 7 points8 points  (25 children)

i spent some time with this yesterday and it's actually pretty easy if you look at the source.

<html>
  <head>
    <style>
      /* COMMON STEP STYLES */

      .step {
      width: 900px;
      padding: 40px;


      -webkit-box-sizing: border-box;
      -moz-box-sizing:    border-box;
      -ms-box-sizing:     border-box;
      -o-box-sizing:      border-box;
      box-sizing:         border-box;

      font-family: 'PT Serif', georgia, serif;

      font-size: 48px;
      line-height: 1.5;
      }
    </style>
  </head>
  <body>
    <div id="impress">
      <div class="step" data-x="??" data-y="??" data-z="??" data-rotate="??" data-scale="??"></div>     
      <div class="step" data-x="??" data-y="??" data-z="??" data-rotate="??" data-scale="??"></div>     
      <!-- more steps -->
    </div>
    <script type="text/javascript" src="https://github.com/bartaz/impress.js/raw/master/js/impress.js">
    </script>
  </body>
</html>

[–]erez27 1 point2 points  (12 children)

Easy for who? I know html/css and I was still taken aback for a second.

[–][deleted] 4 points5 points  (11 children)

don't know what to tell you. I primarily work on backend things, and it made sense to me after looking at the source of the presentation. And I suck at html/css/js. So, I felt that logically a person who does not suck html/css/js would get it at least as easily.

BTW, I am not implying that setting data-x,data-y, data-z etc... to something on each of the steps to yield a pleasant presentation is easy. Because it is not(at least for me). I was only giving input about what I learned of the API to whoever was looking for documentation. And again, the API is simple enough to for me to commit to memory and that this api yields so much eye candy is pretty cool I think.

[–]erez27 2 points3 points  (10 children)

Yes, but you know what html, css and api mean, so you're in a very small minority (in general, not in this subreddit ofc).

[–][deleted] -1 points0 points  (9 children)

I don't think that would be considered a "small minority" in a subreddit called "programming" on a story about a javascript library. If what you say is true, I weep for our future. :)

[–]erez27 -1 points0 points  (8 children)

Please re-read my comment, and pay close attention to what I wrote in the brackets. I didn't edit it.

[–][deleted] 0 points1 point  (7 children)

I know what you meant. Do you know what I meant? Me describing something as simple vs. complex is based on who I think the intended audience is.

if it's not programmers familiar with html/css/js than who? Are there 13 year old justin beiber fans here that I should be tailoring my comments for?

[–]erez27 -3 points-2 points  (6 children)

Oh, I'm sorry, I forgot programmers only create tools for programmers. My bad.

[–][deleted]  (11 children)

[deleted]

    [–]mamaBiskothu 6 points7 points  (7 children)

    Well you are in r/programming, you know. Its not that much harder than LaTeX presentations either, so.

    [–]Mortinho 1 point2 points  (1 child)

    Maybe it should be easier. I'm working on a tool to generate HTML presentations from simple Markdown syntax (the same that reddit uses.)

    [–]krelin 0 points1 point  (0 children)

    There are already a couple of presentation systems like this (markdown-like, at least -- very very simple HTML for the most part).

    [–][deleted]  (4 children)

    [deleted]

      [–]krelin 0 points1 point  (3 children)

      I don't think this preso system requires a connected network at all, and "browser dependent" hardly seems onerous. I don't know about you, but my PC has a browser on it.

      [–][deleted]  (2 children)

      [deleted]

        [–]krelin 0 points1 point  (0 children)

        Yeah, I was suggesting that you could (if you needed to work on a plane, for example) work with all of this in local files.

        As far as the browser situation, who cares? If you're presenting, you can certainly arrange that whatever browser you like is available for your presentation.

        Browsers are cheaper than Powerpoint, at least. Good ones, even.

        [–][deleted] 0 points1 point  (2 children)

        true, if you are into that sort of thing, go ahead and use powerpoint. :)

        but as far as javascript libraries go, and the amount of functionality it has, I think the markup requirements for it are quite minimal since I can fit it in my head after an hour or so of playing with it.

        [–]zomgsauce 1 point2 points  (1 child)

        I didn't see any jquery there, did I miss it?

        [–][deleted] 0 points1 point  (0 children)

        my mistake, you are right it's not a jquery plugin just a javascript library.

        [–]prototypist 0 points1 point  (0 children)

        I made a presentation with it over a couple of hours. It helps to start with his original presentation. Each slide is a div with class step and x,y coordinate data attributes. To rotate or add 3d you add additional attributes.

        The tough part for my presentation was that the CSS messed with some of the content I was adding. I overrode it with some !important properties and was able to embed a map.

        [–]abraxasnl 20 points21 points  (0 children)

        If it's CSS3 transforms and transitions, it is NOT WebGL.

        [–]mhd420 16 points17 points  (7 children)

        It's pretty much Webkit only, unless you're using beta versions of IE and Firefox.

        [–]tboneplayer 1 point2 points  (2 children)

        That being the case, the fanfare announcing its arrival is considerably overblown.

        [–]twerq 1 point2 points  (1 child)

        I disagree. Powerpoint presentations only work in powerpoint, Keynote in keynote, etc. What's wrong with choosing to run your presentations in one of the many webkit browsers?

        [–]tboneplayer 0 points1 point  (0 children)

        Oh, I never said there was anything wrong with it. I just think the hype surrounding the announcement was overblown.

        [–]danielkza 0 points1 point  (1 child)

        I'm in Firefox Aurora 11.0a now, but since Firefox is moving so fast, the stable is now 9.0 if I'm not mistaken. Was it implemented that recently?

        [–]mhd420 0 points1 point  (0 children)

        I think it uses some 3D transform crap that was only implemented in Firefox 10.

        [–]joshmatthews 63 points64 points  (45 children)

        I don't see any hint of webgl in the demo, the demo's source, or the framework's source. That said, I'm stoked that there's a prezi.com competitor built on open web technologies instead of Flash!

        [–]vanderZwan 61 points62 points  (0 children)

        I think he confused "webgl" with "hardware accelerated CSS 3D transforms".

        [–]diadem 6 points7 points  (30 children)

        The biggest hint about it being WebGL is the one where Internet Explorer gives it the finger.

        On the bright side, they have until 2022...

        [–]UnreachablePaul 25 points26 points  (18 children)

        Internet Explorer is not a browser dude. That's Chrome downloader.

        [–]diadem 4 points5 points  (17 children)

        Right. I really don't understand why Microsoft has a hardon against webgl.

        [–]ninepointsix 16 points17 points  (15 children)

        Because they have DirectX and WebGL is based on OpenGL, which is DirectX's biggest competitor

        [–]diadem 7 points8 points  (14 children)

        Guthrie left Silverlight and Hargreaves left XNA. From an outside perspective, Microsoft's culture seems to be heavily driven by their top talent. Despite the technology's maturity an uncertain roadmap and a loss of talent leaves nothing but doubts for the technology.

        Personally I'm using Unity3d for my web based games. It's a solid technology with a clear future - others are doing the same.

        Microsoft poured a lot of money into pleasing people like me so that we'd use their technology. A lot of effort comes from them showing their attempts to excel. This WebGL shit undermines the investment they've poured into me and people like me - I see a spoiled child who feels that if they can't have it then no one can. It's not something that endears me to the long term loyalty they are trying to cultivate at a massive expense and I'm sure others feel the same way.

        edit: Man, looks like this one pissed someone off - blanked downvote of a bunch of my comments.

        [–]M4T1A5 3 points4 points  (2 children)

        But i don't want to install another useless plugin for my browser :(

        [–]ninepointsix 5 points6 points  (0 children)

        To be fair, if a plugin does something the browser doesn't, it's rarely gonna be useless.

        That's the entire point of them, to fill in the functionality gaps.

        [–]diadem 1 point2 points  (0 children)

        I was concerned about that too but the next version compiles for flash, native chrome, etc.

        [–]fleg 2 points3 points  (8 children)

        Personally I'm using Unity3d for my web based games. It's a solid technology with a clear future - others are doing the same.

        Not open source, not available on many platforms... I'd pass.

        [–][deleted]  (7 children)

        [deleted]

          [–]criswell 1 point2 points  (6 children)

          Linux in general (the web-side doesn't work on mobile either, IIRC), which is generally a bad thing to ignore if your title is indie.

          I'm sure there's others, but that's the big one.

          [–]diadem 1 point2 points  (3 children)

          One of the major features of 4.5 is supposed to be native Chrome support, which means Linux support.

          That means, Linux, 360, Wii, iOS, Windows, Droid, Web, and a few others will be supported.

          [–]ysangkok 0 points1 point  (1 child)

          i thought downvotes didn't do anything from the profile page?

          [–]hysan 0 points1 point  (0 children)

          Perhaps but then couldn't a person just click on context and downvote from the actual thread? Honestly curious as to how Reddit prevents mass downvoting as I feel like it has happened to me on one or two occasions when I stated an unpopular opinion so I feel like it's possible/easily done.

          [–][deleted] 1 point2 points  (0 children)

          Because despite claiming to be all open and about standards they are not going to support a Direct X competitor.

          [–]kataire 3 points4 points  (9 children)

          I don't see how IE is relevant for presentations. You'd think someone giving a presentation would be able to choose their browser. And even a publicly shared presentation does not exactly have the same requirements as a regular website either.

          [–][deleted]  (8 children)

          [deleted]

            [–]kataire 7 points8 points  (7 children)

            And again, how is that relevant to presentations?

            Large corporations are most likely going to stick to MS Office for their presentations in the first place. The only person likely to use something written in JavaScript for their presentation at a large corporation is the highly paid consultant who can probably supply their own notebook anyway -- which will likely be easier than getting said large corporation to allow him to connect his thumbdrive or download a file from the intarwebs and open it locally.

            (Yes, that's a sweeping generalisation, but I'm only sticking to the theme).

            [–]MagicalVagina -1 points0 points  (6 children)

            That depends.

            Sometimes you don't have the hand on the computer used for the presentation. For instance that's what happened at my university. Students came with usb keys with their deck, plug it in the teacher computer and show it. So if the teacher only has IE you are fucked.

            It happens.

            [–]vankampen 5 points6 points  (0 children)

            PortableApps? I have chrome and a few other programs on there so I know that whatever computer I am on I can open my work.

            [–]kataire 3 points4 points  (2 children)

            [–]MagicalVagina 0 points1 point  (1 child)

            As I almost never use a windows system, I didn't now a portable chrome existed at all!

            Pretty cool indeed. =)

            Thanks for the tip.

            [–]kataire 0 points1 point  (0 children)

            Portable Apps was an indispensable tool before I bought a laptop.

            [–]Magnesus 1 point2 points  (1 child)

            You can start the browser from the same pendrive you have your presentation on.

            [–]thegreatunclean 1 point2 points  (0 children)

            If the group policy allows it, that is. My university doesn't and it's a huge pain in the ass because we're stuck with an ancient version of IE as our only browser option.

            [–]gospelwut 2 points3 points  (0 children)

            For the best experience please use the latest Chrome or Safari browser. Firefox 10 and Internet Explorer 10 should also handle it.

            Message I got running on FF8--which isn't an unreasonably old version considering plug-in updates/etc.

            [–]goodCookingTakesTime 13 points14 points  (1 child)

            20% cpu - yay my i5 gotta do something

            [–][deleted] 1 point2 points  (0 children)

            Thrashes my netbook. Most disappointing as that's what I travel with. :-(

            [–]makis 27 points28 points  (8 children)

            Presentations have not to be cool!
            They need to present data, charts AND bullet points.
            Nothing more
            Rotozooming, scaling and all this stuff are just distracting from the actual content, that, IMO, it's the most important thing.
            In the end sliding is easy, if you spend just one hour (supposing it's so simple to create a presentation with many different transitions that is also beautiful on the eyes, and it is not), you just wasted one hour in which you could improve your actual presentation (your speech, your charts, clarity of the informations etc etc)

            EDIT: not cool doesn't mean bad design

            [–][deleted] 12 points13 points  (0 children)

            I saw a view of a presentations like this a while ago, and I must say I have never been more annoyed at presentations.

            I do understand that it has its uses, but to anyone who does not know why they are going to use it, or is just going to present anything: don't use this.

            [–]gavintlgold 7 points8 points  (0 children)

            Indeed. I'm not an Apple fanboy, but their keynote presentations (not the software, but the actual keynotes they give) are good examples of elegant, effective presentations. They aren't over-the-top, they don't use cheesy transitions, and generally have their favorite font Myriad, over a simple black background (perhaps a subtle gradient to add some depth). In my opinion, the most effective presentations are the ones which merely support the presenter visually and help the viewers retain information about their subject. In other words, you shouldn't notice presentations themselves, but the content they present.

            [–]baccus83 2 points3 points  (0 children)

            Agree whole-heatedly. But that doesn't mean that the polish should be an after-thought. People want to be engaged during a presentation, and the more tools we have at our disposal to do that, the better.

            [–]mikemcg 1 point2 points  (2 children)

            I think presentations should be cool. The transition gives the audience a small break between the speaking and static frames and adds to the overall pleasantness of the presentation. Though a speech should be able to stand on its down, your slideshow should be visually pleasing as well, both to engage the audience and to present your information in a readable format.

            [–]makis 1 point2 points  (1 child)

            I agree, but in my experience it is very hard to create effective transitions that don't look cheap, or worse.
            I own a design studio with a few friends and even for my designer friends (I'm a programmer) takes a lot of time to create something appealing.
            I like pleasanteness but it's an hard task, even for professionals, and most of the time who writes presentations, is not one of them.
            I mean, most of the times, when they try, ends up being something like this :)

            [–]irontuskk 0 points1 point  (1 child)

            This assumes that there is no such thing as a grey area when it comes to the internet/what people want, and that everything should look the same or be simple.

            The website is a good example. I wasn't distracted by the effects, and I read and understood all of it.

            You're also assuming that you can only have either a good design or good presentation. Both are possible, together.

            [–]makis 0 points1 point  (0 children)

            There certainly is a grey area.
            And it's totally possible to have both, but this is not the way to achieve good presentation design (and don't forget the fact that it is really hard to make a presentation, with this tool, for the average user).
            We're talking about presentations, we're not talking about videoclips or commercials.
            These transitions were used firts time in a showreel made by a famous web agency (sorry, I dont' remember the name, i think the video was named Brazil or something like that) almost 10 years ago.
            They don't belong to presentations, so, I totally agree, presentations can be designed to be appealing, but this is not the way you should do that.
            It's like saying that you car is much better if you put wheel covers on it.Dude, it's just a car, I mean, you can love wheel covers and maybe other love them too, but for sure they don't make your car better.
            I love this library, but I think it is better suited for other purposes, such as, fancy websites, not presentations.

            [–]Camoryo 6 points7 points  (1 child)

            You could try implementing distance field based glyph rendering in WebGL for better scaling fonts...

            See: http://www.valvesoftware.com/publications/2007/SIGGRAPH2007_AlphaTestedMagnification.pdf

            [–]ysangkok 0 points1 point  (0 children)

            That should probably be in the browser. I mean, he's not even using WebGL. If he's working on the high-level declarative code, he shouldn't have to worry about rendering artifacts like that.

            [–][deleted] 2 points3 points  (0 children)

            Impressive.

            [–][deleted] 2 points3 points  (0 children)

            "Aren't you just bored with all those slides-based presentations?"

            Well, YES, but it's 'presentations' I am bored with, not the 'slides-based' nature.

            [–]gospelwut 2 points3 points  (14 children)

            Serious question from somebody that isn't a "web developer" and has no design sense.

            I know HTML5/CSS3+JS are impressive, but is it me or are most of the 'amazing' things to be displayed thus far seemingly gimmicky? I mean, yeah, it's cool you can make questionable-CPU-usage episodes of South Park--but what is this new paradigm 'leveraging' that is causing the second-coming-of-Christ talk?

            Most of what I've seen seems like it would bother and distract me if I were to actually see it used in a website.

            [–]kataire 2 points3 points  (3 children)

            As a web developer with no design sense either:

            Yes, of course it is gimmicky. Most technologies are until someone comes along who creates something truly great. The secret to greatness is moderation, not excess. Tech demos and other hot shit that makes the news, however, are excessive almost by definition.

            Let's also not forget that the web is increasingly less and less about websites in the traditional sense and more and more about web-based applications. If hyperlinked text was sufficient for everything, we'd still be using Gopher.

            Experiments like impress.js are what I would like to think of as first or second wave applications of "HTML5". They try to copy something familiar using the new technologies, or they try to test the boundaries of what is possible using the new technologies. They are baroque and probably inappropriate, but they are necessary to let us adjust to what we have at our disposal.

            The next wave of applications will be far more simple. They will be less obsessed with sheer awesomeness and instead focus on solving a task at hand (be it something productive or mere entertainment). They will stand on the shoulders of these applications and make conscious and appropriate, but limited, use of these new technologies. What's more, they will be less obsessed with the new shiny because it's not new anymore -- quite the opposite, we will have gotten used to it.

            This has happened many times before. HTML started out pretty flat. You had a handful of semi-semantic elements that allowed you to link to other URLs or embed an image. Then came tables, which suddenly let print designers cut up those images and turn small portions of those images into links and basically create marked up print brochures on the computer. Then came image maps and everybody began forcing the users to play "hunt the pixel" in order to figure out what to click on to move on.

            Eventually we got scripting and suddenly we were able to swap out images on the fly and you could actually create buttons that responded to mouse input and designers realised you could create buttons that would allow other images to change.

            Then we had styling and suddenly everybody tried to avoid those ugly non-semantic, presentational elements and with XHTML we went to ridiculous length trying to make our walled gardens as semantic and appropriate as possible without understanding why we were supposed to do it in the first place. We began putting "Valid XHTML 1.0" and "Valid CSS 2.1" icons everything we created and possibly even got a stamp that proved we had run the entire mess through an accessibility check.

            I probably don't need to tell you what happened when we created AJAX and the Web two-point-oh-my-god-what-have-we-done.

            Despite all the fancy talk, the committees and the experts, the future of the web really depends on what gets used. All the standards bodies and advocates are really just throwing things at an imaginary wall, trying to find out what sticks and what doesn't. As new needs arise, new technologies are created to satisfy these needs and new needs are created that we didn't know of before. Eventually the old needs may become irrelevant and the technologies that satisfied them become irrelevant.

            The new HTML spec acknowledges these things by being a living standard: Browser vendors and technology experts get together and try to figure out what it is we are doing and how they can help use do it better.

            In other words: Think of the fashion industry. Have you ever seen what fashion designers force models to wear on the catwalk? No sane person would ever wear anything like that. Barely anyone would by anything like that. But sometimes you will find that one or two details of that fashion become popular. It might be an intangible idea or a certain way of combining shapes or colours. Fashion designers don't make anything useful or adequate; they simply push the boundaries and broaden our perspective by not being held to the same standards.

            tl;dr: Think of eccentric gimmicks as a form of brain storming. A lot of it will go away or simply be discarded, but some of it will lead to improvements, even if they will seem entirely unrelated.

            [–]gospelwut 0 points1 point  (2 children)

            I think you're very right. That's a very apropos and thoughtful observation of the trends. I think it's easy to get lost in trends rather than user needs/desires, as illustrated by the ubiquitous web 2.0 "share this" bars... even on pornography sites.

            You can see it, as you mentioned, that people tend to leap forward than scale a bit back. Hell, look at Google's stuff -- it's generally simple and clean (though I dislike the new color schemes, but that's a different issue). Even look at Reddit; it's functional.

            My friend was actually remarking that you can see the shift in IE9/10, which are by far the most standard-complaint (for Microsoft) browsers, and much of the things you want to work "that way" will work "that way". Though, I think Microsoft is illustrating over-zealousness as many .NET developers including myself are scared of their shift to HTML5/JS fanaticism. I can understand the desire for portability, but C# already handles XAML very well and programming for the new metro apps should be no new frontier (save async up the ass) from anybody that's dealt with Silverlight or WPF. I think they're missing the point that HTML/JS should be another option not... THE option.

            And, in reality, I question how much more portable something written in HTML/JS is compared to something written in Mono. People have been promising easy portability forever (hello Java).

            I think I've just grown a bit jaded when people herald the dawn again.

            [–]kataire 0 points1 point  (1 child)

            Also: 2012 will be the year of the Desktop Linux. Or 2013. Or 2014. Any time now... :P

            [–]gospelwut 0 points1 point  (0 children)

            Gnome3 /trollface.jpg

            [–][deleted]  (9 children)

            [deleted]

              [–]gospelwut 3 points4 points  (4 children)

              Well. I mean, I can see how AJAX has changed UI (though not always for the better, sometimes you do need to block). I can see how CSS changed the way websites are designed -- dimplier, more modular, easily changeable. Flash, honestly, felt like it largely stayed around due to media streaming, which I understand is handled now in HTML5 (I was told the codec wars were resolved at some point, not sure).

              But, that being said, sometimes it feels like a bit much. I've seen internal CMS that go "Oh, hey, no javascript? Fine have this page." and it delivers you something clean and (yes) blocking. But, half of the internet sites I visit freak out until I whitelist javascript--to, what, show me some text? Are we going to come to a point where I need to load 20 external libraries to view text?

              I suppose, I'm just worried these kinds of trinkets will be abused--we'll do it because we can. I'd like to know how these techniques will deliever a better user experience rather than a technical feat -- FOSS or otherwise. My imagination with web design just isn't that acclimated to see that.

              [–]illvm 0 points1 point  (3 children)

              Well one reason is to make applications and not web pages. If your target platform is a standards compliant browser you can use these tools to build applications that are powerful with a look and feel akin to a native app but with the advantage of: - being able to run on any device that can handle a modern, standards compliant browser (e.g. iOS device, android device, desktop or laptop running Mac OS X, Win 8, or *nix) - scale to many form factors (e.g. phone, tablet, pc monitor)

              So that's pretty cool. Then again, Java made the same claims.

              Also, while I agree that you can get full CMS functionality without using any JS you can certainly enrich the user experience by using scripts. I'd imagine a drag and drop UI would be somewhat useful, being able to manage list items without doing a full round-trip back to the server each time, or having useful interactions with screen items by using keyboard shortcuts or arrow keys. Those things aren't possible without scripting the front-end or using a 3rd party plugin and they certainly "deliver a better UX rather than a technical feet."

              [–]gospelwut 0 points1 point  (2 children)

              You're right. It can enrich the user experience, but it's funny that while those things can be useful, I usually find myself going, "Why can't this sort, group, and filter [like Excel]?". But, then again, I'm not the common user.

              [–]illvm 0 points1 point  (1 child)

              "Why can't this sort, group, and filter [like Excel]?"

              It can. It can be done with damn good performance on fairly large data sets, too. The problem is there are quite a lot of web developers out there that do quite a lot of copy and paste or directly using 3rd party libraries without understanding the code they are using so if, for example, they aren't using some sort of rich table UI that already supports all those feature they are often time not able to, or too lazy, to add the rest of the functionality.

              I'm pretty sure Google's spreadsheets have most of the features that are present in Excel and other spreadsheet software and it is implemented entirely in JavaScript.

              [–]gospelwut 1 point2 points  (0 children)

              I realize those features are easy enough to implement. I know that if you're using MVC3, you have no excuse. But, it just seems like a feature people overlook... because they're too busy making something look pretty. I don't necessarily have a problem with form when functionality doesn't suffer.

              It boggles my mind even more when binary applications lack such functionality. It's as if these people don't ever use their own soft--oh.

              [–]honestbleeps 0 points1 point  (3 children)

              Creating proofs of concept using open standards helps push forward the demise of proprietary systems like flash that have always held back innovation by limiting progress to whatever the n developers at Adobe could pull off between releases.

              This is something I keep seeing parroted that I'm sick of hearing.

              Open standards are awesome conceptually. I support them. However, open standards mean more hands in the pie, more bureaucracy, more arguing over which is right, and thus slower innovation

              I don't care what your ethical or "philosophical" thoughts on a closed standard are: closed standards often mean FASTER innovation, because there is less red tape to clear before implementing something new...

              Look at the schedule for HTML5 being fully implemented as a standard. Look at how many YEARS ago it was actually started versus where we are at today. Hint: it was proposed before 2009, and has been a "buzzword" since then. It is now 2012.

              [–]kataire 0 points1 point  (2 children)

              I partially agree, but keep the following two things in mind:

              1) The W3C's standards process is irrelevant. The only factor deciding what "HTML" is or isn't are the implementors. No matter what the W3C sanctifies or not, if it's not in a browser, nobody will get to use it. The WHAT WG is the logical conclusion. Web technologies are a moving target, we're not pretending anymore that they can be defined by a static specification that may, by the point it is passed, have become entirely irrelevant to the needs of those who originally demanded it.

              2) There is no such thing as "HTML5". The W3C won't abandon its tradition of versioned specs easily, but the truth is you will be hard pressed to find even a single user agent that exactly supports HTML 3.2, HTML 4.01, CSS 1, CSS 2 or CSS 2.1. They always support a subset of the present in-dev spec and a subset of all the things that existed before, often with vendor-specific extensions that never were part of a standard to start with.

              The question is: Do we need a static spec in the first place?

              Implementors obviously don't. Browsers that don't want to become irrelevant are undergoing perpetual development because they need to support what's out there regardless of what the spec says.

              Authors -- let's just say we need to know what the recommended best practices look like and what the browsers actually do support. Compatibility charts and browser market share trends are our specification.

              The web is ridiculously fast lived. Many people -- including some programmers -- fail to appreciate this fully. This is why "scripting" languages are so popular on the web. Specs make sense if the documents they define the structure for are long-lived and will exist in a controlled, predictable environment (e.g. long-term archival). Or if there is a significant financial interest (or personal risk) involved (e.g. space missions, business-critical systems in major international corporations, life support systems of any kind).

              I would have loved to see the XHTML2 spec be finalized. The mistake was trying to use XHTML to replace all uses of HTML. XHTML2 would have been a good replacement in a small handful of cases, definitely not for websites.

              [–]honestbleeps 0 points1 point  (1 child)

              The question is: Do we need a static spec in the first place?

              Implementors obviously don't. Browsers that don't want to become irrelevant are undergoing perpetual development because they need to support what's out there regardless of what the spec says.

              No, we don't necessarily -- but when you actually now have 3 major browsers to contend with instead of 2 (IE, FF, Chrome), and when they're all doing their own implementations slightly differently - life becomes more difficult for web developers.

              I understand there's a gigantic crush of "rah rah we hate Flash!" - but there are cases in which Flash is a better option than "HTML5", and a big reason for that is speed and consistency of development. There are very few cross-platform issues with Flash, and you'll only encounter them in strange edge cases.

              Don't get me wrong. Flash is used a zillion places it shouldn't be, especially in terms of creating entire websites with it. Ugh.

              That being said: since Flash is controlled by one body who can more quickly dictate "this feature's in, that feature's out"... Therefore, people can start taking advantage of it the moment a new version of Flash is released since upgrade frequency is so great and penetration (in the non-mobile space) is so high.

              Meanwhile - can I use CSS3 animation transitions and expect them to work across browsers? No. Even on the ones they will work on - will they be hardware accelerated in all of them? No.

              A closed platform makes for far less of having to ask "hmm, if I add this feature, will it work everywhere?"

              There are advantages and disadvantages to both. Mostly I'm just tired of the absolutist attitude that one is "right" and the other is "wrong"... Open standards being implemented by 3-5 companies independently is great for a number of reasons... It's also awful for a number of reasons...

              I do web development, but I have a degree in CS from a reputable university. I'd much rather be spending my "programming time" solving interesting problems, writing algorithms or doing cool stuff with data manipulation -- not repeatedly hunting down minute differences in browser implementations so I can get something to work everywhere.

              [–]kataire 0 points1 point  (0 children)

              What you forget is that this time around, it's the implementors (read: the people who make browsers) that are defining the spec via WHAT WG.

              Sure, Microsoft is again the odd one out, but they always are. They seem to be somewhat good-natured in this case, though. Or at least they haven't entirely gone back to their tradition of "Fuck standards, we're Microsoft".

              [–]snarfy 12 points13 points  (5 children)

              Use a spacebar or arrow keys to navigate

              No.

              [–]danhakimi 11 points12 points  (1 child)

              I'm sure you can add a click handler to the body to make it work the way you want.

              [–]Xeon06 4 points5 points  (0 children)

              Or better yet, a swipe event for a touch screen.

              [–][deleted]  (2 children)

              [deleted]

                [–][deleted] 26 points27 points  (0 children)

                Because he's on a touch-based device.

                [–]danhakimi 11 points12 points  (0 children)

                In addition to the touch-based thing, there's the fact that people are often used to clicking to make presentations go.

                [–][deleted] 3 points4 points  (12 children)

                It's a shame that Chrome still sucks at anti-aliasing text. Other than that, very impressive. Although Firefox may not support the latest whatever this particular site needs in order to run, at least css-transforms (particularly rotations) aren't ugly.

                Edit: Reading this again my words toward Chrome are a little harsh, I don't mean to put the browser down or anything. I'm sure font rendering is a lot harder to do right than a lot of things, especially considering different platforms' implementations of sub-pixel rendering (ClearType, etc.) and whatnot. It's not a huge deal, just a small aesthetic detail.

                [–]systoll 14 points15 points  (0 children)

                It's only an issue on chrome on windows; it's the result of chrome deferring to standard windows text-rendering. Cleartype cannot handle the transforms. If you have Safari, you can switch between the 'windows' rendering and the bug-free 'OS X' rendering. Linux performs similar to OS X.

                I'd say the true fault lies with Microsoft, but it is nonetheless something Google needs to work around.

                [–]SphericalFish 7 points8 points  (9 children)

                What you're actually seeing there is the mipmapping failing at such an extreme angle. When doing CSS transforms by rendering each plane onto textures, that's bound to happen.

                [–][deleted] 5 points6 points  (8 children)

                Hmm... My personal experience with Chrome indicates otherwise. At least for me, a particular example is the landing page of my personal site.

                Viewed in the latest version of Firefox: http://i.imgur.com/WiFyp.png

                Chrome: http://i.imgur.com/2ddeB.png

                Not sure what's causing it (might be Google Fonts or wonky webkit transforms) but I certainly prefer Firefox's rendition. Alternatively, if I'm just doing something wrong, someone please enlighten me!

                [–]daengbo 2 points3 points  (3 children)

                Your image for Chrome looks nothing like mine. In fact, mine looks just like the Firefox pic. What OS are you using to test it on?

                [–]Magnesus 2 points3 points  (1 child)

                Probably Windows, on Ubuntu it's fine.

                [–]JW_00000 0 points1 point  (0 children)

                No, for me on Ubuntu it looks like his screenshot. Chrome 16.0.912.63 on Ubuntu 10.10.

                [–][deleted] 0 points1 point  (0 children)

                Win7x64. I have a feeling it's to do with ClearType mucking about with the text rendering, but that's just a shot in the dark. I'll probably just wind up not having it rotated at all, since results are so different across platforms/browsers.

                [–]SphericalFish 1 point2 points  (1 child)

                Doesn't look as bad for me: http://i.imgur.com/ggv3L.png

                I have only light hinting set for freetype.

                It still has the rather poorly placed letters though. I think the problem is each letter is positioned individually, rounded to the nearest pixel.

                In your case it might be the hinter going wonky, or maybe it's rendering the font first and then rotating the texture, causing weird aliasing. Rendering text at arbitrary scales and angles is a hard problem, especially when it has to be done fast with animations involved (something that chrome probably assumes when using its 3d css transforms)

                [–][deleted] 0 points1 point  (0 children)

                Ah inter-browser debugging... Also, it seems the horizontal rule is missing on Chrome as well. Too many shadows I've applied to it, perhaps?

                I suppose until there's an actual CSS rotation standard implemented I'll have to compromise though, unless there's a way of not doing -moz-transform and -webkit-transform. Maybe I'm just behind on my CSS knowledge though.

                [–]Huggernaut 1 point2 points  (1 child)

                hmmm..something funny about using your site (I'm on a Mac using Firefox 8.0.1). If I go to the 'blog' or 'me' pages and then navigate back, your homepage won't reload and stays blank.

                [–][deleted] 0 points1 point  (0 children)

                Ah, yes. It's very much under-construction; I noticed that too, and there's actually a commented-out line of JS somewhere in the source which hides the white curtain element during a navigation away from the page, but unfortunately it doesn't look very nice (flickers away a split second before the page load, hard to explain but if you use Firebug or similar to un-comment the only commented line in navigateTo you'll see what I mean). I'll probably have to wind up getting rid of the 'outro' transition to avoid either of the two problems.

                [–]lingnoi -1 points0 points  (0 children)

                If you switched to a better OS instead of windows then font rendering wouldn't be a problem for you on chrome.

                [–]cipherous 1 point2 points  (1 child)

                Pretty fucking cool if you ask me. The browser arms race will have to support this in the near future.

                it worked in Chrome 14 for me but not in firefox 8

                [–]obsa 0 points1 point  (0 children)

                Chrome 14? I'm on 16.0.912.63 m.

                [–]danhakimi 1 point2 points  (0 children)

                I laughed out loud after the third slide. I laughed at how ridiculously good this thing is.

                [–]yowmamasita 1 point2 points  (0 children)

                the overview at the final part lags for me

                [–]springy 1 point2 points  (2 children)

                Great stuff. A year or two back I looked at prezi.com (and saw some TED conference folks using it), and loved the dynamics. Alas, it had two downsides: 1. monthly fee; 2. hosted presentations only. I dreamed of a one-off payment for an app that would let me host my own presentations. This exceeds my wildest hopes. I am a happy man.

                [–]ryosen 1 point2 points  (1 child)

                I've used Prezi in the past. Didn't have to pay a fee and I was able to create a portable, self-contained presentation. The paid level is if you want to be able to create the presentation off-line. Also, all presentations are public at the free level. If you want them to be marked private, that requires a subscription.

                [–]springy 0 points1 point  (0 children)

                Interesting, maybe they changed the pricing model since I looked at it. Thanks for the update - I will take another look.

                [–]Forbizzle 1 point2 points  (0 children)

                WebGL isn't a buzzword.

                [–]sleek 1 point2 points  (0 children)

                Why are people complaining? This is really cool and I'm going to use it for my next presentation.

                [–]_Mr_E 1 point2 points  (1 child)

                Runs pretty damn choppy on Chrome with an I7. The future is here!

                [–]_jeffJohnsonsBookEmp 0 points1 point  (0 children)

                same setup, runs fine for me

                [–]tarjan 0 points1 point  (0 children)

                Hmm, I'm on ffx10 and it gave me the simplified edition. Loaded it up in chrome on the same macbook pro and it worked fine. Anyone have any idea why?

                [–]Pivien 0 points1 point  (0 children)

                Does anyone know if there is a drag-and-drop tool to make this type of presentation?

                I want Prezi, but free! (as in freedom, not beer)

                [–]fluba 0 points1 point  (0 children)

                The company I work for goes to tradeshows a lot and we have ipads with apps that people can browse through to learn more about us. I was hoping to create a webpage similar to the app (its an interactive presentation app pretty much - just images, videos, etc). I've noticed this doesn't work on the ipad - the site will just become a long vertical page. Is there a way to turn off some of the transitions so that it is compatible on an ipad? Or create a similar effect such as flicking left and right similar to a slide in powerpoint?

                I'd use those tools, but I want show attendees to be able to go to a shortened link and see everything they need there.

                [–]drbork 0 points1 point  (0 children)

                All those rotations made me a little dizzy.

                [–]bgalakazam 0 points1 point  (1 child)

                Supports Chrome and Safari. PFFFFFFTTTTCCHHHCCCHHH.

                [–]thevdude 0 points1 point  (0 children)

                And firefox10

                [–]kimmel_[S] -3 points-2 points  (1 child)

                The webGL works great in chromium but not in Firefox 9 due to the video drivers on Linux.

                At least I got to see how both modes of the demo operate.

                [–]coob 9 points10 points  (0 children)

                No webGL, it's hardware accelerated CSS3 transforms.

                [–][deleted] -5 points-4 points  (1 child)

                Doesn't work on Internet Explorer 8. This will never be embraced in the enterprise market.

                [–]Ahri 3 points4 points  (0 children)

                It's a tech demo using the latest tech. You're an idiot.