SlideShare uma empresa Scribd logo
1 de 41
Baixar para ler offline
THE RAPID EVOLUTION
     OF WEB DEVELOPMENT

HTML5, CSS3 and Chrome 19 is so yesterday!
                     Or




              Thomas A. Powell
             tpowell@pint.com
                 @PINTSD
Who Am I?
• Yeah I worked on the Old Timey Internet
• Wrote a bunch of books
• Taught a lot people
• Web Agency Background
• Started a few successful Web Software Plays
Why Am I Here?
• Hoping to talk about Data Viz & Big Data
 • “Too Specific. How about HTML5?”
• Ok, easy enough
 • “Scratch that! Too techie, talk about
    changes and trends in Web dev instead!”
• Ok...sure (head scratching)
Here We Are Then
• ~45 mins or so, let’s start the clock
• Time to talk about hopefully interesting things
• Sure you might be into marketing, but we need
  context so let’s talk about:
  • Techie stuff : HTML5, JS, Networks, etc.
  • Security and Privacy
  • Performance
  • Trends
Oh and Memes

      
A Long Time Ago...
     • I wrote this book on paper
     • Premise: Web Sites/Apps ==
       Software, thus treat dev as such
     • Then : “Wow, makes sense”
     • Now : “Eh...Duh”
     • So we’ve evolved and fast!?
What Makes Web
  Different?
      • The Public Network
      • Dev Practices
      • Ownership
      • Other Theories
The Network
     •   You don’t control it end to end

     •   Delivery time not guaranteed

     •   Latency is significant

     •   HTTP impacts

         •   Simple but...

         •   Stateless

         •   Slow

         •   Security - an after thought
Dev Practices
    •   What are those?

    •   Software Engineering without
        _________

    •   Release cycles

        •   You mean when we change code?

    •   QA

        •   Always doing or never doing?

        •   Let the users tell us!
Owner Effects

    •   Strong Patron and Walled Gardens

    •   Many Patrons and Open Market

    •   Convention and consensus over
        some predetermined standard

    •   Is there a right answer?

        •   Trade-offs always!
Theories
   •   It’s different because

       •   Easy to leave ... but
           stickiness=lock-in

       •   Biz model ... but freemium
           looks like shareware

       •   Distribution ... but software
           is now the same

       •   Platform ... but browser
           becomes OS

       •   UI Issues ... but look at
           history
Let’s Take a Tour
     •   Different or not it doesn’t matter

     •   Time to tour the Web Dev Space

     •   We’ll go up and down the stack

         •   Visit some buzzwords

         •   Expose some pros and cons

         •   Hopefully seed many questions
             for the end
Browser Wars
    •   Version Number Battle

        •   Chrome 19*, Firefox 13, Opera
            12, and coming up last IE 10

        •   Near monthly releases and
            nightly updates

        •   Tons of invented features

    •   Trouble: Continuous QA cycle!
Zombie Browsers
      •   Yes IE6 sucks (7/8 too)

          •   But did it back then?

          •   Consider that Chrome 19
              will suck in 10 years

      •   Dev today for features
          which you expect to be
          standard which later
          aren’t...what happens?
Browser as Platform
     •   Browsers have more privileged access

         •   File System, Geoloc, WebCam,
             Gamepad, and more

         •   Native is ultimate goal - see Google
             Native Client

     •   Netscape’s early vision finally realized

         •   Browser as OS - see Chrome OS

     •   Outcomes: Security, Complexity,
         Portability just in new container
What is HTML5?
   •   Sad Truth: Most often a buzzword for
       anything new, focused on some feature
       of interest and tremendously confused
       with heavy JavaScript use

   •   Sprawling Spec under constant change

       •   Evolution of HTML 4

       •   Acknowledges failure of XHTML

       •   Paves cowpaths with non-standard
           to standard

       •   Secret Win: Tag Soup Parse Rules
HTML5 : Semantic Tags
          •   <header>, <footer>,
              <section>, <article>,
              <aside>, <nav>, <figure>,
              <mark>, <time>

          •   You can easily use them
              now

              •   HTML5 Shim, Modernizr

          •   Better than <div> - itis

          •   Outcomes: Semantics
              (maybe SEO), outlining
HTML5 : Web Forms
       •   Rich Form Widgets

           •   Date Pickers, Color Pickers,
               Sliders, Search box,
               Autocomplete Lists

       •   Semantic Types

           •   email, tel, url, number

       •   Validation without JavaScript

           •   pattern, required, semantic types
