SlideShare a Scribd company logo
Chris Heilmann @codepo8, DrupalJam, May 2017
Of innovation and impatience
Chris Heilmann @codepo8, Future Decoded, London, Nov 2015
CHRIS HEILMANN
@CODEPO8
codepo8.github.io/logo-o-matic
codepo8.github.io/canvas-images-and-pixels
Pixels are my thing… :)
We all know this
character, right?
https://en.wikipedia.org/wiki/Mario#Concept_and_creation

Recommended for you

Progressing JavaScript and Apps the Web way…
 Progressing JavaScript and Apps the Web way…  Progressing JavaScript and Apps the Web way…
Progressing JavaScript and Apps the Web way…

This document discusses progressing web development and applications. It talks about some common criticisms of the web, including that browsers differ too much and the web is too flexible. However, it argues that browser differences allow for innovation and flexibility is one of the web's strengths. It promotes an approach of focusing on capabilities rather than browsers. The document also discusses progressing technologies like service workers and progressive web apps that can make applications work offline and feel more like native apps while still being web-based. It concludes by arguing the web is not going away and is a great platform to build upon.

javascriptwebfullstackcon
The State of the Web - Helsinki meetup
The State of the Web - Helsinki meetupThe State of the Web - Helsinki meetup
The State of the Web - Helsinki meetup

The document discusses the current state of web development and identifies several issues, including slow page loading times, large file sizes, reliance on outdated libraries and browser hacks, and an emphasis on flashy innovations over foundational web standards. It argues that as an industry, web development has gotten too complex and focuses too much on impressing other developers rather than meeting users' needs. It calls for simplifying solutions, supporting baseline functionality for all browsers, and prioritizing education and collaboration over quick fixes.

mswebcamp
The image problem of the web and how to solve it…
The image problem of the web and how to solve it…The image problem of the web and how to solve it…
The image problem of the web and how to solve it…

The document discusses the problem of websites using large, unoptimized images that slow down loading times. It provides solutions like responsive images, automated image optimization tools, extracting metadata from images, intelligent resizing with cloud services, and machine learning for tasks like facial recognition and tagging to improve the image experience on the web. The key is for browsers, tools, and developers to work together to make images lightweight and adaptive while still high quality.

jfokus
But do you know
why it looks like it
does?
https://en.wikipedia.org/wiki/Mario#Concept_and_creation
Red and Blue offered the
best contrast to the skin,
boots and the game
background.
https://en.wikipedia.org/wiki/Mario#Concept_and_creation
The cap meant there was
no need to worry about
hair style, eyebrows and
forehead.
(There were also not enough
pixels for waving hair when
falling down a hole)
The large nose and
moustache made it
possible to avoid a mouth
and facial expressions.

Recommended for you

NodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and NodeNodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and Node

The document discusses the history and future of JavaScript and Node.js. It covers the promises and problems of JavaScript, how Node.js helped address some issues but created new ones like monoculture. It then discusses how ES6 and the ChakraCore engine can help modernize JavaScript and break the Node monoculture by providing an additional engine option. The author hopes for less drama, embracing change, simplicity, inclusiveness, and prioritizing users over developers.

javascriptnodenodeconflondon
Postmodern Web Apps
Postmodern Web AppsPostmodern Web Apps
Postmodern Web Apps

The document discusses the rise of post-modern web applications (PMWAs), which resemble desktop applications more than traditional web pages. PMWAs have asynchronous communication with backends, complex client-side logic, and must scale to large numbers of users. While new technologies like HTML5 enable PMWAs, traditional techniques may not apply, and new paradigms are needed. However, not everything requires new approaches. The talk outlines features of PMWAs and examples like Google apps, then discusses enabling technologies like JavaScript improvements, component frameworks, and local storage.

bespinhtml5postmodern
2021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 1012021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 101

What do we mean when we talk about "web performance"? Why should you care about it? How can measure it? How do you get other people in your organization to care? In this workshop at the 2021 Chrome Dev Summit, I covered these questions – including an overview of the history of performance metrics, up to Core Web Vitals.

web performanceuser experienceseo
Design by limitations.
!
Design by lack of definition.
🌎🕸
Flexibility and forgiveness…
💧 HTML and CSS are fault tolerant…
Knives, bees and footguns…
🦂 JavaScript is not fault tolerant

Recommended for you

Moore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix thatMoore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix that

This document summarizes a presentation about improving efficiency and performance on the web. It discusses Moore's Law, which states that computers get faster every two years, and May's Law, which says software efficiency halves every 18 months to compensate. However, web development has focused too much on innovation and new technologies rather than optimization. As a result, median page load times are over 5 seconds. The document calls for developers to focus on fixing existing issues, improving efficiency, and testing new standards like ES6 before adopting them widely. It argues for less hype and more focus on users, technical limitations, and fixing broken aspects of the current web.

halfstackconf
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco

This document summarizes a talk given by Chris Heilmann at ForwardJS in 2015. Heilmann discusses the state of web development technologies and how developers have focused too much on experimental features that are not ready for production use. This has led to a fragmented web where browsers implement features differently. He argues developers should focus on standardizing and improving existing web standards rather than constantly introducing new technologies. ES6 is highlighted as a priority for improving existing JavaScript.

forwardjs3
Automating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend KeynoteAutomating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend Keynote

Keynote of the second You Gotta Love Frontend conference in Tel Aviv/Israel talking about what to expect of the web in the near future.

yglfweb developmentconference
With HTML and CSS you’re
relying on the user agent to
do the right thing…🙁
Using JavaScript, you have a
means to test if what you’re
trying to do succeeded…✅
Predicting things is tough…
🔮
That’s why progressive
enhancement was a great
idea to solve this issue…

Recommended for you

JavaScript isn't evil.
JavaScript isn't evil.JavaScript isn't evil.
JavaScript isn't evil.

The document discusses the pros and cons of using JavaScript on websites. It argues that while JavaScript reliability can be an issue, it also enables many useful features and experiences. JavaScript allows websites to take advantage of user device capabilities in ways that aren't possible without client-side scripting. The document urges moving past arguments against JavaScript and embracing new paradigms like components and functional programming to build higher quality web experiences.

cphfrontend
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st Century

This document outlines 10 web performance lessons for the 21st century. The lessons are: 1) Measure first, optimize bottlenecks second 2) Measure what matters 3) Get a performance budget 4) Write JavaScript efficiently using mostly functions 5) Write code efficiently using mostly HTML 6) Consider static functional programming as JavaScript may not be enough 7) Observe how browsers work behind the scenes 8) Build fast organizations 9) Have courage in your minimalism 10) Sometimes keeping it simple with 9 lessons is enough. The document provides explanations and examples for each lesson along with relevant links to additional resources.

webperformancesearch engine optimization
Intro to Web Development
Intro to Web DevelopmentIntro to Web Development
Intro to Web Development

This was one of my presentations made for BSc. IT students. A simple introduction to Web development and Web 2.0

But is it still enough?
🔬
And what does it mean?
🤔
JavaScript can’t be trusted and
can be turned off.
💣
Everybody has JavaScript, and
we can do everything with it?
🔨

Recommended for you

Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.

This document discusses responsible and up-to-date use of JavaScript. It recommends directly learning JavaScript instead of relying on libraries without understanding. Browser tools and editors have improved, removing the need for user agent sniffing or outdated polyfills. New JavaScript features like ES6 are supported in modern browsers through transpilation or superset languages. The overall message is that JavaScript has matured and developers should embrace new capabilities instead of clinging to past workarounds.

devfestasiajsconfasia
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105

My keynote for BrazilJS discussing the issues with ES6 and the need for developer participation and use.

browserses6braziljs
Looking for a place to hang my helmet
Looking for a place to hang my helmetLooking for a place to hang my helmet
Looking for a place to hang my helmet

