分类目录归档:感悟

两桶水的感触

事件一:

前几天,在周伯通的活动上,认识了一个新朋友 — 一个 70 后创业者,相当能折腾。其貌不扬,脸上还有没刮干净的胡渣,从面相上看,老而精明。并不是很注重穿着,踩着一双老旧运动鞋。

他跟我之前见到的创业者都不一样,他有踩过各种坑后的稳重和老练,他不断的强调商业模式。他做的事情也很有意思:『智能饮水机』。很多人都经历过家里或者公司没水,你无数次的打电话催,渴的要死要死的,水就是送不来。他们只用在饮水机上加个感压装置,再让饮水机连上 wifi,当水快要用完的时候,他们会自己送上们来。而从商业模式上来看,他从送出的第一桶水里,就有利润。北京每天要消耗十几万桶水,而且人永远也离不开水。尽管,也有他们发展的难点:物流。不过据他说已经克服了。

当他描述完他正在做的事情的时候,我第一次觉得这是一个真的很有用的智能设备。之前自己玩儿过很多所谓的智能设备,什么智能插座,智能手环,但是很多要么就是完全废柴,要么就是根本玩儿不久。一个安静的饮水机,你可能根本不用留意他为什么智能,他就能很快融入你的生活。

事件二:

我爸之前得过肾结石,我一直觉得是喝水太少,或者水里的水垢太多导致的。家里还在用着那些自动滤水桶 – 就是那种有一个滤水装置,然后把自来水倒进去,经过一层过滤,就能喝这样。我一直都觉得那个东西并没有多大用,尤其是用的久了以后。我也不断的督促我妈让她开始叫纯净水喝。她总是在算各种经济账,感觉花钱。我和我妈约定好说:要是你在几月几号之前还不换纯净水,我就帮你在京东上买。她总是说:好好好,买买买。 然后就没了下文。

今天,大限已至。

早上在京东选购了新的饮水机,我让她把旧的扔掉或者处理掉。不断的给老人家解释为什么要扔掉:里面有很多水垢了.. 结石是怎么得上的 blabla… 废了一番劲说服之后,我又说:我给你顺带把水订上吧,让他们每3,4天送一次水,这样也不用费劲打电话了。

然而始料未及的是:当我在网上,搜索 『宝鸡 送水』这几个关键字的时候,我很惊讶,我什么也找不到,找到的很多电话都是缺乏描述信息的,送水只送城南还是城北,价格多少这些信息都没有。我大概花了半个多小时,打了十几通电话,才勉强联络道一个刚好送水到城北的。

感觉中小城市互联网上的信息还是混乱时代,我根本找不到一个有组织的结构化的同时及时更新的信息。我又尝试搜索了一下我们周边小城市的送水信息,也是类似结果。也尝试了类似装修,搬家这种生活化信息,发现还是很混乱,信息完整度非常低。58 和赶集这会儿尽管对我有些帮助,但是用处并不大,我还是需要花很多精力去问各种信息。

为什么 58 和 赶集 用处不大呢?58和赶集是要用户自己填写和更新自家经营信息的。但是很多城市的店主并没有这么强烈的互联网化意识。而像我和我妈这种老宝鸡,我俩说起送水,也是不知道该去哪里找第一个送水人的电话,好像还是要口口相传,看见一个送水的拦下来,把电话记下。或者去别人家恰好发现他家有,就问一下记下来这样子。

我在想:是不是需要一个有一个页面,人工采集了一个城市所有的生活化信息?58 和 赶集可能在北上广更有用一些,但其他地方就不好说了。

两桶水的事情,给了我一些感悟。关于创业时候的商业考虑,关于一个好的需求是什么。另外的一个感触是二三线城市的互联网发展和北上广的差距太大,毕竟人才都到北上广来发展北上广了,这中间还有机会吗?以前觉得做类似 58 这样的东西,根本活不下来,现在感觉好像并不是,58 其实还差点儿。

文中提到一些不成熟观点,请轻喷,欢迎一起线上线下讨论。

Google I/O 2015 为 Android 开发者带来了哪些福利?

昨天,在车库咖啡,和一群老朋友一起度过了一个愉快的 Google 之夜。

首先得说的便是,今年的更新有些不给力,至少显得不够 Geek。我也不打算接着盘点一些在 Keynote 中的资讯,想必很多人在各个站点已经看过不知道多少遍了,我接下来想说的一些是关于这次 Google I/O 为 Android 开发者们带来了怎样的福利。

