Tip.It诞生记
灵光一闪
之所以想做 Tip.It,完全是受自己初到北京时找房子各种痛苦的启发,当时为了跳过中介租房子,去58同城,豆瓣等各种网站去看房子,比如说下图就是一个典型的58同城的租房页面。

可以看到电话号码是图片,如果我想记录这个房源,只能一个个号码的往自己的Evernote里面敲,同时还得记录这个房源的网址,以防自己空有号码但是忘记房源信息的尴尬。
即便这样,还是经常导致自己 chrome tab 开了几十个,分不清是否已经电话过某房源的主人的情况发生。
所以我灵光一闪,为什么我们不把这个做成一个可以追述原地址,同时可以保存文字,图片和链接的 todo-list 呢?
这个todo-list不同于evernote,它一打开就是我们要做的东西,里面的内容更像是对网页最有价值的部分的提炼。这个提炼我们会在短时间内频繁的用到,比如我们需要回复某人的邮件,网上看见优惠码等等。
而我自己本人则在不找房子的时候,用来管理我的 bug 清单同时用来记录自己感兴趣但是又需要花时间来阅读的文章链接。
动手
来了 yahoo 之后,自己从最喜欢的 firefox 逐步迁移到了 chrome, 后来经过一番调研后发现 chrome 的 extension 还很好写, 于是自己开始了 chrome 插件的开发之旅。当时自己定的开发目标是这样的。
1 |
- 能够 tip 网上的地图,视频,文字以及链接。 |
于是就有了第一版的半成品,有登陆,用户可以自由添加 tip,后端用的是 Rails,数据存储是 Mysql + Redis, Redis 主要用来分发用户的login token。
可是当自己写到同步功能时,各种复杂的情况需要考虑,写出的程序自然是 bug 百出,同时考虑 Tip.It 设计的初衷是用户离线时也能使用,能够像 pocket 一样 archieve delete, 自然而然,程序逻辑变得非常复杂,用户每 sync 一次,mysql db 都要运行数十条语句。一度让我对这个项目产生了一些动摇,从最初的每天 check in code 到后面的长达一个月没有check in 过 code。
做减法
做过产品的人都知道对自己的产品做减法是最难的,尤其是像我这样一行行代码写上来的人,每一行代码 都是你不断重构,冥思苦想而成,砍掉某些功能,就意味着你的之前耗费了无数个夜晚写成的代码被删掉, 但是就像知乎上一个人说的那样。
因为我们有过多的资源(主要是人力和时间)才会尝试添加各种功能。假设之前的规划是三个月,那么如果自己只有一周的时间的话,我会做什么?得到的产品形态就是减法之后的结果。
于是经过自己的慎重的思考。
Tip.It的核心诉求应该是为用户 构建一个足够简单灵活的Todo List, 用户能够随时随地的 tip 文字,图片,并且能够随时查看。
于是自己做了最终的决定, 砍掉所有网络同步的功能, 这样整个 Tip.It 的代码只有原来的1/4,后端部分全部拿掉,最后 Tip.It 的功能只有下面的部分。
1 |
- 能够 tip 网上的图片,文字以及链接。 |
发布
经过一个周末的删减和修改后,Tip.It 终于做的像我最初想要的样子了。