HTML5 : Media

       •   <audio> and <video> tags

           •   Flash video begone!

           •   But...codec chaos
               returns

           •   And maturity and
               integration jumps
               backwards
HTML5 : Canvas

     •   <canvas> tag + Canvas API using
         JavaScript = Programmatic
         Bitmap Graphics

     •   Pros: Small API and fast esp. if
         GPU accelerated

     •   Cons: Too low level, no IE until
         IE9, Not retained mode (no
         picking), accessibility is bad
Canvas Alternatives
       •   SVG - tag based, retained mode,
           in some cases faster

       •   JS DOM Animation - flexible but
           can be slow

       •   Flash - yes Flash, get over it

       •   CSS Animations and Transitions

           •   Fast but specialized and
               feature limited
JavaScript Everywhere
       •   Client-Side (with many names - DHTML,
           Ajax, HTML5, etc.)

           •   Library Mania: jQuery, ExtJS,
               Backbone,...

       •   Server-Side:

           •   node.js, silk.js, Helma, Ringo, even
               classic ASP

       •   Mobile

           •   Sencha Touch, Phone Gap, ...

       •   Even Desktop
Hating on JavaScript
        •   It has “Ugly Parts”

            •   Rework it - ECMAScript5, 6, etc.

            •   Compile to it - Coffeescript, GWT

        •   It’s Slow

            •   Yeah and other dynamic langs?

            •   Great improvements:V8, Chakra

        •   It’s insecure

            •   Is it? Or is it what you are doing
                with it?
CSS 1,2,3,4...
     •   Multiple Columns, Drop Shadows,
         Custom Fonts, Image Borders,
         Layouts, Media-Queries,
         Animations, Filters!?

     •   CSS Bloat

         •   Welcome to -vendor prefix hell!

     •   Compilers Emerge

         •   Less, Sass, Stylus

         •   BTW CSS Variables are here too
Server-Side
  •   First stop the “____ won’t scale”
      nonsense, that’s a different problem

  •   JavaScript to erode PHP, Ruby, Python

      •   All continue with C# and Java a bit
          more entrenched

  •   More biz logic moves client-side.

  •   Server side becomes service layer

      •   REST won, URL as command line,
          and JSON everywhere
Database Drama

   •   The Rise of NoSQL (ex. MongoDB)

       •   Lots of hype here

       •   Good reasons why we want it but...

       •   DB research and tradition thrown out
           the window

       •   Change for sure, I expect a hybrid
           winner
Security Challenges
        •   Hack traffic is nearly ambient at
            this point

        •   Exploits are now industrialized

        •   Pants are down all over the place

            •   Anonymous is really not that
                l33t

        •   Trust relationship are not
            understood or admitted to
Security Face Palms


•   The client-side is untrustworthy!

•   You can’t can’t can’t trust inputs

•   You must encrypt your transmission

    •   Especially given heavy public WiFi use

•   Open Source is open to all (hackers included)
Web Security Truths



•   Tech can’t solve the security problem

•   There is no such thing as perfect security

•   Security is a posture, not a feature

•   The business model of Web security is mostly flawed
Delivery Woes
  •   Speed matters! Can never be fast
      enough

      •   Bandwidth fallacy still reigns, but
          latency is more important!

      •   Even 100ms can equal loss

  •   Client Side problems are source of >
      80% of speed problems

  •   3rd Party Includes and Scripts are
      major problem

      •   Speed, Security, even SPOF!
Serving Changes
       •   Performance & scale matter!

       •   Apache is fading

           •   Others rising Ngnix,
               Lighthttpd, node.js, etc.

       •   Protocols are changing - SPDY

       •   # of requests is the issue

       •   I/O is still a bottleneck

       •   CDNs use is more common
Analytics Shake-Up
     •   Reliances on JavaScript, Cookies and
         3rd party hosts are quite troubling

         •   Lots of handwaving and conflicts of
             interest

     •   There is increasing tracking abuse

     •   Regulation is coming

         •   EU Cookie Law

         •   Could be a good business
             opportunity
Big Data != Big Wisdom

           •   We want to know everything!

           •   Storing and processing all that
               data is expensive and time
               consuming

           •   Viz helps

           •   Good questions help more
