SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
Sense - 
An alternative visualisation 
Tim Mackinnon 
http://morethan.technology
More Than Technology Ltd. 
! I am a small company focused on: 
" Solving problems using extreme Agility 
" Delivering business value in partnership with clients 
" Working in an honest, iterative and collaborative manner 
" Helping teams communicate without killing each other 
! Tim Mackinnon 
" Learned Smalltalk at Carleton University late 80’s 
" Originally didn’t like it, cute but mehh… 
" Now it’s the language I keep coming back to for its elegance and 
simplicity & community
Thank You Smalltalk! 
! Vibrant Helpful 
Community 
! So much beautiful 
code 
! Amazing, Inspiring 
ideas 
! FUN!
The OU TU100 Course
Open University’s “Sense” 
! www.sense.open.ac.uk 
! SenseBoard (usb) 
" Freeduino based 
" Input sensors – 
button, slider, mic, ir, 
accelerometer, 
themometer 
" Outputs – led’s, ir, servo 
& stepper motors 
! Sense IDE – modified 
Scratch environment
The Sense IDE
TU100 Course is Well Received 
! “I already had some 
knowledge of 
programming but was 
amazed by sense. 
THIS IS BRILLIANT! 
Whoever thought of 
this way to teach 
programming needs 
promoting.” 
http://www.youtube.com/watch? 
v=g-m3O5vhMss
V1.0 
! Original work completed 
by: 
" Open Univeristy + 
" John Daniels 
" Dave Cleal 
! USB interface to 
SenseBoard 
! Additional blocks 
" Internet 
" Inputs 
" Outputs
V2.0 - Specification 
! Deliverables 
" To provide the Simulator and maintenance documentation. The 
simulator should be delivered either as part of a revised version 
of the Sense programming environment, or as a plugin module 
that can be installed alongside Sense. 
! The simulator is intended to act as a partial replacement 
for this physical item for those students who are unable 
to use the board because: 
! They have a physical disability which precludes them from handling 
the board or sensors 
! They are an inmate, or tutor visiting an inmate, in a prison where 
access to the SenseBoard and cables are not allowed.
V2.0 Mockups 
! Launch a simulator without a SenseBoard
Which technology? 
! Everyone seemed afraid to use 
Squeak ? 
! PRO’s 
" It’s working well 
" already multiplatform 
" can already safely deploy 
! CON’s 
" Could Squeak do cross platform 
sound output, mic input, keyboard 
control? 
" Can anyone still figure this stuff out? 
! Worried about the additional 
Java footprint and installation 
complications 
! Help? 
(where’s Tim Rowledge)
The Shock of early Squeak…
Smalltalk Spike 
! Could I even understand how 
things worked? 
! Worried about the 
“accessibility requirements” of 
the project 
" Keyboard only navigation 
" Sound + Microphone (cross 
platform) 
! Did an initial spike, and found 
that I could get something 
running quickly
Refactoring to a “handler” hierarchy
Smalltalk is so malleable… 
! Fixed some of the bugs/missing features 
" Package saving problems 
" “Create it” in the debugger 
! Re-incarnated Sunit 2.7, Modernized approach with CI 
! Fixed some of the bugs/missing features 
" Package saving problems 
" “Create it” in the debugger 
! Re-incarnated SUnit 2 
! Modernized approach with CI
The Hanging Image
Learning Morphic
Scratch is not a good example of Smalltalk...
Iterative Development: Initial working version
Iteration 2 – multiple motors
Iteration 3 – input ports
Iteration 4 – accessibility tab selection
Iteration 5 – dressed up
Iteration 6 – OU cognitive makeover
Coping with Accessibility 
! Squeak was not made with keyboard access in mind 
! Teaching widgets how to tab, show focus 
! Menu’s continue to be a problem
Inspiration from Accessibility 
! When I hooked up sound accessibility and tried it out - it 
sounded awful! 
! However I found it interesting that I could reason about 
code I knew nothing about…
The sound of computing 
! When I mentioned 
listening to your 
program at UKST… 
! It turns out old 
mainframe 
programmers could 
hear infinite loops 
from the hardware…
Demo of Sound in action… 
! Constant event loop 
! What does this sound 
like?
But polling is bad… Can we do better? 
! Scratch already has a 
broadcast mechanism 
! Couldn’t we hook into 
that somehow?
If you know the right lines of code… 
! Convince scratch 
there are some 
predefined events 
! Wire in some support 
for them
Now rewrite the LED Slider with events 
! But it still doesn’t quite sound right…
This sounds better… but … 
! There is still a slight sound overlap… we can be more 
efficient…
This sounds much better 
! Although it is a bit more complicated, there is less 
processing…
Related Work 
! Craig Latta – VM 
Sonification
Events & Remote Sensor Protocol 
! The simulator and 
remote protocol also 
provide possibilities to 
interface with devices 
! iPhone app sending 
remote data as if from 
the SenseBoard 
! Controlling a Robot 
like the YoBot!
Thankyou 
! Tim Mackinnon 
tim.mackinnon@morethan.technology

