5 ms·
>First, in my opinion distributed BEAM is mostly intended to run on a network which is fast and more reliable (such as local network). While in theory it can al
by olah_1 7y ago
>First, in my opinion distributed BEAM is mostly intended to run on a network which is fast and more reliable (such as local network). While in theory it can also work on a less reliable/slower network (e.g. geographically dispersed machines connected via Internet), in practice you might experience more frequent netsplits which could cause various problems, such as worse performance or less consistency.
This is exactly why I wasn't excited about LiveView[1]. It felt like a step backwards in terms of human-centric design. Another tool that makes us consider our network bars first and our life second.
In general, I'm kind of disappointed that Elixir isn't leading the way on decentralized and offline-first technology, but I guess it's a limitation of BEAM running on small/low-powered devices?
[1]: https://github.com/phoenixframework/phoenix_live_view https://github.com/phoenixframework/phoenix_live_view
- brightball 7y agoI guess the question is how low powered and small you want to go? Nerves seems to be flourishing.
- olah_1 7y agoThat's a good point. But does Nerves advance any kind of offline-first design? It still assumes a constant and high quality network connection, right?
- brightball 7y agoNerves doesn’t make any assumptions about connectivity. https://nerves-project.org/ https://nerves-project.org/
- rozap 7y agoLiveView is not distributed erlang.
- di4na 7y agoThis work tend to happen at a lower level, ie in erlang. Check Lasp https://lasp-lang.readme.io/ https://lasp-lang.readme.io/ and its Partisan distribution networking strategies.
- delta1 7y agoHow does live view have anything to do with network connectivity? If you need a live server to provide you with updates what difference does it make whether it's live view or some other json/websocket setup?
- olah_1 7y agoLiveView makes basic functionality of websites only work if you have a constant, high quality connection to the server. Even things like UI changes require the server connection.
- elcritch 7y agoHave you actually tried it on a cellphone though? LiveView works decently enough for me over my cell phone connection even when using a vpn. I wouldn’t want say a todo app made using LiveView, but for dashboards and other sites which require server data anyways it does fine. Oddly I find LiveView can even feel subjectively faster than an SPA making a discrete request and then rendering the result.
- olah_1 7y ago"but for dashboards and other sites which require server data anyways it does fine." I understand that apps require data anyway, but I find offline-first design to be much more compelling for most apps. Things shouldn't halt or break if your connection goes out or is spotty. Maybe I'm wrong and the future will be everyone cooking in a giant microwave of internet waves :)