Come puoi programmare se sei cieco?


685

La vista è uno dei sensi che la maggior parte dei programmatori dà per scontato. La maggior parte dei programmatori passerebbe ore a guardare un monitor di un computer (specialmente durante i periodi in cui si trovano nella zona ), ma so che ci sono programmatori ciechi (come TV Raman che attualmente lavora per Google).

Se fossi un cieco (o diventassi lentamente cieco), come imposteresti il ​​tuo ambiente di sviluppo per assisterti nella programmazione?

(Un suggerimento per risposta, per favore. Lo scopo di questa domanda è di portare le buone idee in cima. Inoltre, gli screen reader possono leggere le buone idee prima.)

Risposte:


1017

Sono uno studente universitario totalmente cieco che ha avuto diversi stage di programmazione, quindi la mia risposta si baserà su questi. Uso windows xp come sistema operativo e Jaws per leggere ciò che appare sullo schermo in un linguaggio sintetico. Per la programmazione Java uso eclipse, poiché è un IDE completo che è accessibile.

Nella mia esperienza come regola generale i programmi java che usano SWT come toolkit GUI sono più accessibili dei programmi che usano Swing ed è per questo che sto lontano dai netbeans. Per qualsiasi programmazione .net uso Visual Studio 2005 poiché era la versione standard utilizzata nel mio tirocinio ed è molto accessibile usando Jaws e un set di script che sono stati sviluppati per rendere più accessibili cose come il progettista di moduli.

Per la programmazione in C e C ++ utilizzo cygwin con gcc come mio compilatore ed emacs o vim come editor a seconda di cosa devo fare. Gran parte del mio tirocinio ha riguardato la programmazione per Z / OS. Ho usato una sessione di rlogin tramite Cygwin per accedere al sottosistema USS sul mainframe e C3270 come emulatore 3270 per accedere alla parte ISPF del mainframe.

Di solito mi affido al linguaggio sintetico ma ho un display Braille. Trovo che di solito lavoro più velocemente con la voce, ma uso il display Braille in situazioni in cui la punteggiatura è importante e diventa complicata. Esempi di questo sono le dichiarazioni if ​​con molte parentesi nidificate e JCL in cui la punteggiatura è incredibilmente importante.

Aggiornare

Sto giocando con Emacspeak sotto cygwin http://emacspeak.sourceforge.net Non sono sicuro se questo sarà utilizzabile come editor di programmazione poiché sembra non rispondere ma non ho esaminato nessuna delle opzioni di configurazione ancora.


275
veramente stupefacente . complimenti!
nasconde il

31
Avendo avuto un padre cieco, che era molto consapevole dei computer, sapendo cosa ha passato per rendere accessibile Windows, la tua installazione mi stupisce. congratulazioni! :)
geocoin,

118
Supponendo che tu usi anche i laptop: spegni mai il display per prolungare la durata della batteria? Perché ciò sarebbe fatto di così tante vittorie.
Jens Roland,

99
Questa è la prima volta su SO che una risposta mi ha fatto cadere la mascella.
Amy,

65
Non avevo idea che ciò fosse possibile. Non dimenticherò più l'accessibilità.
ChaosPandion,

400

Sono cieco e sto programmando da circa 13 anni su Windows, Mac, Linux e DOS, in lingue da C / C ++, Python, Java, C # e vari linguaggi minori lungo la strada. Sebbene la domanda originale riguardasse la configurazione dell'ambiente, penso che sia meglio rispondere guardando come una persona non vedente userebbe un computer.

Alcune persone usano un ambiente di conversazione, come TV Raman e l'ambiente Emacspeak menzionato in altre risposte. La soluzione più comune è di gran lunga avere uno screen reader che funzioni in background monitorando l'attività del sistema operativo e avvisando l'utente tramite sintesi vocale o un display braille fisico (generalmente mostrando da qualche parte da 20 a 80 caratteri alla volta). Ciò significa quindi che un cieco può utilizzare qualsiasi applicazione accessibile.

Quindi, personalmente uso Visual Studio 2008 in questi giorni ed eseguo con pochissime modifiche. Disattivo alcune funzionalità come la visualizzazione degli errori durante la digitazione, poiché trovo che questo distrae. Prima di unirmi a Microsoft, tutto il mio sviluppo era fatto in un editor di testo standard come Blocco note, quindi ancora una volta nessuna personalizzazione.

È possibile configurare uno screen reader per annunciare il rientro. Personalmente non lo uso, poiché Visual Studio si occupa di questo e C # usa parentesi graffe. Ma questo sarebbe molto importante in un linguaggio come Python in cui gli spazi bianchi contano. Infine, Emacspeak utilizza voci / toni diversi per indicare parti diverse della sintassi (parole chiave, commenti, identificatori, ecc.).


5
Blocco note, wow. Hai mai usato un blocco note fisico per scrivere codice (con uno stilo Braille, per esempio?) Usi IntelliSense? Quanto velocemente parla il tuo screen reader?
Kragen Javier Sitaker,

6
Ciao Saqib, mi è piaciuta la tua intervista su hanselminutes (supponendo che tu sia lo stesso ragazzo :). Il suggerimento ctrl-shift-escape era nuovo per me!
UpTheCreek

5
UpTheCreek si riferisce a: channel9.msdn.com/blogs/dan/…
idbrii

26
Per interesse, quanto del programma tieni in testa e quanto devi rinfrescare mentre lavori? Come una persona che vede che scorre avanti e indietro.
Thorbjørn Ravn Andersen,

Wow, è davvero interessante che Emacspeak usi tonalità e tono!
Hamish,

107

Sono cieco e sono stato programmatore negli ultimi 12 anni circa. Attualmente sono architetto senior e lavoro con Sapient Corporation (una società di consulenza con sede a Cambridge che crea soluzioni aziendali basate sul Web e basate su client spessi). Uso diversi screen reader ma per lo più resto con Jaws per Windows e NVDA.

Ho lavorato principalmente sulla piattaforma Microsoft e Visual Studio come ambiente. Uso anche strumenti come MS Sql Enterprise Studio e altri per l'accesso al DB, il monitoraggio della rete, ecc. Ho cercato di passare un po 'di tempo con emacspeak ma dato che il mio lavoro era principalmente basato sulla piattaforma MS, non ho mai trascorso molto tempo lì. Ho anche passato un paio d'anni a lavorare su C ++ su Linux - per lo più ho usato notepad o visual studio su Windows per tutta la codifica e poi samba per condividere file con l'ambiente Linux. Utilizzato anche borland C per alcune cose sperimentali. Recentemente hanno giocato con Python, che come altri hanno notato sopra è particolarmente ostile per un utente non vedente perché è scritto usando il rientro come meccanismo di annidamento. Detto questo, NVDA, il più popolare screen reader open source è scritto completamente usando Python e alcuni committenti di quel progetto sono essi stessi ciechi. Una domanda particolarmente interessante che mi viene posta frequentemente come architetto è come gestire i diagrammi - UML, visio e razionale rosa ecc. Visio è probabilmente lo strumento di diagramma più accessibile là fuori. Sono stato in grado di scrivere script di ganasce per leggere diagrammi di rose razionali per me. Ho usato uno strumento chiamato T-dub (comprensione del diagramma tecnico per non vedenti) sviluppato da alcune università tedesche per accedere ai diagrammi UML 2.0. Ho usato uno strumento brutto basato su Java chiamato disegno magico per fare lo sviluppo guidato da modelli ed è stato un committente del progetto androMDA e ha contribuito a sviluppare il generatore di codice .Net da un modello UML. Una domanda particolarmente interessante che mi viene posta frequentemente come architetto è come gestire i diagrammi - UML, visio e razionale rosa ecc. Visio è probabilmente lo strumento di diagramma più accessibile là fuori. Sono stato in grado di scrivere script di ganasce per leggere diagrammi di rose razionali per me. Ho usato uno strumento chiamato T-dub (comprensione del diagramma tecnico per non vedenti) sviluppato da alcune università tedesche per accedere ai diagrammi UML 2.0. Ho usato uno strumento brutto basato su Java chiamato disegno magico per fare lo sviluppo guidato da modelli ed è stato un committente del progetto androMDA e ha contribuito a sviluppare il generatore di codice .Net da un modello UML. Una domanda particolarmente interessante che mi viene posta frequentemente come architetto è come gestire i diagrammi - UML, visio e razionale rosa ecc. Visio è probabilmente lo strumento di diagramma più accessibile là fuori. Sono stato in grado di scrivere script di ganasce per leggere diagrammi di rose razionali per me. Ho usato uno strumento chiamato T-dub (comprensione del diagramma tecnico per non vedenti) sviluppato da alcune università tedesche per accedere ai diagrammi UML 2.0. Ho usato uno strumento brutto basato su Java chiamato disegno magico per fare lo sviluppo guidato da modelli ed è stato un committente del progetto androMDA e ha contribuito a sviluppare il generatore di codice .Net da un modello UML. Sono stato in grado di scrivere script di ganasce per leggere diagrammi di rose razionali per me. Ho usato uno strumento chiamato T-dub (comprensione del diagramma tecnico per non vedenti) sviluppato da alcune università tedesche per accedere ai diagrammi UML 2.0. Ho usato uno strumento brutto basato su Java chiamato disegno magico per fare lo sviluppo guidato da modelli ed è stato un committente del progetto androMDA e ha contribuito a sviluppare il generatore di codice .Net da un modello UML. Sono stato in grado di scrivere script di ganasce per leggere diagrammi di rose razionali per me. Ho usato uno strumento chiamato T-dub (comprensione del diagramma tecnico per non vedenti) sviluppato da alcune università tedesche per accedere ai diagrammi UML 2.0. Ho usato uno strumento brutto basato su Java chiamato disegno magico per fare lo sviluppo guidato da modelli ed è stato un committente del progetto androMDA e ha contribuito a sviluppare il generatore di codice .Net da un modello UML.

In generale, trovo che prospero di più in un ambiente di squadra in cui posso lavorare sui miei punti di forza. Ad esempio, mentre un diagramma è estremamente utile per comunicare / documentare un progetto, il processo di progettazione effettivo comporta un sacco di pensiero e brainstorming e quando il progetto è stato elaborato, uno dei tuoi compagni di squadra può aiutarti a mettere rapidamente insieme un disegno ordinato immagine da esso. Le persone erroneamente interpretano erroneamente quanto sopra come mancanza di indipendenza o abilità mentre lo vedo come pura interdipendenza - come in sono sicuro che il compagno di squadra da solo non avrebbe mai potuto inventare quel disegno da solo e in -turn, se dipendo da lui per documentare il design, così sia. La maggior parte degli ostacoli che incontro sono inaccessibilità basata su strumenti.


6
Sei residente in India? E dove sei sparito? Dopo questo post, sembra che tu sia scomparso.
Mamta D,

1
come programmatore, mi dispiace così tanto che non ho mai prestato sufficiente attenzione all'accessibilità ... Mi dispiace così tanto ...
Senza titolo

53

Sono uno sviluppatore cieco e lavoro con Windows, GNU Linux e MacOS X. Ciascuna piattaforma ha flussi di lavoro diversi per utenti non vedenti. Questo dipende dallo screen reader utilizzato dallo sviluppatore cieco. Gli strumenti di sviluppo non sono completamente accessibili per gli sviluppatori non vedenti. Posso digitare il codice e usare le funzioni di compilazione in tutti gli IDE ma ci sono molti problemi se devo progettare un'interfaccia usando strumenti di progettazione come Interface Builder, XGlade o altro. Quando stavo sviluppando con Borland Delphi, potevo aggiungere un controllo, ad esempio un pulsante, e potevo modificare ogni attributo visivo del controllo usando la finestra di ispezione degli oggetti. Molti IDE utilizzano le finestre della finestra di ispezione degli oggetti per modificare gli attributi visivi e non visivi, ma il problema per uno sviluppatore cieco è aggiungere nuovi controlli perché il metodo per aggiungere un nuovo controllo consiste nel trascinare e rilasciare un controllo dalla tavolozza all'area di disegno. Visual Studio 200x utilizza metodi alternativi per farlo, ma l'interfaccia dell'IDE cambia in ogni nuova versione e questo è un grosso problema perché gli screen reader per Windows necessitano di un supporto speciale, usando gli script, per identificare ogni area di alcune applicazioni non standard. Uno sviluppatore cieco può usare Visual Studio 2008 con il suo screen reader ma quando appare una nuova versione di questo IDE deve attendere una nuova versione di script per questa versione dell'IDE. Xcode con Interface Builder non ha ancora alternative per il trascinamento di attività. L'ho chiesto ad Apple molte volte ma stanno lavorando in altre cose. Ho pubblicato 3 app nell'App Store (dragamine accessibile, fruitmachine accessibile e Programar a ciegas RSS) e ho dovuto progettare tutte le interfacce per codice. È un duro lavoro ma posso gestire tutte le funzionalità di ciascun controllo. Eclipse ha un editor di codice accessibile ma altri strumenti di sviluppo come console di debug, plug-in per l'area di progettazione o documentazione presentano problemi per strumenti di assistenza per utenti non vedenti.

