Hacker News new | past | comments | ask | show | jobs | submit login
NovaChat: Multi-Network Chat (nova.chat)
117 points by memexy 4 days ago | hide | favorite | 112 comments

I'm interested to see how they handle the Facebook messenger bridge since FB seems to rather aggressive about the bridge from logging in.

I've been running Tulir's bridge [0] for a few months now and my Facebook account gets locked out every week or so (requiring unlocking and a new password).

EDIT: Looking at the code, they use Tulir's bridge as well. I'd be..cautious about claming production level support with it due to the afore mentioned logout issue. Which is a shame since all of Tulir's bridges are high quality.

The bridgebox repo appears to be a bunch of bridges in docker containers. I wonder if it's really worth running the bridgebox and not a homeserver, versus using matrix-docker-ansible-deploy [1]. You already need the VPS space.

[0]: https://github.com/tulir/mautrix-facebook

[1]: https://github.com/spantaleev/matrix-docker-ansible-deploy

Ah well I make no claims to this being production level reliability. It's very much beta software. Very beta :) For those who have the capability of setting up a web server and configuring DNS, I would recommend using matrix-docker-ansible and host it all yourself.

The bridgebox is actually designed to run on a raspberry pi, my plan is to give each user a free Pi to run their bridgebox.

Send me a note on matrix, I'd love to chat! @eric:nova.chat

Just wanted to ask: I signed up for the beta but did I commit to anything? I don't mind trying it out, but do we have to pay the $10 from the start and is there a minimum term?

No commitment at all. You can try it out first.


One other Q: What about E2E security? Will you implement this for the comms between the bridges and the browsers? As I understand it I would run the bridges myself so it would make sense to have everything encrypted.

Yes there is encryption between your client and bridge.

I just setup my homeserver as was going to add a FB bridge. That's an interesting thing to note. My server is located in another country so I was weary of launching the bridge to being with since that would probably immediately trigger a security alert. Not sure if it's worth it having my account continually locked out and needing to change my password.

I'm in a similar situation: My bridge/homeserver is in Germany while I'm in the USA.

I've been hanging out in the mautrix-facebook room for a while and as far as I can tell it's different for almost everyone. Some people have no problems, some people just can't use it. Personally, I had minimal problems at first, then no problems for a while, and then after upgrading am in the current state. Other people simply logged into facebook normally from their remote server (i.e using SSH tunneling or something) and then their problems were resolved.

I'd give it a shot for a few days and see if you have a lot of trouble; It's not hard to disable a bridge if it becomes too much hassle. Personally I just add another character to my password and off I go the races, so the occasional five minutes of work for not having to deal with the app on my phone makes it worth it.

My latest trick is to run the FB bridge on a raspberry pi at home, behind my home IP. No problems with FB.

> NovaChat is a paid app with a monthly fee of $10 (price may go up after beta period)

Wow $10/mo?! Pidgin was the multi-network chat tool, and was free! I'd understand $10 one-time, but not per month. And the price may go up? No thanks

The $10 price tag is a huge selling point for me. It signals a few things:

1) It's less likely to be abandoned.

2) It has less (hopefully no) incentive to secretly monetize me or my data.

3) Instead of being a side project for a handful of people, this has the potential to be the full-time project for at least one person.

I was a heavy Pidgin user too, and when you're in an arms race with Google, Facebook, etc. (all of whom are trying to keep their gardens walled in), the work becomes too much for volunteers. Much of it is not rewarding.

Pidgin was gradually and quietly abandoned, so I'm not excited about the prospect of using something that has a similar fate.

1) It's less likely to be abandoned.

Flawed assumption.

A $10 monthly fee may severely limit it's use --- and the less it is used, the more likely it is to be abandoned.

Personally, I think a $10 annual fee would be more reasonable but finding the magic sweetspot between users and dollars is a market research topic.

> Flawed assumption.

It's not an assumption. I have been burned by FOSS (e.g. libpurple and Rambox) that were abandoned. I have not yet been burned by any paid software. The latter is much, much rarer. If you charge anything and have users, you can sell the business to someone who will keep it going, even if you're not cash-flow positive yet.

> A $10 monthly fee may severely limit it's use --- and the less it is used, the more likely it is to be abandoned. Personally, I think a $10 annual fee would be more reasonable

You may serious underestimate how difficult it is to reverse-engineer and maintain client libraries for messaging services. $10/user/year is not reasonable.

