Create your interactive surface

NextSurface is a software for creating interactive surfaces. NextSurface transforms any screen into a surface that people can simultaneously interact with, using hand gestures or pens, like on a physical whiteboard. NextSurface supports input devices such as Apple Trackpad or similar HID device, however, for a better user experience, we recommend a multi-touch device, such as frame overlays produced by PQLabs or ZaagTech, or our remote controller NextGesture for iPad.

Screen shot showing a color picker in NextSurface Screen shot showing a web page in NextSurface Screen shot showing a PDF document in NextSurface

Download on the Mac App Store

How does it work?

Watch the short video we have created to show NextSurface in action. Download the app and run it on your Mac. Enable system events to use Apple trackpad and system gestures. Connect a multitouch device or install NextGesture app in your iPad for a better user experience. Enable kiosk mode if you want to hide macOS and you want to run NextSurface in a dedicated machine, like a digital whiteboard.

Screen shot showing a web page in NextSurface

System requirements

NextSurface requires an Apple computer with macOS 10.8 or later. We recommend a system with 4GB of RAM, a dual core CPU and 2GB of free disk space. NextSurface requires at least one input controller.

Input controllers

NextSurface supports many types of input controllers. NextSurface has drivers for Apple Trackpad or similar HID device, PQLabs or ZaagTech multi-touch frame overlays, any device compliant with TUIO 1.1, and NextGesture app for iOS. Multiple input controllers can be connected to the same surface. NextSurface supports indeed tap, scroll, magnify and rotate gestures, performed from multiple input controllers.

Configuration

NextSurface's configuration consists of few parameters: location of workspace (where to read and write files), name of boot script, network port for receiving TUIO events (which depends on the configuration of TUIO source), UDP and TCP ports for connecting with remote controllers (multiple instances of NextGesture), flag to enable system events, flag to enable visual feedback, flag to enable kiosk mode, and flag to enable developer mode. The parameters are modifiable in initial window. If you don’t change any parameter, NextSurface will enter the full screen mode and execute the selected boot script automatically after 30 seconds.

System events

Enable system events in configuration in order to use a trackpad or similar device and to emulate multiple touch points with mouse and keyboard. Please note you shouldn't enable system events if you connect a TUIO device which already emulates a mouse or trackpad. In that case, try disabling the mouse or trackpad emulation in your TUIO device’s settings.

Input simulator

Mouse events can be used for simulating complex gestures performed with multiple fingers. You can add or remove touch points which can be grouped and dragged together by applying the following commands:

CommandAction
Press left buttonAdd temporary touch point
Release left buttonRemove temporary touch point
Press SHIFT key before releasing left buttonCreate permanent touch point
Press SHIFT key and click on permanent pointRemove permanent touch point
Press CTRL key and click on any pointAdd point to group or remove it if already added
Press left button and dragMove a single point or a group of points

Content sharing

Install NextGesture in your iOS device to share content, such as images, videos, PDFs, and more. In order to use the share button, you have to enable NextGesture share extension in iOS settings, and you have to create a new entry in NextGesture’s surfaces list. Once you have enabled the extension, you are able to share content from any other app. Content must represents one of the supported content types. Tap on the share button, select NextGesture in the extensions list, and finally select the surface where you want to upload your content.

Bundled Applications

NextSurface includes two applications for presentation and collaboration. The applications are based on NextSurface's proprietary toolkit for creating multi-touch and multi-user interfaces. The toolkit supports a natural interaction with visual elements and it supports gestures performed with multiple fingers. Common use cases of the applications are interactive meeting rooms, information kiosks for hotels or estate agencies, and digital whiteboards.

Docs is an application for collaborative presentation of documents, images and movies

Present virtual documents

Docs is an application for collaborative presentation of documents, images and videos. It provides viewers for various file formats including a component for browsing web pages. You can create an interactive table for meeting rooms or a kiosk for browsing products.

Docs displays documents located in a directory of the workspace. The documents can be added to or removed from the directory while the application is running. It is possible to share the directory over the network to easily add or remove files from any remote computer. Docs supports the file formats: pdf, png, jpeg, tiff, mp4, m4v, mov, mpeg, avi, txt, and html. Docs supports also a custom file format for bookmarks with extension url. Just create a text file bookmark.url with a url of a web resource in the first line, like https:// nextbreakpoint.com.

News is an application for collaborative reviewing of documents, newspapers and magazines

Review newspapers

News is an application for collaborative reviewing of documents, newspapers and magazines. It provides viewers for various file formats including a component for rendering web pages. Reviewing documents is very easy, just select a document, enlarge it and highlight parts of it.

News displays documents located in a directory of the workspace. Documents can be added to or removed from the directory while the application is running. It is possible to share the directory over the network to easily add or remove files from any remote computer. News supports the file formats: pdf, png, jpeg, tiff, txt, and html. News supports also a custom file format for bookmarks with extension url. Just create a text file bookmark.url with a url of a web resource in the first line, like https://nextbreakpoint.com.

Create your applications

NextSurface provides a JavaScript API for creating custom applications on top of the proprietary toolkit. NextSurface's toolkit provides an abstraction layer which makes easy creating user interfaces and handling touch events and gestures. NextSurface is not a general purpose UI toolkit, but a programmable environment for building multi-user and multi-touch applications.

Developer mode

Enable developer mode in the initial window to activate the Script menu in application's menu bar. This menu provides additional commands for developers. The menu includes commands for opening a script file and reloading the current script. For instance, use reload to restart the application after editing the script from an external text editor.

Boot scripts

You can install your scripts in the directory where NextSurface looks for boot scripts. Those scripts are listed in the dropdown list in the initial window, and they can be selected as any other built-in script. The directory is located at <workspace>/boot.

Launch arguments

NextSurface supports launch arguments to configure the boot script. Pass argument -open followed by the absolute path of a boot script or pass argument -script followed by the name of a built-in script, like in these examples:

open -a NextSurface --args -open /Users/andrea/Desktop/workspace/boot/launchpad.js
open -a NextSurface --args -script docs.js
							
Please note NextSurface doesn't allow to change the boot script when passing one of those arguments. The arguments are useful when you want to force NextSurface to execute only one boot script, instead of showing multiple scripts in the dropdown list.

Developer documentation

NextSurface provides an API for writing applications with JavaScript language. The API includes classes, functions, and objects, which together represent a programmable environment designed to makes easy writing interactive applications. NextSurface extends the JavaScript language with additional features which help creating reusable code. Developers can split the code into several files and import them into other scripts. Find out how to use the JavaScript API in the Developer documentation.


Follow NextSurface on Facebook