Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Brainstorming use cases #8

Open
jdm opened this issue Sep 4, 2020 · 7 comments
Open

Brainstorming use cases #8

jdm opened this issue Sep 4, 2020 · 7 comments
Labels
T-technical-direction Relevant to technical direction choices for the project

Comments

@jdm
Copy link
Member

jdm commented Sep 4, 2020

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 jdm changed the title Use case brainstorming Brainstorming use cases Sep 4, 2020
@asajeffrey
Copy link
Member

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

@nox
Copy link

nox commented Sep 10, 2020

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.

@jgraham
Copy link

jgraham commented Sep 28, 2020

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

@paulrouget
Copy link
Contributor

Here is an example of use case: Qutebrowser: servo/servo#27579 (comment)

@SimonSapin SimonSapin added the T-technical-direction Relevant to technical direction choices for the project label Oct 15, 2020
@tmzt
Copy link

tmzt commented Nov 18, 2020

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.

@shartte
Copy link
Sponsor

shartte commented Dec 16, 2020

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.

@IngwiePhoenix
Copy link

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! :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-technical-direction Relevant to technical direction choices for the project
Projects
None yet
Development

No branches or pull requests

9 participants