SlideShare a Scribd company logo
1 of 85
Hacking The Open Web
       Arun Ranganathan
       Seth Bindernagel
            Mozilla Corporation

      IIT Kanpur, Feb. 2009
Mozilla is...
Mozilla is...
• a global effort to promote choice &
  innovation on the Internet
Mozilla is...
• a global effort to promote choice &
  innovation on the Internet
• foremost, an advocate for users on the Web
Mozilla is...
• a global effort to promote choice &
  innovation on the Internet
• foremost, an advocate for users on the Web
• an open source project with thousands of
  contributors
Mozilla is...
• a global effort to promote choice &
  innovation on the Internet
• foremost, an advocate for users on the Web
• an open source project with thousands of
  contributors
• the maker of the Firefox Web browser and
  the Thunderbird email client
Mozilla is...
• a global effort to promote choice &
  innovation on the Internet
• foremost, an advocate for users on the Web
• an open source project with thousands of
  contributors
• the maker of the Firefox Web browser and
  the Thunderbird email client
• A Platform for Other Applications
K'iche                                                         Itza
                 Islenskur
                                              EsperantoDeutsch
  English                 Afrikaans
 Frizona      Italiano
                                                            Magyar
                    isiZulu                       Tagalog
        Polski
                                          Portuguese
Sranankondre             Arbërisht                            Català
  Español
                                              Føroyskur
                                 Svensk
 Suomalainen       Papiamento                             Dansk Yucatec
                                           Français
                  Российская
                                      český
    Nederlands                                            Pomân
                             Nors               Ελληνικά
                   ‫ﺭﺑﻴﻚ‬
     Turkish                          )‫ﺳﻮﺍﺣﻠﻲ‬
The Open Web Is:
The Open Web Is:
• A Collection of (Mostly) Unencumbered, Cross-
Platform, Interoperable Standards
The Open Web Is:
• A Collection of (Mostly) Unencumbered, Cross-
Platform, Interoperable Standards

• Available on different devices (Mobile, Desktop)
The Open Web Is:
• A Collection of (Mostly) Unencumbered, Cross-
Platform, Interoperable Standards

• Available on different devices (Mobile, Desktop)
• Open Source/Free Software Implementations
The Open Web Is:
• A Collection of (Mostly) Unencumbered, Cross-
Platform, Interoperable Standards

• Available on different devices (Mobile, Desktop)
• Open Source/Free Software Implementations
•Distributed Extensibility
The Open Web Is:
• A Collection of (Mostly) Unencumbered, Cross-
Platform, Interoperable Standards

• Available on different devices (Mobile, Desktop)
• Open Source/Free Software Implementations
•Distributed Extensibility
•No “Single Vendor” Lock In.
What Is NOT Open?
What Is NOT Open?

• Flash, Adobe Air
What Is NOT Open?

• Flash, Adobe Air
• Silverlight (Microsoft’s WPF)
What Is NOT Open?

• Flash, Adobe Air
• Silverlight (Microsoft’s WPF)
• Optimizations for One Browser (Works
  Best on One Browser)
What Is NOT Open?

• Flash, Adobe Air
• Silverlight (Microsoft’s WPF)
• Optimizations for One Browser (Works
  Best on One Browser)
 • You can help us with this!
What Is NOT Open?
The Breakdown of Modern Web Development
Some Visual Demos
• SVG
• Video (HTML5)
• Transformations
• Mixtures
See https://library.mozilla.org/ for Web
Graphics demos
Fast JavaScript
Text
Text
Text
Concepts: Canvas 2D
• Unlike SVG, Canvas is entirely procedural.
  All graphics in JavaScript. Immediate Mode
  Graphics
• Introduced in HTML5
• Has seen some very powerful applications
  built on it.
=
         +
             Sophisticated Grid-based
Canvas
                      Layout
No start-up delay
No start-up delay


Available on mobile devices today
No start-up delay


Available on mobile devices today


Rendering fidelity with browser
 (especially important for typography)
No start-up delay


Available on mobile devices today


Rendering fidelity with browser
 (especially important for typography)



No bridges necessary
No start-up delay


Available on mobile devices today


Rendering fidelity with browser
 (especially important for typography)



No bridges necessary


Not a plug-in
Beta
              1.0                                                                             a
                                                                                        Alph
                                           Beta




