Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision | ||
project_qfwfq_notes [2011-08-02 12:19] – davegriffiths | project_qfwfq_notes [2011-11-10 12:40] – davegriffiths | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====Brainstorming space==== | ||
+ | |||
+ | ===Range of interesting technologies=== | ||
+ | |||
+ | * Tangible interface | ||
+ | * Haptic feedback | ||
+ | * Touchscreens | ||
+ | * Keyboard/ | ||
+ | |||
+ | ===Towards Potential concreteness=== | ||
+ | |||
+ | Spreadsheets -> Programmable matter, use cases: | ||
+ | |||
+ | ==Tangible programming for searching open data== | ||
+ | |||
+ | * Human augmented realtime search (over batch mode search) | ||
+ | * Is a change in emphasis (human interaction over raw speed) worth the trade off? | ||
+ | * How can this be realised? | ||
+ | * Interfaces | ||
+ | * Suitible algorithms | ||
+ | * Suitible visualisations | ||
+ | * Going further - realtime modification of (eg. search) algorithms while they are running | ||
+ | * Human shaping/ | ||
+ | * Connection to livecoding | ||
+ | * Collaboration - allowing new levels of engagement with massive datasets by multiple parties | ||
+ | * As a form of conflict resolution | ||
+ | * Performative aspect - Hans Rosling style, but where the algorithms are open to criticism/ | ||
+ | * Public access to data and interpretation | ||
+ | * Fiddle with the interpretations for yourself? | ||
+ | * Online/ | ||
+ | |||
+ | ==" | ||
+ | |||
+ | * Often cited as a problem by many professionals in different areas | ||
+ | * "Used to be able to look at the numbers in a text editor/ | ||
+ | * Already have an intimate knowledge of their data, this is lost with size/" | ||
+ | * Why is this a problem? | ||
+ | * Leads to a loss of control/ | ||
+ | * Need to understand implications of algorithms - perhaps before data is collected | ||
+ | * How can it be solved? | ||
+ | * Psychologically (what is missing?) | ||
+ | * Technically | ||
+ | * How domain specific does the solution need to be, is it generalisable? | ||
+ | |||
+ | ==Understanding of time== | ||
+ | |||
+ | * A problem in social networks | ||
+ | * Implications in other areas | ||
+ | * Use of music | ||
+ | * Human time vs computer time | ||
+ | * Moving between these for tangibility | ||
+ | |||
+ | ==Finding appropriate ways of programming with a limited interface== | ||
+ | |||
+ | * Making phones/ | ||
+ | * Lack of tools in this area is a fundamental problem | ||
+ | * Leads to specialisation of programming, | ||
+ | * Focus on Aakash for example | ||
+ | * Text editors (even with nice features) suck on touch screens | ||
+ | * Perhaps " | ||
+ | * Does this actually require rethink of programming down to language level? | ||
+ | * New language axioms or just representations of eg map/ | ||
+ | * Amorphous programming, | ||
+ | * Is this more suitable framework for less discrete/" | ||
+ | * Multiple levels of process resolution (parallel with overall marshaling - scatter/ | ||
+ | |||
+ | ==Novel approaches to creativity== | ||
+ | |||
+ | * Games as learning environments - well researched area | ||
+ | * Game world as "safe space" for experimentation/ | ||
+ | * Games as ways for people to see things from different perspectives | ||
+ | * "Game programming" | ||
+ | * Current examples lack integration of programming into the game world itself - treated as separate " | ||
+ | * When programming " | ||
+ | * We can make this hack a feature - designed in from the start | ||
+ | * Algorithms as world, processes as agents = very visible/ | ||
+ | * As a solution to algorithmic malleability | ||
+ | * Easy to see whats going wrong and where | ||
+ | * It's realtime | ||
+ | * Games as environments filled with interacting agents (incl humans) | ||
+ | * Human level of understanding, | ||
+ | * Current languages abstract machine process into human level metaphor (for/while loops etc -> assembler) | ||
+ | * Next languages need to abstract machine time to human understanding? | ||
+ | |||
+ | ====Initial 2011 reset==== | ||
+ | |||
===Core motivations=== | ===Core motivations=== | ||
Reasons to reinvigorate qfwfq from a FoAM perspective. | Reasons to reinvigorate qfwfq from a FoAM perspective. | ||
Line 5: | Line 91: | ||
As an approach to connecting diverse fields (biology, architecture, | As an approach to connecting diverse fields (biology, architecture, | ||
- | * The increase of data volume and complexity and the requirement for designing processes (programming) to deal with it all. | + | * The increase of data volume and complexity and the requirement for designing processes (programming) to deal with it all. // Alex says: This is close to the core aims of the OAK group in Sheffield too I think // |
* The rise of computational solutions to problems in general has left some areas behind - eg. not all areas of biology have easy access to bioinformatics departments. | * The rise of computational solutions to problems in general has left some areas behind - eg. not all areas of biology have easy access to bioinformatics departments. | ||
* Not having enough of an understanding of the processes carried out on a data set can lead to problematic interpretations. | * Not having enough of an understanding of the processes carried out on a data set can lead to problematic interpretations. | ||
Line 19: | Line 105: | ||
==Why is this needed? The Importance of a Code Literate Culture== | ==Why is this needed? The Importance of a Code Literate Culture== | ||
+ | |||
"the code literate of our society are mostly white men" ... "code written today is not representative of our society" | "the code literate of our society are mostly white men" ... "code written today is not representative of our society" | ||
Line 25: | Line 112: | ||
* Is the lack of diversity in programmers a self perpetuating situation? | * Is the lack of diversity in programmers a self perpetuating situation? | ||
* Is the specialisation of information technology into separate fields problematic? | * Is the specialisation of information technology into separate fields problematic? | ||
- | * What is it about programming languages or it' | + | * What is it about programming languages or its culture that is problematic for some? |
+ | |||
+ | // Alex says: I think we need to find more data on this, will have a look around. | ||
==Aims/ | ==Aims/ | ||
Line 36: | Line 125: | ||
And will prove it with the evaluation of 2 (or more) use cases in diverse fields. | And will prove it with the evaluation of 2 (or more) use cases in diverse fields. | ||
+ | |||
+ | // Alex says: I have a feeling that the aim of covering multiple levels of abstraction could be at odds with the aim of non-domain specificity. Are lower levels of abstraction necessarily domain specific? // | ||
==Possible Methodologies== | ==Possible Methodologies== | ||
Line 45: | Line 136: | ||
Good bits: | Good bits: | ||
- | * Scalability/ | + | * Scalability/ |
* Use of real application | * Use of real application | ||
* Mixed reality needs sound development methods | * Mixed reality needs sound development methods | ||
Line 66: | Line 157: | ||
Why are we better placed to tackle this than CS or bioinformatics or architecture departments? | Why are we better placed to tackle this than CS or bioinformatics or architecture departments? | ||
Some way to present diversity as strength? | Some way to present diversity as strength? | ||
+ | |||
+ | ==Summary== | ||
+ | |||
+ | |||
+ | By 2020 computer interfaces will have become embedded into the human environment, | ||
+ | |||
+ | Growing datasets allow greater insights, but only where practitioners take a computational approach, dealing with data at a higher level of abstraction than is currently conventional. | ||
+ | |||
+ | The opportunity lies then in developing novel end-user programming environments which take advantage of new modes of embodied HCI; environments designed for end-users outside of traditional computer science and software engineering contexts. | ||
+ | |||
+ | This opportunity centres around the integration of formal programming languages with visuospatial perception, cognition and gesture. | ||
+ | |||
+ | The fundamental scientific problem to solve in order to implement the technology and get the benefits by 2020 lies in the mapping between the abstractions of formal language and the embodied interactions which emerging technologies provide. Some steps towards this goal are already well developed in object oriented and visual programming, | ||
+ | |||
+ | Our research questions are: How can linguistic interfaces be integrated with emerging, embodied modes of human-computer interaction? | ||
+ | |||
+ | The design of new environments for higher order interaction needs to be led by the needs of end user programmers from the start, through brainstorming and workflow analysis, leading to workshops and experiments to explore and evaluate the design prototypes which result. As part of this process, assumptions in the design of programming language environments need to be enumerated and reconsidered in the light of emerging technologies. | ||
+ | |||
+ | The needs of end user programmers differ strongly from the computer scientists and professional programmers who generally lead the design of programming languages. Escaping from established norms in software development, | ||
+ | |||
+ | There are risks in taking a cross-domain approach, as research into Visual Programming and Tangible Interfaces have previously only seen success in particular specialised domains. However the possibilities for finding commonalities in problems surrounding information processing across domains brings promise of huge returns. | ||
+ | |||
==Links== | ==Links== |