Data Driven to Disaster
        •   Lots of “data science” but often lack
            some basic scientific thinking patterns

            •   Causality and correlation are quite
                often confused

            •   Tons of confirmation bias

            •   Lots of sampling bias

            •   Crowd Wisdom is ruling a bit much

        •   Science isn’t easy, be skeptical
Mobile! Mobile! Mobile!
         •   Indeed huge changes!

         •   Mobile won’t completely rule

             •   On Star Trek ...

             •   In Japan...

             •   Creation vs. Consumption

         •   Walled Garden versus Open
             Garden tension again
Tool/Tech Blaming

        •   The languages, services, tools,
            hosts, etc. you use don’t make
            you do dumb things we tend
            to do that fine on our own

        •   Looking for the perfect _____
            is going to be a long process

        •   Trade-offs exist, deal with
            them
Implementation over
     Function?
        •   Who cares what your app is
            written in?

            •   Hackers? Competitors?

        •   What does Google or ____
            use?

            •   Does it matter?

            •   BTW ever viewed Google’s
                source?
Evaluation Solely By Looks
The Constant
  •   Being human is the constant, new
      technology is the variable

  •   Human nature tends to trend to
      norms over time

  •   The Web doesn’t make you (or
      your kids or customers) a
      smarter, super-friend making
      multi-tasker
User General Truths
      •   Customer always right, listen to the
          customer, nobody likes to wait, less
          work-more gain, etc.

      •   I’ve tended to find more insight in
          books like Robert Cialdini’s Influence:
          The Psychology of Persuasion or
          general works on General Biz, Psych,
          CogSci, Interface Design, etc. then
          Web specific ones

      •   BTW have you heard? The Web is
          the real world?
Thanks!
   &
Questions?
Thomas A. Powell
 tpowell@pint.com
  http://www.pint.com
   Twitter: PINTSD

Mais conteúdo relacionado

Mais procurados

Enterprise javascriptsession1
Enterprise javascriptsession1Enterprise javascriptsession1
Enterprise javascriptsession1Troy Miles
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Hannes Lowette
 
Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter FilesEmily Lewis
 
Webpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itWebpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itMike Wilcox
 
Rethinking Scala Presented in San Francisco May 7, 2014
Rethinking Scala Presented in San Francisco May 7, 2014Rethinking Scala Presented in San Francisco May 7, 2014
Rethinking Scala Presented in San Francisco May 7, 2014Bruce Eckel
 
Fi fo euc 2014
Fi fo euc 2014Fi fo euc 2014
Fi fo euc 2014Licenser
 
SQL Server High Availability and DR - Too Many Choices!
SQL Server High Availability and DR - Too Many Choices!SQL Server High Availability and DR - Too Many Choices!
SQL Server High Availability and DR - Too Many Choices!Mike Walsh
 
Choosing Javascript Libraries to Adopt for Development
Choosing Javascript Libraries to Adopt for DevelopmentChoosing Javascript Libraries to Adopt for Development
Choosing Javascript Libraries to Adopt for DevelopmentEdward Apostol
 
MySQL Sandbox - A toolkit for productive laziness
MySQL Sandbox - A toolkit for productive lazinessMySQL Sandbox - A toolkit for productive laziness
MySQL Sandbox - A toolkit for productive lazinessGiuseppe Maxia
 

Mais procurados (10)

Enterprise javascriptsession1
Enterprise javascriptsession1Enterprise javascriptsession1
Enterprise javascriptsession1
 
Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019Don't get blamed for your choices - Techorama 2019
Don't get blamed for your choices - Techorama 2019
 
Create Your Own Starter Files
Create Your Own Starter FilesCreate Your Own Starter Files
Create Your Own Starter Files
 
Webpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need itWebpack: What it is, What it does, Whether you need it
Webpack: What it is, What it does, Whether you need it
 
Rethinking Scala Presented in San Francisco May 7, 2014
Rethinking Scala Presented in San Francisco May 7, 2014Rethinking Scala Presented in San Francisco May 7, 2014
Rethinking Scala Presented in San Francisco May 7, 2014
 
Dangerous CSS
Dangerous CSSDangerous CSS
Dangerous CSS
 
Fi fo euc 2014
Fi fo euc 2014Fi fo euc 2014
Fi fo euc 2014
 
SQL Server High Availability and DR - Too Many Choices!
SQL Server High Availability and DR - Too Many Choices!SQL Server High Availability and DR - Too Many Choices!
SQL Server High Availability and DR - Too Many Choices!
 
