17岁的少年,一只手写着代码,另一只牵着女友,他今年高三,你当时在干嘛?
高三的时候你在干嘛?一头埋在考试卷和书籍的海洋中,抬头望去是一群和你一样的人偶,一只叫做「未来」的手通过高考控制了生活。为何不能像他一样,为了偷懒不记笔记,开发了一款iOS应用,通过拍照记录笔记和代办事项。为了让女朋友开心,用代码写出了一个聊天机器人,装在她的iPod中。他叫贾泊崴,和你一样,他今年高三。
人大附中的门口,一个穿着标志性红白相间校服裤的少年,出现在了我的视野中,我仔细打量着这位在学校里叫贾泊崴的少年,由于上的是AP课程,他还叫Justin,但活跃在知乎社区里的他自称「贾物体」。
和中国大多数学生一样,带着一副近视镜,青涩的脸庞总是忍不住露出笑容,旁边的女朋友形影不离地牵着他的手。由于没钱买苹果电脑,在一台老三星上装载了Max OS系统,手里唯一一台正宗的苹果设备是一台iPod,去年九月份,终于更换了Mac Pro Retina。
Look,帮我偷懒
因为我是学生,所以我注意到很多人都习惯用手机照黑板上的作业,老师讲课的PPT或者Keynote。无论是在中学、大学还是新东方……
虽然同样简洁高效Clear已经达到了较高的水平,但无论用多么简单的手势来操作,最后一步总是要弹出键盘输入,这很不优雅,同时也是很多人不愿意使用Todo应用的原因。Anydo补充了语音识别的方式,但是也不完美。于是贾泊崴想,能不能换一种方式呢?就比如,用图片?
Look就应运而生了,其实Look就是一款通过拍照完成的轻量级Todo List。你只需要通过拍照将代办事项记录下来,再添加一点提醒信息或者备注,就轻松完成了一条记录。并支持通过邮件或微信贡献给好友。Look是其第一个正式上线App Store的作品。
笑个不停的贾物体对于Look的设计理念,有着相当理性的分析:
• 符合苹果生态圈,最高标准。没有内购,Launch Image不是logo而是截图,从不弹出「到App Store评价一下吧」或者类似的alert,收费应用,没有广告,使用系统设置……
• iOS 7的风格。比如任务列表中图片的模糊,Helvetica Neue Light & Regular字体的使用,拍照界面左右两个小按钮的镂空透明效果,全屏应用(甚至去掉了Status bar和Navigation Bar,为此做了一些补偿的设计,比如在任务列表中下拉显示Status Bar),手势操作(甚至去掉了返回键,所以只有边缘右滑返回)……
• 轻量级的设计。只有3个设置选项,它们的目的是调整复杂度和功能之间的关系,而非其它自定义或者使用习惯设置。开启显示备注和按列表排序、关闭自动删除就是Look提供的最多功能,但也是最复杂的操作。关闭显示备注和按列表排序、打开自动删除就是最简单的操作。默认是居中:备注是开启的,自动删除和按列表排序是关闭的。
介于贾物体同学一个人包办了设计、作图、写代码,还得上课,程序上还有些不完美的地方,还需大家多多包涵,比如Logo图标设计得太诡异。不过几天前已经加入了Camera Roll导入图片等小功能。
kirapika,逗你开心
在开发Look前,贾物体最为自豪的应用,当属为自己和女朋友开发的聊天机器人kirapika。和前两年风靡一时的聊天机器人小黄鸡类似,装载了该应用后,只要在对话界面输入任意语言,kirapika就会根据输入内容做出回应。唯一不同的是,在人物选择上只有贾物体和他的女朋友两个选项。
贾物体将他和女友在iMessage中几万条的聊天记录,导入进一个数据库,封装到应用中后,发送到他女朋友的iPod中,选择他女友身份登陆,输入一句话,则通过检索数据库中的聊天记录,回应出贾物体的对白。
由于这是一个离线版本的「小黄鸡」,iPod的计算能力有限,还无法做到语义分析,贾物体采取的办法是,将网上看来的「边际距离」算法修改,用到kirapika中。即通过对比每句话的相似度并赋予一定的百分比,和数据库中记录进行对比,选取数值最高的话作为回复。被修改过的代码让kirapika运行速度加快,iPod上的延迟大概为1~2秒,虽然还未达到普通应用的平均响应速度,但其付出的代价是每重新加入一部分聊天记录,电脑得运行一天来处理新的数据库。
这个为她开发的应用前前后后花费了贾物体半年时间,不过由于前段时间去香港考SAT耽搁了进度,新版本稍后即将放出。
开发野史
贾物体小学就开始学习VB编程,当时找了一些参考书,尝试着编写类似于QQ的聊天工具,找到对方IP地址后,就能开始聊天,结果还真成了。现在回忆起来,贾物体略有感叹,当时实在是太厉害了。
之后做了一个音乐练习器LOCUS,可以定义一些键位以及带有数据分析功能,创想归功于老妈iPad上一个音乐游戏的启发。
班级里举办颁奖活动,于是贾物体同学写了一个程序,在大屏幕上显示滚动抽奖的效果。
高二上了统计课后,为了方便写作业,贾物体又开始编写代码,稍做改动后帮老师编了一个谣言传播事件的程序,帮助课堂教学。
时间继续,兴趣爱好广泛又爱偷懒的贾物体同学开始研究起了字体的易读性,开发了一个类似于当时Facebook原型选女生的应用——Letter Reaction Time,不过此时电脑上闪烁的不是美女而是不同字体,电脑前的同学来辨别词性是动词或名词,并记录反应时间,最后发现在iPhone常用的Helvetica字体比iPhone通讯录中的字体易读性高。
贾物体觉得自己目前不过是个二流的开发者,在其他领域兴趣的花儿朵朵开,从Photoshop到icon设计,再到UI更有偏冷门的字体。
和你不一样
其实主要是小时候,没什么人管我,可以自己玩嘛
没有收入压力,贾物体可以拿自己的应用做各种尝试,Look不能切换摄像头,横屏拍摄照片不能旋转等等。采取付费下载被他称作是「激进的设计」的一部分,贾物体认为内置付费和免费应用过多破坏了App Store的平衡,他觉得总得有些独特的应用挺身而出,结果是惨烈的,提供免费下载的一天达到了5000下载量,而平时却只有个位数。
贾物体的编程的密度和时间有着密切的联系。初中得开始上课了,编程的灵感随着课程增多逐渐下滑,但是到了初三似乎灵感又回归了,为何?处于复习阶段,不用交作业。
高中上了AP彻底解放了贾物体的编程灵魂,高一时主要就三门课:数学、物理和经济,寒暑假还没有作业,由于爸妈也不怎么「管」自己,不要被绑架去上辅导班或才艺班,自由活动时间陡增。
由于没人教,开始自学时比较困难,小学学得几乎都忘了,于是直接跳级学习Object C,在谷歌上中英文档对
本文来源:极客公园 作者:佚名