pwmarcz.pl

Blog » Conference: ScotlandJS 2015

Conference: ScotlandJS 2015


I just finished ScotlandJS, a two-day conference full of talks about JavaScript and frontend technologies. I'm very satisfied with the overall level of talks and number of ideas I got there. Here are some things I found worth noting down. As always, written in hopes that I'll encourage others to attend more events like that.

  • Interesting talk about not using any frameworks (I imagine the JS programmers tend to go overboard with these sometimes) - makes you notice that sometimes all the dependencies force you into a specific way of coding, and forces you to actually learn more of the underlying technology. I guess a first step would be to learn modern JS language and DOM features without using jQuery.
  • URI Templates are a thing - a standard way to specify resource URLs, like http://example.com/objects/{object_id}.
  • JSON can have a schema too. Seems useful as a form of validation for APIs. Also, allows for automatic form generation on the frontend - just change a schema and appropriate fields will be generated, with client side validation even.
  • Advice from a team that instead of preparing independed design mock-ups for pages, decided to develop according to a "style guide" of visual content - a gallery of available classes, colors and so on. Seems like like good idea. They even have software that automatically generates these, and allows editing them in browser.
  • A guy from Yammer described their problems with scaling up the codebase and the team. Main takeaway: instead of writing documentation, make it executable (write clear tests instead of describing the functionality; make JSHint part of your build instead of having a coding style guide).
  • Scalable and Modular Architecture for CSS. Interesting idea, if too radical at times (advice to use single classes in the format .block__element--modifier looks like abuse to me).
  • A story about writing a mission-critical, "has to run without crash for 18 months straight or people will die" application for the marine industry. Sounds like sheer lunacy to attempt something like that in JavaScript and Webkit… but at least they gave some hints on how to debug memory leaks in JS. I learned that Chrome devtools can show you a chart with times of allocation of memory that is still alive at the moment.
  • Web Components - an upcoming standard (and existing library) allowing you to define your own HTML elements. Want to have an in-place AJAX editor? Instead of copy-pasting necessary markup all over the place, just define a <pretty-editor> tag.
  • Fun story about a test that suddenly started failing mysteriously. They were validating a purchase of child insurance, and used some testing data for that. One day the guy just became too old for child insurance :) Moral: instead of refactoring a group tests to have common, complicated set-up procedure, use many simple helper functions.
  • Pretty 3D fractals in browser. The audience suggested using Oculus VR…

Finally, there was a closing keynote about diversity in tech that I found valuable. The fact that the tech scene is demographically monolithic, and at times very unfriendly to women and other underrepresented groups is quite well documented, but the speaker also touched on a few other issues.

  • One was that we actually make this stuff for everyone else, creating technology and online spaces that the rest of the world uses. This is important when it comes to accessibility (there are more blind people worldwide than the whole population of Poland), but also things like real-name policies that are downright harmful, social network designs that encourage online harrassment, or failures like making your a phone work well only for right-handed people because nobody on the design team foresaw possible problems.
  • Something I still have to make my mind on is shipping culture considered harmful. The downsides of "moving fast and breaking things" include launching badly thought out products and subsequent feature creep, stressful work pace, and an environment where only the engineers' contributions are appreciated since they are the only ones directly shipping.
  • Another controversial idea was that meritocracy doesn't work, in that it's easy to make your environment resistant to change - if you value only the merits that you have, and dismiss the rest as irrelevant, in the end you'll only invite more of the same people and keep out others that would also bring value. See Linus's famous abuse that keeps potential Linux kernel contributors out if they're not thick-skinned enough.

The talk (and a positive response from the audience) gave me much respect for the British frontend scene, especially compared to the Polish one (post in Polish, and a somewhat unpleasant reading).

That's all I have - I hope you enjoyed my writeup!