早上,我打开电脑,点开浏览器,点击我的浏览器中的书签,然后开心浏览我关心的内容,约经过半个小时的学习,或者信息获取,或者娱乐之后,我会关掉电脑。在这个过程中,即便作为一个专业的程序员,我也从未把自已注意力,关注到我点击的按钮或者窗口上。
我还记得我刚开始是怎么使用电脑的。我会点击和探索 Windows操作系统 提供给我的所有的可能的按钮,然后,进行组合,组合,再组合,直到我看到了新的,令人耳目一新的东西,或者,我累了,再也不想动他了。我还有一个癖好,不停的安装新的软件,然后试用,然后再卸载,然后再去找一个新的工具,然后再安装试用,然后再卸载,如此不断的往复......
我想表达什么呢?我是一个程序员,对于程序员来讲,很久之前,有一个术语叫跨系统,譬如,你设计一个系统,在我刚开始开发程序的年代,你至少要考虑windows与linux上的差异,(作为程序员,你至少要知道,windows上的文本换行是\r\n, 而unix系统是\r, mac则是\n,真是滑稽,排列组合啊。) 并想办法进行兼容,或者适配,总之,就是想法弥合二者之间的差异。当然,我也知道,在这之前,有更多的系统需要进行上述的处理。
没有这样处理的结果是什么呢? 你往往发现一个好用的软件,在一个系统存在,而在另外一个系统上是用不了的,比如说,你在Mac上用一个非常好用的作图软件,而这个软件根本就没有Windows版本,也可能后来出现了windows版本,但是却非常的不好用,总之,程序员也好,软件开发商也好,要么对此莫不关心,要么由于成本太高,根本不予以理睬,不作处理。
那么用户能怎么选择呢? 要么找到相应的替代器,譬如在windows下的另外一款同样棒的软件,要么忍受不好用的缺点,如果是真正的生产力的工具,不可或缺的话,那么,你可能去直接换一个操作系统,仅仅为了使用那款很棒的软件?
奇怪么? 对于每天都使用的工具来说,一点也不。仔细分析一下,就会发现,对于每个具体的用户来讲,他使用工具的目的,其实是为了完成自已的工作。工作才是核心,工具根本没那么重要,换句话说,如果没有很好的完成工作,工具就不是一个好工具,放弃或者置换是再正常不过的事儿。
所以,今天,人们会讲体验。人们更关心的是,如何作好自已的事。虽然,不同人对于什么是一个好工具的看法,一定是不同的,千差别万别的,甚至就同一个具体的点上来讲,有可能观点都是载然相反的,也可能,同一个人的观点,都会随着时间的推移发生变化。但是,可以肯定的是,在对于一个具体的问题而言,对于大多数人来讲,好工具,好体验,是很容易达成共识的,所以就会有标准或者事实标准 (defacto) 出现。这其实就是TCP/IP, SQL, HTTP等标准的基本的人性上的基础,基于这个基础,跨平台的弥合会越来越容易,也会越来越多,同时标准化的层次也会越来越高。
如果你仔细去分析一下,系统或者想法的分裂,与系统的标准化和认识的统一,其出发点其实都是为了构建更好的系统, 只不过一开始大家的出发点不同而已。
我现在甚至写作都不使用word, wps之类的工具,我会直接使用简书,印象笔记之类的工具,当然这类工具有他的PC版,但我已经渐渐的在实践中放弃,过去所倡导的web就是一切的载体的预言,现在在我工作中,大部分都实现了。我不是一个智能手机的重度使用者,因为我认为,在那么小的尺寸上去写点什么,作为一个生产力工具而言,还是太蹩脚了。虽然,我还是时不时的想到Ctrl+S去保存一下,但是我想,这种日子,可能很快就会过去了。
过去,我们在构建应用的时候,我们会先构建一个单机版,然后我们再去构建他的网络版。
现在,我们在构建应用的时候,我们首先想到的,肯定是他有WEB化的用户界面,也就是说,他天然的就是"网络版"(我们现在不怎么说这个词汇了)。也许,在某种时候,我们会为了方便演示,将应用裁剪成可以单机运行的“网络版”,真是讽刺啊。不管如何,现在,网络版是主流。
实际上,越来越明显的趋势是,我们在构建应用的时候,甚至都不用考虑网络这个词汇,当我们的应用是构造在云端(无论你是私有的,还是公有的)时,我们更多的看到的是云提供的其础设施,今天,作为开发工程师,我们可能还要象云设施工程师一样懂得云上的这些词汇,甚至要了解它的机理,以方便的进行troubleshooting。但是,很可能明天,我们需要记住的就是,你所申请的云服务提供商给的接口,也许,后天,我们的云服务提供商的接口,都是在由他们参与组织的标准化组织标准化过的,换句话说,你用的接口,甚至都是跨云服务提供商统一的。
所以,你看,跨系统就这么一点点侵入了我们的生活,我现在换台电脑,可能都不会在意他是windows还是mac, 我使用的是上面的浏览器,我当然也不在意什么浏览器,虽然浏览器也在标准化,我更在意的是我使用的豆瓣,简书,知乎之类的应用。实际上,即使这些应用,我也不太在乎,如果他没有满足我的社交需求,我同样会放弃。