Choosing Javascript Libraries to Adopt for Development
Choosing Javascript Libraries to Adopt for DevelopmentChoosing Javascript Libraries to Adopt for Development
Choosing Javascript Libraries to Adopt for Development
 
MySQL Sandbox - A toolkit for productive laziness
MySQL Sandbox - A toolkit for productive lazinessMySQL Sandbox - A toolkit for productive laziness
MySQL Sandbox - A toolkit for productive laziness
 

Semelhante a Rapid Evolution of Web Dev? aka Talking About The Web

Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Ricard Clau
 
Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014Ricard Clau
 
What ya gonna do?
What ya gonna do?What ya gonna do?
What ya gonna do?CQD
 
The Economies of Scaling Software
The Economies of Scaling SoftwareThe Economies of Scaling Software
The Economies of Scaling SoftwareAbdelmonaim Remani
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 KeynotePeter Wang
 
Html5 - the new kid on the block
Html5 - the new kid on the blockHtml5 - the new kid on the block
Html5 - the new kid on the blockMarian Borca
 
CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development LetsConnect
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoPaul Withers
 
HTML 5 & The Modern Web
HTML 5 & The Modern WebHTML 5 & The Modern Web
HTML 5 & The Modern WebJumping Bean
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsWekoslav Stefanovski
 
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemDownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemFITC
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP120bi
 
Stig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at ScaleStig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at ScaleDATAVERSITY
 
Digging deeper into service stack
Digging deeper into service stackDigging deeper into service stack
Digging deeper into service stackcyberzeddk
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)Chris Mills
 
Java in High Frequency Trading
Java in High Frequency TradingJava in High Frequency Trading
Java in High Frequency TradingViktor Sovietov
 
Django production
Django productionDjango production
Django productionpythonsd
 

Semelhante a Rapid Evolution of Web Dev? aka Talking About The Web (20)

Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015Modern software architectures - PHP UK Conference 2015
Modern software architectures - PHP UK Conference 2015
 
Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014Big Data! Great! Now What? #SymfonyCon 2014
Big Data! Great! Now What? #SymfonyCon 2014
 
Be faster then rabbits
Be faster then rabbitsBe faster then rabbits
Be faster then rabbits
 
What ya gonna do?
What ya gonna do?What ya gonna do?
What ya gonna do?
 
The Economies of Scaling Software
The Economies of Scaling SoftwareThe Economies of Scaling Software
The Economies of Scaling Software
 
JSON all the way
JSON all the wayJSON all the way
JSON all the way
 
PyData Texas 2015 Keynote
PyData Texas 2015 KeynotePyData Texas 2015 Keynote
PyData Texas 2015 Keynote
 
Html5 - the new kid on the block
Html5 - the new kid on the blockHtml5 - the new kid on the block
Html5 - the new kid on the block
 
CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development
 
Social Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
 
HTML 5 & The Modern Web
HTML 5 & The Modern WebHTML 5 & The Modern Web
HTML 5 & The Modern Web
 
Coding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applicationsCoding for the cloud - development of modern web applications
Coding for the cloud - development of modern web applications
 
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane EcosystemDownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
DownTheRabbitHole.js – How to Stay Sane in an Insane Ecosystem
 
Scaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHPScaling a High Traffic Web Application: Our Journey from Java to PHP
Scaling a High Traffic Web Application: Our Journey from Java to PHP
 
Stig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at ScaleStig: Social Graphs & Discovery at Scale
Stig: Social Graphs & Discovery at Scale
 
Why ruby and rails
Why ruby and railsWhy ruby and rails
Why ruby and rails
 
Digging deeper into service stack
Digging deeper into service stackDigging deeper into service stack
Digging deeper into service stack
 
The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)The web standards gentleman: a matter of (evolving) standards)
The web standards gentleman: a matter of (evolving) standards)
 
Java in High Frequency Trading
Java in High Frequency TradingJava in High Frequency Trading
Java in High Frequency Trading
 
Django production
Django productionDjango production
Django production
 

Último

Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Último (20)

Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