La documentazione è un problema anche per gli sviluppatori non vedenti. Molti esempi e dimostrazioni usano le immagini per mostrare la spiegazione (imposta le impostazioni dell'ambiente come puoi nell'immagine)

Penso che la domanda non sia essere cieca. La domanda è che le aziende e i gruppi di sviluppo pensano che l'accessibilità influisca sul software finale ma non influisce sul software di sviluppo. Pensano che un utente non vedente debba essere un cliente, ma un utente non vedente non può essere un compagno di sviluppo.

Le associazioni cieche chiedono l'accessibilità per prodotti e servizi ma hanno dimenticato gli sviluppatori ciechi. I non vedenti possono lavorare come avvocati, giornalisti, insegnanti, ma uno sviluppatore cieco è un concetto strano anche per i non vedenti. Molte volte mi sento solo perché alcuni miei amici ciechi non riescono a capire il mio lavoro.

Puoi leggere la mia opinione su questo problema in questo articolo, in spagnolo, nel mio blog http://www.programaraciegas.net/2010/11/05/la-accesibilidad-en-crisis-para-los-desarrolladores-ciegos/ c'è uno strumento di traduzione nella pagina web. Scusa ma non l'ho tradotto.


47

Emacs ha una serie di estensioni per consentire agli utenti non vedenti di manipolare i file di testo. Dovresti consultare un esperto sull'argomento, ma emacs ha funzionalità di sintesi vocale. E probabilmente di più.

Inoltre, c'è BLinux:

http://leb.net/blinux/

Linux per non vedenti. Sono in giro da molto tempo. Più di dieci anni penso, e molto maturo.


43

Tieni presente che "cieco" è una serie di condizioni - ci sono alcuni che sono legalmente ciechi che potrebbero leggere un monitor davvero grande o con l'aiuto dell'ingrandimento, e poi ci sono quelli che non hanno affatto visione. Ricordo una compagna di classe al college che aveva un dispositivo speciale per ingrandire i libri e un software speciale che poteva usare per ingrandire una parte dello schermo. Stava lavorando duramente per finire il college, perché la sua vista stava peggiorando e stava per andare via completamente.

La programmazione ha anche una serie di esigenze: alcune persone sono brave a tirare fuori un sacco di codice e alcune persone sono più brave a guardare il quadro generale e l'architettura. Immagino che, data la difficoltà imposta dall'interfaccia dello schermo, la cecità possa migliorare la tua capacità di ottenere il quadro generale ...



31

Ho lavorato per la Greater Detroit Society for the Blind per tre anni gestendo un BBS su misura per l'accesso alla cieca e ho lavorato con un numero di utenti non vedenti su come soddisfare meglio le loro esigenze e con gli utenti non vedenti per farli abituare all'hardware disponibile e offerte di software che erano disponibili al momento. Se non altro, ho almeno imparato a leggere il Braille come una siepe contro il caso in cui mi fossi mai ritrovato nella stessa situazione!

