SlideShare a Scribd company logo
Chromium vs. Firefox




 Software Architecture and Design Review
Web Browser

Software application for retrieving, presenting,
 and traversing information resources on the
              World Wide Web
Features of a Web
         Browser
•   User Interface
•   Privacy
•   Security
•   Extendibility
•   Standard Support
Reference Architecture
Firefox Architecture
User Interface
Architecture
Browser Engine
Functional Requirements
• Basic User Interface Features
• Watch Audio, Video, Images and other non-HTML
  features.
• Run JavaScript and CSS
• Tabbed Browsing
• Recover from Crashes
• Manage Downloads
Non-Functional
 Requirements
•   Modifiability
•   Security
•   Performance
•   Reusability
•   Extendibility
Chromium Architecture
Functional Requirements
 • Basic User Interface Requirements
 • Multiple Processes for same Application
 • Inter Process Communication
 • Secure/Safe Browsing
 • Watch Audio, Video, Images and other non-HTML
   features.
 • Run JavaScript and CSS
 • Recover from Crashes
 • Manage Downloads
Non-Functional
 Requirements
•   Security
•   Performance
•   Availability
•   Modifiability
•   Usability
•   Extendibility
Comparison – High Level
    Architecture




    Firefox     Chromium
Comparison - Security




Networking Subsystem of   Security Model of
        Firefox              Chromium
Who is the best?
Thank You!
               Presented by,
 Rashmika Nawaratne B.K.U.R.   090348E
 Samitha Senarathna M.S.R.     090476T
 Gimantha Bandara M.           090047F

More Related Content

What's hot

Js engine performance
Js engine performanceJs engine performance
Js engine performancepaullfc
 
HPE SimpliVity
HPE SimpliVityHPE SimpliVity
HPE SimpliVity
Thura Kyaw
 
Monitoring in CloudStack
Monitoring in CloudStackMonitoring in CloudStack
Monitoring in CloudStack
ShapeBlue
 
Edge Zones In CloudStack
Edge Zones In CloudStackEdge Zones In CloudStack
Edge Zones In CloudStack
ShapeBlue
 
Virtualization Vs. Containers
Virtualization Vs. ContainersVirtualization Vs. Containers
Virtualization Vs. Containers
actualtechmedia
 
CoC23_ Looking at the New Features of Apache NiFi
CoC23_ Looking at the New Features of Apache NiFiCoC23_ Looking at the New Features of Apache NiFi
CoC23_ Looking at the New Features of Apache NiFi
Timothy Spann
 
Creating a Website Sitemap
Creating a Website SitemapCreating a Website Sitemap
Creating a Website Sitemap
Jeannie Melinz
 
Lesson Learned: Transforming from ClearCase to Git
Lesson Learned: Transforming from ClearCase to GitLesson Learned: Transforming from ClearCase to Git
Lesson Learned: Transforming from ClearCase to Git
Noa Harel
 
Using Zabbix in IoT Architecture
Using Zabbix in IoT ArchitectureUsing Zabbix in IoT Architecture
Using Zabbix in IoT Architecture
Gruppo Finmatica
 
IBM informix: compared performance efficiency between physical server and Vir...
IBM informix: compared performance efficiency between physical server and Vir...IBM informix: compared performance efficiency between physical server and Vir...
IBM informix: compared performance efficiency between physical server and Vir...
BeGooden-IT Consulting
 
Hardware supports for Virtualization
Hardware supports for VirtualizationHardware supports for Virtualization
Hardware supports for VirtualizationYoonje Choi
 
The SQL Server 2022 Workshop.pptx
The SQL Server 2022 Workshop.pptxThe SQL Server 2022 Workshop.pptx
The SQL Server 2022 Workshop.pptx
UmooraMinhaji
 
Introduction to WordPress
Introduction to WordPressIntroduction to WordPress
Introduction to WordPress
LumosTech
 
Integration Testing with a Citrus twist
Integration Testing with a Citrus twistIntegration Testing with a Citrus twist
Integration Testing with a Citrus twist
christophd
 
Wordpress essential training - Wordpress Presentation PPT
Wordpress essential training - Wordpress Presentation PPTWordpress essential training - Wordpress Presentation PPT
Wordpress essential training - Wordpress Presentation PPT
Abdulla2410
 
Hcx intro preso v2
Hcx intro preso v2Hcx intro preso v2
Hcx intro preso v2
Parashar Singh
 
User server interaction
User server interactionUser server interaction
User server interaction
bhavanatmithun
 
Microsoft Remote Desktop Services
Microsoft Remote Desktop ServicesMicrosoft Remote Desktop Services
Microsoft Remote Desktop Services
Ronnie Isherwood
 
Spring MVC to iOS and the REST
Spring MVC to iOS and the RESTSpring MVC to iOS and the REST
Spring MVC to iOS and the REST
Roy Clarkson
 

What's hot (20)

Js engine performance
Js engine performanceJs engine performance
Js engine performance
 
HPE SimpliVity
HPE SimpliVityHPE SimpliVity
HPE SimpliVity
 
Monitoring in CloudStack
Monitoring in CloudStackMonitoring in CloudStack
Monitoring in CloudStack
 
Edge Zones In CloudStack
Edge Zones In CloudStackEdge Zones In CloudStack
Edge Zones In CloudStack
 
Virtualization Vs. Containers
Virtualization Vs. ContainersVirtualization Vs. Containers
Virtualization Vs. Containers
 
CoC23_ Looking at the New Features of Apache NiFi
CoC23_ Looking at the New Features of Apache NiFiCoC23_ Looking at the New Features of Apache NiFi
CoC23_ Looking at the New Features of Apache NiFi
 
Creating a Website Sitemap
Creating a Website SitemapCreating a Website Sitemap
Creating a Website Sitemap
 
Lesson Learned: Transforming from ClearCase to Git
Lesson Learned: Transforming from ClearCase to GitLesson Learned: Transforming from ClearCase to Git
Lesson Learned: Transforming from ClearCase to Git
 
Using Zabbix in IoT Architecture
Using Zabbix in IoT ArchitectureUsing Zabbix in IoT Architecture
Using Zabbix in IoT Architecture
 
IBM informix: compared performance efficiency between physical server and Vir...
IBM informix: compared performance efficiency between physical server and Vir...IBM informix: compared performance efficiency between physical server and Vir...
IBM informix: compared performance efficiency between physical server and Vir...
 
Hardware supports for Virtualization
Hardware supports for VirtualizationHardware supports for Virtualization
Hardware supports for Virtualization
 
The SQL Server 2022 Workshop.pptx
The SQL Server 2022 Workshop.pptxThe SQL Server 2022 Workshop.pptx
The SQL Server 2022 Workshop.pptx
 
Introduction to WordPress
Introduction to WordPressIntroduction to WordPress
Introduction to WordPress
 
Integration Testing with a Citrus twist
Integration Testing with a Citrus twistIntegration Testing with a Citrus twist
Integration Testing with a Citrus twist
 
The kvm virtualization way
The kvm virtualization wayThe kvm virtualization way
The kvm virtualization way
 
Wordpress essential training - Wordpress Presentation PPT
Wordpress essential training - Wordpress Presentation PPTWordpress essential training - Wordpress Presentation PPT
Wordpress essential training - Wordpress Presentation PPT
 
Hcx intro preso v2
Hcx intro preso v2Hcx intro preso v2
Hcx intro preso v2
 
User server interaction
User server interactionUser server interaction
User server interaction
 
Microsoft Remote Desktop Services
Microsoft Remote Desktop ServicesMicrosoft Remote Desktop Services
Microsoft Remote Desktop Services
 
Spring MVC to iOS and the REST
Spring MVC to iOS and the RESTSpring MVC to iOS and the REST
Spring MVC to iOS and the REST
 

Viewers also liked

Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
Nguyen Quang
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
Sabin Buraga
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web ArchitectureChamnap Chhorn
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)
Hyungwook Lee
 
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
Aimee Maree Forsstrom
 
How Browser Works?
How Browser Works?How Browser Works?
How Browser Works?
Vova Voyevidka
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering PipelineHyungwook Lee
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
juanjosanchezpenas
 
Firefox extension Development
Firefox extension DevelopmentFirefox extension Development
Firefox extension Development
Abhinav Chittora
 
Introduction to cassandra
Introduction to cassandraIntroduction to cassandra
Introduction to cassandra
Nguyen Quang
 
Mobile Opera Browser
Mobile Opera BrowserMobile Opera Browser
Mobile Opera BrowserSteve Yu
 
Mozilla Firefox - Swot analysis
Mozilla Firefox - Swot analysisMozilla Firefox - Swot analysis
Mozilla Firefox - Swot analysisJakob Marovt
 
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
Igalia
 
The Analysis of Google
The Analysis of GoogleThe Analysis of Google
The Analysis of Google
WD Solutions India
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKit
Sencha
 
Chrom works introduction
Chrom works   introductionChrom works   introduction
Chrom works introductionSoo Kim
 
Android chromium web view
Android chromium web viewAndroid chromium web view
Android chromium web view
朋 王
 
LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDK
Linaro
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
Igalia
 

Viewers also liked (20)

Web browser architecture
Web browser architectureWeb browser architecture
Web browser architecture
 
Architecture of the Web browser
Architecture of the Web browserArchitecture of the Web browser
Architecture of the Web browser
 
Introduction to Web Architecture
Introduction to Web ArchitectureIntroduction to Web Architecture
Introduction to Web Architecture
 
Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)Mobile Browser Internal (Blink Rendering Engine)
Mobile Browser Internal (Blink Rendering Engine)
 
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
FirefoxOS and its use of Linux (a deep dive into Gonk architecture)
 
How Browser Works?
How Browser Works?How Browser Works?
How Browser Works?
 
Android Chromium Rendering Pipeline
Android Chromium Rendering PipelineAndroid Chromium Rendering Pipeline
Android Chromium Rendering Pipeline
 
The WebKit project
The WebKit projectThe WebKit project
The WebKit project
 
Firefox extension Development
Firefox extension DevelopmentFirefox extension Development
Firefox extension Development
 
Introduction to cassandra
Introduction to cassandraIntroduction to cassandra
Introduction to cassandra
 
Mobile Opera Browser
Mobile Opera BrowserMobile Opera Browser
Mobile Opera Browser
 
Google chrome
Google chromeGoogle chrome
Google chrome
 
