SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 

Dernier (20)

Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 

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