My opening keynote from Responsive Field Day 2015 (https://www.responsivefieldday.com/) in Portland OR.

atomic designresponsive web design
!
Story time…🐷*3🐺+🏠+🌳
https://a-k-apart.com/
Excellent, let’s do this!
https://codepo8.github.io/10kb-CSS-colour-game/

Recommended for you

Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcut

This document discusses upgrading JavaScript to ES6 and using TypeScript as an alternative. It covers some of the old issues with JavaScript, the learning process, tooling challenges, and dependency on libraries/frameworks. ES6 promises to address many of these with new features, but browser support is still evolving so transpilation is needed. TypeScript is presented as a shortcut that provides type safety and class-based syntax without transpilation overhead. The document also mentions the ChakraCore JavaScript engine as a promising new development.

ndcoslo
The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015

A talk about innovation and impostor syndrome. A talk about the next web that's coming and the technology we have, but forgot.

web.smartwebimpostors
Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript

1. The document discusses the debate around relying on JavaScript for web applications and progressive enhancement. 2. It argues that while JavaScript can break, the web has evolved to focus more on capable client-side devices rather than availability of JavaScript. 3. It suggests embracing new paradigms like components and functional programming to build high quality, error-handling code rather than avoiding JavaScript.

That was fun…
😎 Written on a plane, offline and in
roughly two hours
😎 Works on desktop and mobile,
independent of input and is
responsive
😎 All in all < 8 kb with the biggest
part being icons
https://codepo8.github.io/10kb-CSS-colour-game/
Well done, Chris!
https://www.google.com/patents/US4608967
Here’s the source… …Luke?
The structure was not hard…
😎 Have an array of all the possible colours.
😎 Get a random cut of n elements, display them as a list; store the name of the colour
as a data attribute
😎 Get one item of the list as the colour to match, show its name.
😎 Use event delegation on the list to add one click handler (also allows for keyboard)
😎 Compare the data attribute of the target of the event with the colour to match
😎 If true, display a new random list
😎 If false, decrease the possible moves counter
😎 If no more moves left, show game over
💩 Only issue: there is no array_rand()

Recommended for you

JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...

This document summarizes a discussion between Chris Heilmann and others about JavaScript promises and progressive enhancement. Some key points discussed include: - Creating content that works independently of JavaScript as much as possible while using JavaScript to enhance the experience - Spending more time building interfaces and less time ensuring everything works without JavaScript breaking - Prioritizing sensible error handling and fallback options over trying to prevent all possible errors - Avoiding unnecessary network dependencies and focusing on overall security rather than preventing JavaScript from breaking

javascriptprogressivenhancement
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature

Presentation at the Geekmeet in Craiova, Romania talking about the adoption of APIs and libraries as a way to prevent unmaintainable products.

romaniageekmeetcraiova
Academy PRO: HTML5 API graphics
Academy PRO: HTML5 API graphicsAcademy PRO: HTML5 API graphics
Academy PRO: HTML5 API graphics

Lecture for Binary Studio Academy PRO course about HTML5 API by Bohdan Rusinka (JS developer at Binary Studio) binary-studio.com

html5binary studiohtml5 api
Computers and smartphones are
powerful.
Browsers can do a lot and are open to
feedback.
JavaScript is flexible and has evolved.
CSS has become amazing.
Developer tools in browsers give us great
debugging and even design capabilities
😍
🦄
🎉
The beauty of HTML, CSS and JS…
😍 All is contained in one package
😍 Everything is running on the end users
environments
😍 You use what the OS and the hardware gives
you. It can be a web site or an app,
depending on who runs it where
😍 You wouldn’t even need ServiceWorker to
make this work offline - inlining everything
would be enough
📦
Then I read the contest
guidelines…
😟
https://a-k-apart.com/faq http://stateofjs.com/

Recommended for you

Shifting Gears
Shifting GearsShifting Gears
Shifting Gears

The document discusses ways to improve website performance by optimizing JavaScript and image loading. It recommends placing scripts at the bottom of the page to avoid blocking rendering, chunking scripts into separate files, lazy loading scripts as needed, minimizing images using techniques like CSS sprites and image optimization tools, and delaying loading of non-critical images to improve page load times.

cssspriteslazyloadingintroduction
Look ma! No images!
Look ma! No images!Look ma! No images!
Look ma! No images!

1. The document discusses using CSS to create visual elements like shapes, logos, and icons instead of images for performance, maintainability, and resolution independence reasons. 2. It provides examples of how to create basic shapes like rectangles, circles, and triangles using CSS properties like border-radius, gradients, and positioning. 3. The document also covers techniques for generating HTML elements, using pseudo-elements, and manipulating elements with transforms to create effects like masks and shadows.

htmlweb designbarcamp
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...

There is no mobile or desktop Web: we view the same Web, but in different ways. So what is the secret sauce to give the best experience to our users? Drown your fixed-width design, destroy your device-specific approaches and ride the web's unicorn while an orchestra is playing we are the champion in the background: you found the holy grail! It's responsive web design. It's not new. It's not magical. Still, we need it as the bytes going thru the wires doesn't always give us the best experience out there. So stop watching cats videos, and learn more about how you can use Responsive Web Design's approach to your current site, today.

javascript open dayexperiencehtml5
I FAQed up…
😭
Should I try to make this
a NodeJS, universal,
functional, gluten-free…🤔
Sod it, I know PHP…
🤓
New, more sturdy structure…
😎 Write a PHP API with the named colours as the content
😎 Use array_rand() to get a cut of that, pick one as the one to match
😎 Write out a list of buttons with the same name and the colour as the value.
😎 If the colour matches the button that was clicked, get a new list
😎 If the colour doesn’t match, decrease the amount of moves and show the list again.
😠 Oh, crap…

Recommended for you

Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015

How and why to use javascript to draw and animate with html5 canvas. Some links to GSAP, Pixijs and Createjs libs

canvasjavascriptanimation
AFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack EncoreAFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack Encore

Introduction to Symfony Webpack Encore, demonstrating how it helps with cache busting, using SASS, LESS, Typescript and so on.

symfonywebpackwebpack encore
The road to professional web development
The road to professional web developmentThe road to professional web development
The road to professional web development

My presentation in Taiwan about the history of web development and what practices make sense and got followed in the YUI.

webdevelopmentwebdevtrickprogressiveenhancement
As we don’t keep the
state of the game in the
browser, I need to
maintain the random
array in between
reloads…
👜
The amount is not much,
but you better make sure
that there is no way to
inject code to the server.
🚨
Leveling up your JavaScipt - DrupalJam 2017
Constant vigilance,
Harry…

Recommended for you

Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces

A presentation for Dundee University's Hack Day explaining the technologies to use and how to hack your own APIs by using Yahoo! Pipes and scraping RSS feeds.

Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010

The final talk of the Frontend2010 conference in Oslo, Norway talking about the need to make technical advancements interesting for people outside our comfort zone and about the benefits of using all the web technologies at our disposal to built bullet-proof solutions rather than flimsy showcases of what technologies could be used for.

browserspragmatismhtml5
Bridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.comBridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.com

There is often a vocabulary gap between designers an developers, who should aim towards a ubiquitous way of conversing about colours, typography, viewport sizes, or the responsive grid system of a digital product… To bridge this gap at the Guardian, we use a CSS pre-processor as a communication enabler through the abstractions it allows us to put in place. Talk given at the Front-end London meet-up on April 24, 2014. Listen to the talk + slides on YouTube: https://www.youtube.com/watch?v=DAfW1RSWYDA

guardianweb developmentcss
Now it works without JS, let’s add some…
😎 Load the API content with AJAX
🤔 Repeat the rest of the functionality client-side, or do
a lot of unnecessary server roundtrips…
🍕
The better, sturdier, more webby version
🤔 Almost same amount of
JavaScript content
🤔 Doesn’t work offline, unless
we also create a different
API
🤔 But it does work with
JavaScript disabled.
😨 It also allows bad people
to inject code unless we
are very vigilant in keeping
our backend secure.
How about some heresy?
😯
The “JavaScript not available”
argument is largely bogus
and is holding back the web!
➡
🎤

Recommended for you

Ruby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start UpRuby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start Up

A presentation provoking developers to use Ruby on Rails and the framework to build their web applications.

railsonruby
Responsive Design
Responsive DesignResponsive Design
Responsive Design

Responsive web design is an approach to web design that makes web pages render well on a variety of devices and screen sizes. It involves using fluid grids, flexible images, and media queries to automatically adjust for different screen sizes and devices. While the concept has existed since the early days of the web, it has grown in popularity recently due to advances in CSS3 and JavaScript that allow for more flexible and dynamic layouts. Responsive design aims to provide an optimal viewing and interaction experience across a wide range of devices by adapting the layout depending on screen size and orientation.

lrdnugweb design and development
Introjs10.5.17SD
Introjs10.5.17SDIntrojs10.5.17SD
Introjs10.5.17SD

The document provides instructions for an introductory Javascript workshop, including the Wi-Fi network and password, website URL, and agenda. The workshop will begin with an overview of key Javascript concepts, assignments for students to complete with TA support, and a review of next steps for continuing to learn Javascript. The document outlines the workshop content to introduce participants to basic Javascript programming.

The “JavaScript is flaky and
will break” argument is very
much alive and will always be
that way…
🚧
Until the first successful load,
you have no JavaScript
functionality. That is a fact.B
We call this “programming”
C
🖥→💻→📱
Evolution is happening around us…
…and user numbers are shifting.

Recommended for you

Y U NO CRAFTSMAN
Y U NO CRAFTSMANY U NO CRAFTSMAN
Y U NO CRAFTSMAN

Releasing a great app is more than having a unique idea. It takes teamwork, collaboration and the will to be the best. At Novoda we make awesomeness happen. This talk is about our process from coding dojos to group design and iterative sprint planning with our customers. We'll describe some of our best practices as well as some of the components that can make a good app great. This includes: - Day-to-day processes: pairing tennis, gif code reviews and toggling hidden features. - Work Environment: hack & tells, continuous communication & kicking ass at Tekken. - Releasing the app: polishing & quantifying can get you top of the class and not listening to Google can get you expelled. Finishing with some bonus Android coding tips and tricks and crazy AOSP anti-patterns.

paul blundellnovodaxavi rigau
Design
DesignDesign
Design

1) The document discusses responsive web design, which involves making websites flexible and adaptable to different devices through flexible grids, images, and media queries. 2) Key aspects of responsive design include thinking of user needs rather than our own, adapting to various device capabilities, and future-proofing sites. 3) Media queries allow scoping styles to specific device capabilities like width, height, and orientation. Common patterns like fluid, column drop, and layout shifter are described.

Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Responsive Web Design, get the best out of your designs - JavaScript Open Day...Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Responsive Web Design, get the best out of your designs - JavaScript Open Day...

