This is my second year of being able to attend JSConf and feel fortunate to be able to listen and interact with so many awesome people in the community. This is mostly a brain dump of some of the topics I found interesting at JSConf, but obviously isn't every talk or speaker since I couldn't attend every session. Hopefully, some others can benefit from some of the knowledge I gained - or find some interesting people to follow in the community.
Felipe de Albuquerque
JS Accessibility and JS: side-by-side -This was an interesting talk on accessibility because the talk itself wasn't presented in English. Felipe gave a few examples of why accessibility is important:
- 650 million people have some some kind of disability
- Kids can control websites through voice before they can read, so having voice control would allow young kids to navigate
- The internet should be inclusive of everyone
- Based on research, JAWS is one of the most popular screen readers
One of the biggest issues we have in the community is the lack of developer knowledge with WAI-ARIA attributes. ARIA attributes are something that are ready to be implemented today, and as a community we should be concerned about making our applications accessible to everyone.
Kyle Tyacke
Communicate All the Things -Building the web with WebRTC. If you've ever used Amazon Mayday, or Google Hangouts you've used WebRTC. WebRTC is similar to web sockets, but uses peer-to-peer connections instead of communicating with a server.
Apollo is a JavaScript library built on respoke that helps to handle those peer-to-peer connections. From there you can create peer-to-peer chat or video connections directly in your application.
ES7 ES2016 - Jafar Husain
Async Programing in How do we make async easier? What if you could write async programs without any callbacks at all? What if waiting was just as easy as creating blocking functions?
With ES2016, you can use generators to write blocking or asynchronous code exactly the same:
async function foo() {
var bar = await foobar();
return bar;
}
Currently ES2016 is in the draft stage, but it's expected to be part of the standard.
This was a great talk that helped explain some of the features ES5ES2015 on generators and how they differ from iterators. One great point is that iterators are used for one-way functional communication, while generators are used for two-way functional communication. By calling result.next("value")
on a generator, you can push values to a generator function.
It's hard to explain everything in short, but Jafar has created a repository that goes into further detail on generators, observables, and async generators.
Mariko Kosaka
Knitting for JavaScript -Apparently there's a "Github" for knitters, Ravelry.
Code for knitting.
R0 : k5
R1-3 : k2, m1, k until 2 sts remain, m1, k2
R4 : k2, m1, k1, m1, k until 3 sts remain,
m1, k1, m1, k2
Repeat R1-4 for 10 times
That looks like something that could easily be created in javascript.
Mariko took two seemingly unrelated topics and merged them together to create something amazing and fascinating. This was a great talk that helped expose how JavaScript could be used for things that no one would really expect.
Kariko plans on putting up some of her code on Github at electroknit and color-mixer.
Marcy Sutton
30 Minutes or Less: The Magic of Automated Accessibility Testing -What are some the the accessibility basics you should be aware of?
- Alternative text
- Document structure & hierarchy
- HTML Semantics
- Keyboard interactivity
- Color contrast
- Focus management
Let the tooling do the heavy lifting for you! Tools can help you identify some of your accessibility issues.
In Chrome Canary, you can enable accessibility developer tools that will allow you to run audits on your page to help find those issues.
- A11Y (Ally) - run accessibility audits against a site.
- Protractor + Accessibility Plugin - end to end testing accessibility plugin Angular JS