Inbox - new messaging application

Hi, I have developed a new messaging application Inbox.

It is a simple messaging application, similar to an email client (e.g. gmail). It’s written in Angular, built on Solid and LDN. Users can send messages using their WebID. Data are only read from their Solid POD.

It also takes advantage of Activity Streams for message formatting and WebSockets to get system notifications for new messages.

Feel free to try it out, I’m curious for your feedback! Let me know here, at GitHub repo, or directly from app at https://inbox-app.inrupt.net/profile/card#me!

Tonda

2 Likes

I’ ve tried it and it looks like really good work. I like the UX and the fact you can add a headline to the message. cool :wink:

1 Like


the app works, but when I try to view the messgae with the databrowser I get an error…

Yeah the databrowser seems not to support anything else than a txt format (If you send a message in a “simple” format, it creates txt and you can read it in databrowser). Its bad UI was partly reason to create this new inbox app.

1 Like

Awesome app, that fills an important gap! Some things like performance and support for other message types / shapes could be improved, but it is very cool already.

The data browser does not handle JSON-LD very well, there are several bugs involved, some I already fixed, others are still to be fixed, see Unable to outline jsonld data · Issue #254 · solid/solid-panes · GitHub

1 Like

Thank you! Yes, I forgot to mention this is still a research version, so app performance was not in focus so far. There is a basic “caching” so the main inbox list is not loaded every time, but there should be more caching added (+ paging for the message list).
However the performance is also problem of the inrupt/solid servers, their response to XHR is quite slow!

As you suggest, support for other message types is another TODO, namely RDF in turtle.

1 Like

ok, nice! Another thing I would find helpful is to include the message date within the jsonld

that’s a good idea, thanks! :slight_smile:

Very nice app.
I tried between 2 of my pods and works perfectly.

Was not able to send a message from app at https://inbox-app.inrupt.net/profile/card#me
What do I put in recipients ? I have added https://inbox-app.inrupt.net/inbox/ to monitor but it does not add anything.
I logged in to your pod and a container : bourgeoa.solidcommunity.net was created ??

Thank you!

Was not able to send a message from app at https://inbox-app.inrupt.net/profile/card#me

I am not sure what happened to you. I did receive your message alright (to https://inbox-app.inrupt.net/profile/card#me)! :slight_smile:

What do I put in recipients ? I have added https://inbox-app.inrupt.net/inbox/ to monitor but it does not add anything.

For sending a message, there’s an info icon next to the input that shows what you can put as recipient - either WebID (e.g. https://inbox-app.inrupt.net/profile/card#me) and a discovery for inboxex happens (using LDP.inbox), or you put in inbox URL directly (e.g. https://inbox-app.inrupt.net/inbox/).

If you’re talking about inbox monitoring:


then you put WebID into the first one OR inbox URL into the second one.

I logged in to your pod and a container : bourgeoa.solidcommunity.net was created ??

I am sorry but I don’t understand what you mean by that.

Hi, just to let you know, I have release updated version with some small UI enhancements (made based on an UX testing).

1 Like

I managed to send a message from my pod.inrupt.com Pod to an NSS Pod, neat!

The other way around failed though. The reason for that is that ESS has set the /inbox/ to only allow authenticated users to add content to it. I’m not sure if it’s supposed to work that way, but to be sure you could send the messages using authenticated requests.

Thank you. I’ve created an issue for it: Can't send messages to the https://broker.pod.inrupt.com/ PODs · Issue #1 · WhyINeedToFillUsername/inbox · GitHub

The other way around failed though. The reason for that is that ESS has set the /inbox/ to only allow authenticated users to add content to it.

In response this comment, I reached out to both one of the Solid Specification Editors and the ESS team for input. The consensus was that it is up to the Controller of the inbox, not the Specification or the Pod Provider, to decide the append access level.

As stated, when NSS creates a new Pod anyone can append to the inbox while ESS is a little more restrictive as only allow authenticated user to append by default. In either case, the Controller can update the permissions to a level at which they are comfortable.

2 Likes

So if I understand correctly, normally the app should be able to post to any inbox, unless the solid pod implementation has it more restrictive, such as the NSS?
And users (e.g. when the application asks them to) can choose to update the permission and allow this?

1 Like

If I am understanding @Kevin correctly

  • the specs require the ability of the Pod Owner (the user) to change the writability of the inbox however the owner wants including non-write
  • as long as the Pod Server allows a user to change it, the Pod can default to anything the Server likes. Currently ESS defaults to requiring that the app is run by any authenticated user while NSS has no requirements
  • users can change the inbox access by manually editing the .acl file, by using the databrowser to set the /inbox/ permission, or when requested by an app
  • An app can not automatically assume that the inbox is writable by everyone

Hi @tonda, very nice project. I’ve just added it to the ActivityPub Application Watchlist in the “Other” category. Some small feedback:

  • There’s no license to the source. I’ve created a Github issue for that.

  • A small layout bug in Firefox exists that makes the rightmost part of the main menu items overlap each other (see below).

  • You may easily get the desirable Privacy Badger “No trackers. Hurray for Privacy!” indicator by removing the 2 google trackers. :wink:

PS. For SocialHub community of AS/AP technologists it is highly interesting to investigate How Solid and ActivityPub complement each other best. We’d love any insights you might provide.

1 Like

Hi @tonda,

Cool app idea!

I successfully logged in using one of my WebIDs, but couldn’t get any further. For instance, the end up with a endless throbber icon as per depiction below.

How do I progress beyond this point?