What is Swipe?

Swipe is a domain-specific, declarative language for non-developers to create media-rich/animated documents, which will be consumed on touch-enabled devices such as smartphones, tablets and smart TVs with touch-enabled remote controller.

Click here for more details. Cleare here to see the source code. 


Introduction

What is Swipe?

Swipe is a domain-specific, declarative language for non-developers (such as designers, animators, illustrators, musicians, videographers and comic writers) to create media-rich/animated documents that contain photos, videos, images, vector graphics, animations, voices, musics and sound effects, which will be consumed on touch-enabled devices such as smartphones, tablets and touch-enabled set-top-boxes (such as iPhone and Apple TV).

What is Swipe Engine?

Swipe Engine is the viewer of documents described in Swipe. Since it supports hyperlinking and allows you to browse fron one Swipe document to another, you could even call it a domain-specific browser.

At this moment (October 2015), Swipe Engine is avalable for iOS and tvOS, but will be ported to other platforms such as Android, Windows and even HTML5 (and we are looking for volunteers to do so).

Why do we need Swipe?

Because existing platforms (such as HTML5, ePub, Flash and iBooks) require some form of programming to enable animations and interactions, which is very expensive and error-prone.

  • HTML used be a simple declarative language, but became a full-blown programming environment with DOM and JavaScript.
  • Flash used be a great animation tool for designers, but the introduction of ActionScript made it impossible for designers to create animations without some help by programmers.
  • ePub does not directly support animations, and the author needs to embed some JavaScript code (in a book!) to enable animations, which may or may not work depending on the eBook platform.

That's why I came to the conclusion that it's time to design a new platform, which is powerful enough to describe media-rich documents that allow us to take full advantage of modern devices, but is also strictly declarative (no API, no script), easy to read, easy to write and easy to auto-generate (by the server side of code, or by the authoring tool).

Why is it open?

Because I want to make it an industry standard so that everybody can benefit from it. I was lucky enough to work on a few successful products, such as Windows 95, which were used by hundreds of millions of people. I'd like to see such a success again.

Is it really free?

Yes, it's absolutely free. You can use it for non-commercial and commercial applications, modify it as needed, port it to other platforms (I'd really apprecaite if you open source it as well), re-distribute it with your applications, as long as you explicitly mention that your application uses Swipe and recognize me (Satoshi Nakajima) as the copyright holder.

Tutorial Video

Here is a simple tutorial of Swipe Language described in Swipe itself, screen captured on Apple TV (Audio is missing because I was not be able to capture the audio from Apple TV using QuickTime).

 You can see this tutorial on your own Apple TV or iPhone by building the Swipe sample app.  

Target applications

  • Interactive Comics
  • Sound Novels
  • Graphical Audio Books and Music Albums
  • Interactive Videos
  • Media-rich Tutorials and Presentations
  • Interactive Arts

Primary Audiences

  • Designers/Illustrators
  • Animators
  • Comic Writers
  • Musicians/Artists
  • Videographers/Photographors
  • Teachers/Educators
  • Weekend Programmers

Design Principles

  • Optmized for touch-enabled devices
  • 100% declarative (no programming)
  • Rich & interactive animations
  • Re-invent the video experience
  • Customizable page-transitions
  • Designer friendly
  • Lightweight & portable

Language Specification

https://github.com/snakajima/swipe/blob/master/SPECIFICATION.md

Source Code

https://github.com/snakajima/swipe