From 6a30fbd239b31e293c0833c2bbcbb8def44707f1 Mon Sep 17 00:00:00 2001 From: s-ol Date: Sat, 26 Oct 2019 13:30:58 +0200 Subject: mmmfs cleanup --- root/articles/mmmfs/framework/text$markdown.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 root/articles/mmmfs/framework/text$markdown.md (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown.md b/root/articles/mmmfs/framework/text$markdown.md new file mode 100644 index 0000000..cc059ad --- /dev/null +++ b/root/articles/mmmfs/framework/text$markdown.md @@ -0,0 +1,15 @@ +Based on this, a modern data storage and processing ecosystem should enable transclusion of both content and behaviours +between contexts. +Content should be able to be transcluded and referenced to facilitate the creation of flexible data formats and interactions, +such that e.g. a slideshow slide can include content in a variety other formats (such as images and text) from anywhere else in the system. +Behaviours should be able to be transcluded and reused to facilitate the creation of ad-hoc sytems and applets based on user needs. +For example a user-created todo list should be able to take advantage of a sketching tool the user already has access to. + +The system should enable the quick creation of ad-hoc software. + +While there are drawbacks to cloud-storage of data (as outlined above), the utility of distributed systems is acknowledged, +and the system should therefore be able to include content and behaviours via the network. +This ability should be integrated deeply into the system, so that data can be treated independently of its origin and storage conditions, +with as little caveats as possible. + +The system needs to be browsable and understandable by users. -- cgit v1.2.3 From e5341f6ee4bceb1370acce7430d30c992433d08f Mon Sep 17 00:00:00 2001 From: s-ol Date: Thu, 19 Dec 2019 20:47:10 +0100 Subject: lots of writing --- root/articles/mmmfs/framework/text$markdown.md | 94 +++++++++++++++++++++++++- 1 file changed, 92 insertions(+), 2 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown.md b/root/articles/mmmfs/framework/text$markdown.md index cc059ad..af446a5 100644 --- a/root/articles/mmmfs/framework/text$markdown.md +++ b/root/articles/mmmfs/framework/text$markdown.md @@ -1,3 +1,68 @@ +Two of the earliest wholistic computing systems, the Xerox Alto and Xerox Star, both developed at Xerox PARC and introduced in the 70s and early 80s, pioneered not only graphical user-interfaces, but also the "Desktop Metaphor". +The desktop metaphor presents information as stored in "Documents" that can be organized in folders and on the "Desktop". It invokes a strong analogy to physical tools. +One of the differences between the Xerox Star system and other systems at the time, as well as the systems we use currently, is that the type of data a file represents is directly known to the system. + +
+ +> In a Desktop metaphor system, users deal mainly with data files, oblivious to the existence of programs. +> They do not "invoke a text editor", they "open a document". +> The system knows the type of each file and notifies the relevant application program when one is opened. +> +> The disadvantage of assigning data files to applications is that users sometimes want to operate on a file with a program other than +its "assigned" application. \[...\] +> Star's designers feel that, for its audience, the advantages of allowing users to forget +about programs outweighs this disadvantage. + +Other systems at the time lacked any knowledge of the type of files, +and while mainstream operating systems of today have retro-fit the ability to associate and memorize the preferred applications to use for a given file based on it's name suffix, the intention of making applications a secondary, technical detail of working with the computer has surely been lost. + +Another design detail of the Star system is the concept of "properties" that are stored for "objects" throughout the system (the objects being anything from files to characters or paragraphs). +These typed pieces of information are labelled with a name and persistently stored, providing a mechanism to store metadata such as user preference for ordering or defaut view of a folder for example. + +*** + +Fig. 8 - Star Retrospective + +The earliest indirect influence for the Xerox Alto and many other systems of its time, +was the *Memex*. The *Memex* is a hypothetical device and system for knowledge management. +Proposed by Vannevar Bush in 1945, the concept predates much of the technology that later was used to implement many parts of the vision. In essence, the concept of hypertext was invented. + +*** + +One of the systems that could be said to have come closest to a practical implementation of the Memex might be Apple's *Hypercard*. + +https://archive.org/details/CC501_hypercard + +"So I can have the information in these stacks tied together in a way that makes sense" + +In a demonstration video, the creators of the software showcase a system of stacks of cards that together implement, amongst others, a calendar (with yearly and weekly views), a list of digital business cards for storing phone numbers and addresses, and a todo list. +However these stacks of cards are not just usable by themselves, it is also demonstrated how stacks can link to each other in meaningful ways, such as jumping to the card corresponding to a specific day from the yearly calendar view, or automatically looking up the card corresponding to a person's first name from a mention of the name in the text on a different card. + +Alongside Spreadsheets, *Hypercard* remains one of the most successful implementations of end-user programming, even today. +While it's technical abilities have been long matched and passed by other software (such as the ubiquitous HTML hypertext markup language), these technical successors have failed the legacy of *Hypercard* as an end-user tool: +while it is easier than ever to publish content on the web (through various social media and microblogging services), the benefits of hypermedia as a customizable medium for personal management have nearly vanished. +End-users do not create hypertext anymore. + +The *UNIX Philosophy* +describes the software design paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs +research center in the 1960s. The concepts are considered quite influental and are still notably applied in the Linux community. +Many attempts at summaries exist, but the following includes the pieces that are especially relevant even today: + +> Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. +> Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be +> written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs +> than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, +> become general and useful tools. + +This approach has multiple benefits with regard to end-user programmability: +Assembling the system out of simple, modular pieces means that for any given task a user may want to implement, +it is very likely that preexisting parts of the system can help the user realize a solution. +Wherever such a preexisting part exists, it pays off designing it in such a way that it is easy to integrate for the user later. +Assembling the system as a collection of modular, interacting pieces also enables future growth and customization, +since pieces may be swapped out with customized or alternate software at any time. + +*** + Based on this, a modern data storage and processing ecosystem should enable transclusion of both content and behaviours between contexts. Content should be able to be transcluded and referenced to facilitate the creation of flexible data formats and interactions, @@ -9,7 +74,32 @@ The system should enable the quick creation of ad-hoc software. While there are drawbacks to cloud-storage of data (as outlined above), the utility of distributed systems is acknowledged, and the system should therefore be able to include content and behaviours via the network. -This ability should be integrated deeply into the system, so that data can be treated independently of its origin and storage conditions, -with as little caveats as possible. +This ability should be integrated deeply into the system, +so that data can be treated independently of its origin and storage conditions, with as little caveats as possible. The system needs to be browsable and understandable by users. + +In order to provide users full access to their information as well as the computational infrastructure, +users need to be able to finely customize and reorganize the smallest pieces to suit their own purposes, +in other words: be able to program. + +While there is an ongoing area of research focusing on the development of new programming paradigms, +methodologies and tools that are more accessible and cater to the wide +range of end-users, +in order to keep the scope of this work appropriate, +conventional programming languages are used for the time being. +Confidence is placed in the fact that eventually more user-friendly languages will be available and, +given the goal of modularity, should be implementable in a straightforward fashion. + +*Ink and Switch* suggest three qualities for tools striving to support +end-user programming: + +- "Embodiment", i.e. reifying central concepts of the programming model as more concrete, tangible objects + in the digital space (for example through visual representation), + in order to reduce cognitive load on the user. +- "Living System", by which they seem to describe the malleability of a system or environment, + and in particular the ability to make changes at different levels of depth in the system with + very short feedback loops and a feeling of direct experience. +- "In-place toolchain", denoting the availability of tools to customize and author the experience, + as well as a certain accesibility of these tools, granted by a conceptual affinity between the + use of the tools and general 'passive' use of containing system at large. -- cgit v1.2.3 From 6e236eca27e9fafcd8eb628975496368a8197117 Mon Sep 17 00:00:00 2001 From: s-ol Date: Fri, 20 Dec 2019 15:07:08 +0100 Subject: make mmmfs contents sidenote-mds --- .../mmmfs/framework/text$markdown+sidenotes.md | 105 +++++++++++++++++++++ root/articles/mmmfs/framework/text$markdown.md | 105 --------------------- 2 files changed, 105 insertions(+), 105 deletions(-) create mode 100644 root/articles/mmmfs/framework/text$markdown+sidenotes.md delete mode 100644 root/articles/mmmfs/framework/text$markdown.md (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md new file mode 100644 index 0000000..af446a5 --- /dev/null +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -0,0 +1,105 @@ +Two of the earliest wholistic computing systems, the Xerox Alto and Xerox Star, both developed at Xerox PARC and introduced in the 70s and early 80s, pioneered not only graphical user-interfaces, but also the "Desktop Metaphor". +The desktop metaphor presents information as stored in "Documents" that can be organized in folders and on the "Desktop". It invokes a strong analogy to physical tools. +One of the differences between the Xerox Star system and other systems at the time, as well as the systems we use currently, is that the type of data a file represents is directly known to the system. + +
+ +> In a Desktop metaphor system, users deal mainly with data files, oblivious to the existence of programs. +> They do not "invoke a text editor", they "open a document". +> The system knows the type of each file and notifies the relevant application program when one is opened. +> +> The disadvantage of assigning data files to applications is that users sometimes want to operate on a file with a program other than +its "assigned" application. \[...\] +> Star's designers feel that, for its audience, the advantages of allowing users to forget +about programs outweighs this disadvantage. + +Other systems at the time lacked any knowledge of the type of files, +and while mainstream operating systems of today have retro-fit the ability to associate and memorize the preferred applications to use for a given file based on it's name suffix, the intention of making applications a secondary, technical detail of working with the computer has surely been lost. + +Another design detail of the Star system is the concept of "properties" that are stored for "objects" throughout the system (the objects being anything from files to characters or paragraphs). +These typed pieces of information are labelled with a name and persistently stored, providing a mechanism to store metadata such as user preference for ordering or defaut view of a folder for example. + +*** + +Fig. 8 - Star Retrospective + +The earliest indirect influence for the Xerox Alto and many other systems of its time, +was the *Memex*. The *Memex* is a hypothetical device and system for knowledge management. +Proposed by Vannevar Bush in 1945, the concept predates much of the technology that later was used to implement many parts of the vision. In essence, the concept of hypertext was invented. + +*** + +One of the systems that could be said to have come closest to a practical implementation of the Memex might be Apple's *Hypercard*. + +https://archive.org/details/CC501_hypercard + +"So I can have the information in these stacks tied together in a way that makes sense" + +In a demonstration video, the creators of the software showcase a system of stacks of cards that together implement, amongst others, a calendar (with yearly and weekly views), a list of digital business cards for storing phone numbers and addresses, and a todo list. +However these stacks of cards are not just usable by themselves, it is also demonstrated how stacks can link to each other in meaningful ways, such as jumping to the card corresponding to a specific day from the yearly calendar view, or automatically looking up the card corresponding to a person's first name from a mention of the name in the text on a different card. + +Alongside Spreadsheets, *Hypercard* remains one of the most successful implementations of end-user programming, even today. +While it's technical abilities have been long matched and passed by other software (such as the ubiquitous HTML hypertext markup language), these technical successors have failed the legacy of *Hypercard* as an end-user tool: +while it is easier than ever to publish content on the web (through various social media and microblogging services), the benefits of hypermedia as a customizable medium for personal management have nearly vanished. +End-users do not create hypertext anymore. + +The *UNIX Philosophy* +describes the software design paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs +research center in the 1960s. The concepts are considered quite influental and are still notably applied in the Linux community. +Many attempts at summaries exist, but the following includes the pieces that are especially relevant even today: + +> Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. +> Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be +> written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs +> than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, +> become general and useful tools. + +This approach has multiple benefits with regard to end-user programmability: +Assembling the system out of simple, modular pieces means that for any given task a user may want to implement, +it is very likely that preexisting parts of the system can help the user realize a solution. +Wherever such a preexisting part exists, it pays off designing it in such a way that it is easy to integrate for the user later. +Assembling the system as a collection of modular, interacting pieces also enables future growth and customization, +since pieces may be swapped out with customized or alternate software at any time. + +*** + +Based on this, a modern data storage and processing ecosystem should enable transclusion of both content and behaviours +between contexts. +Content should be able to be transcluded and referenced to facilitate the creation of flexible data formats and interactions, +such that e.g. a slideshow slide can include content in a variety other formats (such as images and text) from anywhere else in the system. +Behaviours should be able to be transcluded and reused to facilitate the creation of ad-hoc sytems and applets based on user needs. +For example a user-created todo list should be able to take advantage of a sketching tool the user already has access to. + +The system should enable the quick creation of ad-hoc software. + +While there are drawbacks to cloud-storage of data (as outlined above), the utility of distributed systems is acknowledged, +and the system should therefore be able to include content and behaviours via the network. +This ability should be integrated deeply into the system, +so that data can be treated independently of its origin and storage conditions, with as little caveats as possible. + +The system needs to be browsable and understandable by users. + +In order to provide users full access to their information as well as the computational infrastructure, +users need to be able to finely customize and reorganize the smallest pieces to suit their own purposes, +in other words: be able to program. + +While there is an ongoing area of research focusing on the development of new programming paradigms, +methodologies and tools that are more accessible and cater to the wide +range of end-users, +in order to keep the scope of this work appropriate, +conventional programming languages are used for the time being. +Confidence is placed in the fact that eventually more user-friendly languages will be available and, +given the goal of modularity, should be implementable in a straightforward fashion. + +*Ink and Switch* suggest three qualities for tools striving to support +end-user programming: + +- "Embodiment", i.e. reifying central concepts of the programming model as more concrete, tangible objects + in the digital space (for example through visual representation), + in order to reduce cognitive load on the user. +- "Living System", by which they seem to describe the malleability of a system or environment, + and in particular the ability to make changes at different levels of depth in the system with + very short feedback loops and a feeling of direct experience. +- "In-place toolchain", denoting the availability of tools to customize and author the experience, + as well as a certain accesibility of these tools, granted by a conceptual affinity between the + use of the tools and general 'passive' use of containing system at large. diff --git a/root/articles/mmmfs/framework/text$markdown.md b/root/articles/mmmfs/framework/text$markdown.md deleted file mode 100644 index af446a5..0000000 --- a/root/articles/mmmfs/framework/text$markdown.md +++ /dev/null @@ -1,105 +0,0 @@ -Two of the earliest wholistic computing systems, the Xerox Alto and Xerox Star, both developed at Xerox PARC and introduced in the 70s and early 80s, pioneered not only graphical user-interfaces, but also the "Desktop Metaphor". -The desktop metaphor presents information as stored in "Documents" that can be organized in folders and on the "Desktop". It invokes a strong analogy to physical tools. -One of the differences between the Xerox Star system and other systems at the time, as well as the systems we use currently, is that the type of data a file represents is directly known to the system. - -
- -> In a Desktop metaphor system, users deal mainly with data files, oblivious to the existence of programs. -> They do not "invoke a text editor", they "open a document". -> The system knows the type of each file and notifies the relevant application program when one is opened. -> -> The disadvantage of assigning data files to applications is that users sometimes want to operate on a file with a program other than -its "assigned" application. \[...\] -> Star's designers feel that, for its audience, the advantages of allowing users to forget -about programs outweighs this disadvantage. - -Other systems at the time lacked any knowledge of the type of files, -and while mainstream operating systems of today have retro-fit the ability to associate and memorize the preferred applications to use for a given file based on it's name suffix, the intention of making applications a secondary, technical detail of working with the computer has surely been lost. - -Another design detail of the Star system is the concept of "properties" that are stored for "objects" throughout the system (the objects being anything from files to characters or paragraphs). -These typed pieces of information are labelled with a name and persistently stored, providing a mechanism to store metadata such as user preference for ordering or defaut view of a folder for example. - -*** - -Fig. 8 - Star Retrospective - -The earliest indirect influence for the Xerox Alto and many other systems of its time, -was the *Memex*. The *Memex* is a hypothetical device and system for knowledge management. -Proposed by Vannevar Bush in 1945, the concept predates much of the technology that later was used to implement many parts of the vision. In essence, the concept of hypertext was invented. - -*** - -One of the systems that could be said to have come closest to a practical implementation of the Memex might be Apple's *Hypercard*. - -https://archive.org/details/CC501_hypercard - -"So I can have the information in these stacks tied together in a way that makes sense" - -In a demonstration video, the creators of the software showcase a system of stacks of cards that together implement, amongst others, a calendar (with yearly and weekly views), a list of digital business cards for storing phone numbers and addresses, and a todo list. -However these stacks of cards are not just usable by themselves, it is also demonstrated how stacks can link to each other in meaningful ways, such as jumping to the card corresponding to a specific day from the yearly calendar view, or automatically looking up the card corresponding to a person's first name from a mention of the name in the text on a different card. - -Alongside Spreadsheets, *Hypercard* remains one of the most successful implementations of end-user programming, even today. -While it's technical abilities have been long matched and passed by other software (such as the ubiquitous HTML hypertext markup language), these technical successors have failed the legacy of *Hypercard* as an end-user tool: -while it is easier than ever to publish content on the web (through various social media and microblogging services), the benefits of hypermedia as a customizable medium for personal management have nearly vanished. -End-users do not create hypertext anymore. - -The *UNIX Philosophy* -describes the software design paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs -research center in the 1960s. The concepts are considered quite influental and are still notably applied in the Linux community. -Many attempts at summaries exist, but the following includes the pieces that are especially relevant even today: - -> Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. -> Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be -> written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs -> than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, -> become general and useful tools. - -This approach has multiple benefits with regard to end-user programmability: -Assembling the system out of simple, modular pieces means that for any given task a user may want to implement, -it is very likely that preexisting parts of the system can help the user realize a solution. -Wherever such a preexisting part exists, it pays off designing it in such a way that it is easy to integrate for the user later. -Assembling the system as a collection of modular, interacting pieces also enables future growth and customization, -since pieces may be swapped out with customized or alternate software at any time. - -*** - -Based on this, a modern data storage and processing ecosystem should enable transclusion of both content and behaviours -between contexts. -Content should be able to be transcluded and referenced to facilitate the creation of flexible data formats and interactions, -such that e.g. a slideshow slide can include content in a variety other formats (such as images and text) from anywhere else in the system. -Behaviours should be able to be transcluded and reused to facilitate the creation of ad-hoc sytems and applets based on user needs. -For example a user-created todo list should be able to take advantage of a sketching tool the user already has access to. - -The system should enable the quick creation of ad-hoc software. - -While there are drawbacks to cloud-storage of data (as outlined above), the utility of distributed systems is acknowledged, -and the system should therefore be able to include content and behaviours via the network. -This ability should be integrated deeply into the system, -so that data can be treated independently of its origin and storage conditions, with as little caveats as possible. - -The system needs to be browsable and understandable by users. - -In order to provide users full access to their information as well as the computational infrastructure, -users need to be able to finely customize and reorganize the smallest pieces to suit their own purposes, -in other words: be able to program. - -While there is an ongoing area of research focusing on the development of new programming paradigms, -methodologies and tools that are more accessible and cater to the wide -range of end-users, -in order to keep the scope of this work appropriate, -conventional programming languages are used for the time being. -Confidence is placed in the fact that eventually more user-friendly languages will be available and, -given the goal of modularity, should be implementable in a straightforward fashion. - -*Ink and Switch* suggest three qualities for tools striving to support -end-user programming: - -- "Embodiment", i.e. reifying central concepts of the programming model as more concrete, tangible objects - in the digital space (for example through visual representation), - in order to reduce cognitive load on the user. -- "Living System", by which they seem to describe the malleability of a system or environment, - and in particular the ability to make changes at different levels of depth in the system with - very short feedback loops and a feeling of direct experience. -- "In-place toolchain", denoting the availability of tools to customize and author the experience, - as well as a certain accesibility of these tools, granted by a conceptual affinity between the - use of the tools and general 'passive' use of containing system at large. -- cgit v1.2.3 From aab83d4f51ede07cad4152fa9d7b73db054a5963 Mon Sep 17 00:00:00 2001 From: s-ol Date: Sun, 22 Dec 2019 16:01:47 +0100 Subject: lots more writing --- .../mmmfs/framework/text$markdown+sidenotes.md | 69 +++++----------------- 1 file changed, 14 insertions(+), 55 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index af446a5..6fa2d3a 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -1,52 +1,13 @@ -Two of the earliest wholistic computing systems, the Xerox Alto and Xerox Star, both developed at Xerox PARC and introduced in the 70s and early 80s, pioneered not only graphical user-interfaces, but also the "Desktop Metaphor". -The desktop metaphor presents information as stored in "Documents" that can be organized in folders and on the "Desktop". It invokes a strong analogy to physical tools. -One of the differences between the Xerox Star system and other systems at the time, as well as the systems we use currently, is that the type of data a file represents is directly known to the system. +evaluation framework +==================== -
+In the following section, I will collect approaches and reviews of different end-user software systems from current +literature, as well as derive and present my own requirements and guiding principles for the development of a new system. -> In a Desktop metaphor system, users deal mainly with data files, oblivious to the existence of programs. -> They do not "invoke a text editor", they "open a document". -> The system knows the type of each file and notifies the relevant application program when one is opened. -> -> The disadvantage of assigning data files to applications is that users sometimes want to operate on a file with a program other than -its "assigned" application. \[...\] -> Star's designers feel that, for its audience, the advantages of allowing users to forget -about programs outweighs this disadvantage. - -Other systems at the time lacked any knowledge of the type of files, -and while mainstream operating systems of today have retro-fit the ability to associate and memorize the preferred applications to use for a given file based on it's name suffix, the intention of making applications a secondary, technical detail of working with the computer has surely been lost. - -Another design detail of the Star system is the concept of "properties" that are stored for "objects" throughout the system (the objects being anything from files to characters or paragraphs). -These typed pieces of information are labelled with a name and persistently stored, providing a mechanism to store metadata such as user preference for ordering or defaut view of a folder for example. - -*** - -Fig. 8 - Star Retrospective - -The earliest indirect influence for the Xerox Alto and many other systems of its time, -was the *Memex*. The *Memex* is a hypothetical device and system for knowledge management. -Proposed by Vannevar Bush in 1945, the concept predates much of the technology that later was used to implement many parts of the vision. In essence, the concept of hypertext was invented. - -*** - -One of the systems that could be said to have come closest to a practical implementation of the Memex might be Apple's *Hypercard*. - -https://archive.org/details/CC501_hypercard - -"So I can have the information in these stacks tied together in a way that makes sense" - -In a demonstration video, the creators of the software showcase a system of stacks of cards that together implement, amongst others, a calendar (with yearly and weekly views), a list of digital business cards for storing phone numbers and addresses, and a todo list. -However these stacks of cards are not just usable by themselves, it is also demonstrated how stacks can link to each other in meaningful ways, such as jumping to the card corresponding to a specific day from the yearly calendar view, or automatically looking up the card corresponding to a person's first name from a mention of the name in the text on a different card. - -Alongside Spreadsheets, *Hypercard* remains one of the most successful implementations of end-user programming, even today. -While it's technical abilities have been long matched and passed by other software (such as the ubiquitous HTML hypertext markup language), these technical successors have failed the legacy of *Hypercard* as an end-user tool: -while it is easier than ever to publish content on the web (through various social media and microblogging services), the benefits of hypermedia as a customizable medium for personal management have nearly vanished. -End-users do not create hypertext anymore. - -The *UNIX Philosophy* -describes the software design paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs -research center in the 1960s. The concepts are considered quite influental and are still notably applied in the Linux community. -Many attempts at summaries exist, but the following includes the pieces that are especially relevant even today: +The *UNIX Philosophy* describes the software design paradigm +pioneered in the creation of the Unix operating system at the AT&T Bell Labs research center in the 1960s. The +concepts are considered quite influental and are still notably applied in the Linux community. Many attempts at +summaries exist, but the following includes the pieces that are especially relevant even today: > Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. > Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be @@ -54,14 +15,12 @@ Many attempts at summaries exist, but the following includes the pieces that are > than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, > become general and useful tools. -This approach has multiple benefits with regard to end-user programmability: -Assembling the system out of simple, modular pieces means that for any given task a user may want to implement, -it is very likely that preexisting parts of the system can help the user realize a solution. -Wherever such a preexisting part exists, it pays off designing it in such a way that it is easy to integrate for the user later. -Assembling the system as a collection of modular, interacting pieces also enables future growth and customization, -since pieces may be swapped out with customized or alternate software at any time. - -*** +This approach has multiple benefits with regard to end-user programmability: Assembling the system out of simple, +modular pieces means that for any given task a user may want to implement, it is very likely that preexisting parts +of the system can help the user realize a solution. Wherever such a preexisting part exists, it pays off designing it +in such a way that it is easy to integrate for the user later. Assembling the system as a collection of modular, +interacting pieces also enables future growth and customization, since pieces may be swapped out with customized or +alternate software at any time. Based on this, a modern data storage and processing ecosystem should enable transclusion of both content and behaviours between contexts. -- cgit v1.2.3 From dc7ee6dc261d5c3351552ed092c9d7ed66f163cc Mon Sep 17 00:00:00 2001 From: s-ol Date: Sat, 28 Dec 2019 18:48:49 +0100 Subject: more write- and referencing --- .../mmmfs/framework/text$markdown+sidenotes.md | 91 ++++++++++++++-------- 1 file changed, 59 insertions(+), 32 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index 6fa2d3a..ec08ec4 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -2,41 +2,81 @@ evaluation framework ==================== In the following section, I will collect approaches and reviews of different end-user software systems from current -literature, as well as derive and present my own requirements and guiding principles for the development of a new system. +literature, as well as derive and present my own requirements and guiding principles for the development of a new +system. + +qualities +--------- + +*Ink and Switch* suggest three qualities for tools striving to support +end-user programming: + +- *Embodiment*, i.e. reifying central concepts of the programming model as more concrete, tangible objects + in the digital space (for example through visual representation), + in order to reduce cognitive load on the user. +- *Living System*, by which they seem to describe the malleability of a system or environment, + and in particular the ability to make changes at different levels of depth in the system with + very short feedback loops and a feeling of direct experience. +- *In-place toolchain*, denoting the availability of tools to customize and author the experience, + as well as a certain accesibility of these tools, granted by a conceptual affinity between the + use of the tools and general 'passive' use of containing system at large. + +These serve as guiding principles for the design and evaluation of computer systems for end-users, but are by nature +very abstract. The following properties are therefore derived as more concrete proposals based on some more specific +constraints: namely the construction of a system for end-users to keep, structure and display personal information and +thoughts in. + +modularity +---------- The *UNIX Philosophy* describes the software design paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs research center in the 1960s. The concepts are considered quite influental and are still notably applied in the Linux community. Many attempts at summaries exist, but the following includes the pieces that are especially relevant even today: -> Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes it work well. -> Instead, what makes it effective is the approach to programming, a philosophy of using the computer. Although that philosophy can't be -> written down in a single sentence, at its heart is the idea that the power of a system comes more from the relationships among programs -> than from the programs themselves. Many UNIX programs do quite trivial things in isolation, but, combined with other programs, -> become general and useful tools. +> Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes +> it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. +> Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a +> system comes more from the relationships among programs than from the programs themselves. Many UNIX programs do quite +> trivial things in isolation, but, combined with other programs, become general and useful tools. This approach has multiple benefits with regard to end-user programmability: Assembling the system out of simple, modular pieces means that for any given task a user may want to implement, it is very likely that preexisting parts of the system can help the user realize a solution. Wherever such a preexisting part exists, it pays off designing it in such a way that it is easy to integrate for the user later. Assembling the system as a collection of modular, interacting pieces also enables future growth and customization, since pieces may be swapped out with customized or -alternate software at any time. +alternate software at any time. -Based on this, a modern data storage and processing ecosystem should enable transclusion of both content and behaviours -between contexts. -Content should be able to be transcluded and referenced to facilitate the creation of flexible data formats and interactions, -such that e.g. a slideshow slide can include content in a variety other formats (such as images and text) from anywhere else in the system. -Behaviours should be able to be transcluded and reused to facilitate the creation of ad-hoc sytems and applets based on user needs. -For example a user-created todo list should be able to take advantage of a sketching tool the user already has access to. +Settling on a specific modular design model, and reifying other components of a system in terms of it also corresponds +directly to the concept of *Embodiment* described by Ink & Switch. -The system should enable the quick creation of ad-hoc software. +content transclusion +-------------------- -While there are drawbacks to cloud-storage of data (as outlined above), the utility of distributed systems is acknowledged, -and the system should therefore be able to include content and behaviours via the network. -This ability should be integrated deeply into the system, -so that data can be treated independently of its origin and storage conditions, with as little caveats as possible. +The strengths of modular architectures should similarily also extend into the way the system will be used by users. +If users are to store their information and customized behaviour in such an architecture, then powerful tools need to be +present in order to assemble more complex solutions out of such parts. Therefore static content should be able to be +linked to (as envisioned for the *Memex*, see above), but also to be The term transclusion +refers to the concept of including content from a separate document, possibly stored remotely, by reference rather than +by duplication. See also *transcluded*, +to facilitate the creation of flexible data formats and interactions, such that e.g. a slideshow slide can include +content in a variety other formats (such as images and text) from anywhere else in the system. Behaviours also should be +able to be transcluded and reused to facilitate the creation of ad-hoc sytems and applets based on user needs. For +example a user-created todo list should be able to take advantage of a sketching tool the user already has access to. -The system needs to be browsable and understandable by users. +By forming the immediately user-visible layer of the system out of the same abstractions that the deeper levels of the +system are made of, the sense of a *Living System* is also improved: skills that are learned at one (lower) level of the +system carry on into further interaction with the system on deeper levels, as does progress in understanding the +system's mechanisms. + +While there are drawbacks to cloud-storage of data (as outlined above), the utility of distributed systems is +acknowledged, and the system should therefore be able to include content and behaviours via the network. +This ability should be integrated deeply into the system, so that data can be treated independently of its origin and +storage conditions, with as little caveats as possible. In particular, the interactions of remote data access and +content transclusion should be paid attention to and taken into consideration for a system's design. + +end-user programming +-------------------- In order to provide users full access to their information as well as the computational infrastructure, users need to be able to finely customize and reorganize the smallest pieces to suit their own purposes, @@ -49,16 +89,3 @@ in order to keep the scope of this work appropriate, conventional programming languages are used for the time being. Confidence is placed in the fact that eventually more user-friendly languages will be available and, given the goal of modularity, should be implementable in a straightforward fashion. - -*Ink and Switch* suggest three qualities for tools striving to support -end-user programming: - -- "Embodiment", i.e. reifying central concepts of the programming model as more concrete, tangible objects - in the digital space (for example through visual representation), - in order to reduce cognitive load on the user. -- "Living System", by which they seem to describe the malleability of a system or environment, - and in particular the ability to make changes at different levels of depth in the system with - very short feedback loops and a feeling of direct experience. -- "In-place toolchain", denoting the availability of tools to customize and author the experience, - as well as a certain accesibility of these tools, granted by a conceptual affinity between the - use of the tools and general 'passive' use of containing system at large. -- cgit v1.2.3 From 77777347b56d6914aa42aca19effc2ad664524ee Mon Sep 17 00:00:00 2001 From: s-ol Date: Sun, 29 Dec 2019 14:49:49 +0100 Subject: much improved side-note referencing --- root/articles/mmmfs/framework/text$markdown+sidenotes.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index ec08ec4..0e4d9a3 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -9,7 +9,7 @@ qualities --------- *Ink and Switch* suggest three qualities for tools striving to support -end-user programming: +end-user programming: - *Embodiment*, i.e. reifying central concepts of the programming model as more concrete, tangible objects in the digital space (for example through visual representation), @@ -29,8 +29,8 @@ thoughts in. modularity ---------- -The *UNIX Philosophy* describes the software design paradigm -pioneered in the creation of the Unix operating system at the AT&T Bell Labs research center in the 1960s. The +The *UNIX Philosophy* describes the software design +paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs research center in the 1960s. The concepts are considered quite influental and are still notably applied in the Linux community. Many attempts at summaries exist, but the following includes the pieces that are especially relevant even today: @@ -58,7 +58,7 @@ If users are to store their information and customized behaviour in such an arch present in order to assemble more complex solutions out of such parts. Therefore static content should be able to be linked to (as envisioned for the *Memex*, see above), but also to be The term transclusion refers to the concept of including content from a separate document, possibly stored remotely, by reference rather than -by duplication. See also *transcluded*, +by duplication. See also *transcluded*, to facilitate the creation of flexible data formats and interactions, such that e.g. a slideshow slide can include content in a variety other formats (such as images and text) from anywhere else in the system. Behaviours also should be able to be transcluded and reused to facilitate the creation of ad-hoc sytems and applets based on user needs. For @@ -84,7 +84,7 @@ in other words: be able to program. While there is an ongoing area of research focusing on the development of new programming paradigms, methodologies and tools that are more accessible and cater to the wide -range of end-users, +range of end-users, in order to keep the scope of this work appropriate, conventional programming languages are used for the time being. Confidence is placed in the fact that eventually more user-friendly languages will be available and, -- cgit v1.2.3 From b0b26d2a9dcd4944d9aae90480591793691730c1 Mon Sep 17 00:00:00 2001 From: s-ol Date: Sun, 29 Dec 2019 18:56:23 +0100 Subject: marginnote embedding --- root/articles/mmmfs/framework/text$markdown+sidenotes.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index 0e4d9a3..48e6a2c 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -56,9 +56,10 @@ content transclusion The strengths of modular architectures should similarily also extend into the way the system will be used by users. If users are to store their information and customized behaviour in such an architecture, then powerful tools need to be present in order to assemble more complex solutions out of such parts. Therefore static content should be able to be -linked to (as envisioned for the *Memex*, see above), but also to be The term transclusion -refers to the concept of including content from a separate document, possibly stored remotely, by reference rather than -by duplication. See also *transcluded*, +linked to (as envisioned for the *Memex*, see above), but also to be The term transclusion refers to the concept of including content from a +separate document, possibly stored remotely, by reference rather than by duplication. See also +*transcluded*, to facilitate the creation of flexible data formats and interactions, such that e.g. a slideshow slide can include content in a variety other formats (such as images and text) from anywhere else in the system. Behaviours also should be able to be transcluded and reused to facilitate the creation of ad-hoc sytems and applets based on user needs. For -- cgit v1.2.3 From 5db27ae44907974230dbdfba002182e68e59038e Mon Sep 17 00:00:00 2001 From: s-ol Date: Mon, 30 Dec 2019 19:52:37 +0100 Subject: lots of fixes --- root/articles/mmmfs/framework/text$markdown+sidenotes.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index 48e6a2c..f62c581 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -22,16 +22,16 @@ end-user programming describes the software design paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs research center in the 1960s. The -concepts are considered quite influental and are still notably applied in the Linux community. Many attempts at +concepts are considered quite influential and are still notably applied in the Linux community. Many attempts at summaries exist, but the following includes the pieces that are especially relevant even today: > Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes @@ -47,13 +47,13 @@ in such a way that it is easy to integrate for the user later. Assembling the sy interacting pieces also enables future growth and customization, since pieces may be swapped out with customized or alternate software at any time. -Settling on a specific modular design model, and reifying other components of a system in terms of it also corresponds +Settling on a specific modular design model, and reifying other components of a system in terms of it, also corresponds directly to the concept of *Embodiment* described by Ink & Switch. content transclusion -------------------- -The strengths of modular architectures should similarily also extend into the way the system will be used by users. +The strengths of modular architectures should similarily extend also into the way the system will be used by users. If users are to store their information and customized behaviour in such an architecture, then powerful tools need to be present in order to assemble more complex solutions out of such parts. Therefore static content should be able to be linked to (as envisioned for the *Memex*, see above), but also to be Date: Tue, 31 Dec 2019 15:11:47 +0100 Subject: table-of-contents, reference order --- .../mmmfs/framework/text$markdown+sidenotes.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index f62c581..81acb02 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -1,12 +1,11 @@ -evaluation framework -==================== +# 3. evaluation framework In the following section, I will collect approaches and reviews of different end-user software systems from current literature, as well as derive and present my own requirements and guiding principles for the development of a new system. -qualities ---------- +3.1 qualities of successful end-user computing +---------------------------------------------- *Ink and Switch* suggest three qualities for tools striving to support end-user programming: @@ -26,8 +25,8 @@ very abstract. The following properties are therefore derived as more concrete p constraints: namely the construction of a system for end-users to keep, structure and display personal information and thoughts. -modularity ----------- +3.2 modularity +-------------- The *UNIX Philosophy* describes the software design paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs research center in the 1960s. The @@ -50,8 +49,8 @@ alternate software at any time. Settling on a specific modular design model, and reifying other components of a system in terms of it, also corresponds directly to the concept of *Embodiment* described by Ink & Switch. -content transclusion --------------------- +3.3 content transclusion +------------------------ The strengths of modular architectures should similarily extend also into the way the system will be used by users. If users are to store their information and customized behaviour in such an architecture, then powerful tools need to be @@ -76,8 +75,8 @@ This ability should be integrated deeply into the system, so that data can be tr storage conditions, with as little caveats as possible. In particular, the interactions of remote data access and content transclusion should be paid attention to and taken into consideration for a system's design. -end-user programming --------------------- +3.4 end-user programming +------------------------ In order to provide users full access to their information as well as the computational infrastructure, users need to be able to finely customize and reorganize the smallest pieces to suit their own purposes, -- cgit v1.2.3 From 719fe5d1a2f8b2d1e2c58b7aed18e6062656ca90 Mon Sep 17 00:00:00 2001 From: s-ol Date: Tue, 31 Dec 2019 18:40:54 +0100 Subject: spellcheck --- root/articles/mmmfs/framework/text$markdown+sidenotes.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index 81acb02..0df28c4 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -17,7 +17,7 @@ end-user programming > Even though the UNIX system introduces a number of innovative programs and techniques, no single program or idea makes > it work well. Instead, what makes it effective is the approach to programming, a philosophy of using the computer. > Although that philosophy can't be written down in a single sentence, at its heart is the idea that the power of a @@ -52,7 +53,7 @@ directly to the concept of *Embodiment* described by Ink & Switch. 3.3 content transclusion ------------------------ -The strengths of modular architectures should similarily extend also into the way the system will be used by users. +The strengths of modular architectures should similarly extend also into the way the system will be used by users. If users are to store their information and customized behaviour in such an architecture, then powerful tools need to be present in order to assemble more complex solutions out of such parts. Therefore static content should be able to be linked to (as envisioned for the *Memex*, see above), but also to be *transcluded*, to facilitate the creation of flexible data formats and interactions, such that e.g. a slideshow slide can include content in a variety other formats (such as images and text) from anywhere else in the system. Behaviours also should be -able to be transcluded and reused to facilitate the creation of ad-hoc sytems and applets based on user needs. For +able to be transcluded and reused to facilitate the creation of ad-hoc systems and applets based on user needs. For example a user-created todo list should be able to take advantage of a sketching tool the user already has access to. By forming the immediately user-visible layer of the system out of the same abstractions that the deeper levels of the -- cgit v1.2.3 From 38ae5b297ce5d422927af5c2cda57ad98c06df93 Mon Sep 17 00:00:00 2001 From: s-ol Date: Wed, 1 Jan 2020 14:28:49 +0100 Subject: section intros --- root/articles/mmmfs/framework/text$markdown+sidenotes.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index 0df28c4..e85bf42 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -1,8 +1,10 @@ # 3. evaluation framework -In the following section, I will collect approaches and reviews of different end-user software systems from current -literature, as well as derive and present my own requirements and guiding principles for the development of a new -system. +In this section, I will collect approaches and reviews of different end-user software systems from current literature, +as well as derive and present my own requirements and guiding principles for the development of a new system. + +Firstly, I will take a look at a framework for evaluating end-user computing systems from literature, before presenting +three concrete design principles and components for a new system. 3.1 qualities of successful end-user computing ---------------------------------------------- -- cgit v1.2.3 From 3c03612dda10b3dcc38c9bc2c96d8a539518f2db Mon Sep 17 00:00:00 2001 From: s-ol Date: Wed, 1 Jan 2020 19:41:01 +0100 Subject: introduction --- .../mmmfs/framework/text$markdown+sidenotes.md | 38 ++++++++++++---------- 1 file changed, 20 insertions(+), 18 deletions(-) (limited to 'root/articles/mmmfs/framework') diff --git a/root/articles/mmmfs/framework/text$markdown+sidenotes.md b/root/articles/mmmfs/framework/text$markdown+sidenotes.md index e85bf42..e5f3c7e 100644 --- a/root/articles/mmmfs/framework/text$markdown+sidenotes.md +++ b/root/articles/mmmfs/framework/text$markdown+sidenotes.md @@ -1,4 +1,4 @@ -# 3. evaluation framework +# 4 evaluation framework In this section, I will collect approaches and reviews of different end-user software systems from current literature, as well as derive and present my own requirements and guiding principles for the development of a new system. @@ -6,14 +6,14 @@ as well as derive and present my own requirements and guiding principles for the Firstly, I will take a look at a framework for evaluating end-user computing systems from literature, before presenting three concrete design principles and components for a new system. -3.1 qualities of successful end-user computing ----------------------------------------------- +4.1 qualities of successful end-user computing +--------------------------------------------------- -*Ink and Switch* suggest three qualities for tools striving to support -end-user programming: +*Ink and Switch* suggest three qualities for tools striving to support +end-user programming: - *Embodiment*, i.e. reifying central concepts of the programming model as more concrete, tangible objects - in the digital space (for example through visual representation), + in the digital space (for example, through visual representation), in order to reduce cognitive load on the user. - *Living System*, by which they seem to describe the malleability of a system or environment, and in particular the ability to make changes at different levels of depth in the system with @@ -22,13 +22,15 @@ end-user programming + +4.2 modularity +------------------- The *UNIX Philosophy* describes the software design paradigm pioneered in the creation of the Unix operating system at the AT&T Bell Labs research center in the 1960s. The @@ -52,20 +54,20 @@ alternate software at any time. Settling on a specific modular design model, and reifying other components of a system in terms of it, also corresponds directly to the concept of *Embodiment* described by Ink & Switch. -3.3 content transclusion ------------------------- +4.3 content transclusion +----------------------------- The strengths of modular architectures should similarly extend also into the way the system will be used by users. -If users are to store their information and customized behaviour in such an architecture, then powerful tools need to be +If users are to store their information and customized behavior in such an architecture, then powerful tools need to be present in order to assemble more complex solutions out of such parts. Therefore static content should be able to be linked to (as envisioned for the *Memex*, see above), but also to be The term transclusion refers to the concept of including content from a separate document, possibly stored remotely, by reference rather than by duplication. See also *transcluded*, to facilitate the creation of flexible data formats and interactions, such that e.g. a slideshow slide can include -content in a variety other formats (such as images and text) from anywhere else in the system. Behaviours also should be +content in a variety other formats (such as images and text) from anywhere else in the system. Behaviors also should be able to be transcluded and reused to facilitate the creation of ad-hoc systems and applets based on user needs. For -example a user-created todo list should be able to take advantage of a sketching tool the user already has access to. +example, a user-created todo list should be able to take advantage of a sketching tool the user already has access to. By forming the immediately user-visible layer of the system out of the same abstractions that the deeper levels of the system are made of, the sense of a *Living System* is also improved: skills that are learned at one (lower) level of the @@ -73,20 +75,20 @@ system carry on into further interaction with the system on deeper levels, as do system's mechanisms. While there are drawbacks to cloud-storage of data (as outlined above), the utility of distributed systems is -acknowledged, and the system should therefore be able to include content and behaviours via the network. +acknowledged, and the system should therefore be able to include content and behaviors via the network. This ability should be integrated deeply into the system, so that data can be treated independently of its origin and storage conditions, with as little caveats as possible. In particular, the interactions of remote data access and content transclusion should be paid attention to and taken into consideration for a system's design. -3.4 end-user programming ------------------------- +4.4 end-user programming +----------------------------- In order to provide users full access to their information as well as the computational infrastructure, users need to be able to finely customize and reorganize the smallest pieces to suit their own purposes, in other words: be able to program. While there is an ongoing area of research focusing on the development of new programming paradigms, -methodologies and tools that are more accessible and cater to the wide +methodologies, and tools that are more accessible and cater to the wide range of end-users, in order to keep the scope of this work appropriate, conventional programming languages are used for the time being. -- cgit v1.2.3