我想要的手机操作系统——兼谈其他

前几天在新浪微博上被516(@TMall莫涯_醉白虾)点名,他让我去看的链接是Ubuntu宣布将推出基于Ubuntu的手机。516要我提炼一下,写个1234出来。我想了一下,这个任务可以完成。于是就有了一下的文字。 它的宣传标语很有意思:

Ubuntu now fits your phone

Introducing the superphone that’s also a full PC

Clipboard01

如此一来,手机阵营四大操作系统齐备:

  • Android: 只做移动设备——不要和我说Chrome OS!
  • iOS:来自同样也有MacOS的苹果。如今的iOS和MacOS越来越像了。
  • Windows8:来自微软,唯一一个将移动操作系统和桌面操作系统合二为一的厂商。
  • Ubuntu(以及其所代表的庞大的*nix阵营):目前我还不清楚Ubuntu是要走什么路子。不过感觉上和MS靠拢的可能性比较小,应该是更会走iOS的路子吧。

===========

一、Content Producer or Content Consumer (Organizer)

我现在这篇博文是在我的笔记本里打的,用的是WordPress的内置编辑器。我其实还不很满意,因为我希望能有一个充分兼容WordPress 3.5的博客书写客户端。所以,我的笔记本是个Content Producer(当然也是Content Consumer——比如我在纯粹浏览网页的时候)。

在手机上(哪怕是平板上),我会去写博客吗?恐怕不会。我会浏览微博、饭否,顶一下或者简短回复一下,或者共享一个我在浏览的网页,发点心情感言,如此而已。这样的一些活动,我个人认为,并不是真正的“内容创作”。

还有一种用户,基本上他还是Consumer,但是有了自己的Organization的工作。也已经有很多应用提供这样的“组织”工作,比如Flipboard,NewsBento等“类似”聚合的应用。一个Consumer至少可以Organize他想要看的内容,但有时他还不能想看什么就看什么(因为提供了哪些渠道是应用内置的一个设定,即使可以自己加入RSS,如何呈现也由应用决定)。

二、开发者

iOS的成功已经确凿无疑的证明,只有应用丰富了,手机(操作系统、硬件)才有市场,从而更多的开发者会热衷于开发更多的程序,用户可以用到更多的程序(甚至是免费的)。所以,手机操作系统必须对开发者友善。

====

上面算是一些引言。

从目前来看,iOS的界面是最直观的,Android是最实用的。而Windows和Linux都过于复杂。

如果一个手机界面,需要你记住“从屏幕右边划向左边”、“从屏幕下方划向上方”的动作分别代表了什么功能,那么就太失败了——因为这已经违背了生活经验和手机界面的直接映射原理。这样的一个动作,代表什么含义当然可以由系统开发上来定义,但是在实际生活中没有一个直观的动作(和结果)可以映射到这个动作系列。

iOS简化了所有的设计,程序的退出是Home键,除此之外,所有的程序相关的操作都在界面里完成,相关的设置(如果有)在设置里完成,除了简单的Copy/Paste/Define/Share之类的长按提示,没有任何所谓Context Menu的东西。

Android要考虑更实用,于是我们看到“返回”,Home,程序列表,和“Context Menu”一个软按钮。从我个人来看,这个程序列表按钮属于鸡肋。而Context Menu中牵涉到大量的程序设置,虽然从根本上讲,设置和程序本身的使用关系紧密,和程序呈现内容的方式也应该有关系,但是它不是程序的内容,因此它的存在会很让人分散注意力。

我可以举个例子。诸如Flipboard这样的应用,它的界面很简单,用户增加一个channel是在主界面完成,程序用一个大大的“+”号来提醒你这里可以添加你要看的东西。它不会有一个傻傻的设置来设置“自动更新间隔”,也不会放一个Refresh按钮。它只让你从上到下划一下屏幕来更新内容。而如果同样的程序在Windows下,它的添加channel就会在“从屏幕右边划向左边”而弹出的边栏的设置中完成。这样的操作经历是很不手机用户友好的。

所以,从界面来说,简洁、实用,去掉那些华而不实的划进式边栏是所有手机操作系统必须首先要考虑的。当然,除了Notification下拉外,不应该有任何菜单需要下拉也是必须的。

=====

说到底,手机还是一个单线程的玩意儿。我从来不觉得多线程在手机上有什么出息,在平板上我也看不出来。也许有人会和我argue,我可以同时打开N个网页,同时加载啊!拜托!你是用手机!在3G链接的情况下,你这样的应用场景有多频繁?就算很频繁,又有几次是critical的——也就是说,没有这样的多线程加载就会误事的?

记住,手机只有一个屏幕,不大的屏幕,所有的手机应用程序都抢占了所有的屏幕面积,不留一点空间给别的非活动的应用。人总是专注在眼前的。

当然,我不是说不要多线程。多线程(至少后台进程处理)还是有用的。 比如:

  1. 发送邮件,你可以不用等邮件真正发出就可以切换到另外一个程序,而此时mail程序还在默默的发送着;
  2. 下载,你可以不用等下载真正完成就可以切换,而此时downloader还在默默的下载着;
  3. 调度,后台调度进程当然是一个独立进程,它来调度所有的需要后台、异步进行的工作。
  4. ……

这些当然是操作系统层面(因而也是编程人员)需要解决、考虑的问题。从我的想法来看,在系统本身的开放性方面,iOS是最差的,Android做出了最好的表率。我相信Windows和Linux都会比较开放。 在系统各应用的互联互通方面,iOS也是最差的,Android同样做出了最好的表率。我对Windows的互联互通持谨慎的乐观,对Linux能互联互通表示相当乐观。

Comments

One response to “我想要的手机操作系统——兼谈其他”

Leave a Reply

Your email address will not be published. Required fields are marked *