Someone could sustain themselves with just 300 users at that rate, and they could live comfortably with 1,000 users.

For something I use for hours every day for work, $10/mo is absolutely nothing.

> and the less it is used, the more likely it is to be abandoned.

That's certainly true, but not at the same scale as FOSS.

> Personally, I think a $10 annual fee would be more reasonable but finding the magic sweetspot between users and dollars is a market research topic.

Sure, but it's much harder to bring 10$ a year to a 10$ a month price than the reverse. In one case you will make people angry and assuredly lose many customer, in the other, you may just gain more.

People always forget also the cost to support people over a "beta" software. That cost goes up the more customer he get, thus starting with less customers is certainly a good way to limit the amount of time spent on answering to support request.

As an original contributor to pidgin when it was marko’s gaim, I am flabbergasted at the state of open source chat today.

I wonder if libpurple just needs to be updated to support cloud services/various chat apis. I’d be willing to bootstrap that project...

> I wonder if libpurple just needs to be updated

All of the popular chat services (FB Messenger, What's App, Snapchat, Signal, etc) are very keen on remaining closed systems.

They don't have an API. The bridges for these are basically dirty hacks that patch Electron apps with some hooks, use web versions (What's App) or even Android apps directly.

There is no "just" here.

There are already libpurple plugins for various chat systems, for example Discord:


I would love to learn more about pidgin and ecosystem of bridges. Let me know if you're interested in chatting! I funded development of 7 open-source Matrix bridges so far. I would love to contribute more to the community of those trying to liberate the chat world.

The current maintainer of Pidgin livestreams several times week on Twitch: https://www.twitch.tv/rw_grim

He live streams himself coding? Any other notable people? I know Notch did so once upon a time.

Pidgin/libpurple worked a lot better when most chat services were variants of XMPP.

Now everything's proprietary and hostile to unofficial clients. Most Matrix bridges have to do stuff like scrape the webapps to work.

A lot of them are probably proprietary variants of XMPP or SIP. ISTR reading Facebook at least is like that.

IIUC Facebook Messenger is their own bespoke protocol on top of MQTT now. It seems even the web client speaks MQTT these days.

And is native!

Between this, Mastodon, Matrix, and others, I feel like we're witnessing the end of the centralized web era (everyone uses one network), and the return to a distributed Internet (lots of different services) with aggregators (Adium or NovaChat).

The recent Twitch/Reddit/Twitter bans should only magnify this effect. Congrats Eric! I'm very excited to use this.

I hope that's the case, but I have trouble seeing a future where centralized applications (mostly Facebook, Instagram, and iMessage) will be thrown aside by the masses.

People still use Facebook after multiple proven privacy scandals. If that doesn't push people off the platform, what will?

An alternative with a strong existing network effect. I dont really use FB at all anymore, but Im not on Mastodon et al because no one else I know is.

It's a bad catch 22.

BeWelcome.org is trying hard to get that "critical mass". I won't explain the whole history of CouchSurfing demanding membership fees and locking people out of accounts, because I don't want to complain. The focus within the community is about volunteering and building a new future together. It's primarily about letting people stay in each others' houses for free, yet there's more to the community that just hosting and being a guest.

It's a very international group, with real-life weekly meetups in several cities. The management structure is like Wikipedia/Wikimedia. The website itself needs a lot of work though.

If BeWelcome gets the network effect it needs, I'm very hopeful that BeVolunteer could start more projects. (BeBook? BeMail? BeChat?)

It says its open source, but the only link to this in the faq says you should "get access" to the source via some developers circle(?) which goes to an apache "it works" page

Sorry that the link is wrong! This is the Github project:


There's no closed "developer's circle", it's an open group that anyone can join - I just made an account about a month ago.

I think you are exaggerating. I try out a lot of things and decentralized services don't seem to be catching my interest.

It's not about how something is build, it's about what is done with it.

I'm also pretty sure that the "silent majority" is pretty happy to have toxic people out and it's probable that they will move to these services. Giving the same problem to other stakeholders.

Additionally, decentralized services probably won't receive billions in funding.

Ehhhh maybe. I don't think the general population will be dropping Facebook/Twitter/Reddit anytime soon.

Facebook is actually dying. Ask people around you that younger than 20 years (+- a few). No one is using facebook at that age. Facebook is for boomer.

I'm 23 and about half my friends have and actively use Facebook. It's dying, but not _that_ quick. FB owns Instagram too, which is far more popular with the younger crowd.

