这不是一篇传统的产品介绍,而是从开发角度去和用户讲述。我会讲很多细节上的考量,很絮叨,也会回避许多专业名词,用最通俗的语言去传达其中的思考。
这是 一个新想法,开始流水账……(33/n) 这篇内容的最终产品,还没成型,只是预发布。
TL;DR
我是老鼠,请我喝咖啡吧,就酱! 老鼠爱发电
这是啥
正如标题,这是一个数据面板,用来显示各种信息。放在桌面上,而这里的桌面有两重含义——办公桌(电脑桌)的桌面,和电脑桌面。
但这样讲一点都不直观,上截图(很粗糙):
数据面板
背景是定时更换的随机图片,第一个白色背景的是时钟,蓝色的是我在 B 站的粉丝数,红色的是我在 B 站的未读消息数,下面两个黄色的是 Slowly 的信息,第一个是寄送中的邮件,第二个是已经寄达但尚未阅读的数量。
这些显示信息的小挂件(小工具,小组件,随便叫什么吧)还在制作中,后面会有各种常见的,实用的……不过都得慢慢来。
桌面上
我有一些旧设备,啊啊,很老了,这几年一直买不起新的,所以……咖啡……你懂的
一代的 Kindle PaperWhite,然后用来显示各种信息,摆在桌面上。像这样:
其中没有新通知的就不显示,所以看起来东西很少,其实包括这个论坛在内的一些通知都被我整合进去了。所以我在这个论坛的响应速度也比较快。
但是有点问题,我的路由器是晚上定时重启的,然后 Kindle 断网后会提示连接网络,每天得确认一次,甚至确认后可能还连不上。
然后我还有一个 iPad(可能是 1s?我也闹不清楚),屏幕挺大的,颜色挺好的,能用,但是也没多少软件支持了,然后也卡,不过用它显示信息的话,显然比 Kindle 好看。
我老妈有个小平板,用的不多,她的时钟坏了,看时间稍微有点不方便(不过有手环)买个说得过去的时钟怎么也得好几十,有点小贵。
我的电脑用的是壁纸引擎(Wallpaper Engine),这玩意儿可以把网页设置为桌面,我自然会把它的功能发挥一下,然后就成了这样(这是以前的,新工具还没应用上):
桌面分区,随机壁纸,时间,日期,待办列表……是不是和上面的有点类似的味道
反正我就把这些需求融合到了一起,得出了现在的结果,目前用 iPad 摆在桌面上显示,感觉还不错。
也想要
目前还真没法拿出来给大家用,所以只能做预发布。
主要问题是发布的形式和数据格式都没确定好,次要问题是我的需求不等于你们的需求,这里面还有许多适配的问题。
不过,如果你很感兴趣,觉得自己需要,可以支持一下小老鼠, 老鼠爱发电,这样他可能咕咕咕的快一点。
替代品
那个什么什么和你这个很像啊!
嗯,非常推荐去试试这个 【自荐】iTab,一个让你不受广告干扰的个性化卡片式起始页插件
这又不是什么竞争关系,定位上细微的差别就会导致很多考量上的不同。而且我可以很确定,让我打磨一年,我这个作品也达不到 iTab 的功能和精细度。
东西不如人,要价比人高。小老鼠明确的自我定位。
聊天呀
会有什么呢
- 时钟(多种样式)
- 日历,也会有几种
- 倒数日,虽然我自己真没啥用
- 时光进度,这东西我一年写一个,不出意外也会加上
- 天气预报,这个我有用,但是搞起来有点麻烦,大概率会弄
- 各种我能想到的,还觉得有趣的东西
- 用户建议的,我又能做的出来的
啥时候发布
不好说,有些问题挺挠头的,我简单讲讲。
要展示信息,就要获取信息。想展示 B 站粉丝数,就得去跟 B 站问:“内个,@稻米鼠 的粉丝数是多少啊?”B 站回答:“你谁啊?我凭啥告诉你啊!”
这就需要一个身份的认证,当然,你会觉得查询粉丝数这种非敏感数据不应该需要验证身份,但是像未读消息数肯定是得认证的。这个问题很麻烦,虽然专业上讲把 cookies 复制过去就行了,但对小白用户多少有点门槛。
但上面的还不是大问题,前端还有一个很烦人的跨域问题。简单说就是一个网页只能拿到同域名的数据(这个描述很不严谨,但是小白可以先这样理解)。显然我这个网页不会和 B 站同域名,B 站说:“你跟我都不是一个单位的,凭啥要我们数据啊?!”这就很令人尴尬。
但是大家知道,有啥事儿自己办不了,可以找一些二道贩子代办,效率高,效果好。这事儿咱也可以整个二道贩子(代理服务),所以我自己搭建了一个,讲真的没啥技术含量,但让不熟悉的小白安装确实有点……毕竟得三四句命令呢。
然后目前无论是网页中小工具还是这个二道贩子,都是用的 json 文件书写配置,算不上小白友好,虽然我就打算这么滴了。不过我就是容易考虑过度,导致工具的可配置性很高(下面讲),所以我现在一边开发一边写文档,我自己都得看着文档配置,要不然我记不住都有哪些可配置的项目。
等我把这些细节都考虑好了,大概就可以发布了。
你提供个服务算了呗
“搭建二道贩子那么麻烦,你为小白考虑一下,直接提供一个服务,岂不美滋滋?”
- 服务器,贵
- 被攻击,烦
但这还不是主要的。如果保障足够的灵活度,就有非常大被滥用的风险。
还有一些 API 是有请求次数限制的,如果大家都用同一个,就是共用一个额度,那就很难受了。
比如某天气服务给每个人的免费额度是 1000次/天,如果自己用,那么从早晨 6 点到晚上 10 点,一分钟查询一次,一共是 960 次。基本上可以看作是实时更新了,如果 1.5 分钟更新一次,那就可以 24 小时都自动更新。可以说这个额度提供的非常厚道了。但如果大家共用的话……就算一小时更新一次,也只能供 40 个人使用,就……
当然,解决的方法是有的,但终究,服务在自己手上是最稳定和踏实的。
配置和灵活度
JSON 倒也不难写,讨厌的是这东西不支持注释,并且格式要求非常严格。有点烦人啊!不过前期并没有考虑更简单的设置方式,不是做不到,而是我更想把我有限的精力放在制作更多小工具上。
而因为灵活度高,使得配置起来显得更加复杂。我讲一下开始展示的那张效果图的配置你就懂了。
全是组件
自动更换的随机背景图片其实也是个小组件,只不过被设置了 beBackground
属性。换一个方法表达,你可以把任何组件设置为背景。
“那可以用这个方法把粉丝数全屏显示”,你很聪明,不过不用那么麻烦,如果给组件设置上 canBeFullscreen
属性,那么在点击它的时候就会全屏显示,而再次点击则恢复。
如果你只是想一直显示粉丝数,也可以直接显示这个组件,这样更节省性能。我就在开发期间很多天都只显示随机图片组件,很意外的,偶尔看一眼带来了许多好心情。
样式可选,可设定
组件的背景卡片有多种样式可以选择,也可以自己设定背景、背景模糊程度、边框、圆角。而且可以全局设定,也可以单个指定。效果展示中的几个背景色就是这样的。
位置自由
组件定位用的是 Grid 方法,就是画上网格,然后通过说明元素上下左右所对应的网格来定位。网格大小可以自己设定(影响定位的精细度)。
然后可以重叠,按照配置的先后顺序,后面的组件可以覆盖前面的组件,比如可以用一个随机图片组件作为另一个组件的背景(将两个组件设置为完全重合的位置)。也可以利用这种方法实现分区,类似我前面展示的桌面。还可以用这种方法给组件添加标题……总之很多玩法。
状态可视
如果你看的仔细,会发现那几个显示未读消息的组件背景是透明的。当来消息时,它们会切换为指定状态/背景来突出显示。
状态也可以以角标、圆点等形式显示,并且可以以进度条形式显示。
几个为什么
为啥一直显示
Kindle 做的通知中心是无消息不显示的,而这次的通知是无消息也一直在那里显示 0 的。
这样可以不加描述,只靠背景颜色和位置来说明这是什么,这样更简洁,文字更大。
而且,这个工具的定位是摆在桌面上展示,而不是频繁交互,所以,远远的扫一眼,可以快速获取信息是一个优先思考的点,目前的设计应该是可以满足这个需求的。同样是这个原因,工具的交互量会尽可能降低,也没有动画效果。同理,可视化配置也不太想加入,毕竟我的 iPad 反应那么慢,在上面可视化配置远没我我自己书写 JSON 来的畅快。
能加入xxxx的粉丝数/未读消息数显示吗
能也不能。能是指在技术上基本都做的到。
但是,很多网站并没有很好的 API,这可能需要比较复杂的适配。即便有 API,可能在身份认证上需要复杂的计算(比如爱发电),可能获得的数据需要进一步处理才能使用(比如本论坛),这样就必须进行特别的适配,而无法用通用方法来解决。
所以,看需求人数,看制作难度,要综合考虑
就先写这么多,回头可能再补充一些,饿了,溜了……
正式发布会另外发帖,因为会有大量配置说明。
来这里为老鼠的开发加速哦—— 老鼠爱发电