Mozilla Firefox - Swot analysis
Mozilla Firefox - Swot analysisMozilla Firefox - Swot analysis
Mozilla Firefox - Swot analysis
 
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
WebKit and Blink: Open Development Powering the HTML5 Revolution (LinuxCon No...
 
The Analysis of Google
The Analysis of GoogleThe Analysis of Google
The Analysis of Google
 
Compiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKitCompiling and Optimizing Your Own Browser with WebKit
Compiling and Optimizing Your Own Browser with WebKit
 
Chrom works introduction
Chrom works   introductionChrom works   introduction
Chrom works introduction
 
Android chromium web view
Android chromium web viewAndroid chromium web view
Android chromium web view
 
LCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDKLCU14 208- Chromium-Blink Migration for RDK
LCU14 208- Chromium-Blink Migration for RDK
 
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
A Browser for the Automotive: Introduction to WebKit for Wayland (Automotive ...
 

Similar to Chromium vs. Firefox

CompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptxCompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptx
mohedkhadar60
 
Webdev battacherjee
Webdev battacherjeeWebdev battacherjee
Webdev battacherjee
RavingTiger
 
PaaS security challenges and solutions (salesforce vision)
PaaS security challenges and solutions (salesforce vision)PaaS security challenges and solutions (salesforce vision)
PaaS security challenges and solutions (salesforce vision)
Olga Lavrentieva
 
Chrome O S
Chrome O SChrome O S
CIS5-204-Project-CH6Z - Sharyan.pptx.pptx
CIS5-204-Project-CH6Z - Sharyan.pptx.pptxCIS5-204-Project-CH6Z - Sharyan.pptx.pptx
CIS5-204-Project-CH6Z - Sharyan.pptx.pptx
ZakariaSharyan
 
Filemaker security-protect-your-data
Filemaker security-protect-your-dataFilemaker security-protect-your-data
Filemaker security-protect-your-data
DB Services
 
2019 devconfza - legacy js
2019   devconfza - legacy js2019   devconfza - legacy js
2019 devconfza - legacy js
William Brander
 
Document Management System
Document Management System Document Management System
Document Management System
Som Imaging Informatics Pvt. Ltd
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NETYaniv Uriel
 
Selenium for everyone
Selenium for everyoneSelenium for everyone
Selenium for everyone
Tft Us
 
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
Brian Culver
 
CIS5-project-boughzala-amine.pptx
CIS5-project-boughzala-amine.pptxCIS5-project-boughzala-amine.pptx
CIS5-project-boughzala-amine.pptx
amiineboughzala
 
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
Inductive Automation
 
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...Microsoft Private Cloud
 
Media streaming on aws
Media streaming on awsMedia streaming on aws
Media streaming on aws
cloudnonstop
 
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBMEnterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Data Driven Innovation
 
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesMigrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Tony Erwin
 
The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023
Jan-Hendrik Kuperus
 

Similar to Chromium vs. Firefox (20)

Firefox vs. chrome
Firefox vs. chromeFirefox vs. chrome
Firefox vs. chrome
 
CompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptxCompTIASecPLUSAASS-part4 - Edited (1).pptx
CompTIASecPLUSAASS-part4 - Edited (1).pptx
 
Webdev battacherjee
Webdev battacherjeeWebdev battacherjee
Webdev battacherjee
 
PaaS security challenges and solutions (salesforce vision)
PaaS security challenges and solutions (salesforce vision)PaaS security challenges and solutions (salesforce vision)
PaaS security challenges and solutions (salesforce vision)
 
Chrome O S
Chrome O SChrome O S
Chrome O S
 
CIS5-204-Project-CH6Z - Sharyan.pptx.pptx
CIS5-204-Project-CH6Z - Sharyan.pptx.pptxCIS5-204-Project-CH6Z - Sharyan.pptx.pptx
CIS5-204-Project-CH6Z - Sharyan.pptx.pptx
 
Filemaker security-protect-your-data
Filemaker security-protect-your-dataFilemaker security-protect-your-data
Filemaker security-protect-your-data
 
2019 devconfza - legacy js
2019   devconfza - legacy js2019   devconfza - legacy js
2019 devconfza - legacy js
 
Document Management System
Document Management System Document Management System
Document Management System
 
AMF Flash and .NET
AMF Flash and .NETAMF Flash and .NET
AMF Flash and .NET
 
Selenium for everyone
Selenium for everyoneSelenium for everyone
Selenium for everyone
 
Intorduction to Datapower
Intorduction to DatapowerIntorduction to Datapower
Intorduction to Datapower
 
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
SharePointFest 2013 Washington DC - SPT 103 - SharePoint 2013 Extranets: How ...
 
CIS5-project-boughzala-amine.pptx
CIS5-project-boughzala-amine.pptxCIS5-project-boughzala-amine.pptx
CIS5-project-boughzala-amine.pptx
 
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
The New Ignition v7.9 - See, Maintain, and Manage Your Enterprise With Ease
 
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
Microsoft India - Unified Communications Exchange Server 2010 Competitive Adv...
 
Media streaming on aws
Media streaming on awsMedia streaming on aws
Media streaming on aws
 
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBMEnterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
Enterprise Blockchain & Data Sovereignty. Carlo Ferrarini, IBM
 
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to KubernetesMigrating Enterprise Microservices From Cloud Foundry to Kubernetes
Migrating Enterprise Microservices From Cloud Foundry to Kubernetes
 
The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023The Case Against Frameworks - JFall 2023
The Case Against Frameworks - JFall 2023
 

More from Rashmika Nawaratne

Time Management : Manage your focus
Time Management : Manage your focusTime Management : Manage your focus
Time Management : Manage your focus
Rashmika Nawaratne
 
Higher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and ScholarshipsHigher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and Scholarships
Rashmika Nawaratne
 
Professional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and WorkplaceProfessional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and Workplace
Rashmika Nawaratne
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And Intelligence
Rashmika Nawaratne
 
Connect the dots and Groom as a Professional
Connect the dots and Groom as a ProfessionalConnect the dots and Groom as a Professional
Connect the dots and Groom as a Professional
Rashmika Nawaratne
 
Resume Writing and Online Media Presence
Resume Writing and Online Media PresenceResume Writing and Online Media Presence
Resume Writing and Online Media Presence
Rashmika Nawaratne
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Rashmika Nawaratne
 
Show your professionalism using LinkedIn
Show your professionalism using LinkedInShow your professionalism using LinkedIn
Show your professionalism using LinkedIn
Rashmika Nawaratne
 
Professional Communication Etiquette
Professional Communication EtiquetteProfessional Communication Etiquette
Professional Communication Etiquette
Rashmika Nawaratne
 
Sms presentation
Sms presentationSms presentation
Sms presentation
Rashmika Nawaratne
 
OS Fingerprinting
OS FingerprintingOS Fingerprinting
OS Fingerprinting
Rashmika Nawaratne
 
Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)
Rashmika Nawaratne
 
How expensive a logical agent is
How expensive a logical agent isHow expensive a logical agent is
How expensive a logical agent is
Rashmika Nawaratne
 

More from Rashmika Nawaratne (13)

Time Management : Manage your focus
Time Management : Manage your focusTime Management : Manage your focus
Time Management : Manage your focus
 
Higher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and ScholarshipsHigher Education Pathways, Opportunities and Scholarships
Higher Education Pathways, Opportunities and Scholarships
 
Professional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and WorkplaceProfessional Etiquette - Communication, Grooming, Email and Workplace
Professional Etiquette - Communication, Grooming, Email and Workplace
 
Mobile Enablement And Intelligence
Mobile Enablement And IntelligenceMobile Enablement And Intelligence
Mobile Enablement And Intelligence
 
Connect the dots and Groom as a Professional
Connect the dots and Groom as a ProfessionalConnect the dots and Groom as a Professional
Connect the dots and Groom as a Professional
 
Resume Writing and Online Media Presence
Resume Writing and Online Media PresenceResume Writing and Online Media Presence
Resume Writing and Online Media Presence
 
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic FrameworkHybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
Hybrid Mobile Development - Overview and Intro to Cordova/Ionic Framework
 
Show your professionalism using LinkedIn
Show your professionalism using LinkedInShow your professionalism using LinkedIn
Show your professionalism using LinkedIn
 
Professional Communication Etiquette
Professional Communication EtiquetteProfessional Communication Etiquette
Professional Communication Etiquette
 
Sms presentation
Sms presentationSms presentation
Sms presentation
 
OS Fingerprinting
OS FingerprintingOS Fingerprinting
OS Fingerprinting
 
Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)Railway Ticket Issuing System (Online)
Railway Ticket Issuing System (Online)
 
