😆 关于「氢」
基于 Git 的任务、笔记、待办管理工具 http://origingroup.tech
用几句更具体且简单的话来描述「氢」:
- 一个极致的类 Workflowy 列表管理工具;
- 一个基于 Scrum 看板的任务管理工具;
- 一款简洁灵巧的 WYSIWYG 笔记应用;
- 第一款用 Git 作为第一存储的笔记工具。
👣 由来
在很早以前就有一种做个人项目管理的想法,基于当时很难找到一款合适的工具专门针对个人项目做管理,试用了一些针对 Team 的工具后,最终放弃,原因如下:
- 个人项目管理应该更简单:Team 工具在实现的基本目标是协作,导致设计的交互不得不限制于这一初始条件,任何一个操作都是很 serious 的,比如创建一个任务,评价,更新详情,更新时间。导致了很多交互阻碍;
- 应该更专注于想法的表达:个人项目管理里边很多的步骤实在思考,如何逐步的去展开整个产品设计的画卷,而 Team 工具中这不是 First Priority;
- 数据存储在云端:倒不是担心数据隐私的问题,而是担心数据安全的问题,现在的 saas 产品 过个几年不倒的少。
也尝试了一些 Todo,Task 应用来做管理,其中如 Omniplan 在项目管理是确实做得很棒,使用了很长一段时间,还是回到了 Evernote,发现有这样的一个性质,个人项目管理有很大一部分的笔记属性,不知道其他人在这件事情上是怎么思考的,不过我做事儿的思路基本是:
- 针对要做的事儿画一个大的思维导图;
- 不断搜索相关类似主题的内容,然后记录下来;
- 然后列出任务去实现;
- 循环 1 2 3 扩大导图,继续搜索实现。
后来也看到了很多不错的产品,如 Workflowy,于是我决定尝试做一款自己的笔记管理,设计的基本思路就是如上面的介绍,考虑:
1. 数据安全的问题,做离线的,而不是 saas, 那离线的情况怎么保证安全了,第一想法就是 Git,Git 存储数据可以做到如下的特性:
- 可以查询所有历史记录,也就是现在记录的笔记,任务状态,10 年后都可以查看;
- 都很多第三方 private git 仓库服务,gitlab, coding.net oschina , 可以根据自己的需要将数据存储在这些地方,也可以自己放在 aws 或者阿里云中,避免 saas 服务的单点故障;
- 天然支持分布式写作。
2. 基于 Scrum 看板模型的任务管理:说到任务管理,scrum 看板模式一直是很多团队在敏捷开发中所实践的,我发现其中的 backlog -> sprint -> product 的循环非常适合个人项目的管理维护,这里我也想所以下为什么我非得加上这个模型,我个人在做项目的时候总是会出现的问题:「太聪明」,这里是贬义词,就是想法太多,很难遵循既定的方案去践行,而 scrum 模型中一个很好的提倡是,像 🐷 一样执行,在 sprint 的周期内,唯一需要关注的是如何 kill 任务,而不是去思考设计。
3. 笔记属性,「氢」中的很大一部分工作是要打造一款同样极致简单的笔记工具,任何一条任务都可以当做一个笔记,所以「氢」的笔记设计参考了很多很棒的工具,如 Bear,Notion.so ,但基本的思路是做一个让用户专注于思考的表达的编辑器,而不是一款富文本,提供快捷的如 Markdown 快捷键,Slash Tool , Inline Toolbar 这些工具可以做基本的样式设置, 同时在能力上也提供了很大的扩展空间,这个设计参考 Notion.so,任何东西都是一个 block,可以很快自定义一个新类型的 block,但是又不同于 Notion.so,不会有过多的拖拽排版功能(至少我目前认为这些事表达内容的障碍)。
👻 具体设计
- 列表
- 任务详情
- 看板
- 日历
- Git 存储
第一部分:列表
列表也就是目录,整体参考了 workflowy 的列表设计,不过和 workflowy 不同的是,这个是一个目录结构,而非把内容放在列表中。
如果不熟悉 workflowy,简单解释这个列表就是一个操作系统的文件目录结构,顶层是硬盘,第一级目录是 C 盘、D 盘、E 盘 ,再里边的目录是具体的文件和文件夹,文件夹还可以放文件夹和文件。
这种设计的灵活性使得在操作列表时极其的快捷:
- 新增:直接回车就创建一个任务。
- 删除:像删除文本一样,文本没了,任务就没了。
- 层级关系: Tab + Shift Tab 可以进行缩进。
- 位置调整:Ctrl + Command + Up/Down 可以上下移动。
第二部分:任务详情
任务详情可以担当完整的笔记书写工具,在书写工具的设计支持如下的一些 block 组件。
目前其他的组件还有图片,markdown Inline style。
同时支持 notion.so 类似的 / 工具 👽 ,任何位置输入 / 都会出现这个东西,于是可以很方便的插入 block*,或者做 format。
也支持 inline style 的 format。
还有 Bear 的快捷键和 Markdown 语法的插入「Markdown + 空格」模式。
第三部分:看板
如上,看板部分的设计师参考的 scrum 模型的 backlog - sprint - product,目前这个模式很适用于自己的项目管理。
第四部分:日历
在任务管理中,日历是必不可少的,这是根据时间维度来看任务的基本模式,目前「氢」的日历支持很简单,只有查看的模式,不过基本满足需求。
第五部分:Git 历史
目前 Git 的集成部分是为了尽快推出的一个极简版本,基本的功能是查看提交历史,切换快照,提交 commit。
✊ 下一步计划
目前「氢」仍然有很多细节 Bug,不过我相信只要大方向对了,这些 bug 的修复都是时间问题。
下一步会更多的关注 :
- Git 的更深入的集成;
- 笔记编辑器的持续优化。