I wrote up a larger reply to this, but simplified it a bunch:
1. Hardware needs to be good enough. Raspberry Pi proved that. Ubiquity of common parts solves a bunch of issues. The main limiting factors here are likely transcode speed, ethernet speed, encryption speed.
2. Software needs a good modularization story. Linux in general suffers from the idea that everything is configurable and to configure everything you have to learn about how it interacts with everything. There's a lot of focus on how to do things rather than matching common use cases to profiles that just work. As a concrete example rather than selecting the "I'm at a coffee shop or airport" profile, I need to select that I'm on an insecure network that I don't trust with a specific password and a configuration for my VPN that forces traffic ... Addressing componentization via use case design seems lacking (and a good place to introduce standardization). A lot of the "tinkering" level software seems to start with "How" rather than "Why" as the impetus.
3. Security. We have security principles that are evolving to solve these sorts of problems (OAuth2 RAR, Passkeys). Invest in them.
4. Support. Common solutions for common problems breed easier conversations. There are consultants that do NAS support for small businesses because those NAS companies have gained enough market share. Secondly we need to spend more time to start with the why rather than the what. Software developers (myself included) obsess over the latter and build systems at that level that can answer (how fast is my connection) rather than systems that inherently answer the real need (why is my connection slow or intermittent).
5. Perhaps the answer is just build a better NAS company where the focus is on home server software rather than purely around adding server software to a bunch of disks in a box. Perhaps the answer is really embracing the idea of U in NUC?
Perhaps this has been done elsewhere? Perhaps it's been done too many times to really work?
1. Hardware needs to be good enough. Raspberry Pi proved that. Ubiquity of common parts solves a bunch of issues. The main limiting factors here are likely transcode speed, ethernet speed, encryption speed.
2. Software needs a good modularization story. Linux in general suffers from the idea that everything is configurable and to configure everything you have to learn about how it interacts with everything. There's a lot of focus on how to do things rather than matching common use cases to profiles that just work. As a concrete example rather than selecting the "I'm at a coffee shop or airport" profile, I need to select that I'm on an insecure network that I don't trust with a specific password and a configuration for my VPN that forces traffic ... Addressing componentization via use case design seems lacking (and a good place to introduce standardization). A lot of the "tinkering" level software seems to start with "How" rather than "Why" as the impetus.
3. Security. We have security principles that are evolving to solve these sorts of problems (OAuth2 RAR, Passkeys). Invest in them.
4. Support. Common solutions for common problems breed easier conversations. There are consultants that do NAS support for small businesses because those NAS companies have gained enough market share. Secondly we need to spend more time to start with the why rather than the what. Software developers (myself included) obsess over the latter and build systems at that level that can answer (how fast is my connection) rather than systems that inherently answer the real need (why is my connection slow or intermittent).
5. Perhaps the answer is just build a better NAS company where the focus is on home server software rather than purely around adding server software to a bunch of disks in a box. Perhaps the answer is really embracing the idea of U in NUC?
Perhaps this has been done elsewhere? Perhaps it's been done too many times to really work?