0
Is the Browser aTransitional Technology?		Talk, by Allen Wirfs-Brock	Agile Portugal 2011, June 23, 2011	One dimension of s...
Is the Browser aTransitional Technology?	          Allen Wirfs-Brock
A little background about me	•    Compilers, Smalltalk virtual machines, GCs, language design, development tools	•    Laun...
Fundamental Change	•  We’re mostly used to incremental, evolutionary change	•  Fundamental change is rare and hard to reco...
The Eras of Computing	                                                        Computers	                                  ...
The New Era of Computing	•  Devices not Computers	•  Ubiquitous access to information	•  Computer augmented life		I want m...
What’s the ComputingEnvironment of your Application	•  Today? 	                Desktop PC?	•  Tomorrow?	              Vari...
Transitional Technologies	•  Precursors of fundamental change 	•  Exhibit some characteristics of what will come	•  Firmly...
Transitional Technologies                           Precursors of PC Era	Societal Impact	                               Mi...
Transitional Technologies                     Precursors of Ambient Computing Era	                                        ...
The Cell Phone	•  Always with you	•  Always connected	•  But initially dedicated into a single use case	•  PC era business...
The WWW/Web Browser	          •  First real ubiquitous web of             information	          •  Universal client/server...
Why are these only transitional	•  Telephony is just an application	•  Wireless communications now common part of most dev...
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 Libra...
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,     	        ...
What operating system does     that device run?                    	           Who cares….
Each Computing Era has had aCanonical Programming Language	 •  Corporate Computing Era – COBOL	 •  Personal Computing Era ...
Why JavaScript?                               	•  It’s there – It’s working	•  It’s good enough	•  It’s getting better	•  ...
JavaScript Performance Over Time	                                                                                         ...
Evolving JavaScript                               	http://wiki.ecmascript.org/doku.php?id=harmony:proposals
PDF Renderer in JavaScript	                           http://andreasgal.com/2011/06/15/pdf-js/                           h...
CPython Compiled to JavaScript	                            https://github.com/kripken/emscripten/wiki                     ...
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   ...
Concurrency/Using Multicores                           	•  The Browser App Platform uses a very simple no shared  state co...
Clouds All the Way Down?                         	                                            Open	  Brand X              ...
A Universal Standards-based       Open Platform? 	•  A nearly universal software platform emerged to dominate  each previo...
What to do today?                                    	•  IT apps will lag	•  But enterprises must become part of the Ambie...
This is the most exciting time for the computing industry        since the 1980’s.                        	               ...
Follow up                                 	http://www.wirfs-brock.com/allen/posts/category/post-pc-computing
Is the Browser a Transitional Technology?
Upcoming SlideShare
Loading in...5
×

Is the Browser a Transitional Technology?

6,132

Published on

Presentation by Allen Wirfs-Brock
Agile Portugal 2011, June 23, 2011
www.wirfs-brock.com/allen
@awbjs


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.

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,132
On Slideshare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
27
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Transcript of "Is the Browser a Transitional Technology?"

  1. 1. Is the Browser aTransitional 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 andinfrastructure. Long-lived software systems may have to be adapted to several major technologychanges over the course of their active use. Today, many project are increasing focused on web basedapplications that use web browsers as their primarily user interface. How durable is this applicationstyle going to be? Is the browser likely to continue to expand its primacy? Can we expect the basicstructure of our web facing applications to remain fairly stable for the foreseeable future or do weneed to be preparing to make drastic changes? If the browser is a transitional technology, what willreplace it? In this talk I’ll explore these and related issues about what is likely to happen with webdevelop technologies over the next few years.
  2. 2. Is the Browser aTransitional Technology? Allen Wirfs-Brock
  3. 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. 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. 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. 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. 7. What’s the ComputingEnvironment of your Application •  Today? Desktop PC? •  Tomorrow? Variety of mobile/fixed devices? Design for today, be prepared for tomorrow.
  8. 8. Transitional Technologies •  Precursors of fundamental change •  Exhibit some characteristics of what will come •  Firmly root in the status quo
  9. 9. Transitional Technologies Precursors of PC Era Societal Impact Minicomputers Timesharing Personal Computing Corporate Computing 1950 1960 1970 1980 1990 2000 2010 2020
  10. 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. 11. The Cell Phone •  Always with you •  Always connected •  But initially dedicated into a single use case •  PC era business models
  12. 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. 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. 14. What do you have when you strip away the PC application part of a browser?
  15. 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. 16. Java promised “write once, run everywhere”, the modern web application platform is delivering it.
  17. 17. 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”
  18. 18. What operating system does that device run? Who cares….
  19. 19. Each Computing Era has had aCanonical Programming Language •  Corporate Computing Era – COBOL •  Personal Computing Era – C •  Ambient Computing Era – JavaScript ??
  20. 20. 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
  21. 21. JavaScript Performance Over Time ActionScript (Flash) vs JavaScript http://people.mozilla.com/~dmandelin/KnowYourEngines_Velocity2011.pdf http://iq12.com/blog/as3-benchmark/
  22. 22. Evolving JavaScript http://wiki.ecmascript.org/doku.php?id=harmony:proposals
  23. 23. PDF Renderer in JavaScript http://andreasgal.com/2011/06/15/pdf-js/ http://people.mozilla.org/~gal/test.html
  24. 24. CPython Compiled to JavaScript https://github.com/kripken/emscripten/wiki http://syntensity.com/static/python.html
  25. 25. What About “The Cloud” The Cloud
  26. 26. We Really Aren’t Going Back to Timesharing Hacking after midnight must be a life choice, not a necessity!
  27. 27. 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/);
  28. 28. 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
  29. 29. 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
  30. 30. 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, …
  31. 31. 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.
  32. 32. This is the most exciting time for the computing industry since the 1980’s. Enjoy it!
  33. 33. Follow up http://www.wirfs-brock.com/allen/posts/category/post-pc-computing
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×