The experience namespace works as a interpreter - it takes a definition object (formatted as JSON) that describes the experience and uses it to create the user experience and supporting interface.

The interpreter can support different definition types (patterns):

  • Journey based; using origins, destinations, things to see and things to do - creating an experience where the user travels through and works-on the data/information.

  • Story based; Agile like (work in progress)

  • ArchiMate

Each definition type (pattern) is implemented by an interpreter held in a sub-namespace.


The journey pattern user experience uses the concepts as described below and the idea that the population (data) as gathered as you travel through the user interface.

Example definition (json)

1 Origins These described the "starting points" for the journey.
2 Destinations "Search for an invoice" (hub), "An invoice" 
3 Things to see Things to to see at the destination.   A destination can also be something to see.  ie as a city is a destination; a hotel is also a destination.
4 Things to do ie Email
5 Tenancy
  • Hub
  • Single
  • Multi
6 Hub Links destinations - ie search for an invoice
7 Population at rest Where the data can be found when not working, ie resting - "its home".
8 Populate with The data that populates the destination.

Type:  pre-defined, on-demand

9 Applied example
1blankspace namespace
Experience namespace source code


Lease it
Vacate it
Populate it
Work it
Rest it
1 Lease the space In the case of a web http agent, create the xhtml elements
2 Build the origins Create the xhtml elements to display the first page.
3 Show the first destinations Based on origin show the first destination.  ie "invoice"
4 Travel to destination Build the things to see

Build the things to do

5 Populate destination Populate the things-to-see with data that is at rest, so it can be worked on.
6 Put changed population at work to rest  If population change then send back to mydigitalstructure, when it can be.

The following messages can be sent to ns1blankspace.experience.journey.controller.message({subject:}.

Messages can be initiated by xhtml elements - ns1blankspace.experience.journey.controller.init can be used to bind xhtml element events based on css selectors, ie id, class. 

# change ??? Vacates a thing to see.
# done Populates a thing to see
# edit Populates things to see in edit mode
# close Hides a element (as row)
# populateDestinationWith Based on things in a common destination - populates things to see
# populateThingWith Based on a thing - populates things to see
# makeMutable Makes a thing changeable/editable.
# rest Puts a thing to rest - ie sends to mydigitalstructure
# populate Populates a thing based on another thing
# doIt ??? Executes a thingToDo
# travelTo Changes destinations