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 busi...
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, slide...
The Sense IDE
TU100 Course is Well Received 
! “I already had some 
knowledge of 
programming but was 
amazed by sense. 
THIS IS BRILLIA...
V1.0 
! Original work completed 
by: 
" Open Univeristy + 
" John Daniels 
" Dave Cleal 
! USB interface to 
SenseBoard 
!...
V2.0 - Specification 
! Deliverables 
" To provide the Simulator and maintenance documentation. The 
simulator should be d...
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...
The Shock of early Squeak…
Smalltalk Spike 
! Could I even understand how 
things worked? 
! Worried about the 
“accessibility requirements” of 
the ...
Refactoring to a “handler” hierarchy
Smalltalk is so malleable… 
! Fixed some of the bugs/missing features 
" Package saving problems 
" “Create it” in the deb...
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 
...
Inspiration from Accessibility 
! When I hooked up sound accessibility and tried it out - it 
sounded awful! 
! However I ...
The sound of computing 
! When I mentioned 
listening to your 
program at UKST… 
! It turns out old 
mainframe 
programmer...
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 t...
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 devic...
Thankyou 
! Tim Mackinnon 
tim.mackinnon@morethan.technology
Upcoming SlideShare
Loading in …5
×

Sense - An alternative visualisation

273 views

Published on

Title: Sense - An alternative visualisation
Speaker: Tim Mackinnon
Mon, August 18, 2:30pm – 3:00pm

Video part1: https://www.youtube.com/watch?v=NZP75L1w6To
Video part2: https://www.youtube.com/watch?v=RXca6ilLZgU

Description
Abstract: For several years, a prominent UK educational institution has been using a Scratch derivative to successfully teach adults how to program. Using a unique blend of interesting exercises based around a physical hardware board, they have inspired many adults to learn more about programming. Keen to allow more students to participate in the course, they commissioned a software simulator for their board which also emphasised improving the accessibility of the programming experience with keyboard input and sound output for the various UI elements. Due to the perceived age of the Squeak environment, bids for this work were considered in any language (using sockets and the remote sensor protocol), however I was able to show that the original Squeak Smalltalk environment was more than capable of delivering a sophisticated and elegant solution. Furthermore, while completing this work, I was very impressed with the possibilities that the accessibility features provided even to sighted students, and experimented using them to discover programming issues as well as program optimisations. In this session I will show some the coding challenges I faced, how I built an automated build environment, and demonstrate the potential of the accessibility features even in sighted programming. I will also show how trial usage using these techniques led to a surprising observation that resulted in a complementary and more efficient event mechanism.

Bio: Tim Mackinnon pioneered the use of eXtreme Programming (XP) in the UK in early 1999, and created one of the longest running XP teams at Connextra. Drawing from his prior experience of using Smalltalk, he co-invented Mock Objects, Gold Cards, and many retrospective practices. He is also the co-founder of XTC – a group that continues to inspire developers to share experiences with XP, Agile and software development, and which also organises the successful XPDay conferences. Tim now works with morethan.technology and provides targeted agile consulting at the management/board level, as well as advising software teams on the successful use of leadership, agile, and software development techniques.

Published in: Software
1 Comment
0 Likes
Statistics
Notes
  • Video part1: https://www.youtube.com/watch?v=NZP75L1w6To
    Video part2: https://www.youtube.com/watch?v=RXca6ilLZgU
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Views
Total views
273
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Sense - An alternative visualisation

  1. 1. Sense - An alternative visualisation Tim Mackinnon http://morethan.technology
  2. 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. 3. Thank You Smalltalk! ! Vibrant Helpful Community ! So much beautiful code ! Amazing, Inspiring ideas ! FUN!
  4. 4. The OU TU100 Course
  5. 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
  6. 6. The Sense IDE
  7. 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. 8. V1.0 ! Original work completed by: " Open Univeristy + " John Daniels " Dave Cleal ! USB interface to SenseBoard ! Additional blocks " Internet " Inputs " Outputs
  9. 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. 10. V2.0 Mockups ! Launch a simulator without a SenseBoard
  11. 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. 12. The Shock of early Squeak…
  13. 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. 14. Refactoring to a “handler” hierarchy
  15. 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
  16. 16. The Hanging Image
  17. 17. Learning Morphic
  18. 18. Scratch is not a good example of Smalltalk...
  19. 19. Iterative Development: Initial working version
  20. 20. Iteration 2 – multiple motors
  21. 21. Iteration 3 – input ports
  22. 22. Iteration 4 – accessibility tab selection
  23. 23. Iteration 5 – dressed up
  24. 24. Iteration 6 – OU cognitive makeover
  25. 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. 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. 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. 28. Demo of Sound in action… ! Constant event loop ! What does this sound like?
  29. 29. But polling is bad… Can we do better? ! Scratch already has a broadcast mechanism ! Couldn’t we hook into that somehow?
  30. 30. If you know the right lines of code… ! Convince scratch there are some predefined events ! Wire in some support for them
  31. 31. Now rewrite the LED Slider with events ! But it still doesn’t quite sound right…
  32. 32. This sounds better… but … ! There is still a slight sound overlap… we can be more efficient…
  33. 33. This sounds much better ! Although it is a bit more complicated, there is less processing…
  34. 34. Related Work ! Craig Latta – VM Sonification
  35. 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. 36. Thankyou ! Tim Mackinnon tim.mackinnon@morethan.technology

×