La maggior parte degli utenti e programmatori di computer non vedenti utilizza un lettore di schermo di qualche tipo. Le mascelle in particolare sono popolari. Fortunatamente, la maggior parte delle principali applicazioni in questi giorni offre una qualche forma di accesso per disabili. Potrebbe essere necessario ottimizzare leggermente l'ambiente per ridurre le chiacchiere, ad esempio considerare di disabilitare Intellisense in Visual Studio.

Un display Braille è meno comune ed è comparativamente molto più costoso e può mostrare 40 o 80 colonne di testo e può essere usato quando il posizionamento / punteggiatura esatta è importante. Mentre uno screen reader può essere configurato per scuotere la punteggiatura, molte persone lo trovano distratto ed è più facile in molti casi sentirsi a suo modo. Le ganasce possono essere configurate per guidare il display, quindi non stai manipolando le applicazioni di accessibilità.

Inoltre, molti utenti legalmente ciechi hanno ancora qualche briciolo di vista lasciato a loro. L'uso di sfondi ad alto contrasto e la funzionalità di ingrandimento possono aiutare molti di questi utenti.

L'uso di ToggleKeys in Windows ti farà sentire quando tocchi accidentalmente anche uno dei tasti modali "blocco maiuscole", "blocco numerico", "blocco scorrimento", ecc.

Conosco almeno un programmatore Haskell che usa uno screen reader e che programma esplicitamente senza usare le regole di layout di Haskell, e invece opta per usare il non idiomatico, ma supportato {;} , perché è più facile / meno distratto per lui ottenere il suo screen reader per leggere la punteggiatura piuttosto che per lui capire esattamente il rientro conforme alle regole di layout di Haskell. In quella stessa nota, ho sentito delle lamentele da parte di un paio di programmatori ciechi su quando devono scrivere Python.

Alla fine, impari a giocare sui tuoi punti di forza.


23

Non riesco a ricordare la fonte, ma ho sentito / letto su una forma di "colorazione" della sintassi udibile, in modo che invece che un compito di stringa venga letto come

foo equivale a quote, questa è una virgoletta

la parte della stringa verrebbe letta con un tono o una voce diversi per rendere più chiara la separazione degli elementi.


13
Emacspeak farà questo.
Edward KMETT,

14

Un punto di partenza è il progetto Blinux:

http://leb.net/blinux/

Quel progetto descrive come ottenere Emacspeak (editor con sintesi vocale) e ha molte altre risorse.

Ho lavorato con una persona che ha visto gli occhi ma ha impedito loro di utilizzare un monitor: hanno funzionato bene con il software di lettura dello schermo e hanno trascorso molto tempo utilizzando applicazioni basate su testo e shell.

L'elenco di Wikipedia dei pacchetti di screen reader è un altro punto di partenza: http://en.wikipedia.org/wiki/List_of_screen_readers


14

