惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
Recorded Future
Recorded Future
B
Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
GbyAI
GbyAI
IT之家
IT之家
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
S
SegmentFault 最新的问题
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
The Cloudflare Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
腾讯CDC
小众软件
小众软件
博客园 - 三生石上(FineUI控件)
aimingoo的专栏
aimingoo的专栏
博客园 - Franky
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
月光博客
月光博客
博客园_首页
C
Check Point Blog
宝玉的分享
宝玉的分享
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Tenable Blog
Vercel News
Vercel News
SecWiki News
SecWiki News
Security Latest
Security Latest
Microsoft Security Blog
Microsoft Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
阮一峰的网络日志
阮一峰的网络日志
Hacker News - Newest:
Hacker News - Newest: "LLM"
Google Online Security Blog
Google Online Security Blog
N
News and Events Feed by Topic
Y
Y Combinator Blog
U
Unit 42
The Register - Security
The Register - Security
云风的 BLOG
云风的 BLOG
K
Kaspersky official blog
WordPress大学
WordPress大学
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
Jina AI
Jina AI

t9t.io

like-history.ai 我如何帮助 GPT-4 在 1 小时内自主解决 LeetCode 上 100 个编程问题 Open Prompt 发布一个月总结 A "GitHub" for ChatGPT prompts 为了老婆的乐队梦, 我做了一个弹钢琴的机器人 一个付费 chrome 插件的一生 通过 GitHub 订阅 Hacker News 每日 top 10 我的一年独立开发经历 Feeds Pub 小范围发布半个月, 分享一些数据和感想 Feeds Pub - 一个社会化的 RSS 阅读器 2019 年 t9t.io 赚了多少钱 生活中的地位游戏 为了用 markdown 写简历, 我做了这个工具 - 我的透明创业实验第二十七周 产品从 0 到 1 的法则 我的透明创业实验 - 第二十五周 中文圈貌似写独立博客的人越来越少了, 我按照订阅量大概排了个序 增长黑客? 请先确保你的产品值得被推广 - 我的透明创业实验第二十四周 年中总结? - 我的透明创业实验第二十三周 keep on shipping, 你可能会发现用户可能喜欢什么 - 我的透明创业实验第二十二周
让用户决定软件长什么样
timqian · 2020-06-18 · via t9t.io

体验地址: feeds.pub/themes

虽然 Feeds.Pub 自定义长相的功能已经做了有一会儿了, 但因为最近接了个外包有点忙, 一直没有抽出时间写一篇文章总结下. 今晚终于挤出了几个小时的整块的时间, 简单聊聊.

“自定义长相” 这个需求的起因是时不时有用户过来给我一些 UI 上的建议 ——– “这边字体大点会不会好点, 那边换个颜色怎么样?”

重口难调, 根据反馈改了一些地方和拒绝一些修改之后, 我在想: 要不索性让用户自己决定 APP 该长什么样?

自定义的自由度

自定义有不同的程度, 最低的程度是提供几个设计好的选项给用户, 比如现在很多网站在做的 “dark mode” 就是一个最好的例子.

如果把自由度提得更高一些, 我们可以支持用户选择界面各部分的颜色, 字体, 甚至是布局. 这种细粒度的自由度在代码编辑器里比较常见. 程序员长时间面对一个编辑器, 通常希望界面能最好得满足自己的要求, 所以主流的编辑器一般都会支持自定义配色和字体.

虽然没有编辑器使用频率和时长高, 但对于把 RSS 作为主要信息来源的用户来说, 每天打开两三次 Feeds.Pub 也是比较正常的. 对于这种高频应用, 我决定借鉴下编辑器的方式, 给用户提供尽可能高的自由度.

那么我应该提供什么样的配置项给用户呢?

这是一个关于平衡的工作: 我希望用尽可能少的配置项, 给予用户尽可能多的灵活性.

自定义的配置项应该像物理定律一样, 尽可能简单, 但不是更简单
——– Albert Einstein & Tim Qian

现实不像名言, 说说容易做起来难, 断断续续可能做了有一个多月了, 我把 Feeds.Pub 的配置项抽象如下:

界面的部分 支持的配置项
Header (顶部的导航栏) 背景和文字的颜色
Body (除了 Header) 背景色, 主要文字颜色, 次要文字颜色, 已访问过的链接的颜色
Side Bar (左侧 feeds 导航栏) 文字默认颜色, 文字被选中、鼠标悬停时的颜色和背景
Separator (分割线) 分割线的颜色 (比如分割左右区域, 用户页面的分割等)
Button (按钮) 按钮的边框, 背景, 文字等颜色
Input (输入框) 输入框的边框, 文字的颜色
Tag tag 的文字, 背景色等
Dropdown (下拉菜单) 下拉菜单的背景, 文字等颜色

体验地址: feeds.pub/themes

这样做的收获

  1. 界面更有逻辑性了, 原来不同地方的按钮, 字号, 颜色等有了一定的规则, 看起来更规整, 也方便我同时调整各个地方的样式.
  2. 通过给用户更大的自由度, 有可能发现更好的设计, 加入 feeds.pub

最后, 如果你对 DIY 界面感兴趣, 欢迎在 telegram 群 或者 twitter 上分享你的设计❤️