[HN Gopher] Ask HN: Alternatives to Scratch for a blind child?
___________________________________________________________________
Ask HN: Alternatives to Scratch for a blind child?
Hey HN, My friend's children are starting their adventure with
programming at school with Scratch. Unfortunately, the eldest one
is blind, and as Scratch is visual, he won't be able to use it. A
pity: the kid has probably the most vivid imagination of all people
I know. Can you recommend an alternative? Something tactile or
audial, perhaps? A quick googling yielded https://codejumper.com/ -
is it worth the $1K it costs? Personal experience reports are most
welcome. Thanks!
Author : nathell
Score : 181 points
Date : 2023-01-03 09:16 UTC (13 hours ago)
| ipsum2 wrote:
| How is codejumper $1k for something so simple? It doesn't seem
| very inclusive, and it could be easily DIYable.
| csande17 wrote:
| I'm guessing a few reasons:
|
| 1. The kit has like thirty individual devices in it, many of
| which are unique or have a bunch of tactile buttons and
| sliders. Marketing for the product suggests that they were
| designed to be really durable so students wouldn't be afraid of
| breaking them.
|
| 2. Because it's a relatively niche accessibility product, they
| probably don't sell very many of them. So they need to charge
| more to cover all the fixed costs of designing the product,
| setting up manufacturing, writing all the companion materials,
| etc.
|
| 3. In the US, the APH Federal Quota Program subsidizes some of
| the cost of buying products like this.
| https://www.aph.org/about-federal-quota/ also suggests that
| there are programs where you can borrow or rent the kit instead
| of buying it.
| zersiax wrote:
| Hoo boy, this is a fun one :)
|
| Disclaimer: Fully blind programmer, have been for several
| years,learned as a teenager, later went on to teach various blind
| individuals as a side hustle for a while, culminating in a 2
| month course done for the folks who make CodeJumper. With all
| that out of the way, let's go.
|
| First, let me just comment on that comment by @conviencefee999.
| Kindly do your research before chiming into a discussion you
| quite clearly know very little about. I don't know your unique
| set of circumstances, but stating that one of the most viable
| career paths for a blind individual is not a viable career path
| is rather against the current and, as you yourself helpfully
| point out, anything but helpful. While it is true that the
| barrier to entry is still somewhat present, particularly for the
| age group OP is asking about, it can absolutely be done. Case and
| point being myself, as well as various others I know of. There
| are discussion groups about this topic, mostly in the form of the
| admittedly rather antiquated mailing list. An example is
| program-l over at freelists.org.
|
| Second, re: Python's indentation situation. I would actually
| argue that Python is a great starting point, because screen
| readers are able to either verbally or audibly indicate
| indentation levels when required, particularly on Windows and up
| to a point, in a more limited fashion, on Mac OS. This makes the
| "invisible characters" issue somewhat less problematic, and a
| braille display alleviates this issue even more, provided the
| blind computer user in question has access to one, which is more
| common in Europe than it is over in the States.
|
| Now as for a couple recommendations.
|
| Scratch works on the principle of instant gratification first and
| foremost: you do, you see. Right away. And it can be difficult to
| replicate that experience non-visually, particularly for younger
| children. I haven't really found a 100% equivalent alternative.
|
| I worked with a group of researchers several months ago that is
| working on an accessible interface to Blockly, a Scratch
| competitor in a lot of respects, which came as close as I can
| think of a fully analogous experience. Unfortunately, I have no
| idea how that project is faring at the moment and if they ever
| made it further than the prototype I got to test back then.
|
| The things I can think of that come closest are:
|
| * Swift Playgrounds (mac/iPad): VoiceOver, Apple's screen reader,
| supports these environments rather well, describing the visuals
| within the game worlds you work in, so this could be something to
| look into.
|
| * Freecodecamp/codecademy: I myself started learning how to
| program by writing HTML back when I was 10 or so. I liked the
| idea of writing some arcane things into a notepad and seeing it
| come alive on the page in front of me, and FreeCodeCamp
| essentially does that same thing, but gamifies it a bit more.
| That could be something to look into.
|
| * SonicPie: SOnicPie is a ruby environment for creating music
| using code. There's a pretty accessible tutorial for newcomers
| that could work for, say, a 10-year-old I think, provided they
| have a love for music and sound. Could be another avenue to try,
| although the sonicPie editor isn't as accessible as it could be
| and takes a bit of getting used to.
|
| I hope this helps a bit :)
| Mezzie wrote:
| > First, let me just comment on that comment by
| @conviencefee999. Kindly do your research before chiming into a
| discussion you quite clearly know very little about. I don't
| know your unique set of circumstances, but stating that one of
| the most viable career paths for a blind individual is not a
| viable career path is rather against the current and, as you
| yourself helpfully point out, anything but helpful. While it is
| true that the barrier to entry is still somewhat present,
| particularly for the age group OP is asking about, it can
| absolutely be done. Case and point being myself, as well as
| various others I know of. There are discussion groups about
| this topic, mostly in the form of the admittedly rather
| antiquated mailing list. An example is program-l over at
| freelists.org.
|
| As a formerly blind and currently visually impaired person who
| programs, I'd even go so far as to argue there are some
| _benefits_ to being blind. Humans are visual creatures, but
| computers aren 't, and one of the stumbling blocks for humans
| learning to speak computer is wanting or needing visual
| representations of things and building layers of abstraction in
| part to deal with that need. We separate 'where', 'when', and
| 'why' a lot easier, I think.
| MisterTea wrote:
| I am not blind but I am a visual thinker and have no trouble
| seeing how a computer works. I can easily visualize memory,
| data, code structure and so on.
| vidarh wrote:
| > one of the stumbling blocks for humans learning to speak
| computer is wanting or needing visual representations of
| things and building layers of abstraction in part to deal
| with that need.
|
| I'm not blind, but fairly recently (couple of year; I'm 47)
| realised I have aphantasia. I didn't even know it was a thing
| or that others could see things in their minds eye - I
| thought people spoke metaphorically.
|
| After learning that I realised that the way I "see" software
| structure as abstract relationships without a visualisation
| was very alien to a lot of people, who tend to rely on seeing
| the code.
|
| Visual layout helps me build that abstract model rapidly, but
| once I have that model in my head I can mentally plan out
| code changes without looking much at the code, so I totally
| agree that needing visual representations can be a massive
| hindrance.
| fhd2 wrote:
| I'm not blind, but a relative turned blind relatively early
| in their life (when I was still a child), so it's been
| present in my thoughts at least. I love the take that there
| is an advantage - building stronger conceptual skills is what
| I'd say you're describing. In my experience it's quite
| difficult to find programmers with strong conceptual skills,
| so this rings true to me.
| easrng wrote:
| Blockly isn't really a Scratch competitor since it just
| provides a block editor and no runtime. Scratch actually uses a
| modified version of it.
| Rich_Morin wrote:
| BASIC, Forth, Logo, Python, and Ruby are all reasonable starter
| languages for children. Although Python's semantic indentation
| can be a hassle for blind users, this isn't an insuperable
| problem. And, given Python's immense popularity, it is likely to
| be around and very usable for a long time.
| gcanyon wrote:
| I don't know how well it works with screen readers, etc., but
| https://livecode.com might work well because the code is English-
| like -- it still uses things like [] for arrays and () for
| precedence in calculations, but in general there is much less use
| of symbols.
|
| Another possibly odd suggestion is
| https://www.jsoftware.com/#/README Natively, J is nothing _but_
| symbols, but crucially, everything can be redefined. So this is
| possible: plus =: + 3 plus 4
|
| 7 equals =: = 5 equals 2 plus 3 1 4 equals 2 plus 3 0
|
| It's an array-based language, but it doesn't _have_ to be used
| that way.
| BigglesB wrote:
| Not exactly coding but if electronics would interest them, I
| wonder if Spintronics might be suitable due to its very tactile
| nature? I guess the printed instructions & illustrations probably
| aren't super accessible unless they have someone with them to
| assist though, but could maybe get in contact with them to ask if
| they can provide a digital version of the text that might be able
| to work with a screen reader or if they have any other available
| accommodations for blind people.
| deadbeef57 wrote:
| I don't have a specific programming recommendation. But I know
| there are several blind programming wizards. Maybe these links
| are helpful?
|
| - https://the-brannons.com/ - https://blvuug.org/ (blind and low-
| vision unix user group)
| mikelnrd wrote:
| There's a recent Kickstarter for physical Scratch blocks that
| control a robot:
|
| https://www.kickstarter.com/projects/coboblocks/coboblocks-s...
| mikelnrd wrote:
| This coding board game might work too: the parent acts as the
| computer
|
| https://www.thinkfun.com/products/robot-turtles/
| conviencefee999 wrote:
| [flagged]
| zdragnar wrote:
| The only software engineer coworker I've ever had that I would
| actually trust anywhere near cryptography without a prebuilt
| solution is blind.
|
| This post is simply wrong.
| throwaway71271 wrote:
| programming is suitable to anyone
|
| some people can not picture things in their head (aphantasia),
| or some people can not hear their thoughts? others can only see
| emotions as colors, or sounds as colors
|
| because our output is normalized through language and symbols,
| it seems we are somewhat similar, but this is deceptive, as the
| difference in thought between two individuals can be as vast as
| between an octopus and a crow
|
| and i am certainly sure that anyone "sees" code in their own
| way
| dang wrote:
| You can't do this here, and you've been breaking the site
| guidelines badly in other places too:
|
| https://news.ycombinator.com/item?id=34072827
|
| https://news.ycombinator.com/item?id=34064916
|
| https://news.ycombinator.com/item?id=33772786
|
| https://news.ycombinator.com/item?id=33693135
|
| Therefore I've banned the account. Please don't create accounts
| to break HN's rules with.
| defrost wrote:
| Unless you're T.V.Raman [1] or any one of a number of other
| blind programmers, of course.
|
| [1] https://en.wikipedia.org/wiki/T._V._Raman
| xattt wrote:
| Would reaching out to this particular individual be option
| for the OP?
|
| His homepage appears to be here: https://tvraman.github.io/
| samwillis wrote:
| There a number of really good threads on HN where blind users
| contribute from their own experience. I strongly suggest you go
| and read them before deciding it's not a viable career:
|
| "Ask HN: I'm a software engineer going blind, how should I
| prepare?" https://news.ycombinator.com/item?id=22918980
|
| "Ask HN: How to prepare as soon-to-be blind developer?"
| https://news.ycombinator.com/item?id=30339187
|
| "Ask HN: Blind programmers, what can I do to make my code
| easier for you?" https://news.ycombinator.com/item?id=18478776
|
| "Ask HN: How should a programming language accommodate disabled
| programmers?" https://news.ycombinator.com/item?id=18414562
| conviencefee999 wrote:
| [flagged]
| conviencefee999 wrote:
| [flagged]
| conviencefee999 wrote:
| [flagged]
| ljf wrote:
| I've worked with two blind programmers and a blind content
| producer for a kids TV website.
|
| All were very capable at their jobs and all three were blind
| from birth.
|
| I've also worked with a deaf programmer and with one who wasn't
| able to type for more than a short period a day and had to use
| voice recognition software (and this was about 12 years ago).
| They got in fine too.
|
| Adjustments needed to be made, but they were all hired as they
| were capable. I can't tell you how or where they learnt to
| code, but they learnt and all gained meaningful employment.
|
| Unless you have particular knowledge or experience in the area,
| it might be one to keep your opinions to yourself?
| pjmlp wrote:
| While some have to deal with disabilites since early on, many
| forget that anyone can get disabilities at any point during
| their life, and is nice of having options to still be able to
| continue working on what they love, instead of living from
| healthcare paychecks.
| notwokeno wrote:
| One of my coworkers is blind and he's one of the best in the
| company.
| conviencefee999 wrote:
| Ah yes the personal anecdotes and edge cases. Eh, I saw this
| coming.
|
| The reality is that this is not an appropriate job for people
| with severe visual impairment that doesn't allow them to look
| at a screen, in very few exceptions is it the later,
| companies are not designed to handle this and realistically
| cannot.
| vasco wrote:
| > Programming isn't really suitable for the blind
|
| That's like saying reading and writing on a computer isn't
| suited for the blind, which is horseshit cause many blind
| people do it. I've also ready many blog posts by blind
| programmers, some of them with follow-up comments on HN by them
| about their evolving setup.
| thom wrote:
| I wonder if something like Inform might be a good environment for
| them. Obviously it falls far short of what you can do with
| Scratch, but an imaginative child could achieve a lot, and
| integrating it with voice/accessibility tools seems feasible.
|
| https://ganelson.github.io/inform-website/
| lern_too_spel wrote:
| https://tvraman.github.io/emacspeak/manual/
| gus_massa wrote:
| One of my coworkers was blind. With an screen reader, he used
| Excel, LaTeX and other computer stuff, but IIRC he didn't
| program.
|
| I'd recommend to skip Scratch and clones. Jump directly to
| Python. The indentation may be a problem, so you must find out
| how to configure the screen reader to say this invisible spaces
| of the indentation. Perhaps it's better to use tabs for the
| children, because they are easier to count. (Some editors show a
| small arrow instead of a tab, so I'm optimistic this is fixable.)
|
| I recommend t create a small library to play sounds for the kid,
| so he can use it directly without caring about the nasty details.
| Something like sound("thunder.wav", left = 80,
| right = 20)
|
| My idea is that he can make a small game where you walk and hear
| the sound in each room of a (haunted?) house. The volume and
| direction can gives cues. (The code to handle arrows may be
| tricky too, perhaps encapsulate it in another library.)
|
| (When my daughter was young, I made a 3D library for red-blue
| glasses. He used it do draw simple objects and buildings
| (something like the front of the Parthenon with square columns).)
|
| If he is old enough and likes math, perhaps he can learn to nest
| a few `for` and `if` and bruteforce some elementary math
| problems. I'm not sure if the screen reader is good enough for
| this. Perhaps a text to downloaded speech library may be useful,
| so he can use say("The result is", r)
|
| instead of print("The result is", r)
| giantg2 wrote:
| Just a wild thought I had. I have no idea how screen readers
| treat indents, but it would be interesting to have indents
| indicated by speech tone. So the text on the same indentation
| level has the same tone and the town gets lower or higher the
| farther it is from the screen edge. There's probably a better
| solution, but I felt like sharing a random thought.
| archermarks wrote:
| That's a cool idea! That way if you miss the leading indent
| you can still tell a block of text is indented.
| e12e wrote:
| Fwiw I'd say ruby would be similar to python, but without the
| semantically significant whitespace.
|
| There's also lisps, like racket, that might be worth trying?
| gus_massa wrote:
| I like Racket, but there is a lot of unofficial "significant"
| space. The compiler ignores it so it's theoretically non-
| significant, but I can't read code that has bad indentation
| (or code that uses only () instead of mixing some [] here and
| there as recommended). My guess is that the screen reader
| saying tabtabtafforiinrangetencolontabtabtabtabprinti is
| easier because you can count the tabs in each line and
| understand the nesting easier that trying to count the
| parenthesis and guessing the nesting in your head.
|
| It's very difficult to use Racket with and editor that does
| not support parenthesis highlighting, and with parenthesis
| highlighting you can just look pass the parenthesis. I use
| Geany with a small customization to make the parenthesis
| highlighting easier to see.
|
| Perhaps after the Rhombus project (initially known as
| Racket2) is finished, I'd recommend to use it. It mixes some
| of the significant space of Python to remove the parenthesis.
| There is a live demo, but I guess it still needs a few years
| to iron out all the details.
| hazelnut-tree wrote:
| The Quorum programming language was originally designed for blind
| children. The language scope has expanded to appeal to all
| children.
|
| https://quorumlanguage.com/
|
| Although the language is not widely known, the language creator
| posted to Hacker News in 2018:
|
| > Hi all, this is Andreas Stefik (I invented Quorum)....First,
| people saying Quorum was originally designed for blind children
| are correct. Originally, we were toying with the idea of
| adjusting syntax to make it easier to read out loud through a
| screen reader. That stemmed from observing young blind
| programmers use a variety of programming languages on one of my
| first National Science Foundation projects. Phrases like, "for
| int I equals semicolon, I less then semicolon I plus plus" or
| other phrases can be extraordinarily difficult to listen to,
| especially if you are child.
|
| > This is one reason why Quorum is used so heavily at schools for
| the blind or visually impaired in the U.S. and elsewhere. We
| haven't been just for the blind in a long-time, but I still care
| about that community quite a bit and we work hard to make things
| accessible. There's a ton more to discuss in that area, but I
| want to move on to "evidence."
|
| Full comment: https://news.ycombinator.com/item?id=17849357
| y-curious wrote:
| Thank you for pulling this up, I had never heard of it. It
| warms my heart to see that people go out of their way to make
| coding accessible. Do you happen to know of any ways I can help
| in making coding more accessible?
| liveoneggs wrote:
| https://www.parhamdoustdar.com/2016/04/03/tools-of-blind-pro...
|
| Looks like screen readers (adults run them at incredible speeds)
| + incredible memory and skill + any text-based language
| salawat wrote:
| Why not Logos with a braile/tactile screen?
|
| Should do the trick I'd think.
| severak_cz wrote:
| Some real adult programming language which can be used with
| braille terminal and/or screenreader. However as I am not user of
| any of those things I cannot recommend which language works with
| them, but I would definitely try python.
| jiehong wrote:
| Python is quite visual by using whitespace as meaningful part
| of the language.
|
| I would also try swift playgrounds if the kid is used to voice
| over.
| notwokeno wrote:
| I've taught many people to program and can safely say python is
| an awful first language even for sighted users. Invisible
| characters being part of the syntax is awful.
|
| Scheme IMO is the best for both sighted and blind people.
| There's very minimal syntax and I'd imagine a good editor with
| s-expression motions would make things much easier if you can't
| see.
| zdragnar wrote:
| Maybe I'm misremembering my youth, but isn't recursion a bit
| of a tough concept for a 10 year old to grasp?
|
| Edit: I have no idea where I got 10 years old from, the post
| clearly doesn't list ages. In any case, I am leaving it on
| the offhand chance someone chimes in with a story about their
| kids learning scheme.
| rovr138 wrote:
| I wonder if Swift Playgrounds might be useful,
| https://www.apple.com/swift/playgrounds/.
|
| Usually Apple has been pretty good with accessible features. I
| wonder if they built it into to Playgrounds too.
| llagerlof wrote:
| Try to reach Lucas Radaelli, a blind Google developer and an
| amazing person. I am sure he can give some good tips. His twitter
| handle is @lucasradaelli
| codesnik wrote:
| well, why not text?
|
| Ruby should work well, it's pretty close to plain english, and is
| not too heavy on punctuation, and is (mostly) not whitespace
| sensitive. You'll need some screenreader setup, of course.
|
| Making games is a major hook for kids to go into programming, but
| there're text games, like zork etc.
| hugs wrote:
| I'm making an open source, programmable tactile display called
| PinThing. Like the classic "Pin Art" pinscreen desk toy, but each
| pin is motorized and programmable.
|
| I didn't design PinThing specifically for people with blindness,
| but since it's a real 3D display, it could be useful as a 3D
| display for shapes, graphs... or even as a real 3D output display
| for Scratch.
|
| For awhile, this has been a side/passion project, but if there's
| interest, I'd love to get them a prototype.
|
| Software demo: https://www.pinthing.com/
|
| Hardware demo: https://youtu.be/tx4W3ZDA_Vg
| nathell wrote:
| Hey, OP here. This is great! I'd love to get this into the
| hands of Adrian (that's the kiddo's name).
|
| Unfortunately, my hardware assembly skills are next to zero. Is
| there any chance to get a pre-assembled prototype? I'd happily
| pay for the BOM and blog about Adrian's experience with this.
| hugs wrote:
| I'd be happy to make it for free just for the feedback! My
| contact info is in my HN bio.
|
| The downside to a motorized display is the cost. Each motor
| is roughly $1.50 USD. When you include all the other stuff
| (electronics, 3D printed parts, etc.), it's at about $2/pin.
| A relatively small 10x20 display (minimum size for a Tetris
| board, for example) would cost $400 USD just in raw cost.
|
| At retail, that 10x20 board would likely be around $1000 USD.
| Arguably this is why no one has mass-produced something like
| this yet. A larger display would just be too expensive to be
| practical for most people.
|
| BUT!... Like I said, the feedback would valuable to me so am
| happy to make one for free. Classic warnings apply: it's
| still a prototype, so supervised play would definitely be
| required.
| convolvatron wrote:
| would a solenoid solution work? seems like the coils could
| be wound into holders on the board directly?
| hugs wrote:
| Solenoids could definitely work. They might also be
| cheaper if I wind them myself. I might do that for a
| future version. Downside is that's more work to wind
| custom solenoids, which of course I could automate, but
| then that's more work to build the automation. Easier to
| start with small off-the-shelf DC gearmotors for now.
| Off-the-shelf solenoids are a bit too bulky from what
| I've found. (Although I don't have perfect knowledge of
| everything that's out there.)
|
| Linear actuators with DC gearmotors have more fine-
| grained positional control vs plain solenoids. But that
| could be fixed if I use a tubular linear actuator design
| that looks like a solenoid. [1]
|
| But at this point it's more important to get
| something/anything to a V1 and start getting real world
| feedback.
|
| [1]: https://youtu.be/3PLWTF_6odc
| User23 wrote:
| I recall learning about that here. It feels obvious to want
| a 80x24 or larger computer braille display, but as you say
| that would be prohibitively expensive.
|
| I do hope that research goes into a more cost effective
| non-mechanical bump map. In a hybrid display, this would be
| useful for sighted persons too. For example having tactile
| feedback from the screen on the car's console would let the
| driver keep eyes on the road. And then of course let's
| remember that blindness isn't just seeing darkness, plenty
| of blind persons have enough usable vision that a hybrid
| display could be quite useful for them too. I know that's
| all pie in the sky, but the sad fact is the best
| accessibility technology is built on building blocks that
| are useful to sighted people. The iPhone's literally life-
| changing VoiceOver technology is the most striking example
| that I'm familiar with. It's a shame Apple ditched the
| haptic technology on their displays.
| nathell wrote:
| Thanks so much! I've sent you an email.
| y-curious wrote:
| If OP takes you up on this, DM me and I'll throw you some
| cash for doing this.
| hugs wrote:
| Hey, thanks. HN doesn't have DMs, though. Send me an
| email or Twitter DM? (Contact info in my HN bio.)
| nycdotnet wrote:
| https://hedy.org has text to speech built-in and is meant to help
| kids learn to program.
| gtm1260 wrote:
| I saw the code jumper tech at a conference once, it was actually
| really thoughtfully done, I had no idea it cost 1k though!
|
| One other option I've seen is this Spintronics platform:
| https://upperstory.com/spintronics/
|
| I first saw it on Steve Mould's youtube channel, they're
| basically mechanical circuits and it looks super cool.
|
| https://www.youtube.com/watch?v=QrkiJZKJfpY
| femto wrote:
| Logo with a physical turtle?
|
| Can something be done with an overhead camera, and a bunch of
| cardboard cutouts using QR codes? I remember one of the (big
| name?) universities had a project along these lines. In their
| case they used different patterns of coloured dots on objects,
| and every object in the room was mapped to a virtual equivalent.
| Interaction with the computer was solely by moving objects around
| in the room. I can't find it on Google. It might have had a
| connection to the Dynabook project? They probably have code ready
| to go.
|
| Edit: Found it: Dynamicland
|
| https://dynamicland.org/
|
| No source code available?
|
| It has appeared on Hacker News:
|
| https://news.ycombinator.com/item?id=26725370
|
| Also: https://paperprograms.org/
|
| https://github.com/janpaul123/paperprograms
|
| Maybe you could have different shaped bits of paper which
| implement blocks using javascript? Add a "print" function and the
| programmer could consolidate something they have written using
| multiple blocks/sheets into a single block/sheet, so allowing
| more complexity in a smaller space? Alternatively, can it be
| mapped directly to scratch instead of javascript?
| FranklinMaillot wrote:
| You could check out Sphero[0]. They have a variety of kits to
| teach electronics and coding to kids. Their robots are
| programmable either with a scratch-like interface or with real
| programming languages (javascript and python) which should allow
| the use of screen readers.
|
| littleBits are their electonic components kits that can be easily
| assembled with magnet. According to this paper[1], they can be
| suitable for visually impaired kids.
|
| [0] https://sphero.com/collections/coding-robots
|
| [1]
| https://journals.ala.org/index.php/ltr/article/view/6673/895...
___________________________________________________________________
(page generated 2023-01-03 23:01 UTC)