Skip to content

Dice Device Framework

The Dice Device Framework Manifesto

The Dice Device is going to be open to its users, it will allow them to create new applications or modify existing ones. There is a slowly emerging  application development framework of the Dice Device that will help with that.


The framework follows few basic rules:

  • to make development of new applications as simple as possible. It must be understandable to beginners or seasonal programmers
  • to guide the developer to think intensively of user experience. To make him control every moment of the application run
  • to allow developer leverage available hardware

And then there is one soft rule – rule that is not always practical to follow:

  • to guide developer to make his software rotation agnostic, so that it could be approached by any person around the table
Software Background

Raspberry PI – the Dice Device is based on – is natively using Linux. That makes the choice of OS simple. The language for the Dice Device is Python – it certainly fulfills the demands on simplicity. It also comes with a handy PyGame library that offers performant low level access to screen.

GUI

There does not seem to be a public GUI available that would cover our needs. Especially the round screen is too specialized requirement. However, Dice Device SDK is emerging and part of it are simple GUI elements like text inputs, buttons, etc. – ready to be used by any Dice Device application. It grows pretty quickly thanks to Python & PyGame. Here you can see wifi connection dialogs that are leveraging Dice Device GUI elements:

The Applications

Few applications were completed so far.
The first one is a wifi connection dialog shown above. It is a crucial part of the Dice Device. Dice Device does not have ports to connect peripheries, it relies on wifi connection and SSH access for development, hence the dialog allowing the connection is essential. But also it is expected that some applications may leverage the internet connection.
The second one is the most common board game helper – a simple Dice and its modification – a Double Dice. User can toss them simply by tapping the screen.
The third one is a fortune wheel that user can spin with sweeping finger over the screen and it physically slows down and stops with inertia and friction. And it’s actually pretty addictive – like a fidget spinner used to be… 🙂