home Personal

Personal Programming (PP)

This page is about Loke, an interactive computing Environment intended for home owners who need to control their Internet of Things and for their kids who like to play with their Internet of Toys. The idea behind it is programming by object composition:

The programmer selects objects from a pool of existing objects, moves them into her DCI Context and augments them with scripts that makes them play their roles within the system of collaborating objects.

Different versions of Loke lets novices and experts create their programs within the Loke model according to their requirements and expertise.

Consider a girl, Ellen, who plans a long hike for the morrow. She wants to start early. She wants the alarm to wake her at 06:00 but only but if the meteorologists forecast dry day. Ellen selects three objects: A bedside alarm, a weather forecast, and a timer. She calls them WAKERUPPER, FORECASTER, and TIMER, and links them together to form a system of collaborating objects.
This 1.5 minute video clip shows how she does it.
And this video tells the whole story. (It is my first effort).

Loke heralds a new kind of programming that targets networks of communicating objects that can be personal or shared. Alan Kay coined the term object-orientation: "its semantics is a bit like having thousands and thousands of computers all linked together by a very fast network". Loke is a personal object computer that consists of objects and nothing but objects. It replaces the trusted von Neumann computer for being closer to our connected world and to a mind-set shared by most people. A program is no longer a piece of code in a stand-alone computer, but is distributed among an unbounded set of objects (computers): Some of them personal and the rest shared over a network such as the Web or an IoT. A Context creates a barrier that lets the Personal Programmer focus on object Interaction and protects her from the intricacies of the underlying system.

SoSym cover Personal Programming and the Object Computer is a 40 page "Expert Voice" article about Loke and the emerging world of communicating objects. It is published online first in Springer's International Journal on Software and Systems Modeling (SoSyM):
the paper version will appear in due course.

Springer's typeseters have played havoc with the .PDF version, the above link is more readable.



Loke is implemented in Smalltalk/Squeak and works in Windows XP and 7: Squeak implementation.