Contenu connexe

Tendances

Leap Motion Basic
Leap Motion BasicLeap Motion Basic
Leap Motion Basicvelakaturi
 
E-BALL TECHNOLOGY SEMINAR REPORT
E-BALL TECHNOLOGY SEMINAR REPORTE-BALL TECHNOLOGY SEMINAR REPORT
E-BALL TECHNOLOGY SEMINAR REPORTVikas Kumar
 
A tiny device with a huge idea ''Leap Motion''
A tiny device with a huge idea ''Leap Motion''A tiny device with a huge idea ''Leap Motion''
A tiny device with a huge idea ''Leap Motion''Sazzad Saad
 
11.19 hong quan_leapmotion-beyondthemouseandkeyboard
11.19 hong quan_leapmotion-beyondthemouseandkeyboard11.19 hong quan_leapmotion-beyondthemouseandkeyboard
11.19 hong quan_leapmotion-beyondthemouseandkeyboardQuân Lê
 
Leap Motion Python API
Leap Motion Python APILeap Motion Python API
Leap Motion Python APIJoe Chasinga
 
new Ppt 5 pen technology
new Ppt 5 pen technologynew Ppt 5 pen technology
new Ppt 5 pen technologyVikas Sharma
 
E ball technology ppt by arun
E ball technology ppt by arunE ball technology ppt by arun
E ball technology ppt by arunArun Gowda
 
[PowerPoint .ppt]
[PowerPoint .ppt][PowerPoint .ppt]
[PowerPoint .ppt]Videoguy
 
UX test of Leap Motion Controller by UID
UX test of Leap Motion Controller by UID UX test of Leap Motion Controller by UID
UX test of Leap Motion Controller by UID Tobias Limbach
 
Non technical + technical information
Non technical + technical informationNon technical + technical information
Non technical + technical informationLewisBlackman
 
Human receptors, effectors and human machine interactions
Human receptors, effectors and human machine interactions Human receptors, effectors and human machine interactions
Human receptors, effectors and human machine interactions yoshiharu sato
 

Tendances (19)

E ball technology
E ball technologyE ball technology
E ball technology
 
Leap Motion Basic
Leap Motion BasicLeap Motion Basic
Leap Motion Basic
 
Leap motion
Leap motionLeap motion
Leap motion
 
E-BALL TECHNOLOGY SEMINAR REPORT
E-BALL TECHNOLOGY SEMINAR REPORTE-BALL TECHNOLOGY SEMINAR REPORT
E-BALL TECHNOLOGY SEMINAR REPORT
 
E-ball
E-ball E-ball
E-ball
 
A tiny device with a huge idea ''Leap Motion''
A tiny device with a huge idea ''Leap Motion''A tiny device with a huge idea ''Leap Motion''
A tiny device with a huge idea ''Leap Motion''
 
11.19 hong quan_leapmotion-beyondthemouseandkeyboard
11.19 hong quan_leapmotion-beyondthemouseandkeyboard11.19 hong quan_leapmotion-beyondthemouseandkeyboard
11.19 hong quan_leapmotion-beyondthemouseandkeyboard
 
Leap Motion Python API
Leap Motion Python APILeap Motion Python API
Leap Motion Python API
 
Report
ReportReport
Report
 
new Ppt 5 pen technology
new Ppt 5 pen technologynew Ppt 5 pen technology
new Ppt 5 pen technology
 
Epoc user-manual-ce
Epoc user-manual-ceEpoc user-manual-ce
Epoc user-manual-ce
 
Final power point 2
Final power point 2Final power point 2
Final power point 2
 
E ball technology ppt by arun
E ball technology ppt by arunE ball technology ppt by arun
E ball technology ppt by arun
 
Sunspot
SunspotSunspot
Sunspot
 
[PowerPoint .ppt]
[PowerPoint .ppt][PowerPoint .ppt]
[PowerPoint .ppt]
 
UX test of Leap Motion Controller by UID
UX test of Leap Motion Controller by UID UX test of Leap Motion Controller by UID
UX test of Leap Motion Controller by UID
 
e ball
e balle ball
e ball
 
Non technical + technical information
Non technical + technical informationNon technical + technical information
Non technical + technical information
 
Human receptors, effectors and human machine interactions
Human receptors, effectors and human machine interactions Human receptors, effectors and human machine interactions
Human receptors, effectors and human machine interactions
 

Similaire à Sense - An alternative visualisation

Prototyping - 2015 PhillyCHI UX Workshop Series
Prototyping - 2015 PhillyCHI UX Workshop SeriesPrototyping - 2015 PhillyCHI UX Workshop Series
Prototyping - 2015 PhillyCHI UX Workshop SeriesMatthew Thomas
 
30 sec inclusion training - Microsoft and Mac
30 sec inclusion training - Microsoft and Mac30 sec inclusion training - Microsoft and Mac
30 sec inclusion training - Microsoft and MacServe Indiana
 
Breaking The Confinement Cycle Using Linux
Breaking The Confinement Cycle Using LinuxBreaking The Confinement Cycle Using Linux
Breaking The Confinement Cycle Using LinuxSpencer Hunley
 
Lectures On Demand: delivering traditional lectures over the web
Lectures On Demand: delivering traditional lectures over the webLectures On Demand: delivering traditional lectures over the web
Lectures On Demand: delivering traditional lectures over the webronchet
 
UXLx 2015: 'Designing Connected Products workshop
UXLx 2015: 'Designing Connected Products workshopUXLx 2015: 'Designing Connected Products workshop
UXLx 2015: 'Designing Connected Products workshopClaire Rowland
 
Industrial Design Intelligence: Evaluation Supporting Aesthetic and Functiona...
Industrial Design Intelligence: Evaluation Supporting Aesthetic and Functiona...Industrial Design Intelligence: Evaluation Supporting Aesthetic and Functiona...
Industrial Design Intelligence: Evaluation Supporting Aesthetic and Functiona...BayCHI
 
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!Linaro
 
Stable Squeak World Tour
Stable Squeak World TourStable Squeak World Tour
Stable Squeak World TourESUG
 
More fun using Kautilya
More fun using KautilyaMore fun using Kautilya
More fun using KautilyaNikhil Mittal
 
Review 0 (2) (1) (1).pptx
Review 0 (2) (1) (1).pptxReview 0 (2) (1) (1).pptx
Review 0 (2) (1) (1).pptxWidsoulDevil
 
Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScriptAndrew Fisher
 
eClassrooms Come of Age?
eClassrooms Come of Age?eClassrooms Come of Age?
eClassrooms Come of Age?Alan Wimberley
 
The Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityThe Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityAimee Maree Forsstrom
 
Savinder-Puri--sec-adds-the-glitter-in-DevSecOps-1.pptx
Savinder-Puri--sec-adds-the-glitter-in-DevSecOps-1.pptxSavinder-Puri--sec-adds-the-glitter-in-DevSecOps-1.pptx
Savinder-Puri--sec-adds-the-glitter-in-DevSecOps-1.pptxPraveenkumar155694
 
Exploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyExploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyMike Hagedorn
 
UX Day Mannheim: UX for systems of connected products
UX Day Mannheim: UX for systems of connected productsUX Day Mannheim: UX for systems of connected products
UX Day Mannheim: UX for systems of connected productsClaire Rowland
 
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?Albert Mietus
 
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...Simen Sommerfeldt
 

Similaire à Sense - An alternative visualisation (20)

