Mobile APPs
- 劣币驱逐良币
两方面而论。首先,相对于功能丰富、全面的桌面图形化应用程序,移动端应用程序功能单一、性能和交互受限,对于程序的使用者的使用体验来说,是一种倒退。其次,移动端程序更容易搭建起“围墙花园”式的生态,更容易“薄利多销”、更容易吸引眼球消耗时间等等,与“计算机让人们生活变得快捷高效而美好”的初衷背道而驰,也是一种倒退。
当然,相对地,功能较为简单的移动端程序,使计算机软件不再限于专业行业用户,而普及至千家万户。从这种层面上讲,移动端程序仍广阔天地大有可为。这也是我在转码前仓促考虑方向时,认准苹果平台开发的原因之一。
这个原因的根基是扭曲的:绝大多数人没有知识来利用计算机来提升他们的工作效率,而开发出更多的移动设备应用程序,能够辅助人们更加便捷地完成一些简易的、“傻瓜化”的自动化流程,逐渐让人们失去操作复杂系统的能力。直白的说:写更多的移动端程序,最终会导致更多的人无法真正享受桌面程序对工作效率的提升。长远的看并非好事,但我依旧觉得,让更多人接触机器,比让少数人精通机器更有价值。
- 开发移动轻量级应用的工程之美
I like the feeling that I’m making things and I don’t know where it leads. That’s #DESIGN!
一位做设计的朋友对于设计为何迷人的看法。在软件工程方面,移动端程序有着异曲同工之妙。
传统桌面程序,好比netcat、记事本或者扫雷。他们的核心算法或是设计可能很复杂,但就像操作系统内核一般,一旦固化为一个确定无误的过程,便可以用最高效的程序语言实现——一旦开发完成,便长久不会发生一点改变。
而移动端程序,则有着无限的user story。人们总会产生新的需求,而更为轻量的移动端程序,则可以较为快捷地响应这种变化。更轻量的“云”上移动互联网程序也属于这一范畴,但原生的移动端程序在应对复杂需求、需要一定性能和便捷程度方面取得了更好的平衡。
移动端程序的世界是变化多端的。一成不变经过时间的洗礼或许会变成经典;而风云变幻则总能在碰撞中迸发出新的灵感。二者没有高下之分,而作为年轻人总还是更加追求新潮的思想。
- “可计件”性
移动端程序,包括原生和网页程序,是一个开发者能够独自完成的最常见规模的软件工程作品。出色的程序员可以自己写出操作系统内核、编译器、设计一门新的编程语言、实现并行计算、虚拟化等等。但大多数开发者限于时间和知识储备,能够从头至尾讲好一个故事已经很不错啦。
每一个移动端程序,都是一个完整的软件工程项目。立项、环境、开发、测试、文档、沟通、迭代、发布。每一个步骤都有成熟的方法论来保证下限,一步一步总能达成目标。相比之下,理学科研虽然也有固有的步骤,但很多想法最终没法“变现”,大多时间在试错,“成果转化率”远比不上工程学。可以说,从做物理到做工程,我的转变是“趋利”的——付出同等劳动情况下,物理研究的结果方差更大、均值稍劣于软件工程的成果。“付出就有回报”的预期线性程度而言,写移动端程序高于在物理实验室抓耳挠腮的想问题叻。
每一个移动端程序作品,大多能作为一个独立的“经历”来展示;而许多其他软件工作,抑或是物理研究,往往与整个模型有千丝万缕的联系。很难量化、具象化自己的贡献。华尔街型人才会用晦涩的报表和不着边际的数字炫耀创造的财富;自认为力所不逮,只好抓紧看得见摸得着的“真金白银”。哈!这或许就是工人阶级和实干主义者眼界的局限性所在吧。
- 重复劳动
无论前端后端算法数据,软件行业的市场上充斥着重复劳动。目前算得上成规模的“山头”大约只有两个半:微软、苹果,半个谷歌。
为了避免将极为有限的个人精力浪费在重复劳动上,选择一个山头站队很重要。在偏好设计的前提下,选择苹果是显而易见的结果——虽然苹果的平台也有数不胜数的问题,但目前来说为苹果写程序需要付出的重复、无意义的劳动是最少的。
- 在有限的脑容量下掌控全局
通过开发小规模的软件工程项目,可以锻炼项目管理能力。项目太大,一个人无法一览众山小,总会有细枝末节的地方无法掌握——要么专注于一个方面,比如交互设计、用户转化率、盈利、性能、可靠性,把一方面做到极致;要么缩小规模,让一切都在自己可控范围内。希望自己能够在不断探索后者的过程中,逐渐达到前者的境界。
- 软件
I feel pretty satisfied to start from an appropriate “old-school” software company. Typically I’m not fond of “Internet companies”, because I cannot understand the business model of “Google-like” tech giants.
Leave a Comment