Your ideas for new webxdc apps?

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

Another idea: “stories” app
You know, like Instagram, WhatsApp, now Telegram, Signal.

image

Though I think it’s not really going to be as capable and useful as built-in stories can be because you rarely have a group chat that has all the people that you would like to see your story. E.g. you don’t have a group chat that has your school friends and university friends together.

:thinking: Which is making me think of per-account instead of per-chat webxdc apps :thinking:

2 Likes

TOTP 2FA app, shared with users in the chat.
Inspiration was telegram, which has a mini app for this now, that stores secrets on telegram servers (probably in plain text), we can do this too, but encrypted (if your chat is encrypted) and usable to share tokens with a whole group.

Could additionally be protected/encrypted by a password that you type in to unlock for added security in unencrypted group chats.

design we can copy from google authenticator,
and we could use these lib otplib - npm and yjs?

2 Likes

Maybe it would be possible to develop a webxdc app for this purpose that accesses a Pixelfed account and displays it in the internal browser. This way, other people’s inboxes wouldn’t be cluttered up. Not everyone wants to see the status of a contact. :thinking:

1 Like

you can actually create a broadcast list with all the contacts you want, it will work as expected they will not see each other in the group, instead they will receive the app in a read-only “channel” (mailing list) that could be named “WofWca’s stories” then they can only see and not modify the app which is what you want, a read-only stories, the problem is that these broadcast are unencrypted currently, so yeah more native integration in delta chat core would be nice

1 Like

btw, in Durov’s channel he confessed that Telegram team really didn’t like or want to add stories at the beginning, more in Telegram where channels where already possible. even then they added it in the end because the big demand from the users, most of the contact requests for them was requesting to add these stories, like it or not, it is a fact most people like them and they are kind of a personal channel without too much compromise (auto-deletion of messages and sharing only with family and friends, people opt-in to see your “channel”/stories etc in your profile without cluttering they chat-list etc.)

1 Like

I made one:

2 Likes

There is an Automerge-based Pixelpusher app at GitHub - automerge/pixelpusher: pushin' pix
Announcement: Pixelpusher: Real-time peer-to-peer collaboration with React

1 Like

I have another idea but please promise me you folks will let me implement it.

Werewolf is hard without a bot playing the game master to disabling cheating and maybe webxdc whisper messages (send updates only to a subset of peers, though this could also be worked around with cryptography).
So depends on the scope of the project idea. like should cheating be made hard or is it ok without cheat protection.
Also it is time sensitive so you either need longer round durations or play over chatmail or wait for the introduction of peer channels for realtime messages between peers.

You are right. Perhaps a bot is more suited for the task than a WebXDC app. There is already a bot for IRC and I’ve been a long time player on the late freenode. The name is lykos:

https://werewolf.chat

However regarding DeltaChat, if we could have these two things, a werewolf bot would work great:

  • Reactions. Could be used for votes.
  • Bridges supporting reactions and puppets across XMPP, Matrix and DeltaChat.
1 Like

and without a bot it is possible to know who caused the “X got killed” message also by seen-recently etc so it is super easy to cheat

WebRTC is specifically disabled because it breaks the privacy and security promised by webxdc.

So unless WebRTC changes in the future so that it doesn’t betray user data then this is not gonna happen. Maybe if enough people express a wish for a safe and private WebRTC to the relevent standards commitees and browser makers this might be possible in the future.