There is no mobile Web, there is no desktop Web, and there is no tablet Web. We view the same Web just in different ways. So how do we do it? By getting rid of our fixed-width, device-specific approaches and use Responsive Web Design techniques. This session will focus on what is Responsive Web Design and how you can use his 3-pronged approach on your current apps today which will also adapt to new devices in the future.

css3responsive web designhtml
This means that new error
cases become much more
important than “JavaScript is
not available”
⚠
✏ Small initial payload
✏ Form factor supporting content
✏ Form factor supporting interfaces
✏ Offline/Flaky connection support
✏ Taking advantage of the power of
the end user device
✏ Avoiding interaction latency
❤📲
This is achievable using
HTML, JavaScript and CSS,
but it is much harder - if
not impossible - without
client side scripting.
👷
Which is annoying, as the
HTML5 revolution
promised a move from
documents to apps…

Recommended for you

Seven Reasons for Code Bloat
Seven Reasons for Code BloatSeven Reasons for Code Bloat
Seven Reasons for Code Bloat

This document discusses 7 reasons for code bloat, including: 1) underestimating the time needed to understand a new project; 2) maintaining code without proper tools; and 3) developers not reading documentation or existing code before starting work. It argues that developers often try to solve problems their own way before listening to existing solutions or documentation. Proper documentation and planning time for understanding projects are presented as ways to avoid bloated code.

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019

We are obsessed with coding and creating automated workflows and optimisations. And yet our final products aren't making it easy for people to use them. Somewhere, we lost empathy for our end users and other developers. Maybe it is time to change that. Here are some ideas.

javascriptdevelopmentlearning
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web

This document discusses ways to improve how web developers learn best practices through browser and tooling improvements. It suggests that linting and inline insights directly in code editors could help prevent mistakes by flagging issues early. A tool called webhint is highlighted that provides one-stop checking and explanations of hints related to performance, accessibility, security and more. The document advocates for customizing hints based on a project's specific needs and environment. Overall, it argues for accelerated learning through context-sensitive, customizable best practices integrated into development workflows.

testingbrowserswebdevelopment
The problem is that eight
years after the proposal
and five years after
HTML5’s “last call”, there
are still many basic support
issues…
😦
https://vimeo.com/176453149
Monica Dinculescu < INPUT >
HTML Special, CSS Day
https://www.filamentgroup.com/lab/type-number.html
And the bad people of the
internet don’t stop abusing
old technology either…💀

Recommended for you

Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege

This document discusses privilege in the context of social media and the internet. It acknowledges privileges like internet access, the ability to communicate, and supportive online communities. It warns that machine learning and algorithms risk creating echo chambers and guided messaging if they are not kept in check by human curation. The document advocates taking back the web for decent, thinking and loving humans and using privileges to help others gain access to learning, communication, and communities.

social mediaprivilege
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo

JavaScript is a bigger world than a language these days. Time to take stock and find happiness in that world.

ndcoslondcoslo2018javascript
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote

This document discusses artificial intelligence and how it can help humans. It covers that AI is not new, having originated in the 1950s, and is now more advanced due to increased computing power. It also discusses how AI utilizes pattern recognition and machine learning. The document then covers several applications of AI including computer vision, natural language processing, sentiment analysis, speech recognition/conversion and moderation. It notes both the benefits of AI in automating tasks and preventing errors, as well as the responsibilities of ensuring transparency and allowing people to opt-in to algorithms.

aidc2018machine learningartificial intelligence
In UGC, we can’t have nice things…
https://mathiasbynens.github.io/rel-noopener/
https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c#.mjuw7q3cf
Keep users on this page…
https://mathiasbynens.github.io/rel-noopener/
https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c#.mjuw7q3cf
🔓💩
Fix for newer browsers…
https://mathiasbynens.github.io/rel-noopener/
https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c#.mjuw7q3cf
Fix for all browsers…
https://mathiasbynens.github.io/rel-noopener/
https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c#.mjuw7q3cf

Recommended for you

Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote

The document discusses concerns about the perception and realities of coding careers. It expresses worry that coding is seen solely as a way to get a job rather than as a means of problem-solving. While coding can provide fulfilling work, the document cautions that the need for coders may decrease with automation and that the role may evolve from coding to engineering. It suggests a future where machines assist with repetitive coding tasks and people focus on delivering maintainable, secure products with attention to privacy and user experience.

weardevs2018machinelearningprogramming
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland

PWA are a hot topic and it is important to understand that they are a different approach to apps than the traditional way of packaging something and letting the user install it. In this keynote you'll see some of the differences.

pwatdfinland
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege

This document discusses privilege in technology and perceptions of technology workers. It acknowledges the privileges that tech workers enjoy, such as access to resources and high demand in the job market. However, it also notes problems like peer pressure, lack of work-life balance, and imposter syndrome. Both tech workers and the public have skewed perceptions of each other - tech workers feel others do not appreciate or understand their work, while the public sees tech workers as antisocial or caring only about profit. The document encourages taking small steps to improve the situation, such as being kind to oneself, considering others, sharing knowledge, and focusing on quality over quantity of work.

smashingconflondon
Almost…
Listen for the click event and prevent the default
browser behavior of opening a new tab. Inject a
hidden iframe that opens the new tab, then
immediately remove the iframe.“
https://github.com/danielstjules/blankshield
Our solutions should have
excellent error handling
instead of automatic
tolerance.
👌
And they should be great
solutions and not just
“good enough without
breaking”.
https://twitter.com/dieni/status/767589581046841344
Non-defensive coding is a problem…

Recommended for you

Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer

The document provides five ways for JavaScript developers to be happier: 1) Concentrate on the present and focus on creating rather than worrying about the past or future. 2) Limit distractions by streamlining your development environment and using an editor like VS Code that consolidates features. 3) Make mistakes less likely by using linters to catch errors as you code. 4) Get to know your tools better like debuggers to avoid console.log and gain insights to build better solutions. 5) Give back to others in the community by being helpful rather than causing drama.

smashingconf nycsmashingconfjavascript
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA

The document discusses progressive web apps (PWAs) and provides suggestions for improving them. It notes that while PWAs aim to have engaging, fast, integrated, and reliable experiences like native apps, they still have room for improvement in areas like speed, integration, and reliability. It emphasizes that PWAs should adhere to web best practices and provide actually useful experiences rather than just focusing on technical features. The document encourages helping the PWA effort by providing feedback, using and contributing to tools, keeping messaging up-to-date, and promoting high-quality examples.

pwalondonmeetup
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"

Chris Heilmann gave a talk at BTConf in Munich in January 2018 about machine learning, automation worries, and coding. He discussed how coding used to refer to creative programming within technical limitations but now often refers to programming for work. He addressed common worries about new technologies and dependencies, and argued that abstractions are not inherently bad and help more people build products together through consensus. The talk focused on using tools to be more productive and enabling rather than seeing them as dangers, and creating solutions for users rather than fighting old approaches.

