Show HN: Actor Messaging platform
github.com
github.com
You might want to contact the EFF to see if they will add you to their "scorecard" for secure messaging programs:
1: https://github.com/trevp/axolotl/wiki 2: https://github.com/agl/pond/tree/master/client/ratchet
I already implemented in the past crypto for Telegram, there waere a lot of small mistakes in the implementation part. Even Telegram have many resources, but we haven't.
Whether you like copyleft licenses or not is irrelevant. They are the wishes of the person who developed the original code.
More information about GPL and Mobile Stores: https://www.fsf.org/blogs/licensing/more-about-the-app-store...
From what I can see the Signal application uses GPLv3'd code. I have no idea how it is still available in the Apple store.
And any fork will need this permission again? I believe that crypto implementations need to be in public domain. What if people can't use some software and will stay unsecured?
Is there anything HN community can help you with?
"Actor" is named after Actor Model, where Actors are small valuable pieces of code that can integrate with other Actors of different kinds. The same idea can be for services, build deeply integrated experience of tools that we are using.
This is dreams, but i have not evidence that they can't be true.
Someone can try to translate platform to various languages.
But we need good quality, this is the main point. We don't want to be another opensource-based company that don't have resources to build good software and use small community opportunities to build something that at least works, we want quality. This is essential for messaging: speed, reliability and UI/UX.
But we have email authentication now and we just not implemented it apps. We also can to do OAuth2 authentication.
Thanks!
I see you have done a fair bit of sophisticated work inside your "core-async" library. Was there nothing like socket.io-client, etc that you could have used for your transport layer and on the android client side ?
If you is interested in protocol, you can read docs: http://actor.readme.io/docs/protocol
Sources of networking is inside core project. You will see how really complicated it is. Networking layer are also handle cases when servers are crashing randomly and restoring everything on clients after restoring.
We reimplement low-level networking because all underlying protocols are still bad. TCP usually freezes randomly especially in mobile networks. (this is very long story and i will post something someday about this) WebSocket (that we are actually using) are freezing too.
Good protocol is QUIC from google, but it is written on C++ (i don't like it) and quite new.
Also most of the libraries a buggy, we implement simple and time-proven solution (that was done when i worked at Telegram).
Also I can't believe in socket.io because we are able to handle 1M connections per server and no one on Node.js ever available to do this.
also, did you measure power consumption on platforms like android ? one of the big problems with a lot of protocols is the impact of power consumption. I will tradeoff 5 seconds of latency if it reduces power consumption by 50% on my phone.
Actually - this is one of the questions that I have: which library should an ordinary app use to have decent power consumption performance for a messaging platform. Fast response and realtime is not a criteria. Websockets, XMPP, long polling ?
Yes. We use at lowest layers websocket and TCP just for transmitting binary frames. Our protocol is very complicated for providing stable cnnections.
> also, did you measure power consumption on platforms like android ?
This is not how cellular data works. It warms up radio before any active transmit and it lasts for much more that 5 seconds after last byte was sent. This doesn't help you at all. We have small problems in our clients with power consumption, but this is in application level, not networking.
> Actually - this is one of the questions that I have: which library should an ordinary app use to have decent power consumption performance for a messaging platform.
In all cases it depends how you use them in application level.