Chrome’s V8         Safari’s SquirrelFish Extreme   Firefox’s TraceMonkey   Opera's Carakan
Jakob Nielsen
Noted Usability Expert
“0.1 second is about the limit for
                         having the user feel that the system is
                         reacting instantaneously, meaning
                         that no special feedback is necessary
                         except to display the result.
    Jakob Nielsen
Noted Usability Expert




                         quot;1.0 second is about the limit for the
                         user's ow of thought to stay
                         uninterrupted, even though the user
                         will notice the delay.
“0.1 second is about the limit for
                         having the user feel that the system is
                         reacting instantaneously, meaning
                         that no special feedback is necessary
                         except to display the result.
    Jakob Nielsen
Noted Usability Expert




                         quot;1.0 second is about the limit for the
                         user's ow of thought to stay
                         uninterrupted, even though the user
                         will notice the delay.

                         0.1 second



                         1 second
“0.1 second is about the limit for
                         having the user feel that the system is
                         reacting instantaneously, meaning
                         that no special feedback is necessary
                         except to display the result.
    Jakob Nielsen
Noted Usability Expert




                         quot;1.0 second is about the limit for the
                         user's ow of thought to stay
                         uninterrupted, even though the user
                         will notice the delay.

                         0.1 second



                         1 second
“0.1 second is about the limit for
                         having the user feel that the system is
                         reacting instantaneously, meaning
                         that no special feedback is necessary
                         except to display the result.
    Jakob Nielsen
Noted Usability Expert




                         quot;1.0 second is about the limit for the
                         user's ow of thought to stay
                         uninterrupted, even though the user
                         will notice the delay.

                         0.1 second



                         1 second
Introduction to Bespin

• Discussion of IDEs in general
• Audience: Who Uses What, and Why?
The Editor of Our Dreams
The Editor of Our Dreams



Accessible from anywhere
Any device in any location
The Editor of Our Dreams



Accessible from anywhere
Any device in any location


Simple to Use, like TextMate
An editor, not an IDE
The Editor of Our Dreams



Accessible from anywhere
Any device in any location


Simple to Use, like TextMate
An editor, not an IDE


Very fast
Performance, performance, performance
The Editor of Our Dreams



Accessible from anywhere
Any device in any location


Simple to Use, like TextMate
An editor, not an IDE


Very fast
Performance, performance, performance


Rock-solid real-time collaboration, like
It just works
SubEthaEdit
The Editor of Our Dreams



Accessible from anywhere
Any device in any location


Simple to Use, like TextMate
An editor, not an IDE


Very fast
Performance, performance, performance


Rock-solid real-time collaboration, like
It just works
SubEthaEdit
Integrated command-line, like Emacs or vi
Fun like Quicksilver, social like Ubiquity
The Editor of Our Dreams



Accessible from anywhere
Any device in any location


Simple to Use, like TextMate
An editor, not an IDE


Very fast
Performance, performance, performance


Rock-solid real-time collaboration, like
It just works
SubEthaEdit
Integrated command-line, like Emacs or vi
Fun like Quicksilver, social like Ubiquity


“Self-hosted” environment, like Emacs
For extreme extensibility, but with JavaScript!
Expensive Server-side Code
Analysis
Expensive Server-side Code
Analysis dynamic language
  Crack the
  nut?
Expensive Server-side Code
Analysis dynamic language
  Crack the
  nut?
  Extreme code intelligence
Dave Thomas
Noted Software Expert,
Author, and Publisher
“Programmers, like poets,
                         constantly start with a blank sheet
    Dave Thomas
Noted Software Expert,
Author, and Publisher

                         of paper and they construct things
                         purely out of their imagination.

                         It’s difficult work; if you don’t love
                         your tools, you’re going to start
                         resenting what you’re doing, and
                         that will show in your work.
Dave Thomas
Noted Software Expert,
Author, and Publisher




                         “You must love your so ware
                         tools.”
Live Coding Samples
           Canvas Indian Flag

var ctx = canvas.getContext(quot;2dquot;);

ctx.fillStyle = rgb(_, _, _);
ctx.fillRect(x, y, width, height);
// ctx.clearRect(x, y, width, height);

// Bonus: make the Ashoka Chakra
Live Coding: jQuery
// Everything is selected
$(“.article .thebody”).hide();