How expensive a logical agent is
How expensive a logical agent isHow expensive a logical agent is
How expensive a logical agent is
 

Recently uploaded

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 

Recently uploaded (20)

Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 

Chromium vs. Firefox

Editor's Notes

  1. Firefox is a well known browser for using extensions. Since the last decade its a paradise for application developers. Chromium. This was initially the same as the Chrome but Google gave out the source code of chrome for developers and the name of the project was chromium. Then the developers added features and released updates under the name of chromium. Our objective is to compare the 2 browsers.
  2. First we’ll look at a general browser and identify its characteristics. Basically browser is a app to retrieve present travers info/resources on www. Initially the user requests for a web resource using a URL. HTML is passed to the browser's layout engine to be transformed from markup to an interactive document. Other than documents most browsers can display images, audio, video, and XML files using technologies like xpath and xquery. Support Flash applications and Java applets.
  3. User Interface: Navigation Buttons Refresh Button Stop Button Home Button Address Bar Integrated Search Bookmarking Tabbed Browsing Privacy and security Provide support for HTTPS Quick and easy ways to delete the web cache, cookies, and browsing history Extensibility Supports the development of browser extensions. Standard Support Ability to display images, audio, video, and XML files, and have extensions to support Flash applications and Java applets
  4. To achieve the requirements of a web browser, Dr. Alan Grosskurth and Dr. Michael W. Godfrey from University of Waterloo have come up with a reference architecture for a general web browser. User Interface component Provides the methods with which a user interacts with the Browser Engine. The Browser Engine component Provides; Methods to initiate the loading of a URL Show error messages Rendering Engine component Visual representation of a given URL. Interprets the HTML, XML, and JavaScript and generates the layout that is displayed in the User Interface. Data Persistence component Manages user data such as bookmarks and preferences. Networking component Handle protocols as HTTP and FTP. Handles all aspects of Internet communication and security. Display Backend component It provides primitive drawing and windowing methods that are host operating system dependent.
  5. We can see that Firefox architecture is largely same to the reference architecture .But there are two differences between them. 1. In the conceptual architecture user interface only builds on gecko. It is not connected to other subcomponents. In the reference architecture, the user interface connects to the Data Persistence component also. 2. In the reference architecture there are two layers for Browser engine and rendering engine. But in the conceptual they are integrated into Gecko. Gecko is an open source layout engine.   Software used to implement the Firefox modules is mentioned in the figure. For ex. Expat for XML Parser, Spider monkey for java script interpreter etc.
  6. Firefox user interface is built on XPTool kit. Three layers of the XPtool kit is shown in the figure. The Frames & Widgets layer directly defines the individual user interface components such as buttons, text fields etc. Services layer controls the services that can be executed through widgets (saving or printing document). Communication between Frames & Widgets layer, Services layer and Gecko happens through the Application Object Model.
  7. Gecko is the heart and the brain of the Firefox. It takes in contents, such as HTML, XML, and many others, and outputs the parsed content onto the web browser display. It depends on every other sub-component except the User Interface. Gecko first receives document data from the networking subsystem Necko. HTML data is parsed by the Document Parser and sent to the Content Model along with any style data. The content model arranges the data into a DOM tree. The DOM tree, style data, and image data are combined into a frame tree by the Frame Constructor. Then it sends the data to the Graphics Interface to be displayed on the system.
  8. As any other web browser firefox provides basic user interface Features. . Watch Audio, Video, Images and other non-HTML features Without plugging Firefox supports many media formats. Audio - WAVE, PCM, WebM, Vorbis, Ogg, Video -WebM, VP8, Vorbis, Ogg, Theora, Vorbis other - APNG (Animated PNG) images with alpha transparency   It Run JavaScript and CSS It providesTabbed Browsing    Recover from Crashe s Firefox will offer to restore session after a crash or other unexpected close. Session Store feature saves session data, including open windows and tabs,text typed in forms.   Download manager Downloading files can be stopped and started at anytime with download manager. If the downloading file is big and connection is slow, downloading can be paused and started later.
  9. Modifiability Firefox architecture consists of modules. They can be modified while the interfaces are kept unchanged.   Security It uses SSL/TLS ( Secure Sockets Layer,Transport Layer Security )to protect communications with web servers using strong cryptography when using the HTTPS protocol. And Firefox integrates with Windows anti-virus software.   Performance Performance of Firefox has been increased by rapid graphics rendering, improved page load speed and faster start-up time. Firefox uses single process model. Advantages It uses less system resources per tab compared to creating multiple Windows processes. Firefox can use fast in-process data access and synchronization objects when it interacts with the history, cookie and cache data stores. Disadvantages Lack of isolation means that if anything causes a page to crash, all Firefox tabs and windows lose.   Reusability Firefox modules are open source and these modules are used in many applications. (E.g. Gecko is used in SeaMonkey ).   Extendibility Extensions add new functionality to Firefox web browser. They can add anything from a toolbar button to a completely new feature. They allow the application to be customized to fit the personal needs of each user if they need additional features
  10. The chromium’s architecture can be seen as a layered architecture as well as a multi process architecture. The layered architecture shown above is spitted into two parts, the browser process and the renderer process. As shown in the slide, the renderer process runs in a sandbox, a security feature which is implemented by Google. All the architectures do not have a sandbox, it could be disabled or enabled depending on the distributor ( since this is an open source project).
  11. Multi processes for same application The chromium has 2 main processes, one for browser and other one for renderer. When there are multiple tabs, a renderer process created for each tab and a new process is created for each plug-in. Inter process communication Although the application has several processes, these processes communicate with each other. The main inter process communication primitive is the named pipe. In browser process, a separate I/O thread is used to communicate with renderer processes and renderer processes use separate thread for communicating with browser and WebKit. The so-called named pipes are used in asychronous mode ensuring neither ends are blocked wiating for each other. IPC allows processes to exchange information such as user information between tabs although they have their own separate tabs Secure and safe browsing Secure and safe browsing limits IPC with other processes. When secure browsing is enabled, data like user information are not exchanged with other tab processes and the websites visited are not saved in the history manager. Recover from crashes Suppose that the whole browser is a single process application. If that processes is crashed the whole browser will crash and will need to restart. As the chromium uses multi processes although one processes get crashed other processes will not crash and even if crashed by refreshing that tab, a new process can be created redirecting to the website it displayed previously
  12. Security uses middleware like browser kernel which handles procedure calls to operating system. The rendering engine is bounded by a sandbox. So malicious code execution inside the sandbox cannot harm the rest of the browser. The plug-ins are not allowed to install in both rendering engine and kernel, when they are installed, they run in separate processes. The rendering engine receives the web URLs through the browser kernel so browser does not directly access the network. A compromised renderer cannot capture user’s keystrokes as each render process runs in separate windows “desktop” which is not visible to user. Performance chromium has a multi-process architecture, which means all the processes have their own memory address spaces and resource space, therefore avoiding shared memory and resources. Uses V8 JavaScript interpreter so browser is very fast relatively than others. As shown in the multiprocess architecture, the inter-process communication is reduced. So performance increases. Availability and robustness chromium architecture is built in such a way that the plug-ins run in separate processes, so plug-ins do not include in browser kernel or rendering engine processes. So if a plug-in crashes, it does not affect the whole browser. If plug-ins contained in two main processes and if plug-in crashed, there would be a great possibility that the whole browser get crashed. Since chromium has multi-process architecture, although one tab process got crashed, other tab processes do not get affected. Even when the crashed tab is refreshed a new process is created killing the crashed tab. Modifiability since the architecture of the chromium can be seen as a layered architecture, each layer can be modified easily with minimum changes to other layers(at most only adjacent 2 layers only). So a new browser can be derived from the existing architecture easily. Usability uppermost layer is the browser’s view layer. It provides an UI which is very easy to learn and use. User will not get lots of security prompts when interacting with the UI as lots of security issues are resolved using the sandbox. In process architecture, there is a separate process for handling I/O. so user will not feel degrade in performance will sending inputs to browser as they are handled separately by the I/O handing process. Extendibility Chromium is a open source project. Thus with the complete documents, this is expected to develop and extend much further. Also, chromium allows developers to build extensions/plugins and use them with the chromium browser.
  13. 1. Firefox has directly used the reference architecture of a web browser. Chrome has deviated from the usual model and developed their unique architecture. 2. Rendering has complete different architectures for above 2 systems. Firefox uses Gecko layout engine where as Chromium uses Webkit layout engine. Both are very fast and compatible with their own unique differences in HTML 5 and CSS 3 features. Webkit is more popular for mobile devices though. Therefore that's something to consider if you are a mobile user. Chromium uses multi process system. That is each web-page in chromium lives in its own process and so if something bad happens to it the entire browser can continue running. Firefox uses separate threads for each web-pages in the process so if one page crashes whole process will get crashed and you will lose all the tabs opened. 4. In the sense of Extension development Chromium is in further. Because it doesn’t need restart to have the effect of a modified extension where as firefox needs. But still firefox has the lead because before chromium came alive firefox was ruling the extension world.
  14. In Firefox security is achieved through the Networking Subsystem. NSS: (Network Security Services), Set of libraries that supports secure client-server communication and application development. 2. PSM: (Personal Security Manager) is built on top of NSS . Set of libraries that perform crypto operations for the client-side application. – support SSL/TLS/Encryption/Signatures and Certification Mgt For Chromium, security is achieved through a reference monitor and a security policy. Treat the rendering engine as a black box. Reduce the complexity of browser’s kernel security monitor
  15. As conclusion both architectures provide all the requirements in their own ways. According to our opinion, chromium’s architecture is more efficient for the basic non functional requirements such as Usability – elegant design Availability – process based tabs over thread based Security – reference monitor Extendibility – Efficient development environment for extensions Performance – As a user and from the statistics on the internet I can say that the responsiveness of chromium is rather high than FF
  16. References: A Reference Architecture for Web Browsers Alan Grosskurth and Michael W. Godfrey School of Computer Science University of Waterloo http://dev.chromium.org/developers/design-documents http://en.wikipedia.org/wiki/Web_browser http://www.smooth-step.com/web-browsers/features http://web.uvic.ca/~hitchner/assign1.pdf http://www.soi.wide.ad.jp/class/20070050/slides/01/index_5.html