Sono uno studente post-laurea a Pechino, in Cina. Mi occupo di informatica e gran parte del mio lavoro è la programmazione. Sono nato con la vista bassa, ho bisogno di usare strumenti di ingrandimento per vedere chiaramente i caratteri sullo schermo. Uso gli strumenti mgnify di microsoft su windows e uso il plug-in magnify di compiz se su linux. Di solito ho impostato lo strumento per ingrandire tre volte più della dimensione del carattere originale. Per me gli strumenti di maginify sono ok, il problema principale è la velocità, devo spostare il mouse per mantenere i cursori seguire il testo che sto guardando, ingrandimento di microsoft fornisce un'opzione di "auto seguire i punti di modifica del testo", che mi ha impostato da movimento continuo del mouse durante l'editing o la codifica. Ma non sempre funziona a causa del software di modifica o dell'IDE potrebbe non supportarlo. Gli strumenti di ingrandimento su Linux sono difficili da usare. Il KMag fornito con KDE ha una terribile frequenza di aggiornamento che rende i miei occhi scomodi, le spine di ingrandimento di Compiz che sto usando ora sono OK, ma non ha alcuna funzione di messa a fuoco automatica (messa a fuoco automatica che segue). iOS offre una soluzione abbastanza perfetta per me con l'ingrandimento a schermo intero, in particolare sullo schermo da 9,7 pollici di iPad. la messa a fuoco automatica non è necessaria perché non li uso quasi mai per programmare o fare altre cose di modifica. Android offre pochissime funzioni di accessibilità, solo come il feedback di scuotimento, il che è inutile per me. non esiste alcun buon strumento di ingrandimento su Android, per non parlare della funzione avanzata come l'ingrandimento a schermo intero su iOS. Ho studiato Qt, voglio costruire un utile strumento di ingrandimento su Linux, anche su Android. Ma quasi non ci sono progressi. ma non ha alcuna funzione di messa a fuoco automatica (messa a fuoco automatica che segue). iOS offre una soluzione abbastanza perfetta per me con l'ingrandimento a schermo intero, in particolare sullo schermo da 9,7 pollici di iPad. la messa a fuoco automatica non è necessaria perché non li uso quasi mai per programmare o fare altre cose di modifica. Android offre pochissime funzioni di accessibilità, solo come il feedback di scuotimento, il che è inutile per me. non esiste alcun buon strumento di ingrandimento su Android, per non parlare della funzione avanzata come l'ingrandimento a schermo intero su iOS. Ho studiato Qt, voglio costruire un utile strumento di ingrandimento su Linux, anche su Android. Ma quasi non ci sono progressi. ma non ha alcuna funzione di messa a fuoco automatica (messa a fuoco automatica che segue). iOS offre una soluzione abbastanza perfetta per me con l'ingrandimento a schermo intero, in particolare sullo schermo da 9,7 pollici di iPad. la messa a fuoco automatica non è necessaria perché non li uso quasi mai per programmare o fare altre cose di modifica. Android offre pochissime funzioni di accessibilità, solo come il feedback di scuotimento, il che è inutile per me. non esiste alcun buon strumento di ingrandimento su Android, per non parlare della funzione avanzata come l'ingrandimento a schermo intero su iOS. Ho studiato Qt, voglio costruire un utile strumento di ingrandimento su Linux, anche su Android. Ma quasi non ci sono progressi. Android offre pochissime funzioni di accessibilità, solo come il feedback di scuotimento, il che è inutile per me. non esiste alcun buon strumento di ingrandimento su Android, per non parlare della funzione avanzata come l'ingrandimento a schermo intero su iOS. Ho studiato Qt, voglio costruire un utile strumento di ingrandimento su Linux, anche su Android. Ma quasi non ci sono progressi. Android offre pochissime funzioni di accessibilità, solo come il feedback di scuotimento, il che è inutile per me. non esiste alcun tipo di buon strumento di ingrandimento su Android, per non parlare della funzione avanzata come l'ingrandimento a schermo intero su iOS. Ho studiato Qt, voglio costruire un utile strumento di ingrandimento su Linux, anche su Android. Ma quasi non ci sono progressi.


13

Quando ero alla scuola elementare, avevamo un membro del nostro gruppo di ricerca che era cieco. Era un po 'più grande, forse a metà degli anni '40. Ci ha raccontato di come ha programmato il suo primo computer (che era ben prima che il text-to-speech fosse comune) per produrre il contenuto dello schermo in Morse Code. Per ovviare all'ovvio problema di galline e uova, ha dovuto riscrivere completamente il codice ogni volta da zero fino a quando non ha funzionato abbastanza bene da poterlo rileggere.

Ora usa la sintesi vocale, sebbene pianifichi il codice molto accuratamente prima di scriverne effettivamente uno, per ridurre al minimo il ciclo di debug.

Era anche abbastanza bravo a fare presentazioni in PowerPoint che, nonostante la sua mancanza di vista, erano quasi altrettanto formattate come qualsiasi altro presentatore avvistato.



8