//or

$
(this).parents(“ul”).prev(“.thebody”).toggle
Reference

• Demos: http://arunranga.com/
  presentations/2009/IndiaFeb/
• Code: http://developer.mozilla.org/ (do a
  search for stuff)
• Bespin: http://bespin.mozilla.com/
                     Text
• jQuery: http://jquery.com/
• More jQuery: http://simonwillison.net/2007/
  Aug/15/

More Related Content

Viewers also liked

Brand Story
Brand StoryBrand Story
Brand StoryTae Han
 
Klixar Presentation (Aug 2009)
Klixar Presentation (Aug 2009)Klixar Presentation (Aug 2009)
Klixar Presentation (Aug 2009)Suzanne Pozsonyi
 
Enhancing the user experience in our Web Applications
Enhancing the user experience in our Web ApplicationsEnhancing the user experience in our Web Applications
Enhancing the user experience in our Web ApplicationsChrisCariglia
 
A qué sabe eutopía 2012
A qué sabe eutopía 2012A qué sabe eutopía 2012
A qué sabe eutopía 2012fatiluma
 
Honeywell User's Group Almirall's MES case study
Honeywell User's Group Almirall's MES case studyHoneywell User's Group Almirall's MES case study
Honeywell User's Group Almirall's MES case studyDavid Badia
 
Why User Experience?
Why User Experience?Why User Experience?
Why User Experience?Interakt
 
Lessons from the Facebook Trenches: Thinking Beyond "Likes"
Lessons from the Facebook Trenches: Thinking Beyond "Likes"Lessons from the Facebook Trenches: Thinking Beyond "Likes"
Lessons from the Facebook Trenches: Thinking Beyond "Likes"Matt Hicks
 
Book Review The Definitive Drucker by E H Edersheim
Book Review The Definitive Drucker by  E H EdersheimBook Review The Definitive Drucker by  E H Edersheim
Book Review The Definitive Drucker by E H EdersheimMahesh Shinde
 
Digital Betjening
Digital BetjeningDigital Betjening
Digital Betjeningsusannek
 
Senadors.org - Xarxes Socials i Web 2.0
Senadors.org - Xarxes Socials i Web 2.0Senadors.org - Xarxes Socials i Web 2.0
Senadors.org - Xarxes Socials i Web 2.0David Badia
 
Investimento Paradise S.P.A. Copia
Investimento Paradise S.P.A.   CopiaInvestimento Paradise S.P.A.   Copia
Investimento Paradise S.P.A. Copiaparadisespa
 
Epidermolysis Bullosa
Epidermolysis BullosaEpidermolysis Bullosa
Epidermolysis Bullosaguest55f974
 
Hvad Er Der Gang I
Hvad Er Der Gang IHvad Er Der Gang I
Hvad Er Der Gang Isusannek
 
Pr&Marketing – Start På Strategi
Pr&Marketing – Start På StrategiPr&Marketing – Start På Strategi
Pr&Marketing – Start På Strategisusannek
 

Viewers also liked (20)

Brand Story
Brand StoryBrand Story
Brand Story
 
Figurative Work
Figurative WorkFigurative Work
Figurative Work
 
Wedding Cakes In Kuwait
Wedding Cakes In KuwaitWedding Cakes In Kuwait
Wedding Cakes In Kuwait
 
Klixar Presentation (Aug 2009)
Klixar Presentation (Aug 2009)Klixar Presentation (Aug 2009)
Klixar Presentation (Aug 2009)
 
The Poop Theory
The Poop TheoryThe Poop Theory
The Poop Theory
 
Design
DesignDesign
Design
 
Enhancing the user experience in our Web Applications
Enhancing the user experience in our Web ApplicationsEnhancing the user experience in our Web Applications
Enhancing the user experience in our Web Applications
 
A qué sabe eutopía 2012
A qué sabe eutopía 2012A qué sabe eutopía 2012
A qué sabe eutopía 2012
 
Honeywell User's Group Almirall's MES case study
Honeywell User's Group Almirall's MES case studyHoneywell User's Group Almirall's MES case study
Honeywell User's Group Almirall's MES case study
 
Why User Experience?
Why User Experience?Why User Experience?
Why User Experience?
 
