News for hackers. Stuff that matters.
Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @05:25PM (#11300805)
Here's a timeline we put together of about 60 incompatible chat services: https://cdn.sameroom.io/chat-timeline.pdf

Our service Sameroom (https://sameroom.io) is a commercial solution to the chat incompatibility disaster, not too different from an AC adapter thingy with a bunch of different plugs, one or two per continent.

After implementing the protocols of quite a number of these systems (~20), we're seeing a scary acceleration toward further incompatibility. It's good for our business, but really pretty bad for the world.

Re:Open Sourcers Race to Build Better Versions of Slack by takeda on Wednesday March 16, 2016 @10:52PM (#11302295)
This is so disappointing.

Especially Jabber/XMPP was created to fix that issue by standardizing the protocol. The idea is that IM would be like email - no central server.

Others (GTalk, Facebook, WhatsApp, HipChat to name few) started implementing it but did not enable server to server communication (ok GTalk did, but as soon as they became popular they intentionally broke it with Hangouts).

So now we have bunch of services that use same protocol but still can't communicate with each other, the XMPP seems like it is dying.

A while ago there were plenty of server-side transports to help migrate to XMPP, but it doesn't seem like they are no longer being developed.

I don't understand why no one cares anymore about decentralizing and standardizing IM.

Re:Open Sourcers Race to Build Better Versions of Slack by zamalek on Thursday March 17, 2016 @05:10AM (#11303296)
The problem is that the IM protocol space seems very opinionated. "XMPP? XML sucks!" "Web sockets? Web sockets suck!" "JSON? JSON sucks!" "Binary? That prevents telnet, binary sucks!"

People do care, it just seems as though they care about their pet peeves more.

Re:Open Sourcers Race to Build Better Versions of Slack by iheartmemcache on Thursday March 17, 2016 @09:49AM (#11304285)
That "XML" sucks thing is why we don't have single-sign on (YuBiKey is doing a great job getting half way there though). We keep on reinventing the wheel re: authorization & authentication despite the fact that there are well-defined, cryptographicly secure[0]. SAML2[1] has been standardized, implemented, operates in a similar fashion to SMTP/Kerberos (i.e., your identity is established (i.e. authentication) purely through a trusted-source), after which you can proceed.

  * This eliminates the whole issue for users (I don't want to have to remember 40 million passwords, and I don't want to rely on Google as my SSO). 
  * It helps the developer because all he has to do is implement one protocol (rather than make 8 different accounts to register passport.js with).
  * It helps the tin-foil hatters like me, because I can revoke access from any source at any time & if my account gets compromised I call my buddy Bill hosting the IDP and invalidate my credentials.
It's SMTP mail back in the late 90s when your buddy ran his own server as your primary MX, and his buddy as a secondary MX (i.e., you host an IdP similarly to hosting a mail server).

I've been working on this problem on and off for about 10 months, the last 4 of which have been fairly rigorous. I've got a solution for the "buddy" willing to host the IdP. https://github.com/bergie/passport-saml is a low friction add-on to your node app for the developers. The last piece of the puzzle is dev adoption (i.e., getting traction on par with LetsEncrypt) to actually spend 5 minutes for that passport-saml stuff.

The other issue is developing an easy solution (easier than SSO with Google) done by mobile App authentication. User-flow is basically: you click "Login with <name>", the IdP forwards the message to your mobile via APN, and you swipe left or right to auth. That's the last technical barrier (user adoption is 80% of the problem). I need to take ~3 mo off and pony up high-five, low-sixes in fees re: getting a great UX guy (I'm abysmal [[if you're great at UX, contact me]]), lawyers, liability insurance, a security firm to audit, etc (there's already a monetization model for this venture, though the whole thing will be GNU AGPL[3] / free for universities / research institutions, etc.)

[0] Like, in the formal mathematically proven sense, both in concept, and implementation (though which one slips my mind).

[1] http://wso2.com/library/articles/2010/07/saml2-web-browser-b...

[2] Encryption is basically a subset of privacy, which I think we have a constitutional right to, though other people object.

[3] The whole point is to do this first as a human good, but profiteer off expensive licenses a la Exchange modules, et al. I don't really want to shop around Sandy Hill but if any of you successful Angels (who are historically privacy advocates, I'd give Karsten Nohl or DJB (or hell, PG if you're reading this message haha, 30% and 2 seats in a second, but Larry Ellison could offer 3MM for .1% and that meeting would conclude rapidly) are interested, e-mail me me -- we'd be able to go to market a lot quicker with 2 or 3 FTE's. I'm going to complete this anyways, but we're fighting cryptowars again so there might be a rush.

Re:Open Sourcers Race to Build Better Versions of Slack by zamalek on Thursday March 17, 2016 @09:53AM (#11304318)
We integrate pretty deeply with SAML and, yes, it's awesome tech. It makes complete sense that XML was used because real namespaces are important for claim extensibility. Sadly, "XML sucks!"
Re:Open Sourcers Race to Build Better Versions of Slack by zanny on Thursday March 17, 2016 @12:12AM (#11302526)
People do care. I'm working on a Qt Matrix client for KDE / maybe eventually Telepathy.

The problem is non-techies do not understand why email is good while messaging is bad. There is no indication as to where these problems would come from, and they have no insight into why the problem happens in the first place, while they gleefully eat up iMessage / Facebook Messenger / Skype / Hangouts / Whatsapp.

Re:Open Sourcers Race to Build Better Versions of Slack by teekert on Thursday March 17, 2016 @04:39AM (#11303198)
Because to a non-techy, running a messaging server is just as out of reach as running a mail server. It's just too difficult.
Re:Open Sourcers Race to Build Better Versions of Slack by iheartmemcache on Thursday March 17, 2016 @09:52AM (#11304310)
Lots easier than before. Off the top of my head: 1: You have more than enough 'power users' who keep their machines on 24/7 for torrent seeding. VirtualBox is free & those guys are fairly security conscious as a result of the inherent defensive nature of torrenting (MPAA litigation, etc). Give them a VBox server they can run and they'd happily do it. Now grandma can use his server no problem, in the same way that you only needed 1 techie in your group (pre-AOL) to host an SMTP server.

The real difficulty is convincing grandma that she needs to leave "AOL".

Re:Open Sourcers Race to Build Better Versions of Slack by teekert on Thursday March 17, 2016 @11:16AM (#11304848)
That is oversimplifying, for example what happens when Microsoft seems to make your email to your brother in-law disappear and they tell you they have no control over their spam filters? Or when you sent out birthday invites and every Yahoo user you know presents you with an automated message that your server has been banned forever from sending them mail? So you set out to get SPF records, get DKIM working, get certs... and it doesn't help.

Also, running torrents is different from getting all the DNS set up and forwarding all the ports. And even then, where I live, out of the 10 or so fiber providers I can choose, I know that only 2 allow me to do anything with port 25.

It can be a Pita.

Re:Open Sourcers Race to Build Better Versions of Slack by takeda on Thursday March 17, 2016 @05:08PM (#11307625)
One doesn't need to run own server, they can use one of the public ones:

https://xmpp.net/directory.php

Similarly how it's done with mail.

Re:Open Sourcers Race to Build Better Versions of Slack by pjc50 on Thursday March 17, 2016 @05:32AM (#11303365)
GTalk did, but as soon as they became popular they intentionally broke it

This is the thing. If nobody owns it, nobody can exploit it; if nobody can exploit it, it can't get VC funding.

Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @10:56PM (#11302308)
I think because it's a "nice-to-have", not a "must-have".

(We have SMTP, a must-have.)

There is no such thing as a "nice-to-have" universal protocol.

Re:Open Sourcers Race to Build Better Versions of Slack by scrollaway on Wednesday March 16, 2016 @05:32PM (#11300845)
Thank you, that PDF is incredibly depressing.

By the way, well done on sameroom. I came across your product while working on the stuff I mentioned and it looks like an incredibly useful thing. I really wish you would open source it, though. (Or at least open source some libraries for talking to the protocols you deal with. Especially Hangouts.)

Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @05:39PM (#11300883)
Thank you!

We're so paranoid about getting shut down by Google (Hangouts, no API), Microsoft (Skype, no API), and Facebook (Messenger, no API) that we're not only not open sourcing any of our implementations, we're not even providing a commercial API in fear of having to deal with some form of abuse.

That said, the night is young. We hope to eventually gain enough leverage to get the big guys to listen to us.

Re:Open Sourcers Race to Build Better Versions of Slack by scrollaway on Wednesday March 16, 2016 @05:46PM (#11300938)
Ok. It's kind of good to hear the barrier to open sourcing is more legal than commercial. That means it's fixable :)

Can I ask you some details on how you went about working with Skype and Hangouts? Did you do the reverse engineering yourself? These are protocols several popular open source projects have been trying to support for years and haven't succeeded.

Can I also ask you about your tech stack/languages you used for Sameroom?

Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @06:01PM (#11301019)
We implemented them ourselves, and it took quite a bit of work.

Our magic weapon is Erlang, which is a wonderful language for working with protocols, and a wonderful runtime for working with many things happening at the same time.

The other magic weapons are the Cowboy webserver and the Gun http client -- both written by Loïc Hoguin. Loïc doesn't work for us, but we've been sponsoring him financially for over two years (https://medium.com/@abs/what-we-learned-from-sponsoring-an-o...).

Our frontend doesn't really matter as much, since it's just a dashboard, but we use TypeScript with Flux and React (it's been great).

Re:Open Sourcers Race to Build Better Versions of Slack by derefr on Wednesday March 16, 2016 @11:36PM (#11302419)
I was just considering advocating within my employer (Cloudant, i.e. clustered-CouchDB-as-a-Service) to back Loïc too. CouchDB is still stuck in the past with Mochiweb, and while switching that out for Cowboy 1.X would be a nice-to-have, getting our hands on a stable release of Cowboy2 (i.e. "the HTTP/2 version") would let us optimize Couch's replication story immensely. I've just been trying to set up a single trivial Event Stream HTTP/2 loop_handler with the Cowboy2 master, and it's really just not there yet, so we could probably give him a push.
Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @11:53PM (#11302473)
That would be great - I can put you in touch if you're not already ([email protected]).
Re:Open Sourcers Race to Build Better Versions of Slack by seivan on Wednesday March 16, 2016 @09:25PM (#11302005)
Care to share your webpack config for getting React and TypeScript to play ball? I'm collecting a bunch to try to figure out what works best.
Re:Open Sourcers Race to Build Better Versions of Slack by jlarky2012 on Wednesday March 16, 2016 @09:51PM (#11302094)
That's actually interesting topic :) Right now we use gulp and gulp-typescript. So far, I like approach that is used in https://github.com/Microsoft/TypeScriptSamples/tree/master/e... but I'm not sure if we are going to use it any time soon. As far as gulp config, what we use is pretty much close to gulp-typescript README examples
Re:Open Sourcers Race to Build Better Versions of Slack by seivan on Thursday March 17, 2016 @03:24PM (#11306861)
Thanks! Yeah it's hard to find good UP TO DATE reading material on this. I genuinely appreciate this.
Re:Open Sourcers Race to Build Better Versions of Slack by scrollaway on Wednesday March 16, 2016 @09:41PM (#11302068)
You can take a look at ours: https://github.com/hearthsim/joust
Re:Open Sourcers Race to Build Better Versions of Slack by zanny on Thursday March 17, 2016 @12:10AM (#11302520)
There are actually FOSS implementations of Hangouts wrappers (Hangups) Skype wrappers (SkypeWeb for libpurple) and Facebook wrappers (purple-facebook) and even a telepathy wrapper for the Facebook protocol.

Nobody is getting sued yet, and Pidgin supports all of them nowadays.

Re:Open Sourcers Race to Build Better Versions of Slack by vvanders on Wednesday March 16, 2016 @05:50PM (#11300956)
Re:Open Sourcers Race to Build Better Versions of Slack by pyre on Wednesday March 16, 2016 @06:56PM (#11301326)
Or how AOL's Oscar protocol got updated at one point to start requesting chunks of the AOL IM binary as authentication against open sources clients (because they couldn't distribute AOL's binary with their client).
Re:Open Sourcers Race to Build Better Versions of Slack by khc on Thursday March 17, 2016 @04:43AM (#11303210)
Do you have a source for this?
Re:Open Sourcers Race to Build Better Versions of Slack by quadrangle on Wednesday March 16, 2016 @09:27PM (#11302021)
Sounds like you just need the AGPL
Re:Open Sourcers Race to Build Better Versions of Slack by WoodenChair on Wednesday March 16, 2016 @09:45PM (#11302077)
Yeah because if you open source something under the right license, no abuse happens... What percentage of GPL violators has the FSF prosecuted? Or anyone else for that matter?
Re:Open Sourcers Race to Build Better Versions of Slack by chei0aiV on Thursday March 17, 2016 @04:21AM (#11303126)
The FSF isn't about prosecuting people, but about getting GPL compliance.

https://sfconservancy.org/copyleft-compliance/principles.htm...

Unfortunately working on GPL compliance is expensive, I would encourage anyone who cares about copyleft to support the Software Freedom Conservancy's efforts.

https://sfconservancy.org/supporter/

Re:Open Sourcers Race to Build Better Versions of Slack by scrollaway on Wednesday March 16, 2016 @09:43PM (#11302070)
Licensing has nothing to do with this.
Re:Open Sourcers Race to Build Better Versions of Slack by yborg on Wednesday March 16, 2016 @06:15PM (#11301093)
Not sure what is so depressing here. According to the chart, a total of nine listed networks died in 50+ years, this is actually astoundingly low.

And all IRC implementations are "interoperable" in the sense that a single client that implements the protocol can connect to any of them, this chart seems to be padding things a lot by calling every IRC server network a "chat service". A number of them also have or have had interconnects with each other in the past.

Re:Open Sourcers Race to Build Better Versions of Slack by tlrobinson on Wednesday March 16, 2016 @11:52PM (#11302470)
Surely there were networks that went defunct before 2011. That's probably when they started paying attention.
Re:Open Sourcers Race to Build Better Versions of Slack by chejazi on Wednesday March 16, 2016 @08:27PM (#11301781)
The depressing aspect is the accelerating fragmentation caused by more custom protocols entering the game. Supporting them all as the space grows will only get more cumbersome.
Re:Open Sourcers Race to Build Better Versions of Slack by amai on Thursday March 17, 2016 @06:29AM (#11303544)
I think Signal from https://whispersystems.org/ deserves to be mentioned, too.
Re:Open Sourcers Race to Build Better Versions of Slack by andrey_utkin on Wednesday March 16, 2016 @05:43PM (#11300919)
Out of curiosity: are you leveraging such software as spectrum (spectrum.im) and libpurple? These pieces seem to be a good fit for internal gears of your product.

Good luck, you are working on an important problem.

Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @06:16PM (#11301106)
Hi Andrey - we're not using spectrum.im or libpurple (but are aware of both). We saw that libpurple now supports Telegram, so we may borrow some ideas from them :)

Thank you!

Re:Open Sourcers Race to Build Better Versions of Slack by chei0aiV on Thursday March 17, 2016 @04:33AM (#11303174)
Please look at Telepathy too.
Re:Open Sourcers Race to Build Better Versions of Slack by peteretep on Wednesday March 16, 2016 @07:40PM (#11301554)
It doesn't look like you provide quite what I'm after, which is a single OS X / iOS app that seamlessly connects to all of those, while supporting the differentiating features of each. Would easily shell out $30 for such a thing, and maybe even $10 a month for a licensed version. Setting up "tunnels" between client installs probably gets me fired.
Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @08:20PM (#11301754)
We focus on connecting teams vs individual productivity. Check out http://meetfranz.com/ for a single app option.

About getting fired - not if we sell our solution to your IT :) They might like it, actually, since they can a) provide something useful to their user base and b) get a better handle on the chat situation.

Re:Open Sourcers Race to Build Better Versions of Slack by voltagex_ on Thursday March 17, 2016 @12:23AM (#11302561)
You find yourself in the same position that Trillian did, what, 15 years ago?

Thanks for giving it a shot, at least. It's getting to the point where if I wanted to keep in touch with most of my friends all the time, I'd need to carry two or more devices (thanks for keeping iMessage closed, Apple).

Re:Open Sourcers Race to Build Better Versions of Slack by mwfunk on Thursday March 17, 2016 @12:35AM (#11302604)
iMessage works fine with SMS and MMS.
Re:Open Sourcers Race to Build Better Versions of Slack by molmalo on Thursday March 17, 2016 @02:13AM (#11302835)
Which is absolutely irrelevant. It's expected from a mobile phone to be able to send and receive SMSs. But SMSs can take several minutes to reach its destination in some areas. Long messages are split. And the experience as a whole is totally different. And of course, most people pay per message (individually or as a pack), at least globally. So, if someone wishes to send a message, it shouldn't matter what OS or app is being used by the other party. IF GP uses an Android phone as its primary phone, it may be problem if he is trying to chat with someone who uses only iMessage.
Re:Open Sourcers Race to Build Better Versions of Slack by akerro on Thursday March 17, 2016 @04:22AM (#11303128)
Facebook, Google chat and some others XMPP based were compatible and you could chat with Facebook users without having facebook account, but they closed their services making it all incompatible.
Re:Open Sourcers Race to Build Better Versions of Slack by ldarby on Thursday March 17, 2016 @11:32AM (#11304958)
That PDF suggests Zulip died after being acquired by Dropbox, but that's not the case, they opensourced it: zulip.org
Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Thursday March 17, 2016 @12:52PM (#11305641)
We decided to only include cloud services, so we weren't sure what to do with something you have to run yourself. That said, the line is blurry, we will fix.
Re:Open Sourcers Race to Build Better Versions of Slack by donatj on Wednesday March 16, 2016 @07:57PM (#11301633)
The timeline is missing the fact that ICQ converted to Oscar after the AOL acquisition and users on both networks can talk.
Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @08:23PM (#11301767)
Thanks - will fix.
Re:Open Sourcers Race to Build Better Versions of Slack by alexvoda on Thursday March 17, 2016 @02:03PM (#11306237)
Would you mind releasing the source (SVG? Illustaror?) of that very depressing chart under an freedom respecting licence (CC-BY? CC-BY-SA?) and hosting it on something like Github/Bitbucket/Gitlab/Codeplex? I would like to contribute by updating it. Also, I would like to link to it on Wikipedia.
Re:Open Sourcers Race to Build Better Versions of Slack by Apocryphon on Wednesday March 16, 2016 @11:02PM (#11302324)
As it turns out, the tower of Babel is completely self-perpetuating.
Re:Open Sourcers Race to Build Better Versions of Slack by txdv on Thursday March 17, 2016 @04:12AM (#11303093)
How have you implemented skype?

Have you written a stand alone library which communicates with skype?

Re:Open Sourcers Race to Build Better Versions of Slack by creshal on Thursday March 17, 2016 @05:03AM (#11303275)
Skype has a web-based API nowadays that's used by quite a few third-party clients.
Re:Open Sourcers Race to Build Better Versions of Slack by brazeon on Wednesday March 16, 2016 @05:30PM (#11300834)
Do you plan on open sourcing plugs or any parts of your system?
Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @05:41PM (#11300903)
You can see what happens to OS projects that work with WhatsApp, Skype, and some of the other heavily guarded walled gardens -- cease & desist orders, carried out by GitHub.

We have absolutely no interest in joining that list, which unfortunately means the answer - for the time being - is no :(

Re:Open Sourcers Race to Build Better Versions of Slack by cyphar on Wednesday March 16, 2016 @05:58PM (#11301002)
Right, but surely if you're selling it that's much more incentive for a cease and a desist (regardless of whether it is free software).
Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @06:05PM (#11301040)
Actually I don't think so. The main thing the owners of big networks are afraid of is spam.

We provide a ridiculously expensive way to connect, say, Slack to Skype, which is ==great for Skype==, from almost every possible angle. It means Skype users can stay on Skype instead of switching to someone else's Slack team.

Re:Open Sourcers Race to Build Better Versions of Slack by taurath on Wednesday March 16, 2016 @10:03PM (#11302124)
In that case great for skype, bad for slack. Someone, somewhere will decide they'd rather force those customers to use their service/client, or else they'd have an open protocol in the first place.
Re:Open Sourcers Race to Build Better Versions of Slack by rekoros on Wednesday March 16, 2016 @10:16PM (#11302172)
There's a huge compliance problem with working in someone else's Slack team -- you own none of the resulting data and you don't control access on your end.

Email is much better in this way, since everyone gets a copy.

With Sameroom you essentially retain the carbon copy semantics of email, but with real-time collaboration. So, I'd argue that it's great for Slack.

Re:Open Sourcers Race to Build Better Versions of Slack by liveoneggs on Thursday March 17, 2016 @01:25AM (#11302738)
you left out ICB