Di ritorno in Nuova Zelanda conoscevo qualcuno che aveva una degenerazione maculare , quindi ero parzialmente avvistato. È un programmatore di grande talento e ha finito per usare Delphi perché poteva lavorare riconoscendo le forme delle parole. Questo era più facile da fare con una sintassi simile a quella di Pascal piuttosto che con una parentesi squallida C-ish. Ha un sito web, ma sembra non menzionare affatto la degenerazione maculare, quindi non lo nominerò.


8

Sono cieco e da alcuni mesi sto usando VINUX (una distribuzione Linux basata su Ubuntu) con SODBEANS (una versione di netbeans con un plug-in chiamato SAPPY che aggiunge un supporto TTS). Questa soluzione funziona abbastanza bene ma a volte preferisco avviare Win XP e NVDA per il lancio di molte pagine su FireFox perché Vinux non funziona molto bene quando si tenta di aprire più di 3 finestre di FireFox ...


6

Come molti hanno sottolineato, emacspeak è stata la soluzione duratura multipiattaforma per molti degli hacker più anziani là fuori. Dal momento che supporta Linux e Mac immediatamente, è diventato il mio mezzo preferito per sviluppare progetti egnostici di Windows.

Alla questione di abbassare effettivamente la sintassi attraverso una uditiva anziché una visiva, ho scoperto che esistono una varietà di tecniche per avvicinarne una se non sullo stesso campo di gioco.

Le icone uditive possono sostituire i descrittori verbali per un esempio. Puoi, mettere i toni per quanto è rientrata una linea. Più lungo è il tono, più lontano è il rientro. Poiché i toni possono suonare in parallelo con la sintesi vocale, le informazioni arrivano nello stesso lasso di tempo e non serializzano la comunicazione di qualcosa di così semplice.

Il Braille può decodificare in modo rapido e preciso all'utente la sintassi esatta di una linea. Questo è qualcosa di più utile per le persone che usano il braille nella vita quotidiana; il più grande vantaggio è l'accesso casuale al contenuto del display. Le unità aggiornabili in genere hanno le chiavi del router sopra ogni cella di caratteri che può posizionare il cursore su quella cella. Non giocherellare con i tasti freccia O (n) op vs O (1) accesso.

La dimensionalità uditiva (tono, frequenza, volume, flesso, ricchezza, stress, ecc.) Può trasmettere un concetto (parola chiave, classe, variabile, errore, ecc.). Ad esempio, i commenti possono essere letti in una inflessione monotona ... adatta, se così posso dire :).

Emacs e altri editor in misura minore (Visual Studio) consentono a un programmatore di esaminare un programma in modo dinamico (blocco successivo, blocco fold, down defun, jump to def, walk up the parse tree, ecc.). È possibile ottenere rapidamente un'immagine "grande" della struttura di un intero progetto che lo fa; con estensioni come Cedet, puoi ottenere la bontà di VS / Eclipse / etc multipiattaforma e in un editor testuale.

Probabilmente potrebbe andare avanti all'infinito, ma in poche parole, è la base del perché alcuni di noi sono là fuori a spaccare nell'industria, nell'adacdemia o nei nostri scantinati :).




2

Cosa sarebbe una tastiera braille al mondo ??

Ci sono cose come scrittori braille ma non ne useresti mai uno come dispositivo di input per un computer.

Se stai semplicemente parlando di una tastiera con i simboli braille su questa sarebbe anche una pessima idea. Durante la digitazione avrai molti più tasti da raggiungere e sarebbe ancora più lento.

La digitazione tattile NON è un'abilità visiva, una persona cieca può farlo proprio come una persona vedente.


3
Una tastiera Braille ha sei tasti, ognuno dei quali rappresenta uno dei sei punti che compongono un personaggio Braille. La maggior parte delle tastiere Braille ha anche tasti extra per cose come spazio, cancellazione, avanti, indietro, ecc. Molte immagini di tastiere Braille sono disponibili in Google Immagini.
Barry Brown,

Questi sono i controlli di uno scrittore braille. Lo usi per produrre un output braille, non utilizzeresti mai un dispositivo come un dispositivo di input in quanto è MOLTO più lento di una normale tastiera.
Loren Pechtel,

5
non c'è bisogno di una tastiera braille, esiste uno scrittore braille per scrivere in braille, non per stampare. Mio padre era cieco e poteva toccare il tipo più velocemente della maggior parte delle persone vedenti. Le tastiere di output Braille esistono in quanto è più facile dell'output vocale in alcune situazioni. punteggiatura complessa mi viene in mente in questo contesto
geocoin

Conoscevo alcuni utenti non vedenti alla fine dell'era BBS che usavano un "Braille 'n Speak" collegato a un modem per accedere alle bacheche, ma non ne vedo uno dal 1992 o giù di lì e nessuno di quelli le persone erano sviluppatori. La digitazione tattile è molto più efficace.
Edward KMETT,

Perché ci sono anche tastiere in braille? Posso scrivere senza guardare la mia tastiera ... basta usare i punti su (f), (j) e (5) per aiutarti un po '
ajax333221

2

Penso che questo funzionerebbe bene nella programmazione estrema usando il principio di programmazione delle coppie. Se stai realizzando software per non vedenti, chi è meglio che lo faccia, allora qualcuno che sarebbe letteralmente in contatto con i requisiti aziendali, quindi non penso che sia molto inverosimile.

Per quanto riguarda la scrittura di codice, beh, a meno che non ci sia stato qualche tipo di feedback, penso che una persona possa avere difficoltà con la sintassi. Il feedback audio può aiutare a un certo punto.


6
Se scrivi pagine web probabilmente stai sviluppando per i non vedenti!
Loofer,

Ho lavorato (indirettamente) con un programmatore cieco alla mia ultima cooperativa presso IBM nei primi anni '90, su ScreenReader / 2 (estensione per aiutare i non vedenti ad usare OS / 2). Può essere fatto e non è necessaria alcuna programmazione di coppia.
M1EK,

7
@John Millikin: Anche se questo è conciso e divertente, probabilmente hai molta meno familiarità con come interpretare le istruzioni del loro software di lettura dello schermo e che cosa costituisce un'interfaccia intuitiva accessibile ai disabili rispetto al vero utente cieco. Cerco di coinvolgere un utente non vedente nei test di accettazione dell'utente quando eseguo il web design. Detto questo, gli sviluppatori ciechi possono fare molto di più che solo UAT.
Edward KMETT,

idea interessante sul feedback uditivo. Forse un sistema che andava oltre la semplice lettura delle parole sullo schermo sarebbe utile.
Seamus Connor,

@Edward: Passare da un'interfaccia grafica a un'interfaccia audio non è in realtà così difficile. Mentre (ovviamente) una persona completamente cieca avrà più esperienza di interazione con la tecnologia assistiva, le persone "normali" possono fare abbastanza bene semplicemente spegnendo i loro monitor.
John Millikin,


1

Che dire dell'invenzione di un tipo di dispositivo che si collega a una porta USB e che sarebbe fondamentalmente un "foglio di gomma" che si modifica per mostrare il coraggio del codice, consentendo ai non vedenti di leggerlo invece di ascoltarlo?



1

Una volta incontrato Sam Hartman, è un famoso sviluppatore Debian dal 2000 e cieco. Su questa intervista parla dell'accessibilità per un utente Linux. Usa Debian e gnome-orca come screen reader, funziona con Gnome e "fa un ottimo lavoro nel parlare Iceweasel / Firefox e Libreoffice".

In particolare parlando di programmazione dice:

Mentre [gnome-orca] parla gnome-terminal, non è abbastanza bravo a parlare di programmi terminali che mi fa comodo usarlo. Quindi, eseguo Emacs con il pacchetto Emacspeak. All'interno di questo, eseguo l'emulatore di terminale Emacs e all'interno di ciò, tendo a far funzionare Screen. Per maggiore divertimento, eseguo spesso istanze aggiuntive di Emacs all'interno delle schermate interne.


1
Pff, sembra complicato e affascinante allo stesso tempo. Le persone sono molto inventive nel superare le debolezze del loro software. :-)
Willem Meints,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.