Short summaries of each of the Fluent 2015 Conference Keynotes. Think of it as a tl;dr but for the keynotes and also lets me efficiently refer to any in the future without too much more effort.
Making Badass Developers
Willpower and cognitive ability are ‘one tank’.
Even trivial willpower tasks have a huge impact on our cognitive ability and we therefore must reduce unnecessary leeks.
Generally developers suffer from three issues which drain cognitive ability.
- Too many skills ‘can do with some effort’ instead of moving them to ‘mastered’
- Break the skill into smaller sub pieces
- Half mastered skills in mastered skills
- We don’t usually like to revisit skills
- Need to check to see if anything can be improved
- Moving skills to mastered too slow
- Lots and lots of short high quality examples (100’s) with rapid feedback lets you master skills
How Users Perceive the Speed of The Web
Introduces RAIL performance goals which sets goals for different types of interactions along with some background.
- Response - Tap to paint is < 100ms (with touchmove to paint < 16ms)
- Animation - Each from completes in < 16 ms
- Idle - Main thread JS work completes in 50ms chunks
- Load - Ready to use in 1000ms)
Dirty Performance Secrets of HTML5
Background to some of the fundamental principles of causing performance pitfalls.
- The browser needs to be ready to render the next image every 16.66ms.
- The easiest way to cause a performance issue is to use JS.
- Avoid allocating objects for critical code which might trigger the GC.
- You can not just look at your code, you must use a JIT profiler as you will miss info out JIT failed optimization.
- For animation use
position:absolute;to avoid unnecessary re-calculations been preformed by the rendering engines.
- Translation and alpha is very cheep but scaling can be costly if it can not be correctly layered.
- No animated GIFs as they cause unnecessary memory usage.
- Stoke is mathematical harder when compared to hairline.
- Think in term of device pixels and avoid pixels offset.
- Don’t read back pixels as this is an un-optimized use case.
- Layers are created using with heuristics and understanding these will be useful.
It also has signs of been a Creole (simplified languages to be adopted as a second language but becomes a primary language).
Whilst using a programing language you should keeps peoples astonishment to a minimum and avoid the equivalent of “I haven’t slept for ten days, because that would be too long”.
This Web App Best Viewed By Someone Else
We keep making the web more complex and sometimes we forget that the web is not a platform but a spectrum or continuum.
It is designed for universal access (as per the first web page ever).
ECMAScript Harmony: Rise of the Compilers
Welcoming the Web
Recruiters are doing it wrong.
The create nonsensical and often isolating job adverts targeting only a very small subset of the population.
Stop with the ‘culture fit’ which creates a homogeneous environment.
We are all average or normal and just like other skilled trades a normal distribution exists.
This allows a larger candidate pool to hire from and makes your product(s) stronger.
We can all be part of the solution and to not care about the toxic environment we work in is a privilege not all of us are privileged to.
You can’t choose if something you or someone else says is offensive you can choose if you care.
A father and sone are in a car that stalled on railroad tracks. An oncoming train smashes into the car. The father is killed; the gravely injured son is rushed to hospital. The doctor enters the room, sees the child on the table “I cannot operate on this child” the doctor says “ this child is my son.”
How? How can this be?
How many attempts do you make to get the correct answer?
We all have internal ‘-isim’ that have to be un-learned.
Main rule - Be nice
The Kraken Effect at PayPal
Been able to google your framework as it is Open Source is very valuable and reduces on-boarding time.
In addition you want your developers to picking your framework to build their side projects.
By increasing the release speed and frequency the impact of missing a release is minimal so reducing feature stuffing.
The Web (Browser) We Forgot
The line mode browser. A primitive MVP web browser from the early days.
A recent emulator is hosted by CERN and built with modern HTML5 technology.
A demo of IBM Bluemix IoT platform.