福利一:

推出了 8 个新的组件,同时向后兼容,新推出的这几个官方组件多是在 GitHub 上很火热的一些项目。

AppBarLayout:全新,用来实现各种 Material Design 概念效果的一个 Layout,主要负责对滑动的响应。

更多组件相关的细节,查看官方 Blog

福利二

新增支持 SVG 图片资源,Android Studio 将自动根据 SVG 生成合适大小的图片。

福利三

全新的界面设计器,对布局,色彩等等资源的编辑能力大幅提升,个人最喜爱的一个改变是增加了主题编辑器。

福利四

新的 Gradle Plugin,编译速度大幅提升,引入了全新的 Compiler — Jack,以及新的高速 Png 资源处理器。

福利五

开始支持Data Binding,这也意味着MVVM将成为 Android 的一种新的 Android 开发技巧。

福利六

Android Studio 将集成 CLion,更好的支持 NDK C/C++ 的开发,需要留意的是他不是简简单单的集成 CLion,而是在 CLion 的基础上增加了与 Android 开发更贴切的特性,比如 Jni 方法名自动生成。

福利七

支持单元测试 以及 外部测试模块,未来 Android 的测试流程将会是下图这样的。

Google 对 Android 开发工具的更新大致就这些,总体还算是不错,可接受。

关于 Android Studio 的更多的细节,可能还要耐心等待官方放出新的 Android Studio 才能深挖出来。

最后,如果文中有任何疏漏或错误,欢迎指出

2014年的末尾

一晃一年过去了,这一年,就是不停的折腾。

2月份的时候开源了EverMemo。

3月份买了第一部iPhone,以前总是觉得自己是个Android开发者,用iPhone是很不合适的。现在看来也没什么。

4月份的时候心里一直惦记着写一个Android开源组件,大多数研究生得给导师干活,不过我倒是活的蛮轻松的,因为我很少会跟实验室的老师打交道,总是默默的藏在角落干自己的事情,实验室的一枚老师也总是会庇护我,让我努力去做点儿自己喜欢的事情,几个Android组件也是在4-6月份集中写完的。

4-6月就那么一晃而过了,什么科研也没搞,就是在不停的做些开源的Android组件,5月份的时候参加了GDG的Google I/O直播,做了关于开源的闪电演讲,认识了不少新朋友。

还去参加了AnimeTaste五周年纪念日的活动,再次见到了少楠,小胖,小简姐还有其他AT!的成员们。

暑假没回家,百无聊赖的写完了AndroidSwipeLayout

8月份的时候CSDN发了一篇「速来膜拜!20位活跃在Github上的国内技术大牛」,被小暴光了下。

9月份的时候,忽然想把「回望」做成一个产品,便建了个微信群,叫了我最好的朋友- kalasoo / 明泽 / 宋只羊 / 江江 一起开启Impressive这个项目。

做Impressive期间,参加了GDG的DevFest,做了另一个关于学习Android中自我提升的闪电演讲。

10月末的时候,impressive的雏形便有了,经历了无知乐观后,整个团队陷入了很深的悲观情绪中,担心用户不会使用,担心场景不够强,直到一日在「雕刻时光」里大家一起拍桌而起,认为想到了一个绝好的idea,便冲动的停掉了这个还没有出生的项目,开启了另一个有趣的项目「稀土 – 每天都有特别的人」。

11月末的时候,经历了一个月的开发,小心翼翼的开始了Alpha内测,反响还不错。

12月末的时候,也就是我正在写这篇POST的前几天,敲定了天使轮的投资,下学期也打算休学完全投入进去了。

来年注定是忙碌的一年,但又无妨,悠闲是可怕的陷阱。

附上几张团队码代码图,看到了吗?从穿短袖的夏天到寒冷的冬季:

另外得感谢36kr,感谢天使汇,感谢Luc。


关于前几天的GDG演讲

上周天(2014/10/26),受邀参加了GDG的Devfest,这是我第二次以演讲者的身份参加GDG的活动了。

较早的时候韩大叔(GDG的组织者)叫我去讲一个小时,我其实挺想讲讲如何Android的触摸机制和Android自定义组件的,但是我在跟一群好基友一起做东西,准备起来也比较费时间,想想也就推掉了。临开始的前两天,韩大叔私信我活动还差十分钟,让我顶顶。

感觉时间较短,就答应了,临开始前一晚做了个PPT,感觉讲的还可以,没有诡异的现场敲代码,讲的都是些经验之谈,微博上反响也不错。

学Android其实也挺麻烦的,尤其是想做的很好。最开始我学Android最大的动力应该是赚钱,听人说App挂广告能赚钱。我就执着的做了第一个App,一个叫无尽画廊的东西… 那会儿本科2年纪吧应该,每天真的执着到不行,早上6点起来,边学边写,还得自己作图,还反编译了遨游浏览器手机版的UI,把图抠出来放进去,快7点40的时候就拿起书和同学一起上课去了,中午回来也是,熬到快一点,睡一会儿,下午继续上课,真的是拼到不行。

就那样,持续了两个多月,最后自己打包,挂上广告,上传到各个市场,坐等收钱…. 不过到现在也只收到了200多块,还没有取出来呢,感觉纪念意义好重要,所以就让他那么一直放着。

Android进阶的时候应该是做AnimeTaste和EverMemo的时候(感谢少楠),一次次重构代码的时候,每次思考的越来越多,尝试各种新奇的小玩意儿,AnimeTaste和EverMemo最后也都开源了。

决定做自定义组件,最大的诱因应该是EverMemo在GridView的有个滑动删除的效果没有实现,一直耿耿于怀。

应该是从一个Google关键字开始的… “How to make custom widget”。 刚开始学起来还是挺吃力的,尤其是onMeasure这个函数,每次要重写,可是就是不知道怎么计算合适… 把这个视频翻看了好几遍,然后各种试….

自定义组件这种事情,折腾出来一次,再多折腾几次就熟了,也没啥了不起的。不会的时候看看Android源码,看看Android内部是怎么实现的一些效果,怎么定义的组件,其实也是挺简单的,只要坚持着做一些事情就好了。

恩,其实很多事情都没啥,喜欢的话,坚持着做就好了。

我这几年的变化

几个时间点:

—-本科了—-

2009: 我满怀憧憬的进入了我的大学(西北大学,以下称西大),作为新生,一入校就被组织去看学长们临走时候的一些分享,目的是让新生们对未来的四年有个规划。那会儿,坐在台上的学长,相互之间吹捧和调侃,给我一个错觉就是进腾讯,华为这样的公司已经算是一个不错的归宿了。

2009-2011:三年间读了很多书,自己研究了很多东西,做了一两个到现在用户量还没有过万的App,依旧没觉得西大给我带来了什么,只是给我提供了一个住的地方,我也在学校里没有深切的佩服过谁,因为确实没什么好佩服的,你问的问题在老师,同学那儿也得不到什么解答,他们也不会给你什么真的有用的建议。自己摸索最大的坏处总结下来大概是这种场景:毕业的前一年依旧觉得Python和Ruby是个小众的语言。

2012:感觉自己去工作完全没有竞争力,到目前为止投的唯一一封实习简历应该是腾讯的…人山人海,密密麻麻,笔试完后就没有了下文。

2013:感觉得去读个研缓一缓,浑水摸鱼的进了北师大,保研完后的几个月闲的要死,开始认真的逛起了GitHub,又申请了暑假的实习,那个实习完完全全的改变了我对很多事情的看法和未来研究生的日子。我开始做东西了,认认真真的做东西了。

—-读研了—-

2013:我开始做AnimeTaste和EverMemo,受到很多国内市场的免费推广,感觉还不错,虽然一开始没这么想,但是现在看来,至少有个东西可以拿出手了。我也慢慢开始让自己变得有影响力起来(这个是刻意的),没有社交网络影响力的话,做个东西想要推广真的很让人很捉急!我开始认真搞起微博和博客来,原创或者转发点儿有用的开发资料,博客最早是技术文章,后来发现心得才是最有价值的。也同时参加一些线下活动,认识很多以前在西安完全见不到的人们,至少刚来帝都的一年让我很兴奋。

2014:AnimeTaste和EverMemo稳定后,一下又不知所措了。 只不过,越来越爱GitHub了,无聊的时候就做俩小东西push上去,稍微得到一点儿关注的时候,就时常会受到国内一些公司的Email,问我要不要去,我猛然发现GitHub是个不错的宣传平台,我开始做更多的小东西,慢慢收到中等公司,大公司的Email,直到后来有来自全球的公司发我邀请,当然也收到了Facebook Android Team Frank的邀请问我要不要去。

—-开始想—-

收到的多了,好像也就变木了,不想去了,感觉没有挑战了,一份工作终究是一份工作,拿着不错的薪水,去了写写Android或者Node,22岁后的最能拼的时候,日子也就这么过了。当然,如果你只是单纯真爱着技术,那也还好,你不会想那么多,你喜欢稳定,你不爱冒险,你有家人要照顾,你得到了你最想要的,那也挺幸福的了。

不过

即便在大公司里当了一辈子工程师,又有几个人记得你呢。

其实,所有的有人存在的地方都是围城,一群人笑着进去,一群人笑着出来。唯有虔诚的去追逐自己想要的东西,才能到达最完美的世界。

加油吧!

实在无聊,又撸了一个库…

生产力跟生孩子一样,来了自己也挡不住…

小撸怡情,大撸伤身… 花了两周时间,也算是大撸了,确实挺伤身的。

特点:

– 两种模式
– 四个方向
– 可以嵌套在任何地方而不破坏触摸事件传递(这是最难的地方)
– 可以监听被隐藏孩子的出现百分比,并回调(可以用来完成滑动动画,第三个下拉的demo其实就有背景色过渡效果,以及星星的zoom的效果)

AndroidSwipeLayout: https://github.com/daimajia/AndroidSwipeLayout

欢迎大家使用和吐槽~ 有新的想法和需求也可以随时提哒~ 

请叫我做库达人

恩,标题的意思你应该懂…

做了个开源的库,我给他起名叫AndroidViewHover ,是想让更多的应用用一种更酷的方式显示菜单和信息,而不是总想着跳转到新的Activity,感觉还蛮酷的,我最近点子蛮多,也算是蛮拼的(好多蛮)。

库的样子大概是酱紫的(图片有点儿大,请耐性等):

可以再YouTube看看Demo的视频,也可以在YouKu看呐。

而且Api也炒鸡简单,上面四个效果每个效果都是10行代码以内(有代码为证),当时写的时候,还结合了AndroidViewAnimation的效果进去,动画效果这块儿自然轻松了很多。

看到第二个图的娃娃头掉下来的效果么?这个动画效果是结合了AndroidEasingFunctions的效果进去的,AndroidEasingFunctions也是自己写的一个用来让动画更逼真的一个库(忘了发博文了)。

最后,欢迎大家使用哦!

哦,又做了个库,关于动画的

前几天,在GitHub上看到一个iOS的动画库,一个Shaker,感觉还挺漂亮的,我记得以前自己也做过一个,不过是给Dialog对话框做的,然后忽有灵感,想收集上一些好看的动画库,集合起来,减轻开发者的压力。

于是

借鉴了Animate.css,花了两天的时间实现了,我给他起名AndroidViewAnimation,push到了GitHub,欢迎大家使用和吐槽。

GitHub

又是一发开源项目 AndroidImageSlider

最近闷声一周左右,打造了这么一款可能每个应用都会用到的组件——一个漂亮的Slider。
之所以做这个,是真心觉得没有一款Slider能让我觉得好看,觉得实用。

花了好久,兼容了Api 8+,包括动画喔~ 而且赋予了很强的自定义能力,比如自定义Indicators,自定义动画,自定义细节动画。 未来也会加入更多元素吧,最近也收集了好多风骚的指示器效果,打算做上十款左右漂亮的指示器,毕竟程序员们都没有审美。

哦,还有。

最近收到了一发实习(法国),一发工作(硅谷)。

能去湾区好激动!

记得初中上英语课老师问:

“What’s your dream?”

我答:

“I want to be a chairman, and have a communication with Bill Gates.”

十年了,那时的场景和我说的每一个单词都记得清清楚楚,奋斗了10年,好像离第二个理想更近了!

GitHub  Demo

折腾了两天,终于发布了

折腾了两天,终于发布了这个妖娆的ProgressBar,现在满心欢喜中。 ?  GitHub

其实,实现原理也是蛮简单的:

NumberProgressBar2

继承自View,添加两个方法,setMax , setProgress.

将这个View分成三个不同的区域:

1、已到达的区域

2、文字区域

3、未到达的区域

然后每次setProgress方法被调用的时候重新绘制整个Bar,重新计算三个区域所在画布的位置,然后通过Paint去绘制就好啦!

欢迎各路好汉使用和吐槽~  :0

psps: 居然上了GitHub Trending啦~ 乌拉阿拉~