SlideShare a Scribd company logo
Is the Browser a
Transitional Technology?	

	


Talk, by Allen Wirfs-Brock	


Agile Portugal 2011, June 23, 2011	


One dimension of software agility is the ability to adapt to changing development technologies and
infrastructure. Long-lived software systems may have to be adapted to several major technology
changes over the course of their active use. Today, many project are increasing focused on web based
applications that use web browsers as their primarily user interface. How durable is this application
style going to be? Is the browser likely to continue to expand its primacy? Can we expect the basic
structure of our web facing applications to remain fairly stable for the foreseeable future or do we
need to be preparing to make drastic changes? If the browser is a transitional technology, what will
replace it? In this talk I’ll explore these and related issues about what is likely to happen with web
develop technologies over the next few years.
Is the Browser a
Transitional Technology?	

          Allen Wirfs-Brock
A little background about me	

•    Compilers, Smalltalk virtual machines, GCs, language design, development tools	

•    Launched first commercial Smalltalk: Tektronix 4404	

•    Digitalk/Parcplace-Digitalk: Enterprise Scale Smalltalk	

•    (Re-) Instantiations: JOVE Java optimizing compiler, Eclipse tools	

•    Microsoft: JavaScript/ECMAScript 5	

•    Mozilla: Future of JavaScript and the Web platform
Fundamental Change	


•  We’re mostly used to incremental, evolutionary change	

•  Fundamental change is rare and hard to recognize	

•  Usually can’t prepare for major discontinuities and shouldn’t
   worry about them…	

•  … except if you are in the midst of such change
The Eras of Computing	

                                                        Computers	

                                                    empower/enhance	

                                 New	

Societal Impact	





                                                     Individuals’ tasks	

                             Era	

                          Computers	

                      empower/enhance	

                      enterprise activities	

                                 Personal Computing	



                                                   Corporate Computing	

            1950	

         1960	

      1970	

         1980	

     1990	

       2000	

   2010	

        2020
The New Era of Computing	

•  Devices not Computers	

•  Ubiquitous access to information	

•  Computer augmented life	

	

I want my stuff (data and apps) right now, wherever I am, using
      whatever device is available. I can’t live without it!	


      The Ambient Computing Era
What’s the Computing
Environment of your Application	


•  Today? 	

                Desktop PC?	

•  Tomorrow?	

              Variety of mobile/fixed devices?	

Design for today, be prepared for tomorrow.
Transitional Technologies	

•  Precursors of fundamental change 	

•  Exhibit some characteristics of what will come	

•  Firmly root in the status quo
Transitional Technologies
                           Precursors of PC Era	

Societal Impact	





                               Minicomputers	


                                Timesharing	

                    Personal Computing	



                                          Corporate Computing	

         1950	

     1960	

    1970	

       1980	

   1990	

       2000	

   2010	

   2020
Transitional Technologies
                     Precursors of Ambient Computing Era	

                                                                 WWW/Browsers	

Societal Impact	





                                                                                       Ambient	

                                                                     Cell phones	

   Computing	

                                  Minicomputers	


                                   Timesharing	

                    Personal Computing	



                                             Corporate Computing	

         1950	

        1960	

    1970	

       1980	

   1990	

         2000	

    2010	

   2020
The Cell Phone	


•  Always with you	

•  Always connected	

•  But initially dedicated into a single use case	

•  PC era business models
The WWW/Web Browser	

          •  First real ubiquitous web of
             information	

          •  Universal client/server computation
             model (HTTP/REST)	

          •  Universal presentation platform	

          •  Availability more important than
             performance	

          •  A Web Browser is a classic PC
             application
Why are these only transitional	

•  Telephony is just an application	

•  Wireless communications now common part of most devices	

•  WWW data access is an essential part of most applications	

•  Users don’t “go to a pc” to use the web any more	

•  Growing focus on solutions (apps) not tools (the browser)	

•  When something becomes ubiquitous, it disappears
What do you have when you strip away the PC
       application part of a browser?
What do you have when you strip away the PC
       application part of a browser?	

                     Frameworks and Libraries	


           	

             	

            	

                        	

          HTML	

         CSS	

      JavaScript	

                 SVG	


                           Language Runtime	

                    Styling	

               	

          	

           	

                                          Network	

    Local         User
                                                       storage	

     Input	

                    Layout	

                Rendering