Lessons from the Facebook Trenches: Thinking Beyond "Likes"
Lessons from the Facebook Trenches: Thinking Beyond "Likes"Lessons from the Facebook Trenches: Thinking Beyond "Likes"
Lessons from the Facebook Trenches: Thinking Beyond "Likes"
 
Book Review The Definitive Drucker by E H Edersheim
Book Review The Definitive Drucker by  E H EdersheimBook Review The Definitive Drucker by  E H Edersheim
Book Review The Definitive Drucker by E H Edersheim
 
Digital Betjening
Digital BetjeningDigital Betjening
Digital Betjening
 
Senadors.org - Xarxes Socials i Web 2.0
Senadors.org - Xarxes Socials i Web 2.0Senadors.org - Xarxes Socials i Web 2.0
Senadors.org - Xarxes Socials i Web 2.0
 
Investimento Paradise S.P.A. Copia
Investimento Paradise S.P.A.   CopiaInvestimento Paradise S.P.A.   Copia
Investimento Paradise S.P.A. Copia
 
Epidermolysis Bullosa
Epidermolysis BullosaEpidermolysis Bullosa
Epidermolysis Bullosa
 
Hvad Er Der Gang I
Hvad Er Der Gang IHvad Er Der Gang I
Hvad Er Der Gang I
 
Pr&Marketing – Start På Strategi
Pr&Marketing – Start På StrategiPr&Marketing – Start På Strategi
Pr&Marketing – Start På Strategi
 
Ian Jones
Ian JonesIan Jones
Ian Jones
 
Top20 #1 Pattern Interrupt
Top20 #1 Pattern InterruptTop20 #1 Pattern Interrupt
Top20 #1 Pattern Interrupt
 

Similar to IITK Workshop

State Of Ajax Zend Con 08
State Of Ajax   Zend Con 08State Of Ajax   Zend Con 08
State Of Ajax Zend Con 08bgalbs
 
Working With People Adl Uni
Working With People Adl UniWorking With People Adl Uni
Working With People Adl UniMatthew Landauer
 
It's Time to Debloat the Cloud with Unikraft
It's Time to Debloat the Cloud with UnikraftIt's Time to Debloat the Cloud with Unikraft
It's Time to Debloat the Cloud with UnikraftScyllaDB
 
2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven development2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven developmentPROIDEA
 
Windows 8 Introduction
Windows 8 IntroductionWindows 8 Introduction
Windows 8 IntroductionAjesh Issac
 
Real Time Realitites
Real Time RealititesReal Time Realitites
Real Time Realititesmarkisuak
 
Єгор Попович, CTO @Tesseract, (Lviv, Ukraine) "Blockchain user: myth or reali...
Єгор Попович, CTO @Tesseract, (Lviv, Ukraine) "Blockchain user: myth or reali...Єгор Попович, CTO @Tesseract, (Lviv, Ukraine) "Blockchain user: myth or reali...
Єгор Попович, CTO @Tesseract, (Lviv, Ukraine) "Blockchain user: myth or reali...Dakiry
 
How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08kingsfleet
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portlanddmethvin
 
Lotus Foundations Start 1 0 English Version
Lotus Foundations Start 1 0 English VersionLotus Foundations Start 1 0 English Version
Lotus Foundations Start 1 0 English VersionEnzo Stanzione
 
Effective User Interfaces in Windows Presentation Foundation and Microsoft Si...
Effective User Interfaces in Windows Presentation Foundation and Microsoft Si...Effective User Interfaces in Windows Presentation Foundation and Microsoft Si...
Effective User Interfaces in Windows Presentation Foundation and Microsoft Si...goodfriday
 
Cerebro for vfx eng
Cerebro for vfx engCerebro for vfx eng
Cerebro for vfx engCineSoft
 

Similar to IITK Workshop (20)

State Of Ajax Zend Con 08
State Of Ajax   Zend Con 08State Of Ajax   Zend Con 08
State Of Ajax Zend Con 08
 
Working With People Adl Uni
Working With People Adl UniWorking With People Adl Uni
Working With People Adl Uni
 
Windows 10 overview
Windows 10 overviewWindows 10 overview
Windows 10 overview
 
It's Time to Debloat the Cloud with Unikraft
It's Time to Debloat the Cloud with UnikraftIt's Time to Debloat the Cloud with Unikraft
It's Time to Debloat the Cloud with Unikraft
 
2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven development2016 - Daniel Lebrero - REPL driven development
2016 - Daniel Lebrero - REPL driven development
 
Windows 8 Introduction
Windows 8 IntroductionWindows 8 Introduction
Windows 8 Introduction
 
Real Time Realitites
Real Time RealititesReal Time Realitites
Real Time Realitites
 
Єгор Попович, CTO @Tesseract, (Lviv, Ukraine) "Blockchain user: myth or reali...
Єгор Попович, CTO @Tesseract, (Lviv, Ukraine) "Blockchain user: myth or reali...Єгор Попович, CTO @Tesseract, (Lviv, Ukraine) "Blockchain user: myth or reali...
Єгор Попович, CTO @Tesseract, (Lviv, Ukraine) "Blockchain user: myth or reali...
 
State Of Opensocial
State Of OpensocialState Of Opensocial
State Of Opensocial
 
How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08
 
State of jQuery June 2013 - Portland
State of jQuery June 2013 - PortlandState of jQuery June 2013 - Portland
State of jQuery June 2013 - Portland
 
Canvas real speaker
Canvas real speakerCanvas real speaker
Canvas real speaker
 
Lotus Foundations Start 1 0 English Version
Lotus Foundations Start 1 0 English VersionLotus Foundations Start 1 0 English Version
Lotus Foundations Start 1 0 English Version
 
Effective User Interfaces in Windows Presentation Foundation and Microsoft Si...
Effective User Interfaces in Windows Presentation Foundation and Microsoft Si...Effective User Interfaces in Windows Presentation Foundation and Microsoft Si...
Effective User Interfaces in Windows Presentation Foundation and Microsoft Si...
 
Cerebro for vfx eng
Cerebro for vfx engCerebro for vfx eng
Cerebro for vfx eng
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
Software savings world downloads
Software savings world downloadsSoftware savings world downloads
Software savings world downloads
 
Software savings world windows 7
Software savings world windows 7Software savings world windows 7
Software savings world windows 7
 
Software savings world reality
Software savings world realitySoftware savings world reality
Software savings world reality
 

Recently uploaded

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Recently uploaded (20)

Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