btconfbtconfmuc
We all make mistakes and errors happen…
There is a culture of “let’s
use whatever until it works”
😐
Standing on the shoulders of… …people?
http://status.npmjs.org/incidents/dw8cr1lwxkcr

Recommended for you

You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?

The document provides advice and encouragement for someone starting out with JavaScript development. It discusses how JavaScript can be used in many environments like browsers, apps, and servers. It recommends resources like MDN and tools like linting to help avoid mistakes. It emphasizes that this is an exciting time for JavaScript and advises setting priorities and standards, being involved in the community, and bringing new voices and perspectives.

javascriptlearning
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"

Keynote at halfstackconf 2017 discussing the falsehood of the idea that in order to survive the automation evolution everybody needs to learn how to code. Machines can code, too.

machine learningautomationcoding
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach

Progressive Web Apps (PWAs) can provide app-like experiences through the web by making web content fast, reliable and engaging. While PWAs may not be necessary for all projects, they can help clean up and speed up current web-based projects. PWAs leverage new web capabilities like service workers to work offline, load fast, and improve the user experience without having to meet all the requirements of native apps.

pwadevreach2017
http://status.npmjs.org/incidents/dw8cr1lwxkcr
http://status.npmjs.org/incidents/dw8cr1lwxkcr
Better be safe and require()…
More detail: the "fs" package is a non-functional
package. It simply logs the word "I am fs" and exits.
There is no reason it should be included in any
modules. However, something like 1000 packages *do*
mistakenly depend on "fs", probably because they were
trying to use a built-in node module called "fs".
This is not a JavaScript thing…
We have a lot of messy
solutions, and we keep
building more tools to undo
what clogs up the web.

Recommended for you

Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds

This document discusses progressive web applications (PWAs) and their advantages over traditional native mobile applications. PWAs use modern web capabilities like Service Workers to deliver native-like experiences to users. Some key benefits of PWAs include their ability to work across platforms, have smaller file sizes for faster loading, support offline use, and provide simple update mechanisms compared to native apps. While PWAs do not have full access to device capabilities like native apps, they allow delivering app-like web content to users in a more accessible and reliable manner than traditional web pages.

mobileerapwa
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans

Keynote at PNWPHP covering Machine Learning and How we should go about using it to build human interfaces.

aimachine learningpnwphp
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center

This document discusses progressive web apps (PWAs). It notes that PWAs aim to make web apps feel like native mobile apps by being discoverable, installable, linkable, safe, responsive and progressive. The document outlines some key characteristics of PWAs, including that they need to be served from secure origins and have app manifests. It also discusses some common misconceptions around PWAs and notes that as PWAs improve, they will continue to blur the line between web apps and native mobile apps.

polandjsconfpwajavascript
Best practices can help with
that, but only when they
apply to the people who
build things and when they
solve current issues and
needs…
What about older browsers?
What about extreme
environment browsers?
These are valid concerns,
but edge cases. And
shouldn’t be used as a
punishment scenario.
🗞

Recommended for you

Supercharging Public Speaking
Supercharging Public SpeakingSupercharging Public Speaking
Supercharging Public Speaking

This document provides tips for becoming an effective conference presenter. It discusses finding a topic to present on, writing a proposal to submit to conferences, creating presentation materials, writing the presentation, and delivering the presentation. The key steps covered are finding an exciting topic, researching it, crafting a compelling proposal, developing slides and other visual aids to enhance the story and message, writing the presentation to have a clear structure and narrative arc, and practicing delivery techniques to engage the audience. The overall goal is to give attendees a memorable experience that leaves them feeling they learned something valuable.

presentingspeaking
Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.

The document discusses the future of computing and artificial intelligence. It notes that people are both excited and fearful about technological progress, and outlines things that are going right (e.g. advances in machine learning and computer vision) as well as things that are going wrong (e.g. lack of transparency, data privacy issues). It argues that the future of computing needs people who are not afraid of technology and who will create interfaces that are simple, human, and help people communicate better. The role of technologists is to use their skills to give people a sense of data ownership and ensure technological progress improves lives rather than just making money.

twkds17
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind

Vortrag auf dem TechSummit warum und wie wie Open Source angehen

msts2016
What about accessibility, eh?
♿
Used sensibly, JavaScript is an
accessibility benefit.
Sometimes the only way to
make things accessible. ARIA
is not magic.
🕹
https://codepo8.github.io/gridnav/
It is more important for us
to get a grip on the overall
quality of the web and our
code…
🏅

Recommended for you

Introduction to Islamic Banking and Finance.Part2
Introduction to Islamic Banking and Finance.Part2Introduction to Islamic Banking and Finance.Part2
Introduction to Islamic Banking and Finance.Part2

This is part two of introduction to Islamic Banking and Finance

Chapter 1 Introduction to Management.pdf
Chapter 1 Introduction to  Management.pdfChapter 1 Introduction to  Management.pdf
Chapter 1 Introduction to Management.pdf

Management and organization behavior

Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeMahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe

Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe

Using
instead of a URL or using a
button is not JavaScript’s fault.
It is a bad idea and practice -
probably copy & paste.
💩
<a href="javascript:void(0)">
Instead of bashing bad use
of JavaScript, let’s embrace
and scrutinise new ideas like
components and paradigms
like functional programming.
🔎
There is a very cool thing
happening right now…
😃
Service Worker & PWAs
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API
🔧 🦄

Recommended for you

Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model SafeVaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe

Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe

Building Trust Through Transparency Kissht's Commitment during Regulatory Cr...
Building Trust Through Transparency  Kissht's Commitment during Regulatory Cr...Building Trust Through Transparency  Kissht's Commitment during Regulatory Cr...
Building Trust Through Transparency Kissht's Commitment during Regulatory Cr...

Kissht, a leading India fintech company, has shown an unwavering commitment to these principles, particularly during periods of regulatory crackdowns. By prioritizing transparency and robust compliance measures, Kissht has not only built trust among its users but also established itself as a reliable and ethical player in the fintech industry.

kissht fosunkissht chinesekissht banned
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】

【​网址​🎉ac123.net🎉​】欧洲杯博彩网站是世界上最大的网上博彩公司之一,于直布罗陀注册,在200个国家拥有超过3500万客户。在国际上都可以称得上是极其优秀的博彩公司。总部位于英国Stoke-on-Trent,欧洲杯博彩网站在世界各地的雇员超过600名。该公司登录亚洲市场多年,近年针对亚洲的市场拓展的很快。它的特点是投注赔率富于变化,同时对于冷门赛事,赔率变化幅度会大于其它博彩公司。欧洲杯博彩网站在终赔阶段往往向立博、韦德等靠拢,一旦差异很大,往往会出现问题。 [伟德体育]http://www.caribbeangarden.net [巴黎人]http://www.lijingwan-hotel.com [棋牌游戏平台]http://www.allegroauctions.net [美洲杯外围竞猜]https://vimeo.com/manage/videos/971301520 [中国体彩足球]https://www.slideshare.net/slideshow/ac22-net/269897949 [欧洲杯买球网址]https://vimeo.com/manage/videos/972915440 [世预赛直播]https://vimeo.com/manage/videos/971174769 [欧洲杯竞猜app]https://vimeo.com/964367483

欧洲杯博彩网站
Making the game an App: Manifest
App Manifest (manifest.json)
Using a manifest, the game is
recognised by OS and search engines
as an installable app
Service Worker (sw.js)
Using ServiceWorker to cache content
locally so the game can be played
offline.
Making the game an App: Service Worker
Making the game an App: Service Worker
Service Worker (sw.js)
Using ServiceWorker to cache content
locally so the game can be played
offline.
✅ Create and publish as much content
independent of JavaScript as you can
✅ JavaScript can make things much more
enjoyable.
✅ Some things are just not worth while to
implement without.
✅ Use JavaScript to benefit from the user’s
hardware
✅ Spend more time building great
interfaces, less time relying on what is
there and can’t break - in many cases it
is disappointing.
It is time to re-
think our best
practice for the
web approach…

Recommended for you

Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...

Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model Safe

Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeVasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe

Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe

Manchester University diploma
 Manchester University diploma Manchester University diploma
Manchester University diploma

