先回答范围问题
做操作系统最难的不是某个技术点,而是范围。一旦把“还要支持哪些设备”这个问题放开,后面的每一个决定都会变得含糊:为省电做的取舍、为小屏做的取舍,会跟桌面上的需求互相打架。
我们的答案是先把范围收到最窄:x86_64 桌面电脑,一种架构,一种形态。
为什么不顺手把手机也做了
“顺手”是这件事里最贵的三个字。
桌面电脑和移动设备在功耗、屏幕尺寸、输入方式上的取舍方向是相反的。为桌面做的调度放到移动设备上会立刻表现为耗电,而为移动做的省电策略放到桌面上会表现为卡顿。要同时照顾两边,结果通常是两边都不够好。
更实际的问题是验证成本。每增加一种形态,需要测试的组合就会翻一倍,而我们没有能力把翻倍后的组合都跑扎实。与其给出两份都不完整的支持,不如给出一个真正可用的。
现在对外说清楚,以后就不用改口
我们把这个边界写进了产品说明里,也写在官网上:Soke 目前面向 x86_64 桌面电脑。
其它设备形态不在当前范围内。这样写的好处是,用户不会因为一句“全场景”产生错误预期,我们也不会因为要兑现那句话而把资源分散掉。
范围窄,不代表目标低
收窄形态不等于降低标准。桌面这一件事本身就足够大:装好之后要能日常用、升级不能丢东西、出问题要说得清。每一件都要真正做完才谈得上可用。
我们宁愿在一个形态上做到能日常使用,也不愿意在五个形态上都停留在能演示。