How Ang Chong Yi Singapore is serving up sustainable future-ready foods?
Overboard.js - where are we going with with jsconfasia / devfestasia
1. OVERBOARD.JS
Where are we going with this?
Chris Heilmann @codepo8, JSConf Asia, Singapore, Nov 2015
https://www.flickr.com/photos/116261672@N04/19015989685
5. • Authoring web sites and enhancing
them with JS
• Scripting/Extending applications
(﴾Illustrator, Homesite, Visual Studio
Code, Sublime…)﴿
• Authoring re-‐usable widgets for
people who don’t know JS
• Working on libraries/frameworks
• Working on browsers and JS
engines
• Working on server-‐side JavaScript
• Designing APIs for JS consumption
25. AND WE CONSIDER OURSELVES
BETTER…
US
OUR
AUDIENCE
TECHNICAL PROFICIENCY,
INTEREST IN CHANGE AND UPGRADES,
INTEREST IN SPENDING MONEY ON THE WEB FOR WEB SERVICES…
26. TIME TO GET REAL…
US
OUR
ASSUMED
AUDIENCE
OUR
AUDIENCE
TECHNICAL PROFICIENCY,
INTEREST IN CHANGE AND UPGRADES,
INTEREST IN SPENDING MONEY ON THE WEB FOR WEB SERVICES…
27. THE NEXT USERS ARE
NOT THOSE WHO
COMPLAIN THE WEB
IS NOT AS GOOD AS
NATIVE APPS…
https://vimeo.com/139312920
https://brucelawson.github.io/talks/2015/velocity
Bruce Lawson at SOTB 2015
30. AS DEVELOPERS, WE
ARE ASKED TO DO
THE IMPOSSIBLE…
• Make it work the same in every
browser
• Make it easy to maintain and we
want to control everything
• Make sure it is also accessible -‐ I
think there’s a law we need to
follow
• Don’t spent too much time on it -‐
let’s release it now and fix it later!
• Use this analytics code you have
no clue about -‐ we need to know
how people use our products
34. I CURRENTLY WORK
WITH A CLEANUP
CREW…
http://dev.modern.ie/tools/staticscan/
https://github.com/MicrosoftEdge/static-‐code-‐scan
35. A simple way to detect how old
a part of our massive site is
checking which version of
jQuery was used in that part
of it. It’s like rings in a tree trunk.
https://www.flickr.com/photos/91183364@N08/13916636762
“
36. WE BREAK THE WEB
FOR THE SAKE OF
DEVELOPER
CONVENIENCE…
42. BROWSER DO AN
INCREDIBLE AMOUNT
OF WORK FOR US…
• Display of all kind of media content
• Fix minor mistakes in our code
• Optimise our code to run smoothly
• Provide us with developer tools
• Provide us with deep insights what
our code does to the computer
• Allow us to automate testing in
them and debug remotely on
devices we don’t even own (﴾using
3rd party services)﴿
47. COST FOR
DEVELOPERS…
• Learning new frameworks
• Re-‐learning frameworks
• Debugging frameworks
• Setting up developer
environments
• Cutting down on possible hires/
adding to onboarding time
48. THE REAL
IMPORTANT BIT IS
THE COST FOR OUR
USERS…
• Time to load / execute
• Bandwidth used
• CPU usage
• Frame rate (﴾60 fps)﴿
• Memory usage
• Battery
49. IT’S TIME TO CLEAN
UP AND LEARN THE
BASICS…
https://twitter.com/magnars/status/666961875683405824
50. THE JAVASCRIPT
LEARNING PROCESS
HAS ALWAYS BEEN
INTERESTING…
• Use view source to see what
others are doing…
• Copy and paste the bits that
look like they are responsible
for some things
• Change some numbers around
• Run into errors
• Blame Internet Explorer
51. THIS, OF COURSE,
WAS WRONG AND
WE GOT MORE
PROFESSIONAL…
• Search for a solution on
Stackoverflow
• Copy and paste the bits that
look like they are responsible
for some things
• Change some numbers around
• Run into errors
• Blame JavaScript for being
terrible and not a real language
• For good measure, blame
Internet Explorer.
68. LET’S ANALYSE AND
CLEAN UP.
PUT THE WEB ON A
DIET.
ONE TOO
CONVENIENT
SOLUTION AT A
TIME…
http://dev.modern.ie/tools/staticscan/
https://github.com/MicrosoftEdge/static-‐code-‐scan