SlideShare a Scribd company logo
1 of 10
Download to read offline
Web application stores in GNOME
José Dapena Paz <jdapena@igalia.com>
Web application stores in GNOME

2

Step 1: integrate any web application in desktop
●

Achieved with Epiphany “Save as Web Application”

Webs saved by user are shown as toplevel desktop
applications.
●

Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
Web application stores in GNOME

3

Step 2: web application stores. Do we need to support
them?
●

GNOME is not a big target for developers.

●

Web apps are.

●

Apps stores are not the key, but the apps themselves.
–
–

●

We need to support the technologies they use.
App stores just give a good visibility to the applications.

Users want apps fiting their specific needs:
–

The more app platforms we support, the more likely we match user
needs.

Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
Web application stores in GNOME

4

Experiment: Epiphany support for Chrome web Store and
Mozilla OpenWebApps
Available at
https://github.com/jdapena/epiphany/tree/webapp

Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
Web application stores in GNOME

5

Results: Chrome Web Store
API is not public. Any change in their APIs would break
Chrome web store support.
●

●

Some apps use specific Chrome APIs.
–

Not many, but store API's do not report that information.

Final user perception: apps randomly fail. No real good
support. They'll drop Epiphany and adopt Chrome.
●

●

What to do? We won't play a game of cat and mouse.

Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
Web application stores in GNOME

6

Results: Mozilla marketplace
●

Still not available. Expected for this year.

●

API's discussion and specs are publicly available.

●

Some of them already sent to W3C.

●

What to do? Support it.

Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
Web application stores in GNOME

7

Implementation challenges:
Web stores support is basically implementing some
javascript API's that map to Epiphany applications
support (applications list, permissions and UI for
install/uninstall).
●

Experiment implementation based on WebKit-GTK+
JavaScriptCore API. We get access from GTK+ code to the
web javascript contexts.
●

Epiphany is targetting WebKit2. No direct exposure of
web javascript contexts.
●

Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
Web application stores in GNOME

8

But the key that will make the difference is supporting
the new HTML5 features apps will use.
–

New graphic features (CSS3, WebGL, …).

–

New types of form inputs (phone, email, date/time, …).

–

Video and audio streaming, RTC, use media streams as form inputs.

–

Hardware and desktop integration (battery, geolocation, full screen,
device orientation, notifications, web intents, other sensors).

This work goes mainly on WebKit and WebKit-GTK+

Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
Web application stores in GNOME

9

Goal: OpenWebApps stores support in Epiphany.
Target: Q2 2013.
Any help is warmly welcome.

But:
Apps store support RELY heavily on implementing HTML5 new
standards.

●

Roadmap needs to be updated.

●

Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
Web application stores in GNOME

10

Goal:
OpenWebApps stores support in Epiphany.
Target: Q2 2013.
Any help is warmly welcome.
But:
Apps store support RELY heavily on
implementing HTML5 new standards.
Roadmap needs to be updated.
Jose Dapena Paz | jdapena@igalia.com | www.igalia.com

More Related Content

What's hot

Google-IO-Presentation
Google-IO-PresentationGoogle-IO-Presentation
Google-IO-Presentation
Leo Chen
 

What's hot (13)

Drupal 8 Quick Start: An Overview of Lightning
Drupal 8 Quick Start: An Overview of LightningDrupal 8 Quick Start: An Overview of Lightning
Drupal 8 Quick Start: An Overview of Lightning
 
React and Web Performance
React and Web Performance React and Web Performance
React and Web Performance
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 Recap
 
Google-IO-Presentation
Google-IO-PresentationGoogle-IO-Presentation
Google-IO-Presentation
 
Star media group + huawei mobile services v5
Star media group + huawei mobile services v5Star media group + huawei mobile services v5
Star media group + huawei mobile services v5
 
What’s new in Angular 5 JavaScript Framework?
What’s new in Angular 5 JavaScript Framework?What’s new in Angular 5 JavaScript Framework?
What’s new in Angular 5 JavaScript Framework?
 
React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
 
React Native - CirebonDev
React Native - CirebonDevReact Native - CirebonDev
React Native - CirebonDev
 
Google IO 2018
Google IO 2018Google IO 2018
Google IO 2018
 
Discover Android Wear
Discover Android WearDiscover Android Wear
Discover Android Wear
 
Bots and News
Bots and NewsBots and News
Bots and News
 
Succeeding with FOSS!
Succeeding with FOSS!Succeeding with FOSS!
Succeeding with FOSS!
 
Microservices with the PlayFramework
Microservices with the PlayFrameworkMicroservices with the PlayFramework
Microservices with the PlayFramework
 

Similar to Web application stores in GNOME (GUADEC 2012)

Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momenta
apps4allru
 

Similar to Web application stores in GNOME (GUADEC 2012) (20)

PhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsPhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native Components
 
XTech May 2008
XTech May 2008XTech May 2008
XTech May 2008
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Jose l ugia 6 wunderkinder, momenta
Jose l ugia  6 wunderkinder, momentaJose l ugia  6 wunderkinder, momenta
Jose l ugia 6 wunderkinder, momenta
 
Build your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App EngineBuild your cross-platform service in a week with App Engine
Build your cross-platform service in a week with App Engine
 
Droidcon thessaloniki 2015
Droidcon thessaloniki 2015Droidcon thessaloniki 2015
Droidcon thessaloniki 2015
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
 
Google App Engine Overview and Update
Google App Engine Overview and UpdateGoogle App Engine Overview and Update
Google App Engine Overview and Update
 
Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!Frontend Monoliths: Run if you can!
Frontend Monoliths: Run if you can!
 
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con InnomaticCostruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
Costruire applicazioni multi-tenant e piattaforme SaaS in PHP con Innomatic
 
Samsung
SamsungSamsung
Samsung
 
Web applications support on AGL
Web applications support on AGLWeb applications support on AGL
Web applications support on AGL
 
GDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android NGDG Devfest 2016 session on Android N
GDG Devfest 2016 session on Android N
 
Ubuntu Core 技术详解
Ubuntu Core 技术详解Ubuntu Core 技术详解
Ubuntu Core 技术详解
 
Flutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - textFlutter vs Java Graphical User Interface Frameworks - text
Flutter vs Java Graphical User Interface Frameworks - text
 
Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015Firefox OS - Hive Pilani 2015
Firefox OS - Hive Pilani 2015
 
Intro to PhoneGap
Intro to PhoneGapIntro to PhoneGap
Intro to PhoneGap
 
Al Arabiya News Channel: Publishing Articles At The Speed of Light
Al Arabiya News Channel: Publishing Articles At The Speed of Light Al Arabiya News Channel: Publishing Articles At The Speed of Light
Al Arabiya News Channel: Publishing Articles At The Speed of Light
 
Angular JS 2_0 BCS CTO_in_Res V3
Angular JS 2_0 BCS CTO_in_Res V3Angular JS 2_0 BCS CTO_in_Res V3
Angular JS 2_0 BCS CTO_in_Res V3
 
Django simplified : by weever mbakaya
Django simplified : by weever mbakayaDjango simplified : by weever mbakaya
Django simplified : by weever mbakaya
 

More from Igalia

Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
Igalia
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
Igalia
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
Igalia
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Igalia
 

More from Igalia (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Building End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPEBuilding End-user Applications on Embedded Devices with WPE
Building End-user Applications on Embedded Devices with WPE
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded DevicesAutomated Testing for Web-based Systems on Embedded Devices
Automated Testing for Web-based Systems on Embedded Devices
 
Embedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to MaintenanceEmbedding WPE WebKit - from Bring-up to Maintenance
Embedding WPE WebKit - from Bring-up to Maintenance
 
Optimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdfOptimizing Scheduler for Linux Gaming.pdf
Optimizing Scheduler for Linux Gaming.pdf
 
Running JS via WASM faster with JIT
Running JS via WASM      faster with JITRunning JS via WASM      faster with JIT
Running JS via WASM faster with JIT
 
To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!To crash or not to crash: if you do, at least recover fast!
To crash or not to crash: if you do, at least recover fast!
 
Implementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamerImplementing a Vulkan Video Encoder From Mesa to GStreamer
Implementing a Vulkan Video Encoder From Mesa to GStreamer
 
8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa8 Years of Open Drivers, including the State of Vulkan in Mesa
8 Years of Open Drivers, including the State of Vulkan in Mesa
 
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por IgaliaIntroducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
Introducción a Mesa. Caso específico dos dispositivos Raspberry Pi por Igalia
 
2023 in Chimera Linux
2023 in Chimera                    Linux2023 in Chimera                    Linux
2023 in Chimera Linux
 
Building a Linux distro with LLVM
Building a Linux distro        with LLVMBuilding a Linux distro        with LLVM
Building a Linux distro with LLVM
 
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUsturnip: Update on Open Source Vulkan Driver for Adreno GPUs
turnip: Update on Open Source Vulkan Driver for Adreno GPUs
 
Graphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devicesGraphics stack updates for Raspberry Pi devices
Graphics stack updates for Raspberry Pi devices
 
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOSDelegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
Delegated Compositing - Utilizing Wayland Protocols for Chromium on ChromeOS
 
MessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the webMessageFormat: The future of i18n on the web
MessageFormat: The future of i18n on the web
 
Replacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shadersReplacing the geometry pipeline with mesh shaders
Replacing the geometry pipeline with mesh shaders
 
I'm not an AMD expert, but...
I'm not an AMD expert, but...I'm not an AMD expert, but...
I'm not an AMD expert, but...
 
Status of Vulkan on Raspberry
Status of Vulkan on RaspberryStatus of Vulkan on Raspberry
Status of Vulkan on Raspberry
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 

Web application stores in GNOME (GUADEC 2012)

  • 1. Web application stores in GNOME José Dapena Paz <jdapena@igalia.com>
  • 2. Web application stores in GNOME 2 Step 1: integrate any web application in desktop ● Achieved with Epiphany “Save as Web Application” Webs saved by user are shown as toplevel desktop applications. ● Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
  • 3. Web application stores in GNOME 3 Step 2: web application stores. Do we need to support them? ● GNOME is not a big target for developers. ● Web apps are. ● Apps stores are not the key, but the apps themselves. – – ● We need to support the technologies they use. App stores just give a good visibility to the applications. Users want apps fiting their specific needs: – The more app platforms we support, the more likely we match user needs. Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
  • 4. Web application stores in GNOME 4 Experiment: Epiphany support for Chrome web Store and Mozilla OpenWebApps Available at https://github.com/jdapena/epiphany/tree/webapp Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
  • 5. Web application stores in GNOME 5 Results: Chrome Web Store API is not public. Any change in their APIs would break Chrome web store support. ● ● Some apps use specific Chrome APIs. – Not many, but store API's do not report that information. Final user perception: apps randomly fail. No real good support. They'll drop Epiphany and adopt Chrome. ● ● What to do? We won't play a game of cat and mouse. Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
  • 6. Web application stores in GNOME 6 Results: Mozilla marketplace ● Still not available. Expected for this year. ● API's discussion and specs are publicly available. ● Some of them already sent to W3C. ● What to do? Support it. Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
  • 7. Web application stores in GNOME 7 Implementation challenges: Web stores support is basically implementing some javascript API's that map to Epiphany applications support (applications list, permissions and UI for install/uninstall). ● Experiment implementation based on WebKit-GTK+ JavaScriptCore API. We get access from GTK+ code to the web javascript contexts. ● Epiphany is targetting WebKit2. No direct exposure of web javascript contexts. ● Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
  • 8. Web application stores in GNOME 8 But the key that will make the difference is supporting the new HTML5 features apps will use. – New graphic features (CSS3, WebGL, …). – New types of form inputs (phone, email, date/time, …). – Video and audio streaming, RTC, use media streams as form inputs. – Hardware and desktop integration (battery, geolocation, full screen, device orientation, notifications, web intents, other sensors). This work goes mainly on WebKit and WebKit-GTK+ Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
  • 9. Web application stores in GNOME 9 Goal: OpenWebApps stores support in Epiphany. Target: Q2 2013. Any help is warmly welcome. But: Apps store support RELY heavily on implementing HTML5 new standards. ● Roadmap needs to be updated. ● Jose Dapena Paz | jdapena@igalia.com | www.igalia.com
  • 10. Web application stores in GNOME 10 Goal: OpenWebApps stores support in Epiphany. Target: Q2 2013. Any help is warmly welcome. But: Apps store support RELY heavily on implementing HTML5 new standards. Roadmap needs to be updated. Jose Dapena Paz | jdapena@igalia.com | www.igalia.com