Sure but they're using other appps with equally worrying privacy issues

I agree! While maybe it won't be everyone , it does feel like there's a cracking of positive energy around these decentralized, or at least federated efforts.

2 things.

1) much better name for a matrix client than the others, Nova sounds cool.

2) $10/month is more than Disney+ per month. Could there be the option to accept a $5/month for desktop only and a separate $5/month for mobile? Then a combined $10/month for both?

Massive kudos on it looking good (even if electron) and doing Matrix stuff nicely.

I will be watching this closely, especially when Signal is ready to go.

If you don't want to pay, you can always spin up our entire system on your own server. One way is to use Matrix-Docker-Ansible https://github.com/spantaleev/matrix-docker-ansible-deploy It is finnicky though. If you promise to give me good feedback and bug reports, sign up for the beta and I will waive the fee though!

I'd be happy to provide that to waive the monthly fee, I just filled out your form...

Would love to have iMessage working from my windows computer

Cool, I'm running a Matrix service like this myself but it's been a bit hit and miss. Keeping all those different bridges running over time is difficult. Especially the signal one is a real PITA, often contacts stop getting my messages from matrix while I still get theirs.

And Whatsapp requires whatsapp web so you need to keep the client running on your phone 24/7 or run it in an Android VM which is pretty heavy.

And finally the whole Matrix experience is a bit lacking IMO. It doesn't really do 1:1 chats so every time someone chats with you you get a 'room invite' from the bridge, which you have to accept, and all those old rooms stay forever cluttering up the system.

I wouldn't mind outsourcing all that work, but $10/month is a lot.. Good idea though! There's definitely a need for this, which is why I've been looking into it too. I'm just getting so sick of all these different chat apps screaming for attention all day, each with their own difficulties. Some don't work on the desktop, others only work on 1 client at a time. And each milking as much data as they can. Why can't people just stick to IRC :)

> Keeping all those different bridges running over time is difficult.

The issue is that most of the services Matrix tries to bridge to are basically hostile entities (except IRC and Slack). I'm honestly shocked how well Matrix bridging works when you take that into consideration -- and unsurprisingly the Slack and IRC bridges are the nicest ones to use. But I will admit that I think Matrix's marketing around bridging as being core to their chat model is a bit of a stretch -- while all of the bridges do work, most are a bit dodgy (and some require you to self-host).

For instance, the Signal bridge is actually a hacked-up version of the Signal Chrome App with a bunch of hooks added so that they can simulate you doing things through the web app. There is a project that uses libsignal-service-java directly to create a more usable CLI and DBus interface[1], but unfortunately they haven't switched to using that (and if it became widely used, Moxie would probably decide to block it). Whatsapp is probably similarly hacked-together.

> It doesn't really do 1:1 chats so every time someone chats with you you get a 'room invite' from the bridge, which you have to accept, and all those old rooms stay forever cluttering up the system.

Maybe this is bridge-specific, but I have several long-lived IRC 1:1 chats that are all in one room. There's nothing stopping a bridge from doing this correctly (as far as I know). As for old rooms cluttering up the system, I believe that (non-joinable) rooms with no members get garbage collected but I might be mistaken.

[1]: https://github.com/AsamK/signal-cli

I'm not sure I agree with it. The hostility of the services is one thing, but regardless of that there's definitely a lack of UX around "tunneling" into third-party accounts.

Most bridges require your own session on the third-party service (sometimes provided by a session cookie in the config file) and then invite you to a private room for each conversation through that service. There is no concept of a login UI for a third-party service, nor is there a concept of "ghost" users for third-party service users (let's say I have a friend that is both on Matrix as well as IRC and Signal - I want him to be considered as a single entity on the UI, and no need to have "rooms" for one-to-one chats with third-party users.

Yes this is another issue. Each bridge has its own way of managing things. In some (like Signal) you have to run a CLI command, in others you have like a bot where you can tell it what to do. It's not really standardized in Matrix.

I actually think Slack doesn't bridge very well with Matrix. One of the things I'm having issues with is the threaded chat, where in Matrix every thread appears as individual message replies, leading to a very confusing overview if multiple threads are being replied to at the same time.

Also, the API token is hard to get and it says you might get banned for using the 'xoxo-' token. Though I did it anyway :)

I was a big fan of Slack until they dropped their IRC bridges, but unfortunately some communities I'm on are still only on there.

Trillian, Adium, Pigdin for 2020? Lol. What a mess the internet has become.

