Sifteo Cubes Intelligent Play Platform

Sifteo_1-A.jpg

Sifteo SDK

The Sifteo SDK has been released in an alpha state. It may be downloaded from here.

Getting Started with the SDK

Mono and the MonoDevelop IDE must be downloaded prior to development.

(Note: This wiki will first discuss the directory structure of, tools provided by, and usage of the SDK before discussing how to run. Those interested in jumping into running the demos or other applications should skip to the Running Programs section below.)

Tools Provided

The SDK provides the following resources available at download:
  • API Documentation
  • Set of demo programs and documentation
  • Siftdev, the global Sifteo application launcher
  • Siftulator, a cube simulator
  • Project Generator

API Documentation:
Provides a documented list of all Sifteo classes, packages, and functions available for developer use. Also contains several short tutorials, including a "my first app" page and "quickstart" page.
To access: open the "api-docs.html" file in any browser.

Demo programs:
Sifteo provides a set of simple demo programs. The source code may be found in the demos directory. The demos also give the developer a template for directory structure, as several parts of the API (mainly graphics) require a specific directory structure.

The SDK also provides very useful documentation with the demos. This consists of side-by-side documentation of the demo source code, explaining the purpose and functionality of important lines of code. This is a great place for developers to start learning about the API.

Siftdev:
Siftdev is the global Sifteo application launcher. All programs, simulated or run on the hardware, must be run through this launcher. Steps to do so are described below (in the Running Programs section). The application also provides a simple tutorial, application library, and application store. It essentially attempts to wrap all parts of the Sifteo front-end into one central program.

Siftulator:
Siftulator is the virtual cube simulator Sifteo provides. It allows the user access to all of the physical cube functions via keyboard commands, which are documented in the API. It's still pretty buggy but should provide the developer a decent testbed.

Project Generator:
The project generator is used to create template Sifteo application bundles, the basic structure for any Sifteo applicatoin. The generator executable may be found at tools/projecct_gen/project_gen.exe.

Developing for Sifteo

The Sifteo API is in C#. The application bundles and code must conform to basic templates, which are defined in the "My First App" section of the API documentation.

The API is highly event-driven. Sifteo provides black-box event listeners which may be augmented with developer event handlers.
Recognized events are:
  • Neighbor (add, remove)
  • Button press (down, up)
  • Tilt
  • Shake (start, stop)
  • Flip

When you download the SDK there are a few example applications which are very helpful.

Building and Running Programs

Sifteo has attempted to streamline the execution and client-server processes by routing all execution steps through IDEs and the proprietary Siftdev launcher.
To run programs not in the Siftdev library:

The launcher will handle all interfacing with the cubes.
For more information, see the "Build and Run your Project" in the "Quickstart" section of the Sifteo documentation.


afbb9_sifteo.jpg

Group Members:
Julian E. Herwitz - jherwitz@u.rochester.edu
Harry Ledley - hledley@u.rochester.edu

Company Website