原版一模一样【微信:741003700 】【(uom毕业证书)英国曼彻斯特大学毕业证成绩单】【微信:741003700 】学位证,留信学历认证(真实可查,永久存档)原件一模一样纸张工艺/offer、在读证明、外壳等材料/诚信可靠,可直接看成品样本,帮您解决无法毕业带来的各种难题!外壳,原版制作,诚信可靠,可直接看成品样本。行业标杆!精益求精,诚心合作,真诚制作!多年品质 ,按需精细制作,24小时接单,全套进口原装设备。十五年致力于帮助留学生解决难题,包您满意。 本公司拥有海外各大学样板无数,能完美还原。 1:1完美还原海外各大学毕业材料上的工艺:水印,阴影底纹,钢印LOGO烫金烫银,LOGO烫金烫银复合重叠。文字图案浮雕、激光镭射、紫外荧光、温感、复印防伪等防伪工艺。材料咨询办理、认证咨询办理请加学历顾问Q/微741003700 【主营项目】 一.毕业证【q微741003700】成绩单、使馆认证、教育部认证、雅思托福成绩单、学生卡等! 二.真实使馆公证(即留学回国人员证明,不成功不收费) 三.真实教育部学历学位认证(教育部存档!教育部留服网站永久可查) 四.办理各国各大学文凭(一对一专业服务,可全程监控跟踪进度) 如果���处于以下几种情况: ◇在校期间,因各种原因未能顺利毕业……拿不到官方毕业证【q/微741003700】 ◇面对父母的压力,希望尽快拿到; ◇不清楚认证流程以及材料该如何准备; ◇回国时间很长,忘记办理; ◇回国马上就要找工作,办给用人单位看; ◇企事业单位必须要求办理的 ◇需要报考公务员、购买免税车、落转户口 ◇申请留学生创业基金 留信网认证的作用: 1:该专业认证可证明留学生真实身份 2:同时对留学生所学专业登记给予评定 3:国家专业人才认证中心颁发入库证书 4:这个认证书并且可以归档倒地方 5:凡事获得留信网入网的信息将会逐步更新到个人身份内,将在公安局网内查询个人身份证信息后,同步读取人才网入库信息 6:个人职称评审加20分 7:个人信誉贷款加10分 8:在国家人才网主办的国家网络招聘大会中纳入资料,供国家高端企业选择人才 办理(uom毕业证书)英国曼彻斯特大学毕业证【微信:741003700 】外观非常简单,由纸质材料制成,上面印有校徽、校名、毕业生姓名、专业等信息。 办理(uom毕业证书)英国曼彻斯特大学毕业证【微信:741003700 】格式相对统一,各专业都有相应的模板。通常包括以下部分: 校徽:象征着学校的荣誉和传承。 校名:学校英文全称 授予学位:本部分将注明获得的具体学位名称。 毕业生姓名:这是最重要的信息之一,标志着该证书是由特定人员获得的。 颁发日期:这是毕业正式生效的时间,也代表着毕业生学业的结束。 其他信息:根据不同的专业和学位,可能会有一些特定的信息或章节。 办理(uom毕业证书)英国曼彻斯特大学毕业证【微信:741003700 】价值很高,需要妥善保管。一般来说,应放置在安全、干燥、防潮的地方,避免长时间暴露在阳光下。如需使用,最好使用复印件而不是原件,以免丢失。 综上所述,办理(uom毕业证书)英国曼彻斯特大学毕业证【微信:741003700 】是证明身份和学历的高价值文件。外观简单庄重,格式统一,包括重要的个人信息和发布日期。对持有人来说,妥善保管是非常重要的。

(uom毕业证书)英国曼彻斯特大学毕业证
🙂 You don’t rely on automatic fixes.
JavaScript breaks and it is painful. It
allows us to analyse what went wrong.
🙂 Tooling is great - we detailed insights
into what happened when
🙂 We take responsibility of the interface. It
is our job to make it happen - not
browser makers to agree and find a
consensus
🙂 We have full control over what gets
loaded when, cached where and
rendered when.
Benefits of an “It’s
OK to rely on JS
for this”
approach…
⚠ We shouldn’t hide functionality in
magical abstractions. A product that
relies on the availability and maintenance
of a framework is not a script
dependency - it is a support issue.
⚠ Just because we can do everything in
JavaScript, doesn’t mean we have to. Use
it when HTML is not good enough or too
broken to rely on.
⚠ While the client is powerful, it is also
unknown. A lot more can be done on
the server - and in JavaScript.
Dangers to be
aware of…
Important
considerations
independent of
technology used…
💣 Shit happens! Spend more time in
creating sensible error messaging and
fallbacks, spend less time in trying to
predict every possible error
💣 Slowness kills - our solutions must load
fast what is needed and enhance when
they can. They also need to be snappy.
💣 Offline and flaky is the norm - avoid
network dependency as much as you
can
💣 Security is paramount. A hacked
server sending out malware or spam is
worse than an app that needs a
restart…
We have to stop thinking in
binaries, and consider writing
great, secure and failure-
aware solutions using each
technology to its strengths.
🐝

Recommended for you

How Technology Is Impacting The Future Of Finance In India
How Technology Is Impacting The Future Of Finance In IndiaHow Technology Is Impacting The Future Of Finance In India
How Technology Is Impacting The Future Of Finance In India

This presentation delves into how technology is transforming the finance industry in India. It covers digital payments' rise, AI and data analytics' impact on decision-making, blockchain's potential, and fintech collaborations driving innovation. Leaders like Abhay Bhutada from Poonawalla Fincorp emphasize integrating technology for operational efficiency and customer satisfaction, highlighting the dynamic changes shaping India's financial future.

financeindiatechnology
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model SafeMahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe

Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe

Seeman_Fiintouch_LLP_Newsletter_July_2024.pdf
Seeman_Fiintouch_LLP_Newsletter_July_2024.pdfSeeman_Fiintouch_LLP_Newsletter_July_2024.pdf
Seeman_Fiintouch_LLP_Newsletter_July_2024.pdf

Energy as an investment theme Explore this investment opportunity Market Update Inspiration investment story

mutual fundssiptax
Mario evolved - so can the web…
CHRIS HEILMANN
@CODEPO8
CHRISTIANHEILMANN.COM
THANKS!

More Related Content

What's hot

The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
Christian Heilmann
 
Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016
Christian Heilmann
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for Humans
Christian Heilmann
 
Progressing JavaScript and Apps the Web way…
 Progressing JavaScript and Apps the Web way…  Progressing JavaScript and Apps the Web way…
Progressing JavaScript and Apps the Web way…
Christian Heilmann
 
The State of the Web - Helsinki meetup
The State of the Web - Helsinki meetupThe State of the Web - Helsinki meetup
The State of the Web - Helsinki meetup
Christian Heilmann
 
The image problem of the web and how to solve it…
The image problem of the web and how to solve it…The image problem of the web and how to solve it…
The image problem of the web and how to solve it…
Christian Heilmann
 
NodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and NodeNodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and Node
Christian Heilmann
 
Postmodern Web Apps
Postmodern Web AppsPostmodern Web Apps
Postmodern Web Apps
malteubl
 
2021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 1012021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 101
Tammy Everts
 
Moore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix thatMoore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix that
Christian Heilmann
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
Christian Heilmann
 
Automating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend KeynoteAutomating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend Keynote
Christian Heilmann
 
JavaScript isn't evil.
JavaScript isn't evil.JavaScript isn't evil.
JavaScript isn't evil.
Christian Heilmann
 
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st Century
Mateusz Kwasniewski
 
Intro to Web Development
Intro to Web DevelopmentIntro to Web Development
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Christian Heilmann
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Christian Heilmann
 
Looking for a place to hang my helmet
Looking for a place to hang my helmetLooking for a place to hang my helmet
Looking for a place to hang my helmet
Brad Frost
 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Christian Heilmann
 
The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015
Christian Heilmann
 

What's hot (20)

The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)The Soul in The Machine - Developing for Humans (FrankenJS edition)
The Soul in The Machine - Developing for Humans (FrankenJS edition)
 
Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016Progressive Web Apps – the return of the web? Goto Berlin 2016
Progressive Web Apps – the return of the web? Goto Berlin 2016
 
The Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for HumansThe Soul in The Machine - Developing for Humans
The Soul in The Machine - Developing for Humans
 
Progressing JavaScript and Apps the Web way…
 Progressing JavaScript and Apps the Web way…  Progressing JavaScript and Apps the Web way…
Progressing JavaScript and Apps the Web way…
 
The State of the Web - Helsinki meetup
The State of the Web - Helsinki meetupThe State of the Web - Helsinki meetup
The State of the Web - Helsinki meetup
 
The image problem of the web and how to solve it…
The image problem of the web and how to solve it…The image problem of the web and how to solve it…
The image problem of the web and how to solve it…
 
NodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and NodeNodeConfLondon - Making ES6 happen with ChakraCore and Node
NodeConfLondon - Making ES6 happen with ChakraCore and Node
 
Postmodern Web Apps
Postmodern Web AppsPostmodern Web Apps
Postmodern Web Apps
 
2021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 1012021 Chrome Dev Summit: Web Performance 101
2021 Chrome Dev Summit: Web Performance 101
 
Moore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix thatMoore vs. May - everything is faster and better: we can fix that
Moore vs. May - everything is faster and better: we can fix that
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Automating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend KeynoteAutomating all the wrong things - You Gotta Love Frontend Keynote
Automating all the wrong things - You Gotta Love Frontend Keynote
 
JavaScript isn't evil.
JavaScript isn't evil.JavaScript isn't evil.
JavaScript isn't evil.
 
10 Web Performance Lessons For the 21st Century
10 Web Performance Lessons For the  21st Century10 Web Performance Lessons For the  21st Century
10 Web Performance Lessons For the 21st Century
 
Intro to Web Development
Intro to Web DevelopmentIntro to Web Development
Intro to Web Development
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105 Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
Can we make es6 the baseline of the “modern web”? - BrazilJS 2105
 
Looking for a place to hang my helmet
Looking for a place to hang my helmetLooking for a place to hang my helmet
Looking for a place to hang my helmet
 
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcutUpgrading JavaScript to ES6 and using TypeScript as a shortcut
Upgrading JavaScript to ES6 and using TypeScript as a shortcut
 
The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015The wheel is spinning but the hamster is almost dead - Smartweb 2015
The wheel is spinning but the hamster is almost dead - Smartweb 2015
 

Similar to Leveling up your JavaScipt - DrupalJam 2017

Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
Christian Heilmann
 
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
Christian Heilmann
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
Christian Heilmann
 
Academy PRO: HTML5 API graphics
Academy PRO: HTML5 API graphicsAcademy PRO: HTML5 API graphics
Academy PRO: HTML5 API graphics
Binary Studio
 
Shifting Gears
Shifting GearsShifting Gears
Shifting Gears
Christian Heilmann
 
Look ma! No images!
Look ma! No images!Look ma! No images!
Look ma! No images!
Lennart Schoors
 
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Frédéric Harper
 
Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015
Gregory Starr
 
AFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack EncoreAFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack Encore
Engineor
 
The road to professional web development
The road to professional web developmentThe road to professional web development
The road to professional web development
Christian Heilmann
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
Christian Heilmann
 
Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010
Christian Heilmann
 
Bridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.comBridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.com
Kaelig Deloumeau-Prigent
 
Ruby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start UpRuby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start Up
Prateek Saxena
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
David Hudson
 
Introjs10.5.17SD
Introjs10.5.17SDIntrojs10.5.17SD
Introjs10.5.17SD
Thinkful
 
Y U NO CRAFTSMAN
Y U NO CRAFTSMANY U NO CRAFTSMAN
Y U NO CRAFTSMAN
Paul Blundell
 
Design
DesignDesign
Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Responsive Web Design, get the best out of your designs - JavaScript Open Day...Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Frédéric Harper
 
Seven Reasons for Code Bloat
Seven Reasons for Code BloatSeven Reasons for Code Bloat
Seven Reasons for Code Bloat
Christian Heilmann
 

Similar to Leveling up your JavaScipt - DrupalJam 2017 (20)

Progressive web and the problem of JavaScript
Progressive web and the problem of JavaScriptProgressive web and the problem of JavaScript
Progressive web and the problem of JavaScript
 
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
JavaScript Promises and the issue of Progress - SmashingConf Freiburg Jam Ses...
 
Resisting The Feature Creature
Resisting The Feature CreatureResisting The Feature Creature
Resisting The Feature Creature
 
Academy PRO: HTML5 API graphics
Academy PRO: HTML5 API graphicsAcademy PRO: HTML5 API graphics
Academy PRO: HTML5 API graphics
 
Shifting Gears
Shifting GearsShifting Gears
Shifting Gears
 
Look ma! No images!
Look ma! No images!Look ma! No images!
Look ma! No images!
 
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
Responsive Web Design: the secret sauce - JavaScript Open Day Montreal - 2015...
 
Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015Javascript Animation with Canvas - Gregory Starr 2015
Javascript Animation with Canvas - Gregory Starr 2015
 
AFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack EncoreAFUP Lorraine - Symfony Webpack Encore
AFUP Lorraine - Symfony Webpack Encore
 
The road to professional web development
The road to professional web developmentThe road to professional web development
The road to professional web development
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 
Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010Enjoying the full stack - Frontend 2010
Enjoying the full stack - Frontend 2010
 
Bridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.comBridging the gap between designers and developers at theguardian.com
Bridging the gap between designers and developers at theguardian.com
 
Ruby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start UpRuby on Rails - The Best Track for your Start Up
Ruby on Rails - The Best Track for your Start Up
 
Responsive Design
Responsive DesignResponsive Design
Responsive Design
 
Introjs10.5.17SD
Introjs10.5.17SDIntrojs10.5.17SD
Introjs10.5.17SD
 
Y U NO CRAFTSMAN
Y U NO CRAFTSMANY U NO CRAFTSMAN
Y U NO CRAFTSMAN
 
Design
DesignDesign
Design
 
Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Responsive Web Design, get the best out of your designs - JavaScript Open Day...Responsive Web Design, get the best out of your designs - JavaScript Open Day...
Responsive Web Design, get the best out of your designs - JavaScript Open Day...
 
Seven Reasons for Code Bloat
Seven Reasons for Code BloatSeven Reasons for Code Bloat
Seven Reasons for Code Bloat
 

More from Christian Heilmann

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
Christian Heilmann
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
Christian Heilmann
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
Christian Heilmann
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
Christian Heilmann
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
Christian Heilmann
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
Christian Heilmann
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
Christian Heilmann
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
Christian Heilmann
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
Christian Heilmann
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
Christian Heilmann
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
Christian Heilmann
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
Christian Heilmann
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
Christian Heilmann
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
Christian Heilmann
 
Supercharging Public Speaking
Supercharging Public SpeakingSupercharging Public Speaking
Supercharging Public Speaking
Christian Heilmann
 
Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.
Christian Heilmann
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
Christian Heilmann
 

More from Christian Heilmann (20)

Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019Develop, Debug, Learn? - Dotjs2019
Develop, Debug, Learn? - Dotjs2019
 
Hinting at a better web
Hinting at a better webHinting at a better web
Hinting at a better web
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Artificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynoteArtificial intelligence for humans… #AIDC2018 keynote
Artificial intelligence for humans… #AIDC2018 keynote
 
Killing the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynoteKilling the golden calf of coding - We are Developers keynote
Killing the golden calf of coding - We are Developers keynote
 
Progressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays FinlandProgressive Web Apps - Techdays Finland
Progressive Web Apps - Techdays Finland
 
Taking the "vile" out of privilege
Taking the "vile" out of privilegeTaking the "vile" out of privilege
Taking the "vile" out of privilege
 
Five ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developerFive ways to be a happier JavaScript developer
Five ways to be a happier JavaScript developer
 
Taking the P out of PWA
Taking the P out of PWATaking the P out of PWA
Taking the P out of PWA
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
You learned JavaScript - now what?
You learned JavaScript - now what?You learned JavaScript - now what?
You learned JavaScript - now what?
 
Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"Sacrificing the golden calf of "coding"
Sacrificing the golden calf of "coding"
 
Progressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReachProgressive Web Apps - Covering the best of both worlds - DevReach
Progressive Web Apps - Covering the best of both worlds - DevReach
 
Progressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worldsProgressive Web Apps - Covering the best of both worlds
Progressive Web Apps - Covering the best of both worlds
 
Non-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humansNon-trivial pursuits: Learning machines and forgetful humans
Non-trivial pursuits: Learning machines and forgetful humans
 
Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center Progressive Web Apps - Bringing the web front and center
Progressive Web Apps - Bringing the web front and center
 
Supercharging Public Speaking
Supercharging Public SpeakingSupercharging Public Speaking
Supercharging Public Speaking
 
Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.Suit up, bring extra oxygen Internet space explorers needed.
Suit up, bring extra oxygen Internet space explorers needed.
 
Microsoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behindMicrosoft und die Open Source Community - Leaving the death star behind
Microsoft und die Open Source Community - Leaving the death star behind
 

Recently uploaded

