Event JSON
{
"id": "9cde1bcfff6df084e427ce69d8c3e4736757b8d0dccdd4ae8fcdf514f009fe25",
"pubkey": "434f97993627f1e61f14eeaf60caa8cfdcec10a592caff8250c825252d548c15",
"created_at": 1744681159,
"kind": 1,
"tags": [
[
"e",
"ae5640869eb55b163eef2c6df61ba81f3b76f5d5df571f9e53ff894304328c79",
"wss://relay.cxplay.org/",
"root",
"434f97993627f1e61f14eeaf60caa8cfdcec10a592caff8250c825252d548c15"
],
[
"e",
"3e7b6dcc044d294688b88c58d196b08e3aca7a3b6fde6f54cbc8f88f44bb40ea",
"wss://nostr-relay.app/",
"reply",
"434f97993627f1e61f14eeaf60caa8cfdcec10a592caff8250c825252d548c15"
],
[
"p",
"434f97993627f1e61f14eeaf60caa8cfdcec10a592caff8250c825252d548c15",
"wss://relay.cxplay.org/"
],
[
"q",
"9271fcc5449e2226463c0204b65a3754f5c85093d18a054a744642e68927de59",
"",
"434f97993627f1e61f14eeaf60caa8cfdcec10a592caff8250c825252d548c15"
],
[
"client",
"Nostr.moe Pro",
"31990:97eafcb1b8438d56d2a3309c6faf08ae61be618a65c87b6a295549ea773ac29d:1743731289"
]
],
"content": "看到懒猫微服的老板在 Twitter 求浏览器新标签页插件:\nhttps://fixupx.com/manateelazycat/status/1911805573601149073\n\n想起我自己也是一直都在将就着用, 以前最喜欢的是 MONKNOW, 但可惜距离上次移除后重新上架就再也没有更新过了(已经有一年多没更新了).\n我也知道软件在达到完善的地步之后如果没有问题就没要去动它了, 但是 MONKNOW 在内的新标签页是依赖云服务的软件, 至少也在依赖包括他自己的和浏览器扩展商店分发在内的服务, 这是个 SaaS 而不是单纯的软件, 而 SaaS 就是要求保持维护甚至 SLA 的, 至少也要主动让用户知道服务还在活着, 即使是每年刷一个版本号也好, 这多少也是种告诉用户 \"我们的服务没有关闭\". 作为一个闭源的软件, 依赖于闭源云服务组件的软件, 在我吐槽之后的两年依旧没有任何动作. 而这个产品是 2020 年才被我发现的, 如果现在去看当时的推荐文章里面的截图, 其实和五年后的现在没有任何区别, 大概率这五年也并没有任何实质的更新.\n可能是这五年之间真的由于产品太过于完美了导致不需要更新只需要维持上架和后端服务器维护就好. 可惜扩展商店的那些评论告诉我这是不存在的, 是开发者完全没有打算改进产品了. 这就是很多独立开发产品最后的运营状态, 有的从商店下架了, 用户就再也找不到应用了, 然后 SSL 证书过期云服务崩坏, 许可管理崩坏用户无法验证自己的付费, 域名到期, 应用也跟着彻底死亡. 独立开发就是 oneman 的事实无需争辩, 软件和服务能不能持续发展全凭开发者的人品和精神状态, 有时候还要靠一点运气.\nnostr:nevent1qqsfyu0uc4zfug3xgc7qyp9ktgm4fawg2zfarzs9ff6yvshx3ynaukgzypp5l9uexcnlreslznh27cx24r8aemqs5kfv4luz2ryz2ffd2jxp2ghxhln\n\n这也是我为什么讨厌需要依赖网络或者其他第三方来实现许可和数据控制的软件的原因, 特别是独立开发的产品. 只要不是本身是 SaaS, 我不仅希望我能离线使用, 还希望我购买的软件能在离线环境下知道我买过了. 这才是我讨厌订阅制的主要原因, 因为它默认让软件依赖云服务统统变成 SaaS, 然后才是借着灵活定价的借口给服务涨价.\n而对于 SaaS 我至少也很在意用户的数据如何被用户控制, 能不能导出配置, 能不能账户之间迁移, 能不能自助注销账户.\n",
"sig": "1eb4eae33f5c4f2cf50dc1e057c43336989a06134c21a52fd6a2bc2be3cb331bad5e13fff9faae6d4812ec2e9e3965f82d4c5f08796f7abe15fc1a3a450bb3be"
}