-
Notifications
You must be signed in to change notification settings - Fork 326
Introducing Accessible Scala blog post #911
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Do you plan to include a screencast? |
@julienrf yes, I'm working on it now. |
|
||
Have you found yourself where you had to verbally describe code? For example, while pair-programming | ||
or talking about work during lunch. Verbally describing code is not an easy task, fortunately for you the | ||
Scala Center is working on this. [SCP-016]: Accessible Scala, was submitted to provide industry-leading support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first two sentences are not appropriate. This project isn't about figuring out how to verbally describe code. It's about accessibility. Can you please change the text to make this clear? As-is, it's inaccurate.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please don't say "industry-leading support," that was also not the goal of this project.
Have you found yourself where you had to verbally describe code? For example, while pair-programming | ||
or talking about work during lunch. Verbally describing code is not an easy task, fortunately for you the | ||
Scala Center is working on this. [SCP-016]: Accessible Scala, was submitted to provide industry-leading support | ||
for blind and partially-sighted developers. It's also an opportunity to formalize a spoken Scala. For example, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, we did not intend to "formalize spoken Scala." Can you please remove this?
One of the goals of the proposal is to remove the noise introduced by various delimiters. Notice how the type | ||
parameter delimiters: `[` and `]` are absent from the verbal description. However, with more complex expressions, | ||
this can make the audible form ambiguous, for example, with nested types: `Either[Wobble[T], Option[Wobble[S]]]` | ||
becomes: `Either applied to types Wobble of T, Option of Wobble of S`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, "applied to" is not something everybody agrees with. It's not appropriate to act as if the Scala Center has a made a decision on how to pronounce these things. This is for blind developers.
We hope you are excited as we are by the online demo. We would like to hear your feedback on the verbal | ||
descriptions. We would like to invite the Scala community to improve the quality of the project and join the | ||
effort. You can find an extensive test case here: [DescribeTest.scala]. If you find that descriptions could | ||
be improved, send us a pull request with the expected form. Another area where we would need help |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please change this so as not to claim that we are attempting to formalize how Scala is spoken. We aren't. The goal of this project was accessibility for blind developers.
from your cursor location, you can navigate the abstract syntax tree of the source code. From a node, you can | ||
navigate to the parent node, to the siblings (left or right) or the first child. As you navigate the code, | ||
it's described and selected. We created an online demo (adjust your volume!) to let you try the cursor | ||
technique and hear the descriptions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe give a simple example of a scenario of someone navigating in some code, and explain what she hears as she navigates through the code?
That will probably be covered by the video but it’s maybe useful to also have something written.
@@ -32,7 +32,9 @@ We created an [online demo]. You can try it now! (Tip: It works best on google-c | |||
|
|||
We also created a [vscode extension] so you can try on your project. Search for `Accessible Scala` in the | |||
extension manager | |||
|
|||
|
|||
<iframe style="margin: 20px auto; display: block;" width="560" height="315" src="https://www.youtube.com/embed/Up2ytnrsX6s" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The video is impressive but I’m wondering if it’d better showing a piece of an actual program rather than a list of everything that’s supported.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
great suggestion, I'm on it :)
Thanks a lot for the feedback, I'm ready for round 2. This is what I changed:
|
The content looks better! I'm on my phone so it's complicated to do a proper review but I saw several typos, can you run a grammar tool on the text? Also I think the first paragraph goes a bit fast to explain the problem solved by this project. |
following expression: `class S[+T]` as `class S parameterized with covariant T`. Since there is more than one way | ||
to pronounce Scala source code, we are open to the community proposition. You can find an extensive test case | ||
here: [DescribeTest.scala]. If you find that descriptions could be improved, send us a pull request with the | ||
expected form. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great!
here: [DescribeTest.scala]. If you find that descriptions could be improved, send us a pull request with the | ||
expected form. | ||
|
||
Reading Scala out loud make some of its syntactic elements less intimidating for beginners. There is no more |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
makes*
expected form. | ||
|
||
Reading Scala out loud make some of its syntactic elements less intimidating for beginners. There is no more | ||
need to mentally associate the syntax `+T` with its concept `co-variant`. Notice on the example above, how the type parameter delimiters: `[` and `]` are absent from the verbal description. It call also help sighted developers to describe Scala orally, for example in the context of pair programming. However, when expressions get more complex, the audible form can become ambiguous or difficult to decypher. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Notice in the example above
expected form. | ||
|
||
Reading Scala out loud make some of its syntactic elements less intimidating for beginners. There is no more | ||
need to mentally associate the syntax `+T` with its concept `co-variant`. Notice on the example above, how the type parameter delimiters: `[` and `]` are absent from the verbal description. It call also help sighted developers to describe Scala orally, for example in the context of pair programming. However, when expressions get more complex, the audible form can become ambiguous or difficult to decypher. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"It call also"? Error here.
} | ||
``` | ||
|
||
We created an online demo (adjust your volume!) to let you try the cursor | ||
technique and hear the descriptions. | ||
|
||
# Want to try it? | ||
|
||
We created an [online demo]. You can try it now! (Tip: It works best on google-chrome! ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo: should be "Google Chrome"
Looks good to me as soon as the above-mentioned typos are fixed! Well done @MasseGuillaume! |
ready for round 3
|
Thank you @MasseGuillaume! |
[DescribeTest.scala]: https://github.com/scalacenter/accessible-scala/blob/master/tests/unit/src/test/scala/ch.epfl.scala.accessible/DescribeTest.scala | ||
[Emacspeak]: https://github.com/tvraman/emacspeak | ||
[gitter]: https://gitter.im/scalacenter/accessible-scala | ||
[Scala Contributors]: https://contributors.scala-lang.org/TBD |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@MasseGuillaume can you please open this thread of discussion and make a new PR with the correct link?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/cc @heathermiller @julienrf @Duhemm @jvican @olafurpg
https://github.com/MasseGuillaume/scala-lang/blob/d5b3389375a5c6efa921ef0f4391c1b734f11761/blog/_posts/2018-06-13-accessible-scala.md