Your ideas for new webxdc apps?

I would like to hear your ideas for new webxdc apps to make/port.

I’ll start:

  • “Share location” app (a lot of other messenger have this function built-in), possibly with compass. Currently it’s not properly doable (see Allow access to camera, geolocation, other Web APIs).
  • Kanban (like Trello).
  • Translator. Some kind of assist in translating messages. Perhaps chatting inside the app itself.

If you know a good place where we can dig up ideas, please also share. Here are mine:

Why I’m asking:

  • There are plenty of web developers reading this (myself included), so some may like your idea and implement it
  • to know the full range of user demands and see if we need to add support of something to the webxdc implementation (like, say, access to Geolocation API).
2 Likes

Hello :wave:,
I’ve been thinking for a while about the possibilities Webxdc offers and could offer in the future.
Here are my ideas:

  • Webxdc is suitable for turn-based games such as “Battleships”

  • Notes app for “Saved Messages”

  • Editor in which you can work together on a text

  • Webxdc app for controlling bots

  • Interactive eCards; for example something like that:

Currently it is not possible for a webxdc app to access the location.
But maybe this will change in the future.
Then a scavenger hunt app or an app for tourism purposes would be conceivable.

An app to share the location would certainly be a good thing.
But I think one should integrate this feature directly into DC.
Basically, it is already possible.
To do this, you have to mark your location on the map in DC desktop and then send it.

2 Likes

A notes App already exist :wink:

https://github.com/webratte/Shared-Memo

3 Likes

Thanks, I didn’t know. :+1:

That’s why I think it would be great to have something like a WebApp-Store.
But there are some diskusions why it would not work yet. There are seems to be problems with licenses and of course missing manpower to create an “Store”.
ADB has a bot for this. It’s a workaround I think. But not really a solution for “normal” users.

1 Like

I think it’s GitHub - webxdc/yjs_editor: [MOVED TO https://codeberg.org/webxdc/editor] A webxdc app using yjs to enable collaborative editing in a WYSIWYG manner, although @Bjoern said it’s not well-tested.

note for future: a port of GitHub - iojanis/Lity: Graph-based document editor with collaborative features could be also interesting

A “Menu” App which would essentially be a bunch of links to Posts or other Webxdc Apps.

The Menu could then be sent to the Home Screen to create a Project or for quick access to Posts or Apps without having to scroll or search for a buried App or Post.

Think of a Menu on a website as the concept.

So, it’s like “pinned messages” + “pinned apps”? For apps I believe there is already an “apps” tab, besides the “media” tab in chat details.

Seriously thinking of financial, payment or banking banking.

A shared PKPASS viewer where you can upload PKPASS files and export them to chats. Can be used to share discount cards within a group.

Search keywords: Yjs, P2P

Another way to look for candidates: search for the ones that use Yjs, and maybe specifically y-webrtc, or other P2P-related libs like Automerge. Such apps, given that they’re purely P2P and it’s not just a small part of them, can easily be adapted to webxdc with the webxdc-yjs-provider library.
Moreover, there’s probably no need to fork such apps to port them (see my post about forks).

1 Like

A voice call app. Given that WebXDC can use WebRTC. Signalling could be done using DeltaChat itself.

1 Like

No, it cannot, at least right now. But I have this funny idea:

WebXDCs support WebAudio API, e.g. you can add this code to hear incoming WebXDC updates:

if (update.serial === update.max_serial) {
  beep(300);
}

function beep(freq) {
  const context = new AudioContext();
  const oscillator = context.createOscillator();
  oscillator.type = "square";
  oscillator.frequency.value = freq;
  oscillator.connect(context.destination);
  oscillator.start();
  oscillator.stop(context.currentTime + 0.1);
}

Someone can use it to build a music tracker where users can collaboratively edit a music loop pattern by enabling and disabling individual “tiles”. It is easy to merge such WebXDC updates as each one only switches a single tile on or off.

I have posted a separate topic with an idea to create TiddlyWiki.xdc:

There is a JavaScript framework for creating board games: https://boardgame.io/
It might be interesting to add webxdc transport to it.
There is a curated set of high quality games at GitHub - freeboardgames/FreeBoardGames.org: FOSS platform for publishing boardgame.io games that can then be ported in batch.

3 Likes

Well I wish it could support WebRTC. And yeah I’ve seen that idea. Funny but not usable in most usecases. On the other hand, the idea holger gives here is also interesting and possibly combine-able with WebXDC.

1 Like

Another idea: something like an IDE that can generate .xdcs, I’d say similar to codepen.io, jsfiddle.net, codesandbox.io .

I think it’s a great way to play around with webxdc - you wouldn’t have to install a bunch of tools to get started, and you could even do it on your phone.

2 Likes

Code editors can get big, so not sure how much of an IDE can be fit into our webxdcs with the current size limit. Though I agree it would be really cool to have a small IDE for webxdc apps.

BTW we can make out templates work well with sites like stackblitz, like this Webxdc - Ionic React Webxdc Starter - StackBlitz so users would not need to install anything, just click on a link…

2 Likes