DISPLAY

Display is an interface, an application used to run simple/complex sets of Sensors/modules in the top part of the screen, and another serie of tools/interfaces in the bottom part.

Top part:

#Page

Bottom part:

#Console

We call Boards all the panels inside Page
We call Controls all the panels inside Console

Under Console you can find Message Board and Memory






Boards and Controls are passed to the Display via URL parameters.
Display builds the interface and runs the sensors according to the parameters contained in the URL and you are ready to work.

When Display starts up it follows some easy steps:

STEP 1) check how to build the Console

Display will look for parameter c inside the URL
Depending on what it finds, it will build the Console, injecting the requested modules.

by default c=y

c can have 4 possible states

c = y console is visible
c = h console is hidden
c = n console isn't used
c = e console is empty
c = CODE console will load interface from remote location according to the CODE

Example:

default "y"
console is visible, will load default console
http://protobot.xyz/display/

declared "y"
console is visible, will load default console
http://protobot.xyz/display/?c=y

hidden Console
console is hidden, will load default console, user can open it with a button
http://protobot.xyz/display/?c=h

empty Console
console is hidden, will load default console, user can open it with a button

http://protobot.xyz/display/?c=e

startup Display excluding Console
http://protobot.xyz/display/?c=n


startup Display loading a Custom Control inside Console from a remote location
http://prototbot.xyz/display/?&c=gist-da6e8ac73c824ae86860




Once the Console is built, moves to step 2

STEP 2) Loading Sensors/modules/machines if needed (Boards)


Display can be used simply to run existing Sensors Boards
In order to use Display you must pass to it the needed informations about the Sensors you want to load.
Refer to Sensors Type to know more about the standard and Custom Sensors you can find/program

Sensors informations are passed via URL parameters using s=

Example:

in this example c isn't found, so the default Console is loaded, then 2 Sensors (type 2 and type 1) are found and created
http://protobot.xyz/display/?s=2-BTC_ETH|1-BTC_LTC

Same example with hidden Console:

http://prototbot.xyz/display/?s=2-BTC_ETH|1-BTC_LTC&c=h

2-BTC_ETH|1-BTC_LTC
means two sensors as follows:

2-BTC_ETH (Type 2 Moody Sticker for BTC_ETH)

1-BTC_LTC (Type 1 Mood Sensor for BTC_LTC)

The Display reads the list of sensors from the url, creates the relative Sensors Boards and runs them.

Accepts several types of Sensors. See Sensor Types



Note:

Usually a Control is used to create and customize instances of an object.
An instance, for the final user, shows up as a Board

This is only a difference in semantics between Boards and Controls, Page and Console, but of course you can use Display as you wish.

The point is simple, you can find a code like gist-da6e8ac73c824ae86860.2

if you inject it in s= you will see a Board
if you inject it in c= you will see a Control

why?

because normally if you share a component it may be customizable, and that's the job of a Control, but the object itself for the final consumer is a Board, so final consumer can use Control in order to create many Boards.

The module can contain a Board or a Control or both (or nothing?)
Depending on where you want to inject it it may react in different ways.
Some modules can show up where you injected them, other will force the creation of the Control or the Board by theirself.

If you find a Sensor/module you can always have fun and try injecting it in Console and see if it produces any cool Control.

Try:

http://protobot.xyz/display/?s=1-BTC_ETH
http://protobot.xyz/display/?c=1-BTC_ETH
http://protobot.xyz/display/?c=1-BTC_ETH&s=1-BTC_LTC
http://protobot.xyz/display/?c=1-BTC_LTC&s=1-BTC_ETH

Pratically some sensors are simple loadable objects with a Board, others can be enough complex to contain a Control interface showing up inside Console.
Type 1 Sensors (Mood Sensors) contain such interface to allow you to easy detect Poloniex.com pairs and to create customized instances of the Sensor.

Injecting sets of modules will allow you to combine them into easy web-apps ready to be used.
Protobot.xyz has no way to save your layout: just save the URL and you have your application!

See EXAMPLES (right menu)

You must always pay attention, injecting anything isn't a good idea!
Protobot.xyz has some security procedures you have to know, your next step is Display Security