SlideShare ist ein Scribd-Unternehmen logo
1 von 34
Downloaden Sie, um offline zu lesen
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
Is the Browser a Transitional Technology?
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

Weitere ähnliche Inhalte

Was ist angesagt?

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 phenomenonZool
 
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.0Dion 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 designVinny 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 FactorEffectiveUI
 
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 MustacheBrian Sam-Bodden
 
Google Developer Day: State of Ajax
Google Developer Day: State of AjaxGoogle Developer Day: State of Ajax
Google Developer Day: State of Ajaxdion
 
The Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityThe Modern Web, Part 1: Mobility
The Modern Web, Part 1: MobilityDavid Pallmann
 
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 WebsitesKeith Doyle
 
It's All About Context
It's All About ContextIt's All About Context
It's All About ContextKevin Suttle
 

Was ist angesagt? (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
 

Ähnlich wie 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 LittleJAX London
 
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 2010Tom Deryckere
 
Modeling on the Web
Modeling on the WebModeling on the Web
Modeling on the WebIcinetic
 
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
 
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 SimulatorGail Frederick
 
Cross Platform Mobile Development
Cross Platform Mobile DevelopmentCross Platform Mobile Development
Cross Platform Mobile DevelopmentIntergen
 
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 DevelopmentRui Curado
 
Drupalcamp New York 2009
Drupalcamp New York 2009Drupalcamp New York 2009
Drupalcamp New York 2009Tom Deryckere
 

Ähnlich wie 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
 

Kürzlich hochgeladen

UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.francesco barbera
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 

Kürzlich hochgeladen (20)

UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.Digital magic. A small project for controlling smart light bulbs.
Digital magic. A small project for controlling smart light bulbs.
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 

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
  • 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