Coder Social home page Coder Social logo

lawrencetaur / impress.js Goto Github PK

View Code? Open in Web Editor NEW

This project forked from impress/impress.js

1.0 2.0 0.0 173 KB

It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.

Home Page: http://bartaz.github.com/impress.js

impress.js's Introduction

impress.js

It's a presentation framework based on the power of CSS3 transforms and transitions in modern browsers and inspired by the idea behind prezi.com.

WARNING

impress.js may not help you if you have nothing interesting to say ;)

ABOUT THE NAME

impress.js name in courtesy of @skuzniak.

It's an (un)fortunate coincidence that a Open/LibreOffice presentation tool is called Impress ;)

VERSION HISTORY

master (in development)

CONTAINS UNRELEASED CHANGES, MAY BE UNSTABLE

  • code clean-up
  • couple of small bug-fixes

0.1 (browse, zip, tar)

First release.

Contains basic functionality for step placement and transitions between them with simple fallback for non-supporting browsers.

EXAMPLES AND DEMOS

Official demo

impress.js demo by @bartaz

Presentations

CSS 3D transforms from meet.js summit by @bartaz

What the Heck is Responsive Web Design by John Polacek @johnpolacek

12412.org presentation to Digibury by Stephen Fulljames @fulljames

Data center virtualization with Wakame-VDC by Andreas Kieckens @Metallion98

Asynchronous JavaScript by Mariusz Nowak @medikoo

Websites and portfolios

lioshi.com by @lioshi

alingham.com by Al Ingham @alingham

nice-shots.de by @NiceShots

museum140 Shorty Award promo video entirely made with ImpressJS by @thingsinjars

If you have used impress.js in your presentation (or website) and would like to have it listed here, please contact me via GitHub or send me a pull request to updated README.md file.

BROWSER SUPPORT

TL;DR;

Currently impress.js works fine in latest Chrome/Chromium browser, Safari 5.1 and Firefox 10 (to be released in January 2012). IE is currently not supported (IE10 is close, but not there yet - see below for details). It also doesn't work in Opera.

As it was not developed with mobile browsers in mind, it currently doesn't work on any mobile devices, including tablets.

Still interested? Read more...

Additionally for the animations to run smoothly it's required to have hardware acceleration support in your browser. This depends on the browser, your operating system and even kind of graphic hardware you have in your machine.

For browsers not supporting CSS3 3D transforms impress.js adds impress-not-supported class on #impress element, so fallback styles can be applied to make all the content accessible.

Even more explanation and technical stuff

Let's put this straight -- wide browser support was (and is) not on top of my priority list for impress.js. It's built on top of fresh technologies that just start to appear in the browsers and I'd like to rather look forward and develop for the future than being slowed down by the past.

But it's not "hard-coded" for any particular browser or engine. If any browser in future will support features required to run impress.js, it will just begin to work there without changes in the code.

From technical point of view all the positioning of presentation elements in 3D requires CSS 3D transforms support. Transitions between presentation steps are based on CSS transitions. So these two features are required by impress.js to display presentation correctly.

Unfortunately the support for CSS 3D transforms and transitions is not enough for animations to run smoothly. If the browser doesn't support hardware acceleration or the graphic card is not good enough the transitions will be laggy.

Additionally the code of impress.js relies on APIs proposed in HTML5 specification, including classList and dataset APIs. If they are not available in the browser, impress.js will not work.

Fortunately, as these are JavaScript APIs there are polyfill libraries that patch older browsers with these APIs.

For example IE10 is said to support CSS 3D transforms and transitions, but it doesn't have classList not dataset APIs implemented at the moment. So including polyfill libraries should help IE10 with running impress.js.

And few more details about mobile support

Mobile browsers are currently not supported. Even iOS and Android browsers that support CSS 3D transforms are forced into fallback view at this point.

Anyway, I'm really curious to see how modern mobile devices such as iPhone or iPad can handle such animations, so future mobile support is considered.

iOS supports classList and dataset APIs starting with version 5, so iOS 4.X and older is not likely to be supported (without polyfill code).

LICENSE

Copyright 2011-2012 Bartek Szopka. Released under MIT License.

impress.js's People

Contributors

bartaz avatar medikoo avatar haacked avatar jasondavies avatar shama avatar opengrid avatar mattmakai avatar thingsinjars avatar fulljames avatar dolanor avatar lioshi avatar

Stargazers

Lawrence Taur avatar

Watchers

Lawrence Taur avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.