IITK Workshop

  • 1. Hacking The Open Web Arun Ranganathan Seth Bindernagel Mozilla Corporation IIT Kanpur, Feb. 2009
  • 3. Mozilla is... • a global effort to promote choice & innovation on the Internet
  • 4. Mozilla is... • a global effort to promote choice & innovation on the Internet • foremost, an advocate for users on the Web
  • 5. Mozilla is... • a global effort to promote choice & innovation on the Internet • foremost, an advocate for users on the Web • an open source project with thousands of contributors
  • 6. Mozilla is... • a global effort to promote choice & innovation on the Internet • foremost, an advocate for users on the Web • an open source project with thousands of contributors • the maker of the Firefox Web browser and the Thunderbird email client
  • 7. Mozilla is... • a global effort to promote choice & innovation on the Internet • foremost, an advocate for users on the Web • an open source project with thousands of contributors • the maker of the Firefox Web browser and the Thunderbird email client • A Platform for Other Applications
  • 8.
  • 9. K'iche Itza Islenskur EsperantoDeutsch English Afrikaans Frizona Italiano Magyar isiZulu Tagalog Polski Portuguese Sranankondre Arbërisht Català Español Føroyskur Svensk Suomalainen Papiamento Dansk Yucatec Français Российская český Nederlands Pomân Nors Ελληνικά ‫ﺭﺑﻴﻚ‬ Turkish )‫ﺳﻮﺍﺣﻠﻲ‬
  • 11. The Open Web Is: • A Collection of (Mostly) Unencumbered, Cross- Platform, Interoperable Standards
  • 12. The Open Web Is: • A Collection of (Mostly) Unencumbered, Cross- Platform, Interoperable Standards • Available on different devices (Mobile, Desktop)
  • 13. The Open Web Is: • A Collection of (Mostly) Unencumbered, Cross- Platform, Interoperable Standards • Available on different devices (Mobile, Desktop) • Open Source/Free Software Implementations
  • 14. The Open Web Is: • A Collection of (Mostly) Unencumbered, Cross- Platform, Interoperable Standards • Available on different devices (Mobile, Desktop) • Open Source/Free Software Implementations •Distributed Extensibility
  • 15. The Open Web Is: • A Collection of (Mostly) Unencumbered, Cross- Platform, Interoperable Standards • Available on different devices (Mobile, Desktop) • Open Source/Free Software Implementations •Distributed Extensibility •No “Single Vendor” Lock In.
  • 16. What Is NOT Open?
  • 17. What Is NOT Open? • Flash, Adobe Air
  • 18. What Is NOT Open? • Flash, Adobe Air • Silverlight (Microsoft’s WPF)
  • 19. What Is NOT Open? • Flash, Adobe Air • Silverlight (Microsoft’s WPF) • Optimizations for One Browser (Works Best on One Browser)
  • 20. What Is NOT Open? • Flash, Adobe Air • Silverlight (Microsoft’s WPF) • Optimizations for One Browser (Works Best on One Browser) • You can help us with this!
  • 21. What Is NOT Open?
  • 22.
  • 23. The Breakdown of Modern Web Development
  • 24. Some Visual Demos • SVG • Video (HTML5) • Transformations • Mixtures See https://library.mozilla.org/ for Web Graphics demos
  • 25.
  • 27.
  • 28.
  • 29.
  • 30. Text
  • 31. Text
  • 32. Text
  • 33. Concepts: Canvas 2D • Unlike SVG, Canvas is entirely procedural. All graphics in JavaScript. Immediate Mode Graphics • Introduced in HTML5 • Has seen some very powerful applications built on it.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. = + Sophisticated Grid-based Canvas Layout
  • 39.
  • 41. No start-up delay Available on mobile devices today
  • 42. No start-up delay Available on mobile devices today Rendering fidelity with browser (especially important for typography)
  • 43. No start-up delay Available on mobile devices today Rendering fidelity with browser (especially important for typography) No bridges necessary
  • 44. No start-up delay Available on mobile devices today Rendering fidelity with browser (especially important for typography) No bridges necessary Not a plug-in
  • 45.
  • 46.
  • 47.
  • 48.
  • 49. Beta 1.0 a Alph Beta Chrome’s V8 Safari’s SquirrelFish Extreme Firefox’s TraceMonkey Opera's Carakan
  • 50.
  • 52. “0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result. Jakob Nielsen Noted Usability Expert quot;1.0 second is about the limit for the user's ow of thought to stay uninterrupted, even though the user will notice the delay.
  • 53. “0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result. Jakob Nielsen Noted Usability Expert quot;1.0 second is about the limit for the user's ow of thought to stay uninterrupted, even though the user will notice the delay. 0.1 second 1 second
  • 54. “0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result. Jakob Nielsen Noted Usability Expert quot;1.0 second is about the limit for the user's ow of thought to stay uninterrupted, even though the user will notice the delay. 0.1 second 1 second
  • 55. “0.1 second is about the limit for having the user feel that the system is reacting instantaneously, meaning that no special feedback is necessary except to display the result. Jakob Nielsen Noted Usability Expert quot;1.0 second is about the limit for the user's ow of thought to stay uninterrupted, even though the user will notice the delay. 0.1 second 1 second
  • 56. Introduction to Bespin • Discussion of IDEs in general • Audience: Who Uses What, and Why?
  • 57.
  • 58.
  • 59.
  • 60.
  • 61. The Editor of Our Dreams
  • 62. The Editor of Our Dreams Accessible from anywhere Any device in any location
  • 63. The Editor of Our Dreams Accessible from anywhere Any device in any location Simple to Use, like TextMate An editor, not an IDE
  • 64. The Editor of Our Dreams Accessible from anywhere Any device in any location Simple to Use, like TextMate An editor, not an IDE Very fast Performance, performance, performance
  • 65. The Editor of Our Dreams Accessible from anywhere Any device in any location Simple to Use, like TextMate An editor, not an IDE Very fast Performance, performance, performance Rock-solid real-time collaboration, like It just works SubEthaEdit
  • 66. The Editor of Our Dreams Accessible from anywhere Any device in any location Simple to Use, like TextMate An editor, not an IDE Very fast Performance, performance, performance Rock-solid real-time collaboration, like It just works SubEthaEdit Integrated command-line, like Emacs or vi Fun like Quicksilver, social like Ubiquity
  • 67. The Editor of Our Dreams Accessible from anywhere Any device in any location Simple to Use, like TextMate An editor, not an IDE Very fast Performance, performance, performance Rock-solid real-time collaboration, like It just works SubEthaEdit Integrated command-line, like Emacs or vi Fun like Quicksilver, social like Ubiquity “Self-hosted” environment, like Emacs For extreme extensibility, but with JavaScript!
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 75. Expensive Server-side Code Analysis dynamic language Crack the nut?
  • 76. Expensive Server-side Code Analysis dynamic language Crack the nut? Extreme code intelligence
  • 77.
  • 78.
  • 79.
  • 80. Dave Thomas Noted Software Expert, Author, and Publisher
  • 81. “Programmers, like poets, constantly start with a blank sheet Dave Thomas Noted Software Expert, Author, and Publisher of paper and they construct things purely out of their imagination. It’s difficult work; if you don’t love your tools, you’re going to start resenting what you’re doing, and that will show in your work.
  • 82. Dave Thomas Noted Software Expert, Author, and Publisher “You must love your so ware tools.”
  • 83. Live Coding Samples Canvas Indian Flag var ctx = canvas.getContext(quot;2dquot;); ctx.fillStyle = rgb(_, _, _); ctx.fillRect(x, y, width, height); // ctx.clearRect(x, y, width, height); // Bonus: make the Ashoka Chakra
  • 84. Live Coding: jQuery // Everything is selected $(“.article .thebody”).hide(); //or $ (this).parents(“ul”).prev(“.thebody”).toggle
  • 85. Reference • Demos: http://arunranga.com/ presentations/2009/IndiaFeb/ • Code: http://developer.mozilla.org/ (do a search for stuff) • Bespin: http://bespin.mozilla.com/ Text • jQuery: http://jquery.com/ • More jQuery: http://simonwillison.net/2007/ Aug/15/

