“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。
md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。
要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。
在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。
要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。
工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。
写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。
适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。
你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。
全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。
这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。
不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。
产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。
如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。
按钮的职责:从旋转图片看交互设计中“缓冲”与“忽略”的哲学
按钮的核心职责是响应用户操作,而非让动画阻塞交互;系统应缓冲连续输入或立即中断动画,而非忽略用户的后续操作。
一个按钮的自我修养
作者在最近发布的一篇大型交互式文章后,一直担心一件事:文章中大量使用了经典桌面软件的示例,会不会显得过于“老派”,只属于某个已经逝去的时代?但很快,他发现这些挑战其实是普适的——无论你在什么设备上,用户界面设计的基本原理从未改变。
他随手举了一个日常中的例子:在 iPhone 和 Nothing Phone(一款 Android 手机)上分别旋转一张图片。操作本身很标准:点击一次按钮,图片逆时针旋转 90 度,再点一次再转,以此类推。而且两个系统都提供了平滑的过渡动画,帮助用户保持方向感。
但问题出在连续快速点击时。
作者做了一个极端测试:以尽可能快的速度连续点击旋转按钮 8 次。8 次旋转 90 度,相当于完整旋转两圈,最终图片应该回到初始位置——工程师称之为“无操作”(no-op)。
在 iPhone 上,一切如预期:你快速点击 8 次,图片依次旋转 8 次,最终回到原位。iPhone 会记住并缓冲(buffer)你的所有点击,即使动画还在进行,系统也会将后续的点击排队,等前一个旋转动画完成后立即执行下一个。
但在 Nothing Phone(Android 系统)上,情况完全不同:你点击第一次,图片开始旋转;你点击第二次——系统通过震动和声音给了你“点击已确认”的反馈,然后……动画仍在继续,第二次点击被忽略了。如果你继续快速点击,每次都会得到震动和声音反馈,但只有第一次点击被实际执行。最终,图片只旋转了 90 度,而不是 360 度。
为什么这很重要?
作者引入了“情境性障碍”(situational disability)的概念。这个框架指出:残疾并非只发生在少数人身上,而是几乎每个人都会在某些情境下遭遇暂时性的能力受限。例如,在嘈杂环境中无法听清语音指令、在晃动的地铁上难以精确点击小按钮、或者——双手拎着购物袋时只能用肘部操作手机。
这正是为什么无障碍设计(accessibility)比许多人想象的要重要得多。
类似地,作者提出了“情境性重度用户”(situational power user-ness)的概念。拍照通常是“随意使用”(casual use)的场景——你随手拍一张照片,系统自动判断方向,很少需要手动旋转。但假设你需要拍摄一堆横向摆放的文档(比如合同、图纸),你可能需要一张一张地旋转几十张照片。
在这种“非随意”的使用场景下,如果你能以任意速度连续点击三次旋转按钮,而不必等待动画结束、不必思考当前动画是否完成、不必担心点击被忽略——那该多么可预测、多么令人愉悦?
你可能会说:“普通用户不会那么快点击的。”但作者认为:给定足够长的时间线,或者足够大的用户群体,即使是像手机照片编辑这样“随意”的界面,也一定会遇到那些不得不认真对待它、并对它抱有更高期望的人。
解决方案不止一种
缓冲点击(buffering taps)并不是唯一的答案。另一种做法是:当用户在一次动画尚未完成时再次点击,立即停止当前动画、跳转到最终状态,然后开始新的动画。或者加速动画,使其在极短时间内完成。
但核心原则只有一条:永远不要强迫用户等待动画结束。
动画的存在是为了帮助用户理解状态变化,而不是成为交互的障碍。当用户明确表达了下一步操作的意图时,系统应该立即响应,而不是用动画来“保护”用户免于自己的操作。
延伸思考
这个案例揭示了现代 UI 设计中一个普遍的矛盾:动画的“反馈价值”与“阻塞代价”之间的权衡。好的动画应该像空气——你几乎感觉不到它的存在,但它让一切变得顺畅。坏的动画则像一堵墙——你不得不停下来等它消失。
在桌面时代,用户早已习惯了“点击即响应”的交互模式。而在移动端,由于触控的模糊性(手指可能误触)、动画的普遍性(为了平滑而牺牲速度),以及系统对“防误触”的过度优化,反而催生了“点击被吞”这种糟糕体验。
作者最后给出的建议很简单:按钮只有一个工作——响应点击。 如果你让用户等待,哪怕只是 300 毫秒的动画,你也在背叛这个职责。
原文链接:https://unsung.aresluna.org/if-youre-a-button-you-have-one-job/