Thoughts are templates interpreted by Synapse to visualize data in convenient ways: ideally, it is on data coming from Hyppocampus as  XSLT is at XML.


In Lobotomy there are not "application" as used in common environment, and every function is opened to be applied in a number of situations (for details, refere to architecture page). Thoughts are the graphical component of that mutable system: they describe the layout of widgets on the screen with any assumptions about data which will be showed, given that all data come from Hyppocampus and are all equally structured.

A Thought may define a list of widgets showing a text, without knowning a priori which text will be used to fill them: it will depend on the result set retrived and matched against the template. This imply any Thought may be combined with any result set on user's demand, permitting any kind of visualization for data: for example a list of e-mails can be rappresented in a vertical list of subjects, but also in a icons view or a timeline or a relational view in which items are graphically connected in function of their sender. On the contrary, to a Thought describing a video player may be submitted a real video item or an item rappresenting a contact person: in this case the interpreter in Synapse provide to retrive the most convenient content and feed the Thought accordly.

Please note that Thoughts are mostly about formatting element on the screen, not elements implementation: the real graphical components are the Widgets, which may be provided together the basic Lobotomy system or personalized so to be reused in other Thoughts.


Thoughts are simple files written in a specific XML dialect, handled by Synapse to really dispose graphical elements when required. The dialect is limited to the strict necessary, with no too many flashy options, and the set of selectable widgets is restricted to the essentials: this is to grant coherence among different Thoughts, and enforce reuse of them with any kind of input.

Advanced Concepts