• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Is the Browser a Transitional Technology?
 

Is the Browser a Transitional Technology?

on

  • 5,980 views

Presentation by Allen Wirfs-Brock ...

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.

Statistics

Views

Total Views
5,980
Views on SlideShare
3,633
Embed Views
2,347

Actions

Likes
2
Downloads
24
Comments
0

14 Embeds 2,347

http://www.wirfs-brock.com 2297
http://2011.agilept.org 21
http://plus.url.google.com 8
http://safe.tumblr.com 5
http://translate.googleusercontent.com 3
http://feedly.com 3
http://dev.newsblur.com 3
http://www.google.co.za 1
http://newsblur.com 1
http://webcache.googleusercontent.com 1
https://www.google.co.kr 1
http://a0.twimg.com 1
http://www.slideshare.net 1
http://digg.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Is the Browser a Transitional Technology? Is the Browser a Transitional Technology? Presentation Transcript

    • 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.
    • Is the Browser aTransitional 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 ComputingEnvironment 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 aCanonical 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