Editor's Notes

  1. Introductory Slide Who is Arun: history, etc. Who is Seth: etc.
  2. Want people to be able to access internet services from their choice of platforms in a secure manner Want web developers to be able to innovative web applications Browser is your gateway to the net
  3. Want people to be able to access internet services from their choice of platforms in a secure manner Want web developers to be able to innovative web applications Browser is your gateway to the net
  4. Want people to be able to access internet services from their choice of platforms in a secure manner Want web developers to be able to innovative web applications Browser is your gateway to the net
  5. Want people to be able to access internet services from their choice of platforms in a secure manner Want web developers to be able to innovative web applications Browser is your gateway to the net
  6. Want people to be able to access internet services from their choice of platforms in a secure manner Want web developers to be able to innovative web applications Browser is your gateway to the net
  7. Participation is self-determination
  8. Participation is self-determination
  9. Participation is self-determination
  10. Participation is self-determination
  11. Participation is self-determination
  12. Participation is self-determination
  13. Participation is self-determination
  14. Participation is self-determination
  15. Participation is self-determination
  16. Participation is self-determination
  17. Participation is self-determination
  18. Participation is self-determination
  19. Participation is self-determination
  20. Participation is self-determination
  21. Participation is self-determination
  22. Participation is self-determination
  23. Participation is self-determination
  24. Participation is self-determination
  25. Participation is self-determination
  26. Participation is self-determination
  27. Participation is self-determination
  28. Participation is self-determination
  29. Participation is self-determination
  30. Participation is self-determination
  31. Participation is self-determination
  32. Participation is self-determination
  33. Participation is self-determination
  34. Participation is self-determination
  35. Participation is self-determination
  36. Participation is self-determination
  37. Participation is self-determination
  38. Participation is self-determination
  39. Participation is self-determination
  40. Participation is self-determination
  41. Participation is self-determination
  42. Participation is self-determination
  43. Participation is self-determination
  44. Talk about the fact that tomorrow, there will be more demos and an HTML5 Demo
  45. Talk about the fact that tomorrow, there will be more demos and an HTML5 Demo
  46. Talk about the fact that tomorrow, there will be more demos and an HTML5 Demo
  47. Talk about the fact that tomorrow, there will be more demos and an HTML5 Demo
  48. Talk about the fact that tomorrow, there will be more demos and an HTML5 Demo
  49. Talk About Open-Sourcing this image.... Talk about SVG....
  50. * Make Joke * Say Things Do Need to get Simpler
  51. Show the Indian Flag Demo. Discuss other demos.