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.
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!
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.
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)
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
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
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…
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