Introduction to Islamic Banking and Finance.Part2
Introduction to Islamic Banking and Finance.Part2Introduction to Islamic Banking and Finance.Part2
Introduction to Islamic Banking and Finance.Part2
NasrudinMohamedAhmed
 
Chapter 1 Introduction to Management.pdf
Chapter 1 Introduction to  Management.pdfChapter 1 Introduction to  Management.pdf
Chapter 1 Introduction to Management.pdf
rishavchakrabarti2
 
Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeMahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
binna singh$A17
 
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model SafeVaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe
anamika jain$A17
 
Building Trust Through Transparency Kissht's Commitment during Regulatory Cr...
Building Trust Through Transparency  Kissht's Commitment during Regulatory Cr...Building Trust Through Transparency  Kissht's Commitment during Regulatory Cr...
Building Trust Through Transparency Kissht's Commitment during Regulatory Cr...
Kissht Reviews
 
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】
keanavami61927
 
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...
nima singh$A17
 
Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeVasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
binna singh$A17
 
Manchester University diploma
 Manchester University diploma Manchester University diploma
Manchester University diploma
ewopzo
 
How Technology Is Impacting The Future Of Finance In India
How Technology Is Impacting The Future Of Finance In IndiaHow Technology Is Impacting The Future Of Finance In India
How Technology Is Impacting The Future Of Finance In India
shruti1menon2
 
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model SafeMahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
kumkum tuteja$A17
 
Seeman_Fiintouch_LLP_Newsletter_July_2024.pdf
Seeman_Fiintouch_LLP_Newsletter_July_2024.pdfSeeman_Fiintouch_LLP_Newsletter_July_2024.pdf
Seeman_Fiintouch_LLP_Newsletter_July_2024.pdf
Ashis Kumar Dey
 
Greater Noida @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Megha Singla Top Model Safe
Greater Noida @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Megha Singla Top Model SafeGreater Noida @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Megha Singla Top Model Safe
Greater Noida @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Megha Singla Top Model Safe
depikasharma
 
Abortion pills in Muscat(+918133066128) Cytotec pills buy Oman
Abortion pills in Muscat(+918133066128) Cytotec pills buy OmanAbortion pills in Muscat(+918133066128) Cytotec pills buy Oman
Abortion pills in Muscat(+918133066128) Cytotec pills buy Oman
maishakhanam230
 
The JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle.pptx
The JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle.pptxThe JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle.pptx
The JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle.pptx
sonalisaini008
 
What is an E-commerce- digital marketingpdf
What is an E-commerce- digital marketingpdfWhat is an E-commerce- digital marketingpdf
What is an E-commerce- digital marketingpdf
Purna Rai
 
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Fabulous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Fabulous sonam Mehra Top Model SafeVaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Fabulous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Fabulous sonam Mehra Top Model Safe
anchal singh$A17
 
How to File Form 1099 NEC Online | A Complete Guide
How to File Form 1099 NEC Online | A Complete GuideHow to File Form 1099 NEC Online | A Complete Guide
How to File Form 1099 NEC Online | A Complete Guide
fluenttax19
 
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model SafeRohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
tarun sharma$A17
 
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model SafeNoida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
shruti singh$A17
 

Recently uploaded (20)

Introduction to Islamic Banking and Finance.Part2
Introduction to Islamic Banking and Finance.Part2Introduction to Islamic Banking and Finance.Part2
Introduction to Islamic Banking and Finance.Part2
 
Chapter 1 Introduction to Management.pdf
Chapter 1 Introduction to  Management.pdfChapter 1 Introduction to  Management.pdf
Chapter 1 Introduction to Management.pdf
 
Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeMahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
 
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model SafeVaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Glamorous sonam Mehra Top Model Safe
 
Building Trust Through Transparency Kissht's Commitment during Regulatory Cr...
Building Trust Through Transparency  Kissht's Commitment during Regulatory Cr...Building Trust Through Transparency  Kissht's Commitment during Regulatory Cr...
Building Trust Through Transparency Kissht's Commitment during Regulatory Cr...
 
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】
十大正规欧洲杯博彩网站-十大正规欧洲杯博彩网站网址 |【​网址​🎉ac123.net🎉​】
 
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂Glamorous sonam Mehra Top Model ...
 
Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model SafeVasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
Vasant Kunj @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Yogita Mehra Top Model Safe
 
Manchester University diploma
 Manchester University diploma Manchester University diploma
Manchester University diploma
 
How Technology Is Impacting The Future Of Finance In India
How Technology Is Impacting The Future Of Finance In IndiaHow Technology Is Impacting The Future Of Finance In India
How Technology Is Impacting The Future Of Finance In India
 
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model SafeMahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
Mahipalpur @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Vishakha Singla Top Model Safe
 
Seeman_Fiintouch_LLP_Newsletter_July_2024.pdf
Seeman_Fiintouch_LLP_Newsletter_July_2024.pdfSeeman_Fiintouch_LLP_Newsletter_July_2024.pdf
Seeman_Fiintouch_LLP_Newsletter_July_2024.pdf
 
Greater Noida @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Megha Singla Top Model Safe
Greater Noida @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Megha Singla Top Model SafeGreater Noida @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Megha Singla Top Model Safe
Greater Noida @ℂall @Girls ꧁❤ 9873940964 ❤꧂VIP Megha Singla Top Model Safe
 
Abortion pills in Muscat(+918133066128) Cytotec pills buy Oman
Abortion pills in Muscat(+918133066128) Cytotec pills buy OmanAbortion pills in Muscat(+918133066128) Cytotec pills buy Oman
Abortion pills in Muscat(+918133066128) Cytotec pills buy Oman
 
The JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle.pptx
The JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle.pptxThe JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle.pptx
The JD Euroway and Fritzgerald Zephir (Fritz) Financial Debacle.pptx
 
What is an E-commerce- digital marketingpdf
What is an E-commerce- digital marketingpdfWhat is an E-commerce- digital marketingpdf
What is an E-commerce- digital marketingpdf
 
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Fabulous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Fabulous sonam Mehra Top Model SafeVaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Fabulous sonam Mehra Top Model Safe
Vaishali @ℂall @Girls ꧁❤ 9711199012 ❤꧂Fabulous sonam Mehra Top Model Safe
 
How to File Form 1099 NEC Online | A Complete Guide
How to File Form 1099 NEC Online | A Complete GuideHow to File Form 1099 NEC Online | A Complete Guide
How to File Form 1099 NEC Online | A Complete Guide
 
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model SafeRohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
Rohini @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Arti Singh Top Model Safe
 
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model SafeNoida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
Noida Extension @ℂall @Girls ꧁❤ 9873777170 ❤꧂VIP Neha Singla Top Model Safe
 

Leveling up your JavaScipt - DrupalJam 2017

  • 1. Chris Heilmann @codepo8, DrupalJam, May 2017
  • 2. Of innovation and impatience Chris Heilmann @codepo8, Future Decoded, London, Nov 2015 CHRIS HEILMANN @CODEPO8
  • 4. We all know this character, right? https://en.wikipedia.org/wiki/Mario#Concept_and_creation
  • 5. But do you know why it looks like it does? https://en.wikipedia.org/wiki/Mario#Concept_and_creation
  • 6. Red and Blue offered the best contrast to the skin, boots and the game background. https://en.wikipedia.org/wiki/Mario#Concept_and_creation
  • 7. The cap meant there was no need to worry about hair style, eyebrows and forehead. (There were also not enough pixels for waving hair when falling down a hole)
  • 8. The large nose and moustache made it possible to avoid a mouth and facial expressions.
  • 10. Design by lack of definition. 🌎🕸
  • 11. Flexibility and forgiveness… 💧 HTML and CSS are fault tolerant…
  • 12. Knives, bees and footguns… 🦂 JavaScript is not fault tolerant
  • 13. With HTML and CSS you’re relying on the user agent to do the right thing…🙁
  • 14. Using JavaScript, you have a means to test if what you’re trying to do succeeded…✅
  • 15. Predicting things is tough… 🔮
  • 16. That’s why progressive enhancement was a great idea to solve this issue…
  • 17. But is it still enough? 🔬
  • 18. And what does it mean? 🤔
  • 19. JavaScript can’t be trusted and can be turned off. 💣
  • 20. Everybody has JavaScript, and we can do everything with it? 🔨
  • 21. !
  • 24. Excellent, let’s do this! https://codepo8.github.io/10kb-CSS-colour-game/
  • 25. That was fun… 😎 Written on a plane, offline and in roughly two hours 😎 Works on desktop and mobile, independent of input and is responsive 😎 All in all < 8 kb with the biggest part being icons https://codepo8.github.io/10kb-CSS-colour-game/
  • 28. The structure was not hard… 😎 Have an array of all the possible colours. 😎 Get a random cut of n elements, display them as a list; store the name of the colour as a data attribute 😎 Get one item of the list as the colour to match, show its name. 😎 Use event delegation on the list to add one click handler (also allows for keyboard) 😎 Compare the data attribute of the target of the event with the colour to match 😎 If true, display a new random list 😎 If false, decrease the possible moves counter 😎 If no more moves left, show game over 💩 Only issue: there is no array_rand()
  • 29. Computers and smartphones are powerful. Browsers can do a lot and are open to feedback. JavaScript is flexible and has evolved. CSS has become amazing. Developer tools in browsers give us great debugging and even design capabilities 😍 🦄 🎉
  • 30. The beauty of HTML, CSS and JS… 😍 All is contained in one package 😍 Everything is running on the end users environments 😍 You use what the OS and the hardware gives you. It can be a web site or an app, depending on who runs it where 😍 You wouldn’t even need ServiceWorker to make this work offline - inlining everything would be enough 📦
  • 31. Then I read the contest guidelines… 😟
  • 34. Should I try to make this a NodeJS, universal, functional, gluten-free…🤔
  • 35. Sod it, I know PHP… 🤓
  • 36. New, more sturdy structure… 😎 Write a PHP API with the named colours as the content 😎 Use array_rand() to get a cut of that, pick one as the one to match 😎 Write out a list of buttons with the same name and the colour as the value. 😎 If the colour matches the button that was clicked, get a new list 😎 If the colour doesn’t match, decrease the amount of moves and show the list again. 😠 Oh, crap…
  • 37. As we don’t keep the state of the game in the browser, I need to maintain the random array in between reloads… 👜
  • 38. The amount is not much, but you better make sure that there is no way to inject code to the server. 🚨
  • 41. Now it works without JS, let’s add some… 😎 Load the API content with AJAX 🤔 Repeat the rest of the functionality client-side, or do a lot of unnecessary server roundtrips… 🍕
  • 42. The better, sturdier, more webby version 🤔 Almost same amount of JavaScript content 🤔 Doesn’t work offline, unless we also create a different API 🤔 But it does work with JavaScript disabled. 😨 It also allows bad people to inject code unless we are very vigilant in keeping our backend secure.
  • 43. How about some heresy? 😯
  • 44. The “JavaScript not available” argument is largely bogus and is holding back the web! ➡ 🎤
  • 45. The “JavaScript is flaky and will break” argument is very much alive and will always be that way… 🚧
  • 46. Until the first successful load, you have no JavaScript functionality. That is a fact.B
  • 47. We call this “programming” C
  • 48. 🖥→💻→📱 Evolution is happening around us… …and user numbers are shifting.
  • 49. This means that new error cases become much more important than “JavaScript is not available” ⚠
  • 50. ✏ Small initial payload ✏ Form factor supporting content ✏ Form factor supporting interfaces ✏ Offline/Flaky connection support ✏ Taking advantage of the power of the end user device ✏ Avoiding interaction latency ❤📲
  • 51. This is achievable using HTML, JavaScript and CSS, but it is much harder - if not impossible - without client side scripting. 👷
  • 52. Which is annoying, as the HTML5 revolution promised a move from documents to apps…
  • 53. The problem is that eight years after the proposal and five years after HTML5’s “last call”, there are still many basic support issues… 😦
  • 54. https://vimeo.com/176453149 Monica Dinculescu < INPUT > HTML Special, CSS Day
  • 56. And the bad people of the internet don’t stop abusing old technology either…💀
  • 57. In UGC, we can’t have nice things… https://mathiasbynens.github.io/rel-noopener/ https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c#.mjuw7q3cf
  • 58. Keep users on this page… https://mathiasbynens.github.io/rel-noopener/ https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c#.mjuw7q3cf 🔓💩
  • 59. Fix for newer browsers… https://mathiasbynens.github.io/rel-noopener/ https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c#.mjuw7q3cf
  • 60. Fix for all browsers… https://mathiasbynens.github.io/rel-noopener/ https://medium.com/@jitbit/target-blank-the-most-underestimated-vulnerability-ever-96e328301f4c#.mjuw7q3cf
  • 61. Almost… Listen for the click event and prevent the default browser behavior of opening a new tab. Inject a hidden iframe that opens the new tab, then immediately remove the iframe.“ https://github.com/danielstjules/blankshield
  • 62. Our solutions should have excellent error handling instead of automatic tolerance. 👌
  • 63. And they should be great solutions and not just “good enough without breaking”. https://twitter.com/dieni/status/767589581046841344
  • 64. Non-defensive coding is a problem…
  • 65. We all make mistakes and errors happen…
  • 66. There is a culture of “let’s use whatever until it works” 😐
  • 67. Standing on the shoulders of… …people?
  • 70. http://status.npmjs.org/incidents/dw8cr1lwxkcr Better be safe and require()… More detail: the "fs" package is a non-functional package. It simply logs the word "I am fs" and exits. There is no reason it should be included in any modules. However, something like 1000 packages *do* mistakenly depend on "fs", probably because they were trying to use a built-in node module called "fs".
  • 71. This is not a JavaScript thing…
  • 72. We have a lot of messy solutions, and we keep building more tools to undo what clogs up the web.
  • 73. Best practices can help with that, but only when they apply to the people who build things and when they solve current issues and needs…
  • 74. What about older browsers?
  • 76. These are valid concerns, but edge cases. And shouldn’t be used as a punishment scenario. 🗞
  • 78. Used sensibly, JavaScript is an accessibility benefit. Sometimes the only way to make things accessible. ARIA is not magic. 🕹
  • 80. It is more important for us to get a grip on the overall quality of the web and our code… 🏅
  • 81. Using instead of a URL or using a button is not JavaScript’s fault. It is a bad idea and practice - probably copy & paste. 💩 <a href="javascript:void(0)">
  • 82. Instead of bashing bad use of JavaScript, let’s embrace and scrutinise new ideas like components and paradigms like functional programming. 🔎
  • 83. There is a very cool thing happening right now… 😃
  • 84. Service Worker & PWAs https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API 🔧 🦄
  • 85. Making the game an App: Manifest App Manifest (manifest.json) Using a manifest, the game is recognised by OS and search engines as an installable app
  • 86. Service Worker (sw.js) Using ServiceWorker to cache content locally so the game can be played offline. Making the game an App: Service Worker
  • 87. Making the game an App: Service Worker Service Worker (sw.js) Using ServiceWorker to cache content locally so the game can be played offline.
  • 88. ✅ Create and publish as much content independent of JavaScript as you can ✅ JavaScript can make things much more enjoyable. ✅ Some things are just not worth while to implement without. ✅ Use JavaScript to benefit from the user’s hardware ✅ Spend more time building great interfaces, less time relying on what is there and can’t break - in many cases it is disappointing. It is time to re- think our best practice for the web approach…
  • 89. 🙂 You don’t rely on automatic fixes. JavaScript breaks and it is painful. It allows us to analyse what went wrong. 🙂 Tooling is great - we detailed insights into what happened when 🙂 We take responsibility of the interface. It is our job to make it happen - not browser makers to agree and find a consensus 🙂 We have full control over what gets loaded when, cached where and rendered when. Benefits of an “It’s OK to rely on JS for this” approach…
  • 90. ⚠ We shouldn’t hide functionality in magical abstractions. A product that relies on the availability and maintenance of a framework is not a script dependency - it is a support issue. ⚠ Just because we can do everything in JavaScript, doesn’t mean we have to. Use it when HTML is not good enough or too broken to rely on. ⚠ While the client is powerful, it is also unknown. A lot more can be done on the server - and in JavaScript. Dangers to be aware of…
  • 91. Important considerations independent of technology used… 💣 Shit happens! Spend more time in creating sensible error messaging and fallbacks, spend less time in trying to predict every possible error 💣 Slowness kills - our solutions must load fast what is needed and enhance when they can. They also need to be snappy. 💣 Offline and flaky is the norm - avoid network dependency as much as you can 💣 Security is paramount. A hacked server sending out malware or spam is worse than an app that needs a restart…
  • 92. We have to stop thinking in binaries, and consider writing great, secure and failure- aware solutions using each technology to its strengths. 🐝
  • 93. Mario evolved - so can the web…