Front End North 2014 Notes
Yesterday I had a great time at Front End North http://makedo.in/frontendnorth/. Thanks again to @makedoers for organising and invting me to speak. Here are the links to the slides and my notes from the day.
Slides
Simon Owen:
https://s10wen.com/blog/2014/11/15/front-end-north-2014-slides/
Phil Hawksworth:
https://speakerdeck.com/philhawksworth/dynamic-static-site-strategies-smashing-conference
Liam Richardson:
TBC
Katie Fenn:
https://katiefenn.github.io/building-testing-jquery-plugins-for-2015/
Rosemary King:
TBC
Edd Sowden:
Shaun Bent:
/speakerdeck.com/shaunbent/reducing-duplication-and-driving-consistency-at-the-bbc (no longer online)
Dan Donald:
TBC
Notes
Simon Owen
Optimising Your Front-End Workflow
I was first up, my slides can found here: https://s10wen.com/blog/2014/11/15/front-end-north-2014-slides/
That's one big screen… @frontendnorth pic.twitter.com/RcKY9R26k5
— Simon Owen (@s10wen) November 15, 2014
Thanks so much for the kind words on twitter!
Great talk done by @s10wen at @frontendnorth in @ManMetUni #SimonOwen #FrontEndNorth #MMU
— Umair Yaquoob (@UmairYaquoob) November 15, 2014
Watching @s10wen at @frontendnorth "optimising your front-end workflow" #fen14 lots of gifs! pic.twitter.com/YZ1XzM8IeP
— CTI Digital (@CTIDigitalUK) November 15, 2014
~ @s10wen has confirmed he's not 12 and is on fire talking about Front End Workflow at @frontendnorth #fen14
— Shaun Bent (@shaunbent) November 15, 2014
Super interesting talk about an efficient Front end workflow from @s10wen. #fen14
— Liam Richardson (@Meevil) November 15, 2014
Use star wars characters to represent different viewport sizes @s10wen @frontendnorth #fen14 #starwars pic.twitter.com/wzgOxj2Ulw
— CTI Digital (@CTIDigitalUK) November 15, 2014
This graph rocks. @s10wen #fen pic.twitter.com/sOhWvPxaDk
— Rosemary King (@RozemaryKing) November 15, 2014
LOVE THIS! From @s10wen's #FEN14 14 talk pic.twitter.com/fIvF8gvTUw
— Dan Sumption (@dansumption) November 15, 2014
Lots of useful stuff from @s10wen #frontendnorth. Very useful!
— Pixel Kicks (@Pixel_Kicks) November 15, 2014
Great expansive talk from @s10wen detailing his frontend workflow. Lots of tech and tips! @frontendnorth #fen14
— Jamie Murphy (@jjmu15) November 15, 2014
Really good first talk by @s10wen on optimising workflows. Some really useful tips in there! #frontendnorth pic.twitter.com/1BlKvtAnG0
— Dave Sims (@sheepfred) November 15, 2014
Having a great time @frontendnorth. Great talks by @s10wen and @philhawksworth with many more to come.
— Alex Clapperton (@AlexMClapperton) November 15, 2014
Q&A panel , has been a great event would come again ! @frontendnorth @eskins @RozemaryKing @katie_fenn @s10wen pic.twitter.com/OcEMevxTxx
— Kamaal (@kamaalkw) November 15, 2014
Phil Hawksworth
Dynamic Static Site Strategies
lol @philhawksworth pic.twitter.com/is4gf7dkqA
— Simon Owen (@s10wen) November 15, 2014
great 'more ambitious slide'
- cgi-bin
return to simplicity
#amobilefirstresponsivewebapp
otherwise known as a web site
"#amobilefirstresponsivewebapp otherwise known as a web site" @philhawksworth @frontendnorth
— Simon Owen (@s10wen) November 15, 2014
"Bake, don't fry"
reduce complexity - ease of deployment - increased portability
Example of viewport sizes @frontendnorth @philhawksworth @brad_frost pic.twitter.com/dVF8NtFQ9h
— Simon Owen (@s10wen) November 15, 2014
static = cost of less code, maintenance, time, people, effort, especially at scale
https://www.staticgen.com/ https://staticsitegenerators.net/
https://en.wikipedia.org/wiki/Jeff_Atwood "Atwood is credited with the proposal of "Atwood's Law" which is a corollary to the Rule of least power design principle. It states that any application that can be written in JavaScript will eventually be written in JavaScript."
1 | npm install |
automation
- repeatable
- predictable
- low friction
Going over hipster tools @frontendnorth @philhawksworth pic.twitter.com/InnmvoiHsr
— Simon Owen (@s10wen) November 15, 2014
- optimise / compress / cdn / automated deployments
https://beerclub.hawksworx.com/ https://github.com/philhawksworth/beerclub
https://developers.google.com/web/fundamentals/ https://github.com/google/WebFundamentals
Search = fast instance response search, but what about page weight? load async after the page is loaded, cached and static
Comments = PooleApp.com = formkeep.com
Site checking
= /factor.io (no longer online)
= netlify.com
seek chances to simplify, make stuff faster
Slides: https://bit.ly/fenssgeewizz
Liam Richardson
Pure CSS cross browser animations for fun and profit
gifs!
Flash, used for animation, until iPhone…
CSS3 incoming.
CodePen demos
- bw to colour demo
short code transition e.g.
transition: all 1s linear
vs
1 | transition-this: that; |
transition - can lay these on top for modern browsers, older browsers will still work, but just lose the transition
sass - mixins
I noticed some of Liam's demo examples showing top:0
margin-left:0
to move elements. These might be better as translate
:
https://www.paulirish.com/2012/why-moving-elements-with-translate-is-better-than-posabs-topleft/
css transitions that are animatable: https://leaverou.github.io/animatable/ https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties
animation timing function https://css-tricks.com/almanac/properties/t/transition-timing-function/
creating visual flair - codepen example, wooaaa
doing something crazy - R2D2 animation https://codepen.io/Xpressive_Team/pen/LeHGF
SVG animation with keyframes
SVG - snap.svg - http://snapsvg.io/
- keyframes
webkit browser prefix
/valhead.com/book/ (no longer online)
Katie Fenn
Building and testing jQuery plugins for 2015
2015 = 10th anniversary of jQuery (nearly)
Going over jQuery plugins for 2015 with @katie_fenn @frontendnorth pic.twitter.com/EXVSnx6xQR
— Simon Owen (@s10wen) November 15, 2014
jQuery is a swiss army knife: https://vimeo.com/68549483
Dom / Events / AJAX / Extensibility (plugins)
benefits of writing plugins
- modular code
- reusable
- testable
Using a boilerplate: jqueryboilerplate: https://jqueryboilerplate.com/
Bizarre account in JavaScript where you could override undefined: https://stackoverflow.com/questions/8783510/javascript-how-dangerous-is-it-really-to-assume-undefined-is-not-overwritten http://dsheiko.com/weblog/learning-javascript-from-the-code
building and testing your plugin jasmine - https://jasmine.github.io/
behavior driven development
Learning about Jasmine and automated testing @katie_fenn @frontendnorth pic.twitter.com/pwBhHfd6lF
— Simon Owen (@s10wen) November 15, 2014
Signs you may need a framework: Co-ordinating behaviour across compononents Feature rich behavaiour angular / ember / react
Benefits of both jQUery / framework
- modular code
- unit tesing
- auto loading (require.js)
- CI (jarvis)
- Task automation
Slides: tinyurl.com/btjp2015
Rosemary King
Get Back to Play: How Play and Playfulness Help Us Build Better Products and People.
This is a thing, that's a thing @RozemaryKing @frontendnorth pic.twitter.com/7CVhdZs79J
— Simon Owen (@s10wen) November 15, 2014
Get back to play, how being play full can help.
3 types of play
autosphere
- inward focused play "the initial human geography"
microsphere
- omg these people are doing what I'm doing, kid moving to music and people around him are copying him dancing
- "where narratives start becoming constructive"
- e.g. where red means angry / danger
macrosphere
- getting the adult rules, but playing with them. e.g. 2 year old rapping, starting and stopping rapping at the correct time but not actually speaking actual words.
- "don't grow up, it's a trap"
einstein / picasso quotes
“Play is the highest form of research.”
― Albert Einstein
@RozemaryKing @frontendnorth
— Simon Owen (@s10wen) November 15, 2014
“Others have seen what is and asked why. I have seen what could be and asked why not. ”
― Pablo Picasso
@RozemaryKing @frontendnorth
— Simon Owen (@s10wen) November 15, 2014
nobel awards - not afraid to try out new things - levitating frog
Google helping us with out macrosphere's with Google Doodle
Example of Google helping us out with our macrospheres @RozemaryKing @frontendnorth pic.twitter.com/EOFACpr1KY
— Simon Owen (@s10wen) November 15, 2014
Don't be a bully
- If kids don't know something, they'll have a go
- As adults we become frightened that asking a simple question, may be a stupid question and wasted time
Be kind and open about ideas.
Ha! Was just talking about this before your talk :) @RozemaryKing @frontendnorth pic.twitter.com/XE03Fi39F5
— Simon Owen (@s10wen) November 15, 2014
"Make thoughts, don't receive them" - e.g. a Breaking Bad watching marathon. In this state we're constantly just receiving a brain wave and not using other brain waves.
"Take time to go down rabbit holes" - Take a walk without a destination in mind. @RozemaryKing @frontendnorth
— Simon Owen (@s10wen) November 15, 2014
Alpha and theta brain waves: http://www.finerminds.com/mind-power/brain-waves/
"Take time to go down rabbit holes" - Take a walk without a destination in mind.
"Anything's possible"
Best @frontendnorth trainers award goes to @RozemaryKing pic.twitter.com/7xD6jwqw7d
— Simon Owen (@s10wen) November 15, 2014
Edd Sowden
Trying to make GOV.UK accessible
It's @edds talking about some of the fantastic work gov.uk have been up to :) pic.twitter.com/Rb4W0IEj54
— Simon Owen (@s10wen) November 15, 2014
VoiceOver comes with OS X and iOS
It's really insightful to watch people use your website e.g. what's a hamburger?
Start with HTML
- write down the information first in only HTML - this will help a lot with accessibility
"GOV.UK should work for everyone" @edds @frontendnorth
— Simon Owen (@s10wen) November 15, 2014
display: table-cell - was used in a prototype example, but oh oh we need IE6 support.
VoiceOver on/off: Cmd + F5 VoiceOver key (VO): ctrl and option key
ARIA: https://www.w3.org/WAI/intro/aria.php
aria-live: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions
Adding filters re-read out the lists every time a filter was updated.
- to get around this, instead of reading out all the lists every time, read out how many list items were available.
tabindex="-1"
Using focus rather than aria-live we also helped keyboard only users.
Voiceover keyboard shortcuts @edds @frontendnorth pic.twitter.com/h9eBjcVzGm
— Simon Owen (@s10wen) November 15, 2014
Chances are if you can make things work better for a keyboard used, this will also help a screenreader.
Using tab on your site is also a quick way to help with accessibility.
Some ARIA properties need to exist at page load.
form example
- blind person gets too much noise
- use a div if you need to extra styles
Listen to your website - Cmd + F5 - find out things you didn't know
Shaun Bent
Reducing duplication and driving consistency at the BBC
Lol @shaunbent I've tried growing a beard, it's taking a good few years so far pic.twitter.com/GwzqNYgHmU
— Simon Owen (@s10wen) November 15, 2014
You can watch badgers live, although you may not see any…
GEL - Global Experience Language
GEL - Responsive Typography
Learning about 'gel - Global Experience Language' at BBC @shaunbent @frontendnorth pic.twitter.com/js88TT1Axr
— Simon Owen (@s10wen) November 15, 2014
Typography shared across other products @shaunbent @frontendnorth pic.twitter.com/vDR7RrEa0M
— Simon Owen (@s10wen) November 15, 2014
bridging the language gap - Harry Roberts / Jeremy Keith
Abstracting typography out into class names e..g rather than
1 | font-size: 20px; |
now have
1 | .get-trafalger |
Type sizes document @shaunbent @frontendnorth pic.twitter.com/HTeFSLFbXh
— Simon Owen (@s10wen) November 15, 2014
Typography to work across products
Enter configuration settings @shaunbent @frontendnorth pic.twitter.com/DXAOQE4wm0
— Simon Owen (@s10wen) November 15, 2014
Delivering a consistent typography across products
Reduced development effort
Increasing re-use across the business
Ease of rolling out updates
Where next?
- Proof of concept
- Keep going as small little code snippets that people can choose to include if required
- Increase adoption around the BBC
Settings / Tools / Typography / Grid (the next big challenge!)
grid - sass tools? variable names? how are other people doing this? make it open source???
Other credits: https://twitter.com/itsaljones
Dan Donald
Communication and Confidence
There is no perfect workflow
Products & Agencies
- difference between fast turn around within a week going to no developers to a year long project going to another team of developers.
Producer / UX / Designer / One or two front-enders / One or two back-enders / Tester
Agile?
- Find out what works for you and why.
- welcome changing requirements
- deliver working software frequently
- work together daily
- trust
- face-to-face conversation
- technical excellence and good design
Nice slide regarding old school agile @hereinthehive @frontendnorth pic.twitter.com/Fplyp9uWo9
— Simon Owen (@s10wen) November 15, 2014
Autonomous and Collaborative
Stand-ups
- quick, get the point across, move on, learn from experience and adapt as required.
Nice slide regarding old school agile @hereinthehive @frontendnorth pic.twitter.com/Fplyp9uWo9
— Simon Owen (@s10wen) November 15, 2014
Adapting to change
- "I don't want ditch that work I've done", "I don't want to work on it more".
- Let's put this aside and adapt to change and welcome it.
Building confidence @hereinthehive @frontendnorth pic.twitter.com/DWofgr9aBV
— Simon Owen (@s10wen) November 15, 2014
Focus & Confidence
"The need to understand why" - Just Enough Process™
Tools: fading tools out, simplifying github / bitbucket skype / slack
Logos!! @hereinthehive @frontendnorth pic.twitter.com/exD8N7Xhh3
— Simon Owen (@s10wen) November 15, 2014
Testing: Etsy devices GhostLab / DeviceLab BrowserSync
Etsy device lab @hereinthehive @frontendnorth pic.twitter.com/unCm9yx2GZ
— Simon Owen (@s10wen) November 15, 2014
Kudos to @msdev for https://t.co/4llDHdrqes @hereinthehive @frontendnorth
— Simon Owen (@s10wen) November 15, 2014
Design and UX: Get involved help / collaborate adapt along the way style guide first
Love @ghostlabapp and device lab @hereinthehive @frontendnorth pic.twitter.com/jn5TVIg1cS
— Simon Owen (@s10wen) November 15, 2014
Design Pairing or Art Direction: designer and front-ender working together, changing as they need to create better results
Consistency and Standards: https://cssguidelin.es/
- no dogma about just using it all, but talking it through as a team and working it in with the requirements for the team
https://csswizardry.com/2014/05/my-trello-workflow/
Baseline
- consistent tooling
- allows us to work from a Sass style guide
- typography / colour palette / grid (singularity) / uses sass for wire framing https://singularity.gs/
load-grunt-config (inc.load-grunt-tasks) CSS Testing Deployment / CI Project type specific tasks
package.json
- using variables to easily update paths across different projects
require.js Jasmine Yeoman
could be drupal / umbraco / whatever…
DANGER: learning-curves likely trying to get the balance
Perfect Worklow? Nope..
Figure it out as a team and update as required and what's working for you.
Align and Guide Your Project: http://pointnorth.io/
Harry Roberts Trello Workflow: https://csswizardry.com/2014/05/my-trello-workflow/
Adaptability Consistency Reliability Communciction
It's all about the client & their audience, they're paying you money to do a job.
Browse by category:
- apple1
- bash1
- browser1
- case study4
- chrome2
- chrome dev tools4
- clojure overtone2
- conference2
- css2
- dev tips1
- digihike1
- dotfiles2
- event4
- ffconf1
- freelance6
- gaming2
- health3
- hexo1
- https1
- jank1
- javascript1
- jobs1
- lego1
- mcrfred107
- nux1
- octopress4
- photography2
- raspberry pi1
- responsive web design1
- sass1
- screencast1
- speaking2
- svg4
- unplugged6
- upfrontconf1
- web development2
- webgl1
- wordpress17
- work51
- workflow16