Java promised “write once, run everywhere”,	

the modern web application platform is delivering it.
Web Apps vs. “Apps”	


•    HTML/CSS/JavaScript/WebApp APIs          •    Proprietary Language+Framework (Java,
     	

                                              Objective-C, C#, etc.)	

•    Server via: HTTP, JSON, XML, Sockets	

     •    Server via: HTTP, JSON, XML, Sockets	

•    Works on any device	

                      •    Works only within a device family	

•    Task specific “Chromeless” UIs emerging	

   •    Task specific “Chromeless” UIs	

•    “App Stores” about to emerge 	

            •    Tied to a specific “App Store”
What operating system does
     that device run?
                    	




           Who cares….
Each Computing Era has had a
Canonical Programming Language	

 •  Corporate Computing Era – COBOL	

 •  Personal Computing Era – C	

 •  Ambient Computing Era – JavaScript ??
Why JavaScript?
                               	

•  It’s there – It’s working	

•  It’s good enough	

•  It’s getting better	

•  What could replace it?	

•  How could that happen?	

      http://odetocode.com/Blogs/scott/archive/2009/03/18/signs-that-your-javascript-skills-need-updating.aspx
JavaScript Performance Over Time	

                                                                                           ActionScript (Flash) vs JavaScript 	





http://people.mozilla.com/~dmandelin/KnowYourEngines_Velocity2011.pdf 	

   http://iq12.com/blog/as3-benchmark/
Evolving JavaScript
                               	





http://wiki.ecmascript.org/doku.php?id=harmony:proposals
PDF Renderer in JavaScript	





                           http://andreasgal.com/2011/06/15/pdf-js/

                           http://people.mozilla.org/~gal/test.html
CPython Compiled to JavaScript	





                            https://github.com/kripken/emscripten/wiki

                            http://syntensity.com/static/python.html
What About “The Cloud”
                     	

         The Cloud
We Really Aren’t Going Back to
         Timesharing	





Hacking after midnight must be a life choice, not a necessity!
What happening on the server?
                            	

•  The server-side of applications don’t have the the “single
      platform” imperative of clients: Java, .Net, Python, Ruby	

•  Growing interest in also using JavaScript for the server portion
      of applications	

      Want to use same skills and technical resources as client	


•  node.js ( http://nodejs.org/ ) is current attracting significant
      developer interest:	

                         //hello world server	

	

                      var http = require('http');	

                         http.createServer(function (req, res) {	

                            res.writeHead(200, {'Content-Type': 'text/plain'});	

                            res.end('Hello Worldn');	

                          }).listen(1337, 127.0.0.1);	

                         console.log('Server running at http://127.0.0.1:1337/');
Concurrency/Using Multicores
                           	

•  The Browser App Platform uses a very simple no shared
  state concurrency model.	

    §  Web Workers	

    §  Message passing and JSON data records	

    §  Event loops	

    §  Continuation passing style	

•  Essentially the same model as browser çè webserver
Clouds All the Way Down?
                         	

                                            Open	

  Brand X                                   Cloud	

Public Cloud	



                  Home	

                            •  Common programming
                                                        models	

                  Cloud	

                           •  Common APIs	

                                                     •  Local/remote cloud
                                                        transparency	

                             Device	

   Device	

  Device	

                             Cloud	

    Cloud	

  Cloud
A Universal Standards-based
       Open Platform? 	

•  A nearly universal software platform emerged to dominate
  each previous computing era.	

  §  Corporate Era: IBM Mainframes	

  §  PC Era: Microsoft/Intel PC	

•  Is it possible for a vender neutral standards-based platform to
  achieve similar dominance?	

       Really? W3C, Ecma, WhatWG, IETF, Kronos, …
What to do today?
                                    	


•  IT apps will lag	

•  But enterprises must become part of the Ambient Computing
  Environment.	

•  User expectations driven by the ambient device experience	

•  Ambient Computing technology and skills shifts will drive IT change	

            Building tomorrow’s legacy systems today.
This is the most exciting time
 for the computing industry
        since the 1980’s.
                        	



                Enjoy it!
Follow up
                                 	



http://www.wirfs-brock.com/allen/posts/category/post-pc-computing

More Related Content

What's hot

WebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightWebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightAndrew Ferrier
 
The web phenomenon
The web phenomenonThe web phenomenon
The web phenomenon
Zool
 
Prakash Narayan Building Social Web V1
Prakash  Narayan    Building  Social  Web V1Prakash  Narayan    Building  Social  Web V1
Prakash Narayan Building Social Web V1SOA Symposium
 
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Taras Filatov
 
Reto 2.0 Webcast: The Emerging Technical And Business Models Of Web 2.0
Reto 2.0 Webcast: The Emerging Technical And Business Models Of Web 2.0Reto 2.0 Webcast: The Emerging Technical And Business Models Of Web 2.0
Reto 2.0 Webcast: The Emerging Technical And Business Models Of Web 2.0
Dion Hinchcliffe
 
A research on i pad device & experience design
A research on i pad   device & experience designA research on i pad   device & experience design
A research on i pad device & experience design
Vinny Wu
 
CouchConf Tokyo Customer Presentation: DOCOMO Innovations (English)
CouchConf Tokyo Customer Presentation: DOCOMO Innovations (English)CouchConf Tokyo Customer Presentation: DOCOMO Innovations (English)
CouchConf Tokyo Customer Presentation: DOCOMO Innovations (English)
DOCOMO Innovations, Inc.
 
Getting Down & Dirty with Responsive Web Design
Getting Down & Dirty with Responsive Web DesignGetting Down & Dirty with Responsive Web Design
Getting Down & Dirty with Responsive Web Designmartinridgway
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX Factor
EffectiveUI
 
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and MustacheRoad to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Brian Sam-Bodden
 
Google Developer Day: State of Ajax
Google Developer Day: State of AjaxGoogle Developer Day: State of Ajax
Google Developer Day: State of Ajax
dion
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: Mobility
David Pallmann
 
The Mobile Ecosystem
The Mobile EcosystemThe Mobile Ecosystem
The Mobile Ecosystem
Ivano Malavolta
 
HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy Apigee | Google Cloud
 
Mobile Web (R)Evolution - Sept 2011
Mobile Web (R)Evolution - Sept 2011Mobile Web (R)Evolution - Sept 2011
Mobile Web (R)Evolution - Sept 2011arendsf
 
Den Multi Device Konsumenten zufrieden stellen …
Den Multi Device Konsumenten zufrieden stellen …Den Multi Device Konsumenten zufrieden stellen …
Den Multi Device Konsumenten zufrieden stellen …
Connected-Blog
 
Creating Large-Scale Responsive Websites
Creating Large-Scale Responsive WebsitesCreating Large-Scale Responsive Websites
Creating Large-Scale Responsive Websites
Keith Doyle
 
It's All About Context
It's All About ContextIt's All About Context
It's All About Context
Kevin Suttle
 

What's hot (18)

WebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with WorklightWebSphere User Group UK: Larger Applications with Worklight
WebSphere User Group UK: Larger Applications with Worklight
 
The web phenomenon
The web phenomenonThe web phenomenon
The web phenomenon
 
Prakash Narayan Building Social Web V1
Prakash  Narayan    Building  Social  Web V1Prakash  Narayan    Building  Social  Web V1
Prakash Narayan Building Social Web V1
 
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
Mobile Backend Apps and APIs meetup London overview of BaaS APIs and discussi...
 
Reto 2.0 Webcast: The Emerging Technical And Business Models Of Web 2.0
Reto 2.0 Webcast: The Emerging Technical And Business Models Of Web 2.0Reto 2.0 Webcast: The Emerging Technical And Business Models Of Web 2.0
Reto 2.0 Webcast: The Emerging Technical And Business Models Of Web 2.0
 
A research on i pad device & experience design
A research on i pad   device & experience designA research on i pad   device & experience design
A research on i pad device & experience design
 
CouchConf Tokyo Customer Presentation: DOCOMO Innovations (English)
CouchConf Tokyo Customer Presentation: DOCOMO Innovations (English)CouchConf Tokyo Customer Presentation: DOCOMO Innovations (English)
CouchConf Tokyo Customer Presentation: DOCOMO Innovations (English)
 
Getting Down & Dirty with Responsive Web Design
Getting Down & Dirty with Responsive Web DesignGetting Down & Dirty with Responsive Web Design
Getting Down & Dirty with Responsive Web Design
 
The Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX FactorThe Laws of User Experience: Making it or breaking it with the UX Factor
The Laws of User Experience: Making it or breaking it with the UX Factor
 
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and MustacheRoad to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
Road to mobile w/ Sinatra, jQuery Mobile, Spine.js and Mustache
 
Google Developer Day: State of Ajax
Google Developer Day: State of AjaxGoogle Developer Day: State of Ajax
Google Developer Day: State of Ajax
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: Mobility
 
The Mobile Ecosystem
The Mobile EcosystemThe Mobile Ecosystem
The Mobile Ecosystem
 
HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy HTML5: The Apps, the Frameworks, the Controversy
HTML5: The Apps, the Frameworks, the Controversy
 
Mobile Web (R)Evolution - Sept 2011
Mobile Web (R)Evolution - Sept 2011Mobile Web (R)Evolution - Sept 2011
Mobile Web (R)Evolution - Sept 2011
 
Den Multi Device Konsumenten zufrieden stellen …
Den Multi Device Konsumenten zufrieden stellen …Den Multi Device Konsumenten zufrieden stellen …
Den Multi Device Konsumenten zufrieden stellen …
 
Creating Large-Scale Responsive Websites
Creating Large-Scale Responsive WebsitesCreating Large-Scale Responsive Websites
Creating Large-Scale Responsive Websites
 
It's All About Context
It's All About ContextIt's All About Context
It's All About Context
 

Similar to Is the Browser a Transitional Technology?

Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMicrosoft Windows Embedded
 
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark LittleKeynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
JAX London
 
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise SoftwareL01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
Ólafur Andri Ragnarsson
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
Reto Meier
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
AI4BD GmbH
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010
Tom Deryckere
 
Service worker API
Service worker APIService worker API
Service worker API
Giorgio Natili
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
Sharmistha Mandal
 
Modeling on the Web
Modeling on the WebModeling on the Web
Modeling on the Web
Icinetic
 
Modeling on the Web
Modeling on the WebModeling on the Web
Modeling on the Web
Pedro J. Molina
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09Martha Rotter
 
CHIRIMEN open hardware became open source (English)
CHIRIMEN open hardware became open source  (English)CHIRIMEN open hardware became open source  (English)
CHIRIMEN open hardware became open source (English)
Satoru Takagi
 
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
mfrancis
 
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
Petru Jucovschi
 
Hönn2014 L01 Enterprise Applications
Hönn2014 L01 Enterprise ApplicationsHönn2014 L01 Enterprise Applications
Hönn2014 L01 Enterprise Applications
Ólafur Andri Ragnarsson
 
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorOSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
Gail Frederick
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
Intergen
 
ABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software DevelopmentABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software Development
Rui Curado
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
Tom Deryckere
 

Similar to Is the Browser a Transitional Technology? (20)

Mikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivityMikehall FutureWorld 2010 - enabling connectivity
Mikehall FutureWorld 2010 - enabling connectivity
 
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark LittleKeynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
Keynote | Middleware Everywhere - Ready for Mobile and Cloud | Dr. Mark Little
 
L01 Introduction to Enterprise Software
L01 Introduction to Enterprise SoftwareL01 Introduction to Enterprise Software
L01 Introduction to Enterprise Software
 
HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?HTML5 or Android for Mobile Development?
HTML5 or Android for Mobile Development?
 
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)Open web platform talk by daniel hladky at rif 2012 (19 april 2012   moscow)
Open web platform talk by daniel hladky at rif 2012 (19 april 2012 moscow)
 
Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010Mobile CMS - CMSExpo 2010
Mobile CMS - CMSExpo 2010
 
Service worker API
Service worker APIService worker API
Service worker API
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Modeling on the Web
Modeling on the WebModeling on the Web
Modeling on the Web
 
Modeling on the Web
Modeling on the WebModeling on the Web
Modeling on the Web
 
Client Continuum Dec Fy09
Client Continuum Dec Fy09Client Continuum Dec Fy09
Client Continuum Dec Fy09
 
CHIRIMEN open hardware became open source (English)
CHIRIMEN open hardware became open source  (English)CHIRIMEN open hardware became open source  (English)
CHIRIMEN open hardware became open source (English)
 
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
Your last mile to SOA and Web 2.0- Lotus Expeditor for Devices - Eric MF Hsu,...
 
ITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interopITCamp 2011 - Mihai Nadas - Windows Azure interop
ITCamp 2011 - Mihai Nadas - Windows Azure interop
 
Mobility today & what's next. Application ecosystems.
Mobility today & what's next.Application ecosystems.Mobility today & what's next.Application ecosystems.
Mobility today & what's next. Application ecosystems.
 
Hönn2014 L01 Enterprise Applications
Hönn2014 L01 Enterprise ApplicationsHönn2014 L01 Enterprise Applications
Hönn2014 L01 Enterprise Applications
 
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web SimulatorOSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
OSCON 2012: Design and Debug HTML5 Apps for Devices with RIB and Web Simulator
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile Development
 
ABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software DevelopmentABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software Development
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009
 

Recently uploaded

Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

Is the Browser a Transitional Technology?

  • 1. Is the Browser a Transitional Technology? Talk, by Allen Wirfs-Brock Agile Portugal 2011, June 23, 2011 One dimension of software agility is the ability to adapt to changing development technologies and infrastructure. Long-lived software systems may have to be adapted to several major technology changes over the course of their active use. Today, many project are increasing focused on web based applications that use web browsers as their primarily user interface. How durable is this application style going to be? Is the browser likely to continue to expand its primacy? Can we expect the basic structure of our web facing applications to remain fairly stable for the foreseeable future or do we need to be preparing to make drastic changes? If the browser is a transitional technology, what will replace it? In this talk I’ll explore these and related issues about what is likely to happen with web develop technologies over the next few years.
  • 2. Is the Browser a Transitional Technology? Allen Wirfs-Brock
  • 3. A little background about me •  Compilers, Smalltalk virtual machines, GCs, language design, development tools •  Launched first commercial Smalltalk: Tektronix 4404 •  Digitalk/Parcplace-Digitalk: Enterprise Scale Smalltalk •  (Re-) Instantiations: JOVE Java optimizing compiler, Eclipse tools •  Microsoft: JavaScript/ECMAScript 5 •  Mozilla: Future of JavaScript and the Web platform
  • 4. Fundamental Change •  We’re mostly used to incremental, evolutionary change •  Fundamental change is rare and hard to recognize •  Usually can’t prepare for major discontinuities and shouldn’t worry about them… •  … except if you are in the midst of such change
  • 5. The Eras of Computing Computers empower/enhance New Societal Impact Individuals’ tasks Era Computers empower/enhance enterprise activities Personal Computing Corporate Computing 1950 1960 1970 1980 1990 2000 2010 2020
  • 6. The New Era of Computing •  Devices not Computers •  Ubiquitous access to information •  Computer augmented life I want my stuff (data and apps) right now, wherever I am, using whatever device is available. I can’t live without it! The Ambient Computing Era
  • 7. What’s the Computing Environment of your Application •  Today? Desktop PC? •  Tomorrow? Variety of mobile/fixed devices? Design for today, be prepared for tomorrow.
  • 8. Transitional Technologies •  Precursors of fundamental change •  Exhibit some characteristics of what will come •  Firmly root in the status quo
  • 9. Transitional Technologies Precursors of PC Era Societal Impact Minicomputers Timesharing Personal Computing Corporate Computing 1950 1960 1970 1980 1990 2000 2010 2020
  • 10. Transitional Technologies Precursors of Ambient Computing Era WWW/Browsers Societal Impact Ambient Cell phones Computing Minicomputers Timesharing Personal Computing Corporate Computing 1950 1960 1970 1980 1990 2000 2010 2020
  • 11. The Cell Phone •  Always with you •  Always connected •  But initially dedicated into a single use case •  PC era business models
  • 12. The WWW/Web Browser •  First real ubiquitous web of information •  Universal client/server computation model (HTTP/REST) •  Universal presentation platform •  Availability more important than performance •  A Web Browser is a classic PC application
  • 13. Why are these only transitional •  Telephony is just an application •  Wireless communications now common part of most devices •  WWW data access is an essential part of most applications •  Users don’t “go to a pc” to use the web any more •  Growing focus on solutions (apps) not tools (the browser) •  When something becomes ubiquitous, it disappears
  • 14. What do you have when you strip away the PC application part of a browser?
  • 15. What do you have when you strip away the PC application part of a browser? Frameworks and Libraries HTML CSS JavaScript SVG Language Runtime Styling Network Local User storage Input Layout Rendering
  • 16.
  • 17. Java promised “write once, run everywhere”, the modern web application platform is delivering it.
  • 18. Web Apps vs. “Apps” •  HTML/CSS/JavaScript/WebApp APIs •  Proprietary Language+Framework (Java, Objective-C, C#, etc.) •  Server via: HTTP, JSON, XML, Sockets •  Server via: HTTP, JSON, XML, Sockets •  Works on any device •  Works only within a device family •  Task specific “Chromeless” UIs emerging •  Task specific “Chromeless” UIs •  “App Stores” about to emerge •  Tied to a specific “App Store”
  • 19. What operating system does that device run? Who cares….
  • 20. Each Computing Era has had a Canonical Programming Language •  Corporate Computing Era – COBOL •  Personal Computing Era – C •  Ambient Computing Era – JavaScript ??
  • 21. Why JavaScript? •  It’s there – It’s working •  It’s good enough •  It’s getting better •  What could replace it? •  How could that happen? http://odetocode.com/Blogs/scott/archive/2009/03/18/signs-that-your-javascript-skills-need-updating.aspx
  • 22. JavaScript Performance Over Time ActionScript (Flash) vs JavaScript http://people.mozilla.com/~dmandelin/KnowYourEngines_Velocity2011.pdf http://iq12.com/blog/as3-benchmark/
  • 23. Evolving JavaScript http://wiki.ecmascript.org/doku.php?id=harmony:proposals
  • 24. PDF Renderer in JavaScript http://andreasgal.com/2011/06/15/pdf-js/ http://people.mozilla.org/~gal/test.html
  • 25. CPython Compiled to JavaScript https://github.com/kripken/emscripten/wiki http://syntensity.com/static/python.html
  • 26. What About “The Cloud” The Cloud
  • 27. We Really Aren’t Going Back to Timesharing Hacking after midnight must be a life choice, not a necessity!
  • 28. What happening on the server? •  The server-side of applications don’t have the the “single platform” imperative of clients: Java, .Net, Python, Ruby •  Growing interest in also using JavaScript for the server portion of applications Want to use same skills and technical resources as client •  node.js ( http://nodejs.org/ ) is current attracting significant developer interest: //hello world server var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello Worldn'); }).listen(1337, 127.0.0.1); console.log('Server running at http://127.0.0.1:1337/');
  • 29. Concurrency/Using Multicores •  The Browser App Platform uses a very simple no shared state concurrency model. §  Web Workers §  Message passing and JSON data records §  Event loops §  Continuation passing style •  Essentially the same model as browser çè webserver
  • 30. Clouds All the Way Down? Open Brand X Cloud Public Cloud Home •  Common programming models Cloud •  Common APIs •  Local/remote cloud transparency Device Device Device Cloud Cloud Cloud
  • 31. A Universal Standards-based Open Platform? •  A nearly universal software platform emerged to dominate each previous computing era. §  Corporate Era: IBM Mainframes §  PC Era: Microsoft/Intel PC •  Is it possible for a vender neutral standards-based platform to achieve similar dominance? Really? W3C, Ecma, WhatWG, IETF, Kronos, …
  • 32. What to do today? •  IT apps will lag •  But enterprises must become part of the Ambient Computing Environment. •  User expectations driven by the ambient device experience •  Ambient Computing technology and skills shifts will drive IT change Building tomorrow’s legacy systems today.
  • 33. This is the most exciting time for the computing industry since the 1980’s. Enjoy it!
  • 34. Follow up http://www.wirfs-brock.com/allen/posts/category/post-pc-computing