Today I want to introduce you to a very good and useful book which I finished reading recently: “Building Impressive Presentations with impress.js“, by Rakhitha Nimesh Ratnayake, published by Packt Publishing. If you are interested, you can check out more details about the book on the Packt website.
As the title states, the book is about impress.js (about which I already wrote a blog post in the past). The book is very detailed and describes everything you need to work with impress.js, but it is still very concise and does not bother you with unnecessary detailed information: all information is very well fitted into 100 pages. The book consists of six very well structured chapters, which I will try to sum up in this post.
The first chapter of the book gives an introduction to impress.js, by explaining its features and capabilities, why to use it, where to grab it, and how to start your first presentation.
The second chapter gives an introduction to CSS transformations (at the base of the effects used by impress.js) and explains the different effects that impress.js provides, naely:
- Positioning effects (on the x/y/z axis)
- Rotating effects (around the x/y/z axis)
- Scaling effects
In addition the core functions of impress.js are briefly analyzed in order to understand how effects work in the library.
The core of impress.js
In the third chapter, the core of impress.js is explained in-depth by analyzing in turn the following aspects:
- Default and custom configuration possibilities
- API functions
- How to automate presentations
- How to customize transition timing
- The step events available
- How to use the step class
- Default and custom keyboard configurations
- The step click event
Using different viewports
In the fourth chapter, the different possible viewports that can be used are explained:
- Fullscreen presentations
- Presentations inside a container
- Creation of a content slider
- Using impress.js on mobile devices, including possible issues and best design practices
Using impress.js to develop a personal website
Chapter five provides all necessary material to create a personal website using impress.js. The example provided includes a home page, a portfolio page with a gallery-overview and detail pages for the single portfolio items, a timeline page, a services page and the navigation to navigate between these pages.
Last but not least, chapter six provides us with a very useful troubleshooting guide looking at the cross-browser compatibility of impress.js, at its limitations and possible future improvements and at the support provided on Github.
Tools and resources
The appendix of the book lists two useful tools which I want to list up here for you:
- Strut: A free online tool providing you with a GUI allowing you to create basic presentations in impress.js
- Impressionist: Another free online tool that allows you to create basic presentations in impress.js (works only in WebKit browsers)
Although these tools do not allow to use all features provided by impress.js, they provide a good start for people that lack the needed knowledge of HTML/CSS to hand-code a presentation. In addition, they can be very useful to lay down a basic presentation structure, which can then be enhanced by hand with additional features of impress.js. You can find more useful resources on the Github page of impress.js, under Authoring Tools. In addition to these resources, the appendix lists some interesting examples of presentations created with impress.js. You can find these, toghether with other examples, on the Github page, under Presentations. The appendix also provides a link to all the demos (toghether with the full source code) seen troughout the book. For obvious reasons I am not allowed to provide you the links here, but feel free to buy the book to get access to the code and demos.
As I already told in the beginning, it is a very good book. It provides you with all the needed information to create presentations (and not only) with impress.js. Where more information is available, the author provides links to external resources that explain everything more in-depth, allowing you to dig deeper into the argument (but without forcing you to do so by providing the information directly in the book). All arguments are handled with very clear examples, which allow you to put the hands on, and help you to better understand, the code behind a impress.js presentation. The book is very compact with its 100 pages, but it is very well written and handles all information you need (and want) to know about impress.js. I am working on some personal experiments with impress.js, which I will try to finalize and clean up, in order to show these to you in an upcoming blog post. What do you think about impress.js? Have you already created a presentation which you would like to share? Have you any tips and tricks to share with the community? I would be very happy to read your feedback in the comments below.