最后再经过周日睡前的半小时,Tip.It 有了自己的官网 http://nateriver520.github.io/tipit/,就像官网上说的一样,Tip.It 给人的感觉应该是这样:
Just find something you like, and Tip it
在经过 google 商店的注册,提交,Tip.It 终于上线拉!(这里忍不住吐槽一下 google, 发布个应用要 5 刀,居然地址还不能选中国)
最后,感谢大家的支持,欢迎大家的各种 Feedback :)
Tip.It诞生记的更多相关文章
- 痞子衡嵌入式:语音处理工具Jays-PySPEECH诞生记 - 索引
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是语音处理工具Jays-PySPEECH诞生. 智能语音交互市场近年来发展迅速,其典型的应用之一智能音箱产品如今已走入千家万户,深受大家 ...
- 痞子衡嵌入式:串口调试工具Jays-PyCOM诞生记 - 索引
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是串口调试工具Jays-PyCOM诞生. 串口调试助手是嵌入式开发里非常常用的小工具,市面上有非常多流行的串口调试工具,比如TeraTe ...
- chain33 区块链开发框架诞生记
chain33 诞生记 很多年没有写博客了,应该说,自从2013年开始玩比特币,就没有写过了.这5年来,做了很多事情,也见了很多以前做梦都没有想到过都事情.我做的最开心的事情,也是觉得最有意义的事情, ...
- 谷歌Gmail诞生记:十年回首
美国<时代>周刊网络版今天刊登题为<Gmail诞生记:10年前鲜为人知的故事>(How Gmail Happened: The Inside Story of Its Laun ...
- Linux LiveCD 诞生记
Linux LiveCD 诞生记 650) this.width=650;" onclick='window.open("http://blog.51cto.com/viewpic ...
- (转载)JavaScript世界万物诞生记
一. 无中生有 起初,什么都没有.造物主说:没有东西本身也是一种东西啊,于是就有了null: 现在我们要造点儿东西出来.但是没有原料怎么办?有一个声音说:不是有null嘛?另一个声音说:可是null代 ...
- 痞子衡嵌入式:语音处理工具pzh-speech诞生记(2)- 界面构建(wxFormBuilder3.8.0)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是语音处理工具pzh-py-speech诞生之界面构建. 之前痞子衡设计过一个串口调试助手pzh-py-com,也专门写过一篇关于其界面构 ...
- [转载]jQuery诞生记-原理与机制
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3520 一.看似偶然的 ...
- 【Android测试】【随笔】性能采集工具——小松鼠诞生记
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4945066.html 起因 去年刚加入TX的时候,我便接手 ...
随机推荐
- [置顶] SPL讲解(6)--Condition篇
SmartPersistenceLayer 2.0 之 Condition篇 原理 强大的Condition功能是SPL的一个特性,可以使用Condition完成绝大部分的条件定义,使用 ...
- UESTC_Palindromic String 2015 UESTC Training for Search Algorithm & String<Problem M>
M - Palindromic String Time Limit: 3000/1000MS (Java/Others) Memory Limit: 128000/128000KB (Java ...
- Binary Search Tree Iterator 解答
Question Implement an iterator over a binary search tree (BST). Your iterator will be initialized wi ...
- 分治法求一个N个元素数组的逆序数
背景 逆序数:也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的先后次序与标准次序不同时, ...
- nginx配置 的话注意几点 1.错误时注意看log 2.天威证书的话,有文档按照其文档一步步配置即可;3每句话的结尾注意千万别丢掉分号
nginx配置 的话注意几点 1.错误时注意看log 2.天威证书的话,有文档按照其文档一步步配置即可:3每句话的结尾注意千万别丢掉分号:4.配置https时 其转发可以转发到http上 pass_ ...
- Ffmpeg和SDL创建线程(转)
Spawning Threads Overview Last time we added audio support by taking advantage of SDL's audio functi ...
- Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException
异常Log: Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessE ...
- 【贪心+中位数】【UVa 11300】 分金币
(解方程建模+中位数求最短累积位移) 分金币(Spreading the Wealth, UVa 11300) 圆桌旁坐着n个人,每人有一定数量的金币,金币总数能被n整除.每个人可以给他左右相邻的人一 ...
- Table生成Excel表格
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- HTML之学习笔记(二)颜色体系
html页面的颜色表示法有三种:英文表示,16进制表示和10进制表示.颜色通过三原色即红.绿.蓝三种按比例混合而成,如红色的10进制表示为255,0,0,即按照红色.绿色.蓝色的格式,权值取0~255 ...