Thing is that situation is much worse because there are no official APIs for most of the networks (most popular ones) this project aims to support - and it means constant uphill battle eventually doomed to fail. In addition to that if the project will ever become something more than just a gimmick then I think that entities like FB, Apple will use active countermeasures: technical and legal to discourage authors.

Those were all free too if I remember correctly?

Yes they were, except I think Trillian had a pro version.

I remember those! It was free forever then later on that Trillian Pro came around. Adium was my favorite during that time.

IRC was free too..

> Eric Migicovsky

Is this the Eric of Pebble fame? I have a lot of warm feelings here, I actually still wear one. :)

While I prefer open communication protocols and clients, the reality seems to be the world has sadly moved on from this. Hopefully Nova will be of as high quality as Pebble was.

Good luck!

Closed-source, single-dev Matrix frontend that doesn't even mention MS Teams. I want to like it, but for a monthly service fee it needs to be absolutely flawless and it needs to have enterprise auth nailed -- including O365/Exchange. I also can't figure out what this does that XMPP did not do -- XMPP did all of the above and still didn't really last.

it's (mostly) open source, actually: https://gitlab.com/nova

There's so many apps and many don't work on the desktop. It's just trying it's best to simplify keeping in touch with people where they want to talk.

I was under the impression that WhatsApp pretty aggressively bans accounts using third party clients.

How did you get around this? Or is it not an issue afterall?

Seems like they're running a chrome process controlled via the automation APIs.

not exactly, we're using a library that reverse engineered the Whatsapp Web api: https://github.com/Rhymen/go-whatsapp. I haven't had any problems with the API and I've been using it for a year straight.

Seems like your cloudflare got hugged a few hugs too many.

haha yeah, I did not expect this so I hadn't paid $5 for more workers. Should work now :)

Interesting, thanks for the info!

The target customer seems a bit odd. Typically people will have exactly 1 paid service for chat. Like, probably Slack. And that's already $$ per month per user. So is this for individuals that have their company pay for slack, and then like, what also pay for the luxury chat client that let's the employee add like a bunch of personal chat accounts?

On the other hand, if they're expecting individuals to pay for this (at $10/mo and that's during beta) just like, because, that's going to be a challenging market.

Since it's just using the Matrix protocol; it should be easy enough to just use bridgebox[0] with an existing Synapse server, right? Is the custom client doing anything that deviates from the standard Matrix protocol?

[0]: https://gitlab.com/nova/bridgebox

I've built a not for profit multi-platform capable matrix chat client that is now in open alpha called Syphon (https://github.com/syphon-org/syphon) to largely address the issue of proprietary chat clients.

Private, secure communication (with a decent brand and ui) should be accessible to everyone by now. Signal does a great job of filling the void for now but if they fail or are blocked by a country or community, the application interface itself is not a protocol to which people could easily pivot to the “gmail” of Signal.

I’m hoping that Riot’s upcoming rebrand will mark the start of this transition. We needed centralized efforts to spread usage of matrix, or even a similarly accessible protocol, but make it easy for those to create or maintain their own connection to that network. If all else fails, I guess we’ll have Syphon.

Been using this client for a few months and am pretty happy with it.

Have looked for a replacement for Adium for quite a while and Nova Chat is looking like it will be it. So much relief from not having to juggle multiple desktop chat clients and mobile notifications.

Looking forward to the upcoming features! App is getting some nice updates every few weeks.

This is exactly the functionality I want from a chat client, and have been unable to find.

But it’s Electron. Pass.

(Unless I find time to go figure out if it can be used with other Matrix clients…)

(I made this) It works with any matrix client. But the UI naturally is not as nice. I use it daily with RiotX on Android and it works fine.

If the claim of GP is true that your app is electron, why mention this?

>NovaChat is not a browser/Chromium solution that opens many tabs to different chat networks like Franz, Shift or Station

Because it's not? It's an app built in Electron that talks to their server. It's not an app built in Electron that opens up the official webpages for each of these chat apps.

I remember using Trillian back in the day, and the problem was that they couldn't keep up with features of each chat network, so I had go back to using ICQ, MSN Messenger, etc. separately.

We're working on a similar idea at https://texts.com

It supports iMessage as well, isn't based on Matrix and is completely local.

Thanks for providing a link. I signed up. Looking forward to when it becomes available. I currently use keybase for search and annotation so would like to see keybase included as well.

is not being based on Matrix a good thing? :D

:) Maybe? It has a new abstraction so it's kinda competing with Matrix as well.