Prototyping - 2015 PhillyCHI UX Workshop Series
Prototyping - 2015 PhillyCHI UX Workshop SeriesPrototyping - 2015 PhillyCHI UX Workshop Series
Prototyping - 2015 PhillyCHI UX Workshop Series
 
30 sec inclusion training - Microsoft and Mac
30 sec inclusion training - Microsoft and Mac30 sec inclusion training - Microsoft and Mac
30 sec inclusion training - Microsoft and Mac
 
Breaking The Confinement Cycle Using Linux
Breaking The Confinement Cycle Using LinuxBreaking The Confinement Cycle Using Linux
Breaking The Confinement Cycle Using Linux
 
Lectures On Demand: delivering traditional lectures over the web
Lectures On Demand: delivering traditional lectures over the webLectures On Demand: delivering traditional lectures over the web
Lectures On Demand: delivering traditional lectures over the web
 
UXLx 2015: 'Designing Connected Products workshop
UXLx 2015: 'Designing Connected Products workshopUXLx 2015: 'Designing Connected Products workshop
UXLx 2015: 'Designing Connected Products workshop
 
Industrial Design Intelligence: Evaluation Supporting Aesthetic and Functiona...
Industrial Design Intelligence: Evaluation Supporting Aesthetic and Functiona...Industrial Design Intelligence: Evaluation Supporting Aesthetic and Functiona...
Industrial Design Intelligence: Evaluation Supporting Aesthetic and Functiona...
 
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
 
Stable Squeak World Tour
Stable Squeak World TourStable Squeak World Tour
Stable Squeak World Tour
 
Conversational user interfaces (by Jochem Grietens)
Conversational user interfaces (by Jochem Grietens)Conversational user interfaces (by Jochem Grietens)
Conversational user interfaces (by Jochem Grietens)
 
Make Tools
Make ToolsMake Tools
Make Tools
 
More fun using Kautilya
More fun using KautilyaMore fun using Kautilya
More fun using Kautilya
 
Review 0 (2) (1) (1).pptx
Review 0 (2) (1) (1).pptxReview 0 (2) (1) (1).pptx
Review 0 (2) (1) (1).pptx
 
Building Droids with JavaScript
Building Droids with JavaScriptBuilding Droids with JavaScript
Building Droids with JavaScript
 
eClassrooms Come of Age?
eClassrooms Come of Age?eClassrooms Come of Age?
eClassrooms Come of Age?
 
The Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios AccessibilityThe Good, The Bad, The Voiceover - ios Accessibility
The Good, The Bad, The Voiceover - ios Accessibility
 
Savinder-Puri--sec-adds-the-glitter-in-DevSecOps-1.pptx
Savinder-Puri--sec-adds-the-glitter-in-DevSecOps-1.pptxSavinder-Puri--sec-adds-the-glitter-in-DevSecOps-1.pptx
Savinder-Puri--sec-adds-the-glitter-in-DevSecOps-1.pptx
 
Exploring the Internet of Things Using Ruby
Exploring the Internet of Things Using RubyExploring the Internet of Things Using Ruby
Exploring the Internet of Things Using Ruby
 
UX Day Mannheim: UX for systems of connected products
UX Day Mannheim: UX for systems of connected productsUX Day Mannheim: UX for systems of connected products
UX Day Mannheim: UX for systems of connected products
 
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
CC-Castle; The best Real-Time/Embedded/HighTech language EVER?
 
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
JavaZone 2014: En realitetsorientering om Tingenenes Internett, og hvordan du...
 

Plus de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Plus de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 

Dernier (20)

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 