Rapid Evolution of Web Dev? aka Talking About The Web

  • 1. THE RAPID EVOLUTION OF WEB DEVELOPMENT HTML5, CSS3 and Chrome 19 is so yesterday! Or Thomas A. Powell tpowell@pint.com @PINTSD
  • 2. Who Am I? • Yeah I worked on the Old Timey Internet • Wrote a bunch of books • Taught a lot people • Web Agency Background • Started a few successful Web Software Plays
  • 3. Why Am I Here? • Hoping to talk about Data Viz & Big Data • “Too Specific. How about HTML5?” • Ok, easy enough • “Scratch that! Too techie, talk about changes and trends in Web dev instead!” • Ok...sure (head scratching)
  • 4. Here We Are Then • ~45 mins or so, let’s start the clock • Time to talk about hopefully interesting things • Sure you might be into marketing, but we need context so let’s talk about: • Techie stuff : HTML5, JS, Networks, etc. • Security and Privacy • Performance • Trends
  • 6. A Long Time Ago... • I wrote this book on paper • Premise: Web Sites/Apps == Software, thus treat dev as such • Then : “Wow, makes sense” • Now : “Eh...Duh” • So we’ve evolved and fast!?
  • 7. What Makes Web Different? • The Public Network • Dev Practices • Ownership • Other Theories
  • 8. The Network • You don’t control it end to end • Delivery time not guaranteed • Latency is significant • HTTP impacts • Simple but... • Stateless • Slow • Security - an after thought
  • 9. Dev Practices • What are those? • Software Engineering without _________ • Release cycles • You mean when we change code? • QA • Always doing or never doing? • Let the users tell us!
  • 10. Owner Effects • Strong Patron and Walled Gardens • Many Patrons and Open Market • Convention and consensus over some predetermined standard • Is there a right answer? • Trade-offs always!
  • 11. Theories • It’s different because • Easy to leave ... but stickiness=lock-in • Biz model ... but freemium looks like shareware • Distribution ... but software is now the same • Platform ... but browser becomes OS • UI Issues ... but look at history
  • 12. Let’s Take a Tour • Different or not it doesn’t matter • Time to tour the Web Dev Space • We’ll go up and down the stack • Visit some buzzwords • Expose some pros and cons • Hopefully seed many questions for the end
  • 13. Browser Wars • Version Number Battle • Chrome 19*, Firefox 13, Opera 12, and coming up last IE 10 • Near monthly releases and nightly updates • Tons of invented features • Trouble: Continuous QA cycle!
  • 14. Zombie Browsers • Yes IE6 sucks (7/8 too) • But did it back then? • Consider that Chrome 19 will suck in 10 years • Dev today for features which you expect to be standard which later aren’t...what happens?
  • 15. Browser as Platform • Browsers have more privileged access • File System, Geoloc, WebCam, Gamepad, and more • Native is ultimate goal - see Google Native Client • Netscape’s early vision finally realized • Browser as OS - see Chrome OS • Outcomes: Security, Complexity, Portability just in new container
  • 16. What is HTML5? • Sad Truth: Most often a buzzword for anything new, focused on some feature of interest and tremendously confused with heavy JavaScript use • Sprawling Spec under constant change • Evolution of HTML 4 • Acknowledges failure of XHTML • Paves cowpaths with non-standard to standard • Secret Win: Tag Soup Parse Rules
  • 17. HTML5 : Semantic Tags • <header>, <footer>, <section>, <article>, <aside>, <nav>, <figure>, <mark>, <time> • You can easily use them now • HTML5 Shim, Modernizr • Better than <div> - itis • Outcomes: Semantics (maybe SEO), outlining
  • 18. HTML5 : Web Forms • Rich Form Widgets • Date Pickers, Color Pickers, Sliders, Search box, Autocomplete Lists • Semantic Types • email, tel, url, number • Validation without JavaScript • pattern, required, semantic types
  • 19. HTML5 : Media • <audio> and <video> tags • Flash video begone! • But...codec chaos returns • And maturity and integration jumps backwards
  • 20. HTML5 : Canvas • <canvas> tag + Canvas API using JavaScript = Programmatic Bitmap Graphics • Pros: Small API and fast esp. if GPU accelerated • Cons: Too low level, no IE until IE9, Not retained mode (no picking), accessibility is bad
  • 21. Canvas Alternatives • SVG - tag based, retained mode, in some cases faster • JS DOM Animation - flexible but can be slow • Flash - yes Flash, get over it • CSS Animations and Transitions • Fast but specialized and feature limited
  • 22. JavaScript Everywhere • Client-Side (with many names - DHTML, Ajax, HTML5, etc.) • Library Mania: jQuery, ExtJS, Backbone,... • Server-Side: • node.js, silk.js, Helma, Ringo, even classic ASP • Mobile • Sencha Touch, Phone Gap, ... • Even Desktop
  • 23. Hating on JavaScript • It has “Ugly Parts” • Rework it - ECMAScript5, 6, etc. • Compile to it - Coffeescript, GWT • It’s Slow • Yeah and other dynamic langs? • Great improvements:V8, Chakra • It’s insecure • Is it? Or is it what you are doing with it?
  • 24. CSS 1,2,3,4... • Multiple Columns, Drop Shadows, Custom Fonts, Image Borders, Layouts, Media-Queries, Animations, Filters!? • CSS Bloat • Welcome to -vendor prefix hell! • Compilers Emerge • Less, Sass, Stylus • BTW CSS Variables are here too
  • 25. Server-Side • First stop the “____ won’t scale” nonsense, that’s a different problem • JavaScript to erode PHP, Ruby, Python • All continue with C# and Java a bit more entrenched • More biz logic moves client-side. • Server side becomes service layer • REST won, URL as command line, and JSON everywhere
  • 26. Database Drama • The Rise of NoSQL (ex. MongoDB) • Lots of hype here • Good reasons why we want it but... • DB research and tradition thrown out the window • Change for sure, I expect a hybrid winner
  • 27. Security Challenges • Hack traffic is nearly ambient at this point • Exploits are now industrialized • Pants are down all over the place • Anonymous is really not that l33t • Trust relationship are not understood or admitted to
  • 28. Security Face Palms • The client-side is untrustworthy! • You can’t can’t can’t trust inputs • You must encrypt your transmission • Especially given heavy public WiFi use • Open Source is open to all (hackers included)
  • 29. Web Security Truths • Tech can’t solve the security problem • There is no such thing as perfect security • Security is a posture, not a feature • The business model of Web security is mostly flawed
  • 30. Delivery Woes • Speed matters! Can never be fast enough • Bandwidth fallacy still reigns, but latency is more important! • Even 100ms can equal loss • Client Side problems are source of > 80% of speed problems • 3rd Party Includes and Scripts are major problem • Speed, Security, even SPOF!
  • 31. Serving Changes • Performance & scale matter! • Apache is fading • Others rising Ngnix, Lighthttpd, node.js, etc. • Protocols are changing - SPDY • # of requests is the issue • I/O is still a bottleneck • CDNs use is more common
  • 32. Analytics Shake-Up • Reliances on JavaScript, Cookies and 3rd party hosts are quite troubling • Lots of handwaving and conflicts of interest • There is increasing tracking abuse • Regulation is coming • EU Cookie Law • Could be a good business opportunity
  • 33. Big Data != Big Wisdom • We want to know everything! • Storing and processing all that data is expensive and time consuming • Viz helps • Good questions help more
  • 34. Data Driven to Disaster • Lots of “data science” but often lack some basic scientific thinking patterns • Causality and correlation are quite often confused • Tons of confirmation bias • Lots of sampling bias • Crowd Wisdom is ruling a bit much • Science isn’t easy, be skeptical
  • 35. Mobile! Mobile! Mobile! • Indeed huge changes! • Mobile won’t completely rule • On Star Trek ... • In Japan... • Creation vs. Consumption • Walled Garden versus Open Garden tension again
  • 36. Tool/Tech Blaming • The languages, services, tools, hosts, etc. you use don’t make you do dumb things we tend to do that fine on our own • Looking for the perfect _____ is going to be a long process • Trade-offs exist, deal with them
  • 37. Implementation over Function? • Who cares what your app is written in? • Hackers? Competitors? • What does Google or ____ use? • Does it matter? • BTW ever viewed Google’s source?
  • 39. The Constant • Being human is the constant, new technology is the variable • Human nature tends to trend to norms over time • The Web doesn’t make you (or your kids or customers) a smarter, super-friend making multi-tasker
  • 40. User General Truths • Customer always right, listen to the customer, nobody likes to wait, less work-more gain, etc. • I’ve tended to find more insight in books like Robert Cialdini’s Influence: The Psychology of Persuasion or general works on General Biz, Psych, CogSci, Interface Design, etc. then Web specific ones • BTW have you heard? The Web is the real world?
  • 41. Thanks! & Questions? Thomas A. Powell tpowell@pint.com http://www.pint.com Twitter: PINTSD