Skip to content
This repository was archived by the owner on Jan 31, 2024. It is now read-only.

Commit 8c214f4

Browse files
committed
intro refinements
1 parent 3a14563 commit 8c214f4

File tree

1 file changed

+31
-22
lines changed

1 file changed

+31
-22
lines changed

src/intro.md

+31-22
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,27 @@
22

33
Webxdc is a P2P oriented container format for sharing and hosting HTML5 web apps in messenger chats.
44
The e-mail based [Delta Chat](https://delta.chat) and the XMPP-based [Cheogram](https://cheogram.com) messengers
5-
support [webxdc apps](https://webxdc.org/apps) which work in both messengers without any change, today.
6-
In ["Bringing E2E privacy to the web"](https://delta.chat/en/2023-05-22-webxdc-security)
7-
Delta Chat developers described the security-audited privacy guarantees of webxdc
8-
not found with any other web container technology or [specification](./spec/index.html).
5+
support [webxdc apps](https://webxdc.org/apps), which run on both messengers without any change.
96

107
Instead of being hosted on a central always-online HTTP server,
11-
webxdc apps are hosted in a messenger app by attaching a container file to a chat message.
12-
Apps can be used while a device is offline even for extended periods
13-
if their host messenger supports offline-first operations like Delta Chat does.
8+
webxdc apps are stored with the host messenger by attaching a container file to a chat message.
149
Instead of using the HTTP protocol for querying a central server to obtain authoritative application state,
1510
webxdc apps send and receive messages via the messenger's [JavaScript API]
16-
which routes all "application updates" between devices running a particular webxdc container app.
17-
App developers do not need to implement user authentication, discovery or bootstrapping mechanisms,
18-
and they do not need to implement end-to-end encryption either.
11+
which allows to send and receive "application updates" between devices particpating in a chat.
12+
App developers do not need to implement message transport, user authentication,
13+
discovery or bootstrapping mechanisms, and they do not need to implement end-to-end encryption either.
1914
All Authentication, identity management, social discovery and message transport
20-
is outsourced to the host messenger which runs webxdc apps.
15+
is outsourced to the host messenger which runs webxdc apps,
16+
thereby letting each app inherit offline-first and end-to-end encryption
17+
capabilities of the hosting messenger.
18+
19+
Messengers run webxdc container files in network-isolated webviews that can not perform any DNS or HTTP queries.
20+
Webxdc apps can only cause network messages by calling the [`sendUpdate`](./spec/sendUpdate.html)
21+
and [`setUpdateListener`](./spec/setUpdateListener.html) Javasript APIs,
22+
implemented by the hosting messenger.
23+
In ["Bringing E2E privacy to the web"](https://delta.chat/en/2023-05-22-webxdc-security)
24+
Delta Chat developers described the unqiue security-audited privacy guarantees of webxdc
25+
not found with any other web container technology or [specification](./spec/index.html).
2126

2227
Waving central registries and app store dependencies "good bye!",
2328
anyone can [get started building a HTML5 app](/get_started.html),
@@ -29,22 +34,26 @@ where the hosting messenger provides the social and technical routing of "applic
2934
As long and as well as the hosting messenger manages to deliver messages,
3035
webxdc application state is constantly replicated and synchronized across all participating devices.
3136

32-
While webxdc app development is fundamentally easier
33-
than developing for and maintaining an application-specific always-online HTTP server
34-
there are complications in arranging consistent web app state across user's devices,
35-
a typical issue for any P2P system.
36-
The [Shared web application state] chapter
37-
provides useful theoretical and practical background for writing robust offline-first web apps
38-
without requiring a central online authority acting as the "source of truth".
39-
40-
4137
<video controls style="width:560px; max-width: 100%;"><source src="https://webxdc.org/assets/just-web-apps.mp4" type="video/mp4"><a href="https://www.youtube.com/watch?v=I1K4pBvb2pI">watch "just web apps" on youtube</a></video>
4238

39+
4340
The [webxdc-dev simulation tool](https://github.com/webxdc/webxdc-dev) is the recommended
44-
tool for developing webxdc apps as it allows simulation of multiple app users,
45-
supports different screen formats and allows observing network messages between app instances.
41+
tool for developing webxdc apps as it allows multi-user simulation,
42+
and allows observing network messages between app instances.
4643
No messenger is required to develop a webxdc app with the `webxdc-dev` tool.
4744

45+
Webxdc app development and deployment is fundamentally easier than
46+
developing for and maintaining an application-specific always-online HTTP server.
47+
But there are undeniably complications in arranging consistent web app state
48+
across user's devices, a typical issue for any P2P system.
49+
The [Shared web application state] chapter
50+
provides useful theoretical and practical background for writing robust offline-first web apps
51+
without requiring a central online authority acting as the "source of truth".
52+
Even if you don't study the topic in depth, reading [Shared web application state]
53+
introduces you to the terminology and neccessary considerations
54+
for any P2P system, with a particular eye on webxdc.
55+
56+
4857
[webxdc on Codeberg](https://codeberg.org/webxdc) and [webxdc on GitHub](https://github.com/webxdc)
4958
contain some of the ongoing webxdc-related developments.
5059

0 commit comments

Comments
 (0)