Sense - An alternative visualisation

  • 1. Sense - An alternative visualisation Tim Mackinnon http://morethan.technology
  • 2. More Than Technology Ltd. ! I am a small company focused on: " Solving problems using extreme Agility " Delivering business value in partnership with clients " Working in an honest, iterative and collaborative manner " Helping teams communicate without killing each other ! Tim Mackinnon " Learned Smalltalk at Carleton University late 80’s " Originally didn’t like it, cute but mehh… " Now it’s the language I keep coming back to for its elegance and simplicity & community
  • 3. Thank You Smalltalk! ! Vibrant Helpful Community ! So much beautiful code ! Amazing, Inspiring ideas ! FUN!
  • 4. The OU TU100 Course
  • 5. Open University’s “Sense” ! www.sense.open.ac.uk ! SenseBoard (usb) " Freeduino based " Input sensors – button, slider, mic, ir, accelerometer, themometer " Outputs – led’s, ir, servo & stepper motors ! Sense IDE – modified Scratch environment
  • 7. TU100 Course is Well Received ! “I already had some knowledge of programming but was amazed by sense. THIS IS BRILLIANT! Whoever thought of this way to teach programming needs promoting.” http://www.youtube.com/watch? v=g-m3O5vhMss
  • 8. V1.0 ! Original work completed by: " Open Univeristy + " John Daniels " Dave Cleal ! USB interface to SenseBoard ! Additional blocks " Internet " Inputs " Outputs
  • 9. V2.0 - Specification ! Deliverables " To provide the Simulator and maintenance documentation. The simulator should be delivered either as part of a revised version of the Sense programming environment, or as a plugin module that can be installed alongside Sense. ! The simulator is intended to act as a partial replacement for this physical item for those students who are unable to use the board because: ! They have a physical disability which precludes them from handling the board or sensors ! They are an inmate, or tutor visiting an inmate, in a prison where access to the SenseBoard and cables are not allowed.
  • 10. V2.0 Mockups ! Launch a simulator without a SenseBoard
  • 11. Which technology? ! Everyone seemed afraid to use Squeak ? ! PRO’s " It’s working well " already multiplatform " can already safely deploy ! CON’s " Could Squeak do cross platform sound output, mic input, keyboard control? " Can anyone still figure this stuff out? ! Worried about the additional Java footprint and installation complications ! Help? (where’s Tim Rowledge)
  • 12. The Shock of early Squeak…
  • 13. Smalltalk Spike ! Could I even understand how things worked? ! Worried about the “accessibility requirements” of the project " Keyboard only navigation " Sound + Microphone (cross platform) ! Did an initial spike, and found that I could get something running quickly
  • 14. Refactoring to a “handler” hierarchy
  • 15. Smalltalk is so malleable… ! Fixed some of the bugs/missing features " Package saving problems " “Create it” in the debugger ! Re-incarnated Sunit 2.7, Modernized approach with CI ! Fixed some of the bugs/missing features " Package saving problems " “Create it” in the debugger ! Re-incarnated SUnit 2 ! Modernized approach with CI
  • 18. Scratch is not a good example of Smalltalk...
  • 20. Iteration 2 – multiple motors
  • 21. Iteration 3 – input ports
  • 22. Iteration 4 – accessibility tab selection
  • 23. Iteration 5 – dressed up
  • 24. Iteration 6 – OU cognitive makeover
  • 25. Coping with Accessibility ! Squeak was not made with keyboard access in mind ! Teaching widgets how to tab, show focus ! Menu’s continue to be a problem
  • 26. Inspiration from Accessibility ! When I hooked up sound accessibility and tried it out - it sounded awful! ! However I found it interesting that I could reason about code I knew nothing about…
  • 27. The sound of computing ! When I mentioned listening to your program at UKST… ! It turns out old mainframe programmers could hear infinite loops from the hardware…
  • 28. Demo of Sound in action… ! Constant event loop ! What does this sound like?
  • 29. But polling is bad… Can we do better? ! Scratch already has a broadcast mechanism ! Couldn’t we hook into that somehow?
  • 30. If you know the right lines of code… ! Convince scratch there are some predefined events ! Wire in some support for them
  • 31. Now rewrite the LED Slider with events ! But it still doesn’t quite sound right…
  • 32. This sounds better… but … ! There is still a slight sound overlap… we can be more efficient…
  • 33. This sounds much better ! Although it is a bit more complicated, there is less processing…
  • 34. Related Work ! Craig Latta – VM Sonification
  • 35. Events & Remote Sensor Protocol ! The simulator and remote protocol also provide possibilities to interface with devices ! iPhone app sending remote data as if from the SenseBoard ! Controlling a Robot like the YoBot!
  • 36. Thankyou ! Tim Mackinnon tim.mackinnon@morethan.technology