Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What is "extremely high speed"? Do you have latency measurements from back then? I'm in Slack chatrooms with thousands of users. Your argument is essentially "it felt hella fast back then so what changed". Feelings are hard to dispute.

Mobile devices matter because they cannot maintain persistent connections. This by design necessitates a different architecture. AIM and IRC can have a single machine hold open a TCP connection and send and receive messages. A mobile device's modem wakes up briefly, performs some network chatter, then goes back to sleep. It's a fundamentally different requirement on the way the system is designed. IRC has evolved (through add-ons, not in the protocol itself) to shim this by using bouncers or having some sort of push notification based proxy for messages.

The other question is, how reliable was AOL? I have no idea how many outages they had, how long those outages lasted, nor what the impact was. Given the service was meant to be used as entertainment I suspect their SLA was one of best effort rather than the measured kind that Slack is leaning into (wrt using multiple CSes and using consistent hashing to pick which CS to send a message to, so architecture can be scaled as needed.)

I don't work for Slack but I work on high scale systems for a big company for a living. I'm pretty aware of the limitations of networks nowadays and the differences between systems in the dial-up era from now. Just the fact that Slack accommodates devices with push based semantics (mobile devices) and pull based semantics (anything that can open a persistent connection) is itself a large difference between systems of old and systems today.

Btw the TOC and Oscar protocols that AOL used have been reverse engineered and documented online so you can see for yourself at least at a protocol level what's different.



> Mobile devices matter because they cannot maintain persistent connections.

This isn't really a property of the device. It's an OS limitation. Nokia Series 60 didn't have a platform push service, so WhatsApp had to maintain a connection from the app to the servers to get messages without delay; it was not unusual to find Series 60 phones connected for 30+ days when I worked at WhatsApp. The newest versions of Nokia Series 40 had push, but older versions had to long-connect as well. Some mobile networks aren't great at letting connections work for longer times either, but some can.

But yeah, Apple only lets Apple keep connections open. Android doesn't have hard and fast rules, but background connections are likely to die, you should use push if you can. The push services connection is going to try to stay connected for a long time though.


Yeah I don't disagree that these are OS/platform limitations. I'm just saying that this is a factor that makes the architecture different.

Thought it is quite interesting to consider a world where mobile platforms made different platforms.


BlackBerry had a working push system without hanging TCP connections. You made an HTTP call to BlackBerry, who then sent a UDP packet over the network direct to the device. It's a shame we've lost this architecture.


Huh interesting. How did the remote know the endpoint to send the UDP packet to? I would expect NAT and firewalls would make it hard to route inbound UDP? Did they do some sort of STUN style negotiation through HTTP?


BlackBerry operated it's own GPRS APN, so all Blackberries registered directly with it from the tower, and so it always had their up-to-date location on the network.




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

Search: