Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Unlocking the Full Potential of WPE to Build a ...

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

The Web engine is the most important component of a Web browser, enabling developers to leverage the Web Platform for their applications. And thanks to Open Source Web engines like WPE, it is now possible to build all kinds of products for embedded devices using Web-based technologies, from set-top boxes and smart home appliances to GPS devices and in-flight infotainment systems, to name a few.

Unfortunately, companies usually fall into the trap of applying one-off fixes to meet their immediate needs, accumulating technical debt and struggling to adapt to the evolving nature of the Open Source projects they heavily rely on. On top of that, it makes it difficult to ensure that the stable releases of such projects properly fit the needs of the products they intend to build, leading to spending too much time being reactive to integration-related problems instead of focusing on building a great product.

In this session, we will focus on explaining the best practices to unlock the full power of WPE without falling into such traps, so that you can focus on building a stronger foundation for your future embedded products with WPE, while keeping maintenance costs under control.

(c) Open Source Summit 2025
June 24th, 2025
Denver - Colorado (USA)
https://events.linuxfoundation.org/open-source-summit-north-america

Avatar for Mario Sánchez Prada

Mario Sánchez Prada

June 27, 2025
Tweet

More Decks by Mario Sánchez Prada

Other Decks in Technology

Transcript

  1. 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 / 41
  2. 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 / 41
  3. 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 / 41
  4. 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 / 41
  5. 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 / 41
  6. What is WebKit? Open Source Web engine, released under permissive

    BSD-style 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) 🐧 Independent Linux-based flavors Cross-platform support: Desktop & Mobile: Mac, iOS, Windows, and Linux 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 / 41
  7. 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 / 41
  8. What is WPE? WPE is a WebKit port optimized for

    embedded devices Big focus on flexibility, security and performance Minimal set of dependencies, backends-based architecture for I/O Low memory and storage footprint HW-accelerated graphics and multimedia Actively maintained upstream (e.g. up-to-date fixes for CVEs) 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 / 41
  9. 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 audio/sound systems Video/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 / 41
  10. 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 Big market opportunity TVs, STBs, smart home, In-Vehicle/Flight Entertainment, health care... 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 / 41
  11. 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 / 41
  12. Common pitfalls using WPE for embedded devices Treating WPE as

    a "black box" Web engine Heavy patching downstream without upstream coordination Infrequent rebases leading to large integration costs 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 / 41
  13. 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 / 41
  14. Heavy Patching Downstream Problem: Downstream patches accumulate, delta becomes too

    big Risks: Every new release can bring painful merge conflicts and duplicated fixes Integration process becomes substantially more complicated Possible solutions: Track upstream changes continuously via CI Contribute well-scoped patches promptly Upstream-first mentality Why this matters: Shared code reduces maintenance cost and helps integrators align their needs with WPE's roadmap and priorities Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 15 / 41
  15. Infrequent Rebases Problem: Downstream forks quickly get out-of-sync with upstream

    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 Ensure good downstream practices (e.g. drop patches already upstream) Why this matters: Frequent syncing improves the integration process, avoids rebase marathons and prevents security problems Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 16 / 41
  16. Delayed Feedback with Upstream Problem: Feedback reported to upstream is

    delayed for too long Risks: Maintainers learn about issues found in downstream forks too late Reduced ability to leverage synergies with the community Often leads to duplicated work (e.g. issues already fixed upstream) Possible solutions: Report reproducible bugs immediately (i.e. including reduced test cases) Engage in discussions with the community in public channels Why this matters: Timely feedback reduces the chance of duplicated efforts and improves things for both upstream and downstream Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 17 / 41
  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 Co-fund 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 18 / 41
  18. 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 19 / 41
  19. 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 20 / 41
  20. 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 21 / 41
  21. 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 22 / 41
  22. 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 23 / 41
  23. 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 24 / 41
  24. Best practices for successful integration Unlocking the Full Potential of

    WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 25 / 41
  25. Open Communication Recommendations: Transparency: Share progress, blockers, and roadmap updates.

    Discuss non-standard requirements early to find the best solutions for you Shared goals: Collaboratively define goals for your platform integration Leverage the community: Engage with community experts for design advice, code reviews, and 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 26 / 41
  26. Frequent Rebasing Recommendations: Keep smaller deltas and rebase often: avoid

    complex integrations and potential bugs caused by misalignment with upstream. Faster access to fixes & features: Immediate benefit from security patches, performance improvements, and new capabilities Simpler debugging: Easier to isolate regressions when tracking upstream 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 Enables faster innovation Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 27 / 41
  27. 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 28 / 41
  28. Upstream-Friendly Commit Practices Recommendations: Clear commit messages: Explain what a

    patch does and why it's needed Small, atomic changes: Easier and faster to review, test, and backport Upstream-first mindset: i.e. avoid hacks, always consider upstream Benefits: Simplifies future rebases Builds trust and collaboration with WPE maintainers Enables faster acceptance of patches upstream Unlocking the Full Potential of WPE to Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 29 / 41
  29. Test Automation and CI Recommendations: Upstream tracking: Automatic testing of

    upstream snapshots with your downstream patches to detect early possible integration conflicts Regression detection: Automated regression and performance testing Pre-integration testing: Validate patches before merging 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 30 / 41
  30. Real-world case studies Unlocking the Full Potential of WPE to

    Build a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 31 / 41
  31. 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 32 / 41
  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: Difficult to innovate and keep up with security patches Painful integration process when moving to newer versions 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 33 / 41
  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: Upstream-first mentality helps align business goals with upstream Delta with upstream kept to a minimum, integration becomes easier No duplicated efforts, no unnecessary workarounds or hacks Product stabilization aligns with upstream stabilization 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 34 / 41
  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: Improving technology benefits everyone while supporting specific needs 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) 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 35 / 41
  35. Wrapping up Unlocking the Full Potential of WPE to Build

    a Successful Embedded Product Mario Sánchez Prada, 2025-06-24 36 / 41
  36. 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 Frequently integrate 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 37 / 41
  37. 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 38 / 41
  38. Thanks! Unlocking the Full Potential of WPE to Build a

    Successful Embedded Product Mario Sánchez Prada, 2025-06-24 39 / 41
  39. Q&A Unlocking the Full Potential of WPE to Build a

    Successful Embedded Product Mario Sánchez Prada, 2025-06-24 40 / 41