How does the iMessage support work?

Is it based on Electron? Because if it's not, you have my attention.

Beta is in Electron but native versions are planned!

Definitely interested, then. Is there a newsletter signup or something?

This is of interest to me, but the Electron thing worries me. I already commit a lot of memory to Electron clients (VSCode, Discord, Slack, etc.). Adding another one, even if it replaces Slack, makes me a little concerned for memory economy.

Sounds like once the discord support is available, it would actually reduce the number of electron apps you're running.

I'm not sure why this is needed...looks to me like a solution in search of a problem.

I could not disagree more. This is a probably for me almost every waking hour. Perhaps this is a US-centric problem, but I have groups of friends on WhatsApp (mostly foreign), Hangouts, MMS/SMS, Telegram, and Messenger. Then there's Slack for work.

Ever since my Blackberry had my emails, SMS, and BBMs (iMessage-like service for BlackBerry users) all in the same inbox with threads, I have been dying for a service where I can just say, "I want to send a message to [person]," and let the app decide how to contact them or continue my existing thread.

I have paid for Franz and Station, both of which were unusable garbage, and now use Hamsket (a fork or Rambox)[1].

1. https://github.com/TheGoddessInari/hamsket

I've been running my own Matrix but I haven't really looked at the state of the bridges. Does it allow, e.g, someone on whatsapp to make a video call with me and I see it on Riot?

Not as far as I am aware. Most proprietary chat apps have very little support outside basic messaging. Corrections and standard reaction emoji work for platforms that support it, but that's about as far as support goes in most cases.

Video calling, especially e2ee direct communication, would probably be unstable and if poor quality if you require the call to go through an extra translation hop.

Chat support has been getting better though, bridge performance has increased a lot over the past few months. If the web app for your bridge of choice supports calling, I see no theoretical limitation in implementing a call integration, though it would probably be very hard to get it working correctly.

While I'm sure it's a fine app, this oddly looks like a graduation of using Thunderbird in ~2006 as a multi-email client.

10$ per month is a bit much for an app.

NovaChat lists WeChat in the "Coming Soon" section. Out of curiosity is it even possible to write a 3rd party client for WeChat? Last time I checked their APIs are extremely limited.

While we are on this page...

If someone need my help in creating native Chat UI please let me know, I can help to do it with Sciter: https://terrainformatica.com/2019/09/23/sciter-chat/

It could be purely native application or something along the lines of Sciter Quark ( https://quark.sciter.com )

I'm making one, it wont be open-source but i'll respect privacy, allow free self-hosting... imagine a discord(call features) + slack(paid for companies).

https://imgur.com/uSA8AMs.png https://imgur.com/P9ckNBn.png https://imgur.com/L9fDMKQ.png

Ram usage is currently at 12-50mb on windows, up to 90mb with 50 messages with images(unoptimized, no virtual scrolling yet).

The server will be a single binary, there is still a lot to do: pin messages, emojis, avatars, community avatar, search... i want it (server+desktop) to be done by the end of the year.

If Sciter sounds interesting for the project, please contact me at https://sciter.com/contact_us/

It already uses Sciter

Sciter engine looks interesting. Do you know of good resources for learning how to use it? Like tutorials.

Can anyone comment on how this compares to Ferdi?

Ferdi is essentially a proxy into the browser version of the apps, but this looks like it's built to proxy the connections to matrix, with a native front-end.

Why are we repeating the past!

It's not repetition though. It's more like a spiral. I like modern chat apps better. My parents and brother can use Signal but they never could use the previous solutions. Plus, vibrant ecosystems are a good thing. Having several chat applications that compete on features is a good thing.

LOL yes it is. Not sure how old you are but we've been here before.

I've seen various cycles a few times now. Cycle times in tech are short. Which makes me think I should use the proper terminology and call them spirals.

I'm sticking with Adium.

Pidgin for us Linux (ab)users

we have still captialism

This has been done so many times, I wonder why it never worked out

Why Matrix instead of good old XMPP ?

for a minute I thought I had notion app open due to novachat using same favicon.

They host the site on Notion.

This is the future.

Man if we could get something like this for snapchat.


While I like your app and definitely consider giving it a try now that it seems to support e2ee, you shouldn't create a new account to post the same message after your other one got voted down so hard. Please consider writing a "show HN" post instead.

If by "the other one" you mean https://news.ycombinator.com/item?id=23694021, it was killed by software, not downvoted.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact