注册

谈谈我的Google日历开发之路!

序言


介绍下自己,36岁,我是一名14年的Java服务器开发工程师。在小时候就有一个计算机的梦和愿景(小时候来在东莞,有一天家里人带在东莞长安步步高大道看步步高灯火通明,告诉我说那里面的人上班吹空调,工作只需要敲敲键盘就好了)-现在想来那时候他娘的就有996了。从那时起这颗种子就埋下了。初中的时候还去报了电脑培训班,那里学会了DOS也学会了CS和热血传奇,同样也那以后自己也非常喜欢关注电脑,去新华书店看计算机相关的书。中间就不说了,说多了都是泪。终究如愿以偿自己还是走上了码农这条不归路-少壮不努力,老大搞IT。后面自己也是疯狂的一味的追求技术的宽度,深度。不管时C,C++,汇编,Js等语言(Java吃饭的家伙更不用说),还是Windows编程底层,网络编程,Linux核心翻了个底朝天(可是终究自己还是太年轻了,学的多懂得多与有没有工作之间差了可是一个NASA的哈勃空间望远镜的距离-没有好没学历,你说啥都没用)。转眼间自己已经是一个有着10多年经验的码农了,在这十多年期间,什么技术总监,经理,架构师咱都干过!但自己也是一直热衷于技术,从未放弃过,也知道自己喜欢一件事情想要放弃太困难,如果某一天谈到放弃这个词,心情会非常的艰难,甚至可能会哭的像个刚失恋的女孩一样!也曾有过自暴自弃,大部分的时间在撸游戏,放弃自己(因为在一个学历为王的时代,技术和能力显得那么的微不足道)。但奈何有一颗对技术钟爱的心,所以鞭抽着让自己一直在码代码这条路上一直走,不曾放下,也没有勇气去放下! 其实自己想过无数次,不走技术路还有其他路可走?多少个晚上都没有找到答案。但每每这样想后越发的发现自己更是无路可走,对未来的渺茫和害怕!也许正如《肖申克的救赎》所说-“体制化”真的很可怕,曾经尝试过问身边的人,现在的工作如果不干了会做什么,很多人的回答都是"去别的地方去干“,而事实上几乎不会再去想别的行业了,有的人甚至非常年轻。每个人都是自己的上帝,如果你自己都放弃自己了,还有谁会救你?每个人都在忙,有的忙着生,有的忙着死。忙着追逐名利的你,忙着柴米油盐的你,停下来想一秒:你的大脑,是不是已经被体制化了?你的上帝在哪里?


尝试着简单


很多时候也会三五好友聚在一起,在网吧开黑,在篮球场上畅快淋漓,他们之间有高中就闯荡江湖的,更有初中后就为生活奔波的。但在他们眼里看不到一丝的愁。在网吧肆意的笑声,球场上拼搏的样子,完全看不出一丝生活的不如意。或许是因为每个男人不得让别人看到自己的无助,也许总是要把好的一面留给朋友的每一次见面。生活谁都不易,可能是我要的太多了。但拿到篮球的那一刻是真的快乐了,发自内心的快乐。


的确该这样,我们应该追求自己初衷的东西。虽说爱好既不能饱腹,也不能裹体,更不能遮风挡雨,但每次我们在面对自己喜爱的事情时总是显得会更加自信。或许我该把自己的欲望都降低一点点,也许会变得更好。这里既没有肯定答案,更没有前人的经验来指导我。时间,人物,地点的变化都会让事物的变化都会让未来变得扑朔迷离。正如《复仇者联盟》 奇异博士预测未来和灭霸交手1400万次,只赢了一次那样。或者《萨利机长》 在计算机模拟成功降落的可能性,在避开所有的人为因素,时间因素,环境因素后。依旧模拟了17次后才成功的降落。与其每天活在幻想着如何成功,不如想清楚自己真的需要什么,也不必每天幻想能够去大厂挑战自我(或许这只是我想要更多的一个理由和借口,或许是最后的养老,至少大家都这么想的)但这估计比奇异博士打败灭霸1400万次的概率还要低吧。之后就是简单的过日子,柴米油盐酱醋茶,上班和下班,还有英雄联盟,绝地求生的陪伴。没有了远途的负担,生活和工作逐渐变得愈发的简单和平凡。


从10年到16年,这些年间一直在朋友的公司像青蛙跳荷叶游戏那样蹦来蹦去,估计整个职业生涯社保记录上的公司名称都能打全一张A4纸了。虽然很多时候自己也曾想过好好稳定,也有过稳定。也非常珍惜那一次稳定的机会。但奈何终究还是熬不过现实。或许大多数人和我一样,有些时候明明已经很努力了,工作也做得已经足够好了,可终究还是会留下很多的遗憾,却又无能为力。


突然间的醒悟


2016年,还是多少年来着。Google 公布了Plus关闭的消息。记得那时Google为了对抗Facebook ,Plus应运而生,他带着使命而来,可惜好景不长!很快就Google就不得已要关闭他了。而我却对Plus的钟爱有加,非常喜欢Plus的交互和体验,以及内容的呈现方式。对于Plus的关闭自己也很遗憾和惋惜,然后自己也萌生了一些想法-既然你关闭,我就开发一个出来自己玩! 这也许多年来第一次自己拿起了放下多年的自己了,以前忙着学技术,现在却想好好忙忙该如何做点东西了。


回到主题,话说plus关闭的日子越来越近,我也越来越迫不及待的要干一个plus出来。那年应该是16年吧,说干就干。虽说自己是服务器架构师,一直在Java这个世界里摸爬滚打,但一直相信技术是学来的,自己有这个学习能力去面对这些问题。而事实也是,我总能在工作中表现得游刃有余,任何一份工作都非常的顺利(所以几乎工作中没有过996,不管是研发还是管理)。在决定干plus,也用技术基础充分的证明了自己能做到!(刚好赶上16年从游戏公司离职)相信自己能做到、而后的日子就是每天像个屁股上长了钉子一样闷在房间里面研发Plus。时常也会玩游戏。花了接近1个半月的时间(平常还要玩游戏),做了3个版本,终于干出来了-这里为什么要做3个版本,因为每个版本做完后,发现体验和Google
plus体验相差悬殊,做完后总是不满意,所以为了保持一致,然后又重新开发。直到满意为止,最后却是让自己很满意!这种带来的成就感,结果却是让自己一发不可收拾,后面接连的把photos,mail也索性干了,sticky。曾经也有一段时间放在服务器上运行。终究发现这个东西水土不服,或者说就是我的一次心血来潮吧,运行了半年之后服务器不再续费,也随之不了了之!


2016年年中,回到了工作岗位中,这一次又是朋友的公司。在这里的2年,就再也没涉及过这事,安安静静的工作着。


日历转折点


2018年底呆了2年多的公司卖转手给了另一个老板。而接手的老板在接触几个月后发现志不同道不合不相为谋。因此决然选择了离开。 刚好赶上年底,大概还有1个月左右的时间过年,想着自己也能早点回家,年后也能好好休息下。在接下来没有上班的日历里,回首了这几年开发的Plus,mail,sticky,photos产品,总觉得自己像一个没有长大的小孩,总是对新鲜事物充满着好奇,总是在一次一次的尝试尝试的路上(这里倒不如换个词玩),而每次玩都没有一个真正的结果。功能和交互上都已经很完整了,但从细节和体验他们缺失的太多,同时这些似乎和用户本身的需求离的太远了,这些都是我自己异想天开的,再加上开发的东西觉得欠缺了太多的体验,似乎他们从一开始貌似就决定了他们的结束,我只是享受了这个作的过程-这不是典型的找罪受? 这是一个产品真正的痛。当然我能找一个让自己全身而退的理由-一个人前后端,一个人测试,一个人产品,一个人还要设计,我已经做的够多的了,自己不免会苦笑一下,承认自己的失败又如何。正如《绝望主妇》所说的:失败并不意味着你浪费了时间和生命,而是表明你有理由重新开始。而后再一次决定需要开发一个大家能真正意义上使用的产品,真的,真的,真的告诫自己,要做一件有头有尾的事情了-日程管理。之所以决定做日程管理,因为工作中发现自己每天都会用记事本记录自己的日程,工作任务。然后写完一本后,就会扔掉,总是觉得可惜和有一些遗憾,本想着用国内的一些平台,但VIP让我痛心疾首。于是更加坚定了自己开发一个日程平台来!之前也一直有用Google日历和mac上的苹果日历,也用过国内一些日程管理平台,思来想去还是日历是我的菜,所以索性决定自己干个日历出来!另一个理由是放眼看去这个国内市场和行业,一个日程管理软件,都是VIP,包月,包季,包年,甚至SVIP。免费的不好用,好用的不免费。


日历的开始之路


在仿苹果还是Google之间犯了难。后面索性选择一致好评度高和难度更高的Google。在别人的眼里的看来选择玩这个可能有点上头,终究会啪啪打脸!但自己总觉得这玩意没难度,是别人思想高度不够,还是自己高估自己了。带着疑问找了一些一直坚守前端朋友,结果答案一致的标准-有难度。也许是怕伤我自尊心吧!


心中的热血沸腾告诉自己是时候开始日历开发之旅了。第一次的尝试,先是在房间内把自己关了3天,没挪动过屁股。对整个架构进行了详细的分析和验证,证明了方法的可行性后,花了一个礼拜的时间做了第一个版本出来,只是些核心日程事件处理-当然目标也只是一些核心功能,日程渲染。动手做后发现了整个结构体系存在很多的问题,支撑不了日历的复杂交互以及在复杂交互中会产生很多事件的冲突带来极大体验麻烦。兵来将挡水来土掩,体系架构上的问题难不倒一个架构师(架构思想不管服务器还是视图页面都是一样的)。在重新花2天时间对其重新整理和分析后,新的方案随之出来了、心也更加的澎湃和坚定了! 接下来用15天证明了方案是没问题的,整个日历也是如期而至,功能上能满足日历的要求,但是在交互体验,动画效果,总是缺乏丝滑的效果。不过由于要回家过年了,也顾不上这些问题了。于是匆忙的部署在服务器上回家过年了。


年后(2019年)初又回到了找工作的路上。命还是幸运的,很快找到了一家硬件公司,智能穿戴行业,负责业务服务器这块。当时好几个offer,而这家硬件公司地方很偏,环境也不高大上,打动我的地方是因为上午面了2轮,在等和老板洽谈的时候到中午饭点了。而同仁却早已准备了午餐,水果和午睡床。告诉我说老板下午才有空,让我先等下!就这样被打动了,坚定了决心(上一次13年在华为面试架构师岗位也是这待遇,可惜学历这道硬伤)。本着对新工作的热情和做出一番业绩的渴望,身心很快投入到了工作中。同时日历变成了我的辅助,日程中的使用让我感觉到和Google的体验的差距。不过没关系,我已经不在乎日历了。 我更在乎的怎么做出更好的业绩出来。一番努力后在这里把一个人3个人的团队干到了30+,做出了非常多的业绩,很有成就感,公司氛围相当好!最满意的公司!可到后面大了之后政治斗争也越发严重,3年合同到期,被卸磨杀驴了!只能说无尽的不舍和不甘,但又无可奈何。 最后总结会发现当一个团队有一些没有能力干事的人混进来后就是要把干事的弄死!这就是俗话说解决不了问题就把提出问题的干掉道理一样吧!不过我走后这帮人陆续的在三个月的时间全部被干掉了,我只想说苍天饶过谁!


回到主题,既然肆业了,又想起了日历,其实在这3年的使用中发现了问题,但其实每次也都知道如何去解决。三年间它帮助我解决了非常多的问题,时间管理,日程管理。而后自己决定要开发在体验上能够极致的日历。决定之后,自己把自己锁在出租屋内,刚好又是疫情,一个月没出门对整个日历进行了重新架构设计,体验的交互,丝滑程度与架构有关。经过一个月在体验上的打磨!让它成为了一个真正可用的日历,从功能到到交互再到体验,终究算是了却了自己的一桩心事,算是这么多年唯一一次能交代自己了。 回头总结和看看过去有过的很多想法,很多次都能鼓起勇气尝试去做了,但事实上在有没有结果之间差着一个体验的距离,有体验即代表有结果。没有体验,即纯属到此一游,纵使无数次的开始和结束都将无济于事。


与大家分享下结果


日历导航
视图导航v1.gif


日程操作


日程编辑.gif


日历操作


日历编辑v2.gif


当然还有特别多的功能,修改创建日历,日历主题,订阅日历,日程协作共享,短信桌面通知提醒等。


由于录制屏幕的限制,很多体验无法一一说明,如有感兴趣的朋友希望能够帮助到您。本人还是将一如既往的凭一己之力尽可能提供更多的功能和体验。 后面自己将计划开发windows插件,用于嵌套在桌面上,更加简单灵活体验。


总结


做一件事路途可能很遥远,路途可能会迷路,甚至迷失自己,但坚持自己的初衷,我觉得总是会能达到的!生活中可能会有很多的欺骗和谎言,但始终我们的坚信自己!自己也会未来继续为免费这条路走的更宽和更远,同样提供极致体验。时间很短,也很长,我们可以一件事都不做,也可以做很多事。人生是一连串选择,都是一些常见选择题,最老套的选择就是当一个受害者-随波逐流; 或者选择反抗,也可以选择是忠诚,不论时局好坏。


一个人一台电脑,一个人设计,一个人撸代码,一个人测试,希望一个人能一直走下去。


作者:步伐者
链接:https://juejin.cn/post/7232665460712800315
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

0 个评论

要回复文章请先登录注册