project icon indicating copy to clipboard operation
project copied to clipboard

Brainstorming use cases

Open jdm opened this issue 5 years ago • 7 comments

I want to capture the ideas that have been discussed for ways Servo could end up being used in end products (that we would not necessarily be building):

  • Specific HoloLens apps which are basically shells around Servo (rather than a general HoloLens browser)
  • Embedded WebXR engine - apps that only care about webxr/webgl, not 2d stuff at all
  • Rich text layout components (unity? general rust ecosystem?)
  • engine for PWAs - alternative to Electron
  • opinionated web engine alternative, which supports a very clear subset of layout technologies
  • embedded engine for set-top boxes, airplane screens, etc.

Please add anything that I've forgotten!

jdm avatar Sep 04 '20 16:09 jdm

Vehicle for browser UI experiments (not an end product, but a showcase for Servo).

asajeffrey avatar Sep 07 '20 15:09 asajeffrey

A non-revenue use case that can bring good will and reputation: a self-contained Rust crate for a way to use SpiderMonkey without feeling miserable.

nox avatar Sep 10 '20 07:09 nox

https://www.ekioh.com/ have the Flow engine, which is mainly focused on embedded use cases.

jgraham avatar Sep 28 '20 10:09 jgraham

Here is an example of use case: Qutebrowser: https://github.com/servo/servo/issues/27579#issuecomment-701610608

paulrouget avatar Oct 01 '20 13:10 paulrouget

Servo could be an ideal platform for experimenting with new web frameworks and APIs, such as parallel or virtual lightweight DOMs. These APIs could also be exposed to WASM without a JS bridge.

tmzt avatar Nov 18 '20 04:11 tmzt

Potentially game UIs.

There are several commercial products in this space that over time were derived from WebKit, as well as EA WebKit, which is being used in a high number of EA's AAA games.

What is rarer is Chromium Embedded Framework being used in actual games (since most games are DirectX based and surface sharing with Chromium is somewhat of a hassle, although this has changed recently, as well as the multi-process model being a hidrance since game UI is trusted content). But I know of at least "Planetary Annihilation" using it.

For open source gaming projects, there's sadly not a lot to choose from in this space, as CEF is extremely heavy-weight, and the opensourced EA WebKit lacks the custom rendering engine that EA uses.

Most of the required use cases would likely be handled by the "normal" embedding API.

shartte avatar Dec 16 '20 23:12 shartte

I like the PWA one. Since the removal of the "native" TweetDeck app, I have had to use hacky ways to put it as a PWA into a standalone app. Considering how many applications these days are just PWAs, having a "dedicated PWA host" would be absolutely welcome! Plus, Servo is very lightweight, so that woule help a lot; just looking at Task Manager with a few Electron apps open is sometimes a littly scary x)

As for Embedding; I see many people using libwebview, which is a generic wrapper to get "a webview". Could see something like that as well. I know there is libsimpleservo, but I havent looked at it in several years... so I am not fully caught up on its current capabilities.

Generally, providing a shared lib with C/C++ headers would be much appreciated! :)

IngwiePhoenix avatar Jan 13 '23 14:01 IngwiePhoenix