Unlocking the Full Potential
of WPE to Build a Successful
Embedded Product
Mario Sánchez Prada
mario@igalia.com
1 / 40
About me
CS Engineer, partner of Igalia
Involvement in some Open Source communities
e.g. Chromium, WebKit, GNOME
Other work done in the past:
Linux-based OSs (i.e. Endless OS, Litl OS)
Maemo (Hildon Application Manager)
Samsung Smart TV platform
Currently coordinating Igalia's WebKit team
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
2 / 40
About Igalia
Specialized Open Source consultancy, founded in 2001
Fully remote, HQ in A Coruña (Spain). Flat structure
Top contributors to all the main Web Engines
WebKit, Chromium, Gecko and Servo
Active contributor to other areas and OSS projects
V8, SpiderMonkey, JSC, LLVM, Node.js, GStreamer, Mesa, Linux Kernel...
Members of several working groups:
W3C, WHATWG, WPT, TC39, OpenJS, Test262, Khronos...
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
3 / 40
Outline
1. Why do Web engines matter in embedded devices?
2. Common pitfalls using WPE for embedded devices
3. Benefits of a tighter relationship with upstream
4. Best practices for successful integration
5. Real-world case studies
6. Wrapping up
7. Q&A
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
4 / 40
Why do Web engines matter
in embedded devices?
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
5 / 40
What is a Web engine?
Software component that leverages the power of the Web Platform
Fetches HTML / CSS / JavaScript content from multiple sources
Interprets the web content to create an internal representation
Produces a result that users can interact with
It’s an extremely flexible platform. Examples:
Textual and non-textual content
Multimedia playback
Fully fledged applications
Most popular Web engines:
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
6 / 40
What is WebKit?
Open Source Web engine, released under permissive licenses
Main features:
🕸 Complete implementation of the Web Platform
🚀Performance and stability
🔒Privacy and security
🔌Embeddable as a top priority (i.e. stable public API)
Cross-platform support:
Desktop & Mobile: Mac, iOS, Windows, Linux, Android (WIP)
Embedded devices: set-top-boxes, video game consoles, in-flight
entertainment, smart home appliances, GPS devices, digital signage...
https://webkit.org
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
7 / 40
WebKit Ports
WebKit port: adaptation of WebKit to a specific platform
Official WebKit Ports (upstream ports):
Mac: Safari, Apple Mail, iTunes, App Store...
iOS: every browser on iOS devices (including Chrome)
Windows: Microsoft Playwright, Playstation SDK
Playstation: Playstation 4 & Playstation 5
Linux: WebKitGTK (GTK apps) and WPE (embedded devices)
Common parts: GLib, libsoup (networking), GStreamer (multimedia)...
Key differences: graphics stack, input handling. Different use cases
https://docs.webkit.org/Ports/Introduction.html
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
8 / 40
What is WPE?
WPE is a WebKit port optimized for embedded devices
Big focus on flexibility, performance and security
Backends-based architecture and minimal set of dependencies
Low memory and storage footprint
HW-accelerated graphics and multimedia
Actively maintained upstream (e.g. up-to-date security fixes)
WPE does not rely on any UI Toolkit and can also be useful for less
conventional use cases (e.g. server-side rendering, headless mode...)
https://docs.webkit.org/Ports/Introduction.html
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
9 / 40
WPE-based products
Some examples of use cases we are aware of:
Set-Top-Boxes
Smart home appliances
GPS navigation devices
Video/Audio conferencing
Digital Signage
HiFi sound systems
Audio streaming
Headless server-side rendering
QA and testing
...
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
10 / 40
Why do Web engines matter
in embedded devices?
Strategic role in the software stack of embedded devices
Rendering, networking, security sandbox, media, I/O, accessibility...
The Web platform allows building all sorts of applications
Flexibility for designing, implementing and testing your product
Known development stack
Massive pool of web developers that could implement applications
Useful to implement all kind of products
Smart home, In-Vehicle/Flight Entertainment, digital signage...
However, using a Web engine effectively is more than just fixing bugs...
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
11 / 40
Common pitfalls using
WPE for embedded devices
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
12 / 40
Common pitfalls using
WPE for embedded devices
Treating WPE as a "black box" Web engine
Infrequent rebases and heavy patching downstream
Delayed feedback cycles with upstream
Not aligning product goals with upstream
All these situations create technical debt, make integration harder,
affect development efficiency and increase maintenance cost
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
13 / 40
WPE as a “Black Box” Web Engine
Problem: Treat WPE blindly as a plug-and-play black box
Risks:
Missed opportunity for optimizations
Duplicated effort solving issues already handled upstream
Possible solutions:
Allocate time for developers to explore the WPE stack
Allocate time for developers to contribute back upstream
Why this matters: Properly understanding the Web engine turns WPE
into a strategic advantage rather than into a hidden liability
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
14 / 40
Infrequent Rebases and
Heavy Patching Downstream
Problem: Downstream patches accumulate, delta becomes too big
Risks:
Integration becomes problematic and time-consuming
Development work often too focused on bug-fixing
Reduced capacity to work on strategic features
Possible solutions:
Rebase against upstream as often as possible
Contribute well-scoped patches promptly
Ensure good downstream practices (e.g. drop patches already upstream)
Why this matters: Frequent syncing avoids complex rebases,
improves the integration process and prevents security problems
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
15 / 40
Delayed Feedback with Upstream
Problem: Feedback reported to upstream is delayed for too long
Risks:
Reduced ability to get proper support from the community
Often leads to duplicated work (e.g. issues already fixed upstream)
Possible solutions:
Engage in discussions with the community in public channels
Report reproducible bugs immediately (i.e. including reduced test cases)
Why this matters: Timely feedback improves your relationship with
upstream and reduces the chance of duplicated efforts
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
16 / 40
Misaligned Product Goals
vs. Upstream Roadmap
Problem: Different goals complicate integration and WPE evolution
Risks:
Building bespoke features creates forks that are costly to maintain
Forks often require patching in non-upstreamable ways
Possible solutions:
Join roadmap discussions upstream to discuss your use-cases
Contribute back upstream whenever possible
Fund or work on needed features if necessary
Why this matters: Alignment maximizes efficiency from integrators
and keeps products on a realistic and maintainable upgrade path
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
17 / 40
Benefits of a tighter
relationship with upstream
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
18 / 40
Stability & Security
🚀Immediate access to upstream bug fixes
🔒Faster mitigation of security vulnerabilities (CVEs)
🔄Early testing before public disclosures
🔧Lower risk of emergency patching
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
19 / 40
Performance
🔄Upstream optimizations and performance improvements
📈Changes verified upstream reduce integration risks
🎯Opportunity to prioritize optimizations relevant to your hardware
🗺️Clear visibility into future improvements via upstream roadmaps
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
20 / 40
Maintainability
🔧Smaller delta with upstream reduces patch maintenance
📦Easier adoption of new WPE releases
📅Predictable long-term maintenance planning
💰Lower ongoing maintenance costs
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
21 / 40
Alignment
📣Upstream becomes aware of what's relevant for your products
🤝Prioritization upstream aligns better with your business goals
🌐Shared investment in common features with other stakeholders
🔮Build credibility and influence within the WPE community
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
22 / 40
Community Support
🌎Access to upstream developers and domain experts
🧩Faster identification and resolution of complex issues
💡Shared knowledge base reduces isolated debugging efforts
🚀Build internal expertise via collaboration with upstream
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
23 / 40
Best practices for
successful integration
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
24 / 40
Open Communication
Recommendations:
Transparency: Share progress, blockers, and roadmap updates
Share goals: Collaboratively define goals for your platform integration.
Discuss non-standard requirements early to find the best solutions for you
Engage with the community: e.g. code reviews, general feedback...
Benefits:
Prevents divergence with upstream that can complicate maintenance
Accelerates problem resolution in collaboration with the WPE maintainers
Builds long-term relationships with the upstream community
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
25 / 40
Frequent Rebasing
Recommendations:
Keep smaller deltas and rebase as often as possible: avoid complex
integrations and potential bugs caused by misalignment with upstream.
Faster access to features & fixes (e.g. security fixes)
Simpler debugging (e.g. easier bisecting)
Development vs. product branches:
Tip of Tree (ToT): Use as baseline for ongoing feature development
Stable: Base product releases on stable upstream tags
Benefits:
Minimizes maintenance effort (i.e. lower technical debt)
Simplifies integration of new releases
Enables faster innovation
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
26 / 40
Contribute back upstream
Recommendations:
Use issue trackers: Document bugs, enhancements, and discussions
Contribute merge requests: Enable reviews and feedback from the start
Document decisions: Provide context for design and architecture choices
Benefits:
Higher quality of patches through open reviews
Faster identification of possible alternative solutions
Shared ownership of the codebase
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
27 / 40
Upstream-Friendly
Commit Practices
Recommendations:
Small, atomic changes: Easier and faster to review, test, and backport
Upstream-first mindset: i.e. avoid hacks, always consider upstreaming
Clear commit messages: Explain what a patch does and why it's needed
Benefits:
Simplifies the review process and increases acceptance rates
Improves troubleshooting, bugfixing and debugging
Builds trust and collaboration with WPE maintainers
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
28 / 40
Test Automation and CI
Recommendations:
Regression detection: Automated regression and performance testing
Pre-integration testing: Validate patches before merging
Upstream tracking: Automatic testing of upstream snapshots with your
downstream patches to detect early possible integration conflicts
Benefits:
Prevents breakage caused by upstream changes
Enables developing with confidence and fewer regressions
Ensures good stability and quality of the end product
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
29 / 40
Real-world case studies
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
30 / 40
Real-world case studies
🚨Case Study #1: company that maintained a big fork of WPE
👍Case Study #2: company that stayed close to upstream
🚀Case Study #3: companies working exclusively upstream
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
31 / 40
🚨Case Study #1: company that
maintained a big fork of WPE
Context:
Lots of downstream-specific changes on top of upstream WPE
Uses WPE upstream stable releases as base to add their changes on top
Rarely contributes patches upstream, often not following best practices
Integrates newer versions once every 1-2 years (i.e. skips some of them)
Challenges faced:
Painful integration process when moving to newer versions
Difficult to innovate and keep up with security patches
Difficult to obtain good support from the community
Complex alignment of priorities with upstream
Too much effort devoted to maintaining the fork and fixing bugs,
insufficient allocation of resources to feature development
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
32 / 40
👍Case Study #2: company
that stayed close to upstream
Context:
Downstream changes only for patches not yet upstreamed, or too specific
Development on the main branch, stable branches for stabilization only
Contributing patches upstream is part of their development process
Rebases early and often (e.g. every 2-3 weeks) enabled by automated CI
Success story:
Delta with upstream kept to a minimum, integration becomes easier
No duplicated efforts, no unnecessary workarounds or hacks
Product stabilization aligns with upstream stabilization
Upstream-first mentality helps align business goals with upstream
Some downstream work still needed but limited to specific needs.
Better alignment with upstream and more time for feature work
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
33 / 40
🚀Case Study #3: companies
working exclusively upstream
Context:
Some companies don't require downstream work (i.e. can work upstream)
Many types of projects possible: implementing a Web spec, performance
improvements, new APIs, support for more platforms or more use cases...
Great to implement complex features (e.g. CSS Grid, new SVG engine...)
Benefits of working directly upstream:
No downstream delta, simpler integration (e.g. product stabilization)
Contributing back upstream is a natural part of the process.
Upstream won't break your feature (i.e. full integration with upstream CI)
Improving technology benefits everyone while supporting specific needs
Ideal way of collaboration from a community standpoint, full
transparency and engagement upstream maximizes efficiency
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
34 / 40
Wrapping up
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
35 / 40
How to Use WPE Effectively
☑ Engage with upstream as much as possible
Align your shareable goals with the next upstream releases
Contribute back upstream, discuss shared goals in public forums
☑ Develop your products on top of the upstream development branch
and rely on stable branches for product stabilization only
Update stable releases in products but continue development in the ToT
Discard features that are not stable for your next releases
☑ Maintain and evolve automated CI tailored to your product
Automatically look out for regressions, have a policy to handle them
Automatically check upstream versions using your CI
Automate performance testing
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
36 / 40
In a nutshell...
Consider WPE an Open Source platform for the long term
and embrace upstream collaboration as much as possible 👌
PS: Do not treat WPE as "just another vendor package" 🙏
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
37 / 40
Thanks!
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
38 / 40
Q&A
Unlocking the Full Potential of WPE to Build a Successful Embedded Product
Mario Sánchez Prada, 2025-06-24
39 / 40
40 / 40

Unlocking the Full Potential of WPE to Build a Successful Embedded Product

  • 1.
    Unlocking the FullPotential of WPE to Build a Successful Embedded Product Mario Sánchez Prada mario@igalia.com 1 / 40
  • 2.
    About me CS Engineer,partner of Igalia Involvement in some Open Source communities e.g. Chromium, WebKit, GNOME Other work done in the past: Linux-based OSs (i.e. Endless OS, Litl OS) Maemo (Hildon Application Manager) Samsung Smart TV platform Currently coordinating Igalia's WebKit team Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 2 / 40
  • 3.
    About Igalia Specialized OpenSource consultancy, founded in 2001 Fully remote, HQ in A Coruña (Spain). Flat structure Top contributors to all the main Web Engines WebKit, Chromium, Gecko and Servo Active contributor to other areas and OSS projects V8, SpiderMonkey, JSC, LLVM, Node.js, GStreamer, Mesa, Linux Kernel... Members of several working groups: W3C, WHATWG, WPT, TC39, OpenJS, Test262, Khronos... Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 3 / 40
  • 4.
    Outline 1. Why doWeb engines matter in embedded devices? 2. Common pitfalls using WPE for embedded devices 3. Benefits of a tighter relationship with upstream 4. Best practices for successful integration 5. Real-world case studies 6. Wrapping up 7. Q&A Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 4 / 40
  • 5.
    Why do Webengines matter in embedded devices? Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 5 / 40
  • 6.
    What is aWeb engine? Software component that leverages the power of the Web Platform Fetches HTML / CSS / JavaScript content from multiple sources Interprets the web content to create an internal representation Produces a result that users can interact with It’s an extremely flexible platform. Examples: Textual and non-textual content Multimedia playback Fully fledged applications Most popular Web engines: Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 6 / 40
  • 7.
    What is WebKit? OpenSource Web engine, released under permissive licenses Main features: 🕸 Complete implementation of the Web Platform 🚀Performance and stability 🔒Privacy and security 🔌Embeddable as a top priority (i.e. stable public API) Cross-platform support: Desktop & Mobile: Mac, iOS, Windows, Linux, Android (WIP) Embedded devices: set-top-boxes, video game consoles, in-flight entertainment, smart home appliances, GPS devices, digital signage... https://webkit.org Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 7 / 40
  • 8.
    WebKit Ports WebKit port:adaptation of WebKit to a specific platform Official WebKit Ports (upstream ports): Mac: Safari, Apple Mail, iTunes, App Store... iOS: every browser on iOS devices (including Chrome) Windows: Microsoft Playwright, Playstation SDK Playstation: Playstation 4 & Playstation 5 Linux: WebKitGTK (GTK apps) and WPE (embedded devices) Common parts: GLib, libsoup (networking), GStreamer (multimedia)... Key differences: graphics stack, input handling. Different use cases https://docs.webkit.org/Ports/Introduction.html Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 8 / 40
  • 9.
    What is WPE? WPEis a WebKit port optimized for embedded devices Big focus on flexibility, performance and security Backends-based architecture and minimal set of dependencies Low memory and storage footprint HW-accelerated graphics and multimedia Actively maintained upstream (e.g. up-to-date security fixes) WPE does not rely on any UI Toolkit and can also be useful for less conventional use cases (e.g. server-side rendering, headless mode...) https://docs.webkit.org/Ports/Introduction.html Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 9 / 40
  • 10.
    WPE-based products Some examplesof use cases we are aware of: Set-Top-Boxes Smart home appliances GPS navigation devices Video/Audio conferencing Digital Signage HiFi sound systems Audio streaming Headless server-side rendering QA and testing ... Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 10 / 40
  • 11.
    Why do Webengines matter in embedded devices? Strategic role in the software stack of embedded devices Rendering, networking, security sandbox, media, I/O, accessibility... The Web platform allows building all sorts of applications Flexibility for designing, implementing and testing your product Known development stack Massive pool of web developers that could implement applications Useful to implement all kind of products Smart home, In-Vehicle/Flight Entertainment, digital signage... However, using a Web engine effectively is more than just fixing bugs... Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 11 / 40
  • 12.
    Common pitfalls using WPEfor embedded devices Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 12 / 40
  • 13.
    Common pitfalls using WPEfor embedded devices Treating WPE as a "black box" Web engine Infrequent rebases and heavy patching downstream Delayed feedback cycles with upstream Not aligning product goals with upstream All these situations create technical debt, make integration harder, affect development efficiency and increase maintenance cost Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 13 / 40
  • 14.
    WPE as a“Black Box” Web Engine Problem: Treat WPE blindly as a plug-and-play black box Risks: Missed opportunity for optimizations Duplicated effort solving issues already handled upstream Possible solutions: Allocate time for developers to explore the WPE stack Allocate time for developers to contribute back upstream Why this matters: Properly understanding the Web engine turns WPE into a strategic advantage rather than into a hidden liability Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 14 / 40
  • 15.
    Infrequent Rebases and HeavyPatching Downstream Problem: Downstream patches accumulate, delta becomes too big Risks: Integration becomes problematic and time-consuming Development work often too focused on bug-fixing Reduced capacity to work on strategic features Possible solutions: Rebase against upstream as often as possible Contribute well-scoped patches promptly Ensure good downstream practices (e.g. drop patches already upstream) Why this matters: Frequent syncing avoids complex rebases, improves the integration process and prevents security problems Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 15 / 40
  • 16.
    Delayed Feedback withUpstream Problem: Feedback reported to upstream is delayed for too long Risks: Reduced ability to get proper support from the community Often leads to duplicated work (e.g. issues already fixed upstream) Possible solutions: Engage in discussions with the community in public channels Report reproducible bugs immediately (i.e. including reduced test cases) Why this matters: Timely feedback improves your relationship with upstream and reduces the chance of duplicated efforts Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 16 / 40
  • 17.
    Misaligned Product Goals vs.Upstream Roadmap Problem: Different goals complicate integration and WPE evolution Risks: Building bespoke features creates forks that are costly to maintain Forks often require patching in non-upstreamable ways Possible solutions: Join roadmap discussions upstream to discuss your use-cases Contribute back upstream whenever possible Fund or work on needed features if necessary Why this matters: Alignment maximizes efficiency from integrators and keeps products on a realistic and maintainable upgrade path Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 17 / 40
  • 18.
    Benefits of atighter relationship with upstream Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 18 / 40
  • 19.
    Stability & Security 🚀Immediateaccess to upstream bug fixes 🔒Faster mitigation of security vulnerabilities (CVEs) 🔄Early testing before public disclosures 🔧Lower risk of emergency patching Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 19 / 40
  • 20.
    Performance 🔄Upstream optimizations andperformance improvements 📈Changes verified upstream reduce integration risks 🎯Opportunity to prioritize optimizations relevant to your hardware 🗺️Clear visibility into future improvements via upstream roadmaps Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 20 / 40
  • 21.
    Maintainability 🔧Smaller delta withupstream reduces patch maintenance 📦Easier adoption of new WPE releases 📅Predictable long-term maintenance planning 💰Lower ongoing maintenance costs Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 21 / 40
  • 22.
    Alignment 📣Upstream becomes awareof what's relevant for your products 🤝Prioritization upstream aligns better with your business goals 🌐Shared investment in common features with other stakeholders 🔮Build credibility and influence within the WPE community Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 22 / 40
  • 23.
    Community Support 🌎Access toupstream developers and domain experts 🧩Faster identification and resolution of complex issues 💡Shared knowledge base reduces isolated debugging efforts 🚀Build internal expertise via collaboration with upstream Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 23 / 40
  • 24.
    Best practices for successfulintegration Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 24 / 40
  • 25.
    Open Communication Recommendations: Transparency: Shareprogress, blockers, and roadmap updates Share goals: Collaboratively define goals for your platform integration. Discuss non-standard requirements early to find the best solutions for you Engage with the community: e.g. code reviews, general feedback... Benefits: Prevents divergence with upstream that can complicate maintenance Accelerates problem resolution in collaboration with the WPE maintainers Builds long-term relationships with the upstream community Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 25 / 40
  • 26.
    Frequent Rebasing Recommendations: Keep smallerdeltas and rebase as often as possible: avoid complex integrations and potential bugs caused by misalignment with upstream. Faster access to features & fixes (e.g. security fixes) Simpler debugging (e.g. easier bisecting) Development vs. product branches: Tip of Tree (ToT): Use as baseline for ongoing feature development Stable: Base product releases on stable upstream tags Benefits: Minimizes maintenance effort (i.e. lower technical debt) Simplifies integration of new releases Enables faster innovation Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 26 / 40
  • 27.
    Contribute back upstream Recommendations: Useissue trackers: Document bugs, enhancements, and discussions Contribute merge requests: Enable reviews and feedback from the start Document decisions: Provide context for design and architecture choices Benefits: Higher quality of patches through open reviews Faster identification of possible alternative solutions Shared ownership of the codebase Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 27 / 40
  • 28.
    Upstream-Friendly Commit Practices Recommendations: Small, atomicchanges: Easier and faster to review, test, and backport Upstream-first mindset: i.e. avoid hacks, always consider upstreaming Clear commit messages: Explain what a patch does and why it's needed Benefits: Simplifies the review process and increases acceptance rates Improves troubleshooting, bugfixing and debugging Builds trust and collaboration with WPE maintainers Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 28 / 40
  • 29.
    Test Automation andCI Recommendations: Regression detection: Automated regression and performance testing Pre-integration testing: Validate patches before merging Upstream tracking: Automatic testing of upstream snapshots with your downstream patches to detect early possible integration conflicts Benefits: Prevents breakage caused by upstream changes Enables developing with confidence and fewer regressions Ensures good stability and quality of the end product Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 29 / 40
  • 30.
    Real-world case studies Unlockingthe Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 30 / 40
  • 31.
    Real-world case studies 🚨CaseStudy #1: company that maintained a big fork of WPE 👍Case Study #2: company that stayed close to upstream 🚀Case Study #3: companies working exclusively upstream Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 31 / 40
  • 32.
    🚨Case Study #1:company that maintained a big fork of WPE Context: Lots of downstream-specific changes on top of upstream WPE Uses WPE upstream stable releases as base to add their changes on top Rarely contributes patches upstream, often not following best practices Integrates newer versions once every 1-2 years (i.e. skips some of them) Challenges faced: Painful integration process when moving to newer versions Difficult to innovate and keep up with security patches Difficult to obtain good support from the community Complex alignment of priorities with upstream Too much effort devoted to maintaining the fork and fixing bugs, insufficient allocation of resources to feature development Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 32 / 40
  • 33.
    👍Case Study #2:company that stayed close to upstream Context: Downstream changes only for patches not yet upstreamed, or too specific Development on the main branch, stable branches for stabilization only Contributing patches upstream is part of their development process Rebases early and often (e.g. every 2-3 weeks) enabled by automated CI Success story: Delta with upstream kept to a minimum, integration becomes easier No duplicated efforts, no unnecessary workarounds or hacks Product stabilization aligns with upstream stabilization Upstream-first mentality helps align business goals with upstream Some downstream work still needed but limited to specific needs. Better alignment with upstream and more time for feature work Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 33 / 40
  • 34.
    🚀Case Study #3:companies working exclusively upstream Context: Some companies don't require downstream work (i.e. can work upstream) Many types of projects possible: implementing a Web spec, performance improvements, new APIs, support for more platforms or more use cases... Great to implement complex features (e.g. CSS Grid, new SVG engine...) Benefits of working directly upstream: No downstream delta, simpler integration (e.g. product stabilization) Contributing back upstream is a natural part of the process. Upstream won't break your feature (i.e. full integration with upstream CI) Improving technology benefits everyone while supporting specific needs Ideal way of collaboration from a community standpoint, full transparency and engagement upstream maximizes efficiency Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 34 / 40
  • 35.
    Wrapping up Unlocking theFull Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 35 / 40
  • 36.
    How to UseWPE Effectively ☑ Engage with upstream as much as possible Align your shareable goals with the next upstream releases Contribute back upstream, discuss shared goals in public forums ☑ Develop your products on top of the upstream development branch and rely on stable branches for product stabilization only Update stable releases in products but continue development in the ToT Discard features that are not stable for your next releases ☑ Maintain and evolve automated CI tailored to your product Automatically look out for regressions, have a policy to handle them Automatically check upstream versions using your CI Automate performance testing Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 36 / 40
  • 37.
    In a nutshell... ConsiderWPE an Open Source platform for the long term and embrace upstream collaboration as much as possible 👌 PS: Do not treat WPE as "just another vendor package" 🙏 Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 37 / 40
  • 38.
    Thanks! Unlocking the FullPotential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 38 / 40
  • 39.
    Q&A Unlocking the FullPotential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 39 / 40
  • 40.