从Lumia退役看为什么WP走向没落

  前段时间决定将自己用了三年多的Lumia 800正式退役,这是我用的时间最长的手机,虽然系统上有缺陷,但是好不妨碍他成为我最有感情的一部手机。由于之前是WinPhone 开发者的关系,这部手机是微软送的,眼睁睁的看着WinPhone系统从出生到长大,还没成熟时就蔫了的历程,心里很不是滋味。这篇文章先晒晒被我用过的Lumia手机,然后再分析下WinPhone发展成现在这样微软需要承担的责任。

 
先晒手机
  由于普遍反映篇幅较长,所以删去晒Lumia 800的部分,仅贴出使用过的部分WinPhone手机。
 
 
关于WinPhone
 
  首次接触WinPhone是在2011年下半年,当时刚刚毕业,没有赶上ios和android那趟船,也因为主要的工作语言是.net,所以对刚刚兴起的WinPhone寄予厚望。在开发了几个小软件,微软送了个手机后,我便以WPer自居,并且期望作为国内第一批的WinPhone开发者,享受到系统发展带来的红利。但是后来的事情大家都知道了,四年过去了,WinPhone在中国的市场份额是0.8%,甚至比三年前还要低。全球的WinPhone份额基本也就是在2%到3%之间,已经没有了和前两大系统叫板的底气。
        图:2014年手机操作系统市场份额图表
 
  作为一个WPer,对WinPhone的发展深感痛心,我们曾经幻想成为三大系统之一(虽然现在是第三,但是好意思和ios/android排一起么),而且当时的WP也的确有着成为三大系统的机会,但是微软没有抓住机会,带领着WinPhone一步步的走向没有未来的世界。。。
 
 
WinPhone系统诞生的过程
 
  很多人不知道为什么WinPhone的第一个版本,叫WinPhone 7,那是因为在WinPhone之前,微软还有个手机操作系统叫Windows Mobile,最后一个版本是Windows Mobile 6.5,所以新系统就顺势叫做WinPhone 7。当年那个Windows Mobile非常厉害,相当于Windows的手机版本,上面可以找到开始菜单,也可以玩和pc版本一致的纸牌。HTC在大陆的前身多普达则出过多款该系统的智能手机,那时候有一个Windows Mobile系统的手机是一件倍有面子的事情。
图:当年的多普达手机
 
  但是这一切都在苹果推出iPhone之后被打破,人们惊讶的发现,原来智能手机系统应该怎么玩,于是纷纷模仿起来。先是有Google的android,然后诺基亚也坐不住了,抛弃了之前的塞班 S60,和英特尔联合开发MeeGo系统。微软眼看着再没动作就要错失良机了,于是在2010年隆重推出了全新的WinPhone 7系统。还记得当时搞了个声势浩大的游行,举行葬礼宣判iPhone死刑,现在看来是多么的可笑。
    图:当时宣判iPhone死刑的游行
 
  在微软内部确定WinPhone取代Windows Mobile后,WinPhone项目就开始了。负责WinPhone 7界面的是微软的设计总监 Flora,他在WinPhone的设计上引入了Metro的设计风格,打造了在UI上完全不同于IOS和android的体验。当然对于这种设计风格褒贬不一,作为我个人的体验来说,虽然和当时主流的设计不是很相符,但是也是可接受的,当然如果你说它长得丑了点我也不反对。
图:左为WinPhone 7,又为WinPhone 8
 
  另外一个掌握了WinPhone 7生命的是微软移动设计团队主管,他主管了WinPhone 7的设计。不知道是因为时间上太紧迫还是其他方面的原因,最初版的WinPhone 7简直是个半成品。很多人可能不知道,最开始发布的WinPhone 7是完全的单任务,也就是说你每次打开一个应用都是重新加载的,无法继续你刚才的操作。因为这样的限制,微软强制要求开发者在发布程序时使用“墓碑机制”来重启时还原程序关闭前的状态,这不但降低了用户体验,也提高了应用程序的门槛。好在WinPhone 7.5就解决了这个问题,这是我印象中微软在WinPhone上动作最快的一次。还有其他的一些没有达到业界平均水平的点,深受诟病的有音量无法单独调节,重力感应不能关闭、没有文件夹、没有通知中心等等,槽点太多,无力吐槽。
  以上说的都是一些系统级别的缺陷,大部分应用级别的缺陷都可以通过第三方来解决,但是微软很多权限都没有放开,API少的可怜。所以你当时在市场上看不到流量控制的软件,也无法找到能显示来电归属地的软件,甚至找不到能显示通话记录的软件。。。
  当然刚才说的很多问题微软都在后续的版本中解决,但是这样就OK了么,你以为用户会为了通知中心等你24个月么。最好的时光已经过去,最佳的机会也已经溜走。
 
微软是如何抛弃WinPhone 7的
  相信在所有早期的WinPhone用户和开发者的记忆中,微软宣布WinPhone 7不能升级的时候是毁灭性的。我是5月份刚拿到了Lumia 800,你要知道当时的Lumia行货价格接近3000,然后6月21日,微软推出了winPhone 8,并且宣布所有WinPhone 7系统手机不能升级到WinPhone 8,取而代之的是升级到一个安慰版本——WinPhone 7.8。
QQ截图20150929135015.png
图:WinPhone 7不能升级得到了铺天盖地的宣传
 
  如果是一个有经验的公司,即使在不能升级的情况下,也可以将WinPhone7.8纳入到WinPhone 8中,作为一个特殊的版本。或者说WinPhone 7可以升级到WinPhone 8,但是需要硬件和内核支持的功能不可用,这样也会让WinPhone的老用户心里舒服很多。但是微软在宣传策略上直接说明“老用户只能升级7.8,不能升级8”,完全看不出一个老牌世界500强公司应有的宣传实力。相同的一个事件是IOS 6宣布支持iPhone 3GS,虽然很多功能不能用,但是很多苹果用户都大喊苹果良心。
 
  我们再看下为什么WinPhone 7不能升级到WinPhone 8,微软给出的解释是内核的转变。WinPhone 7使用的是Windows CE内核,这是一个有着十多年的老内核,所以对硬件的支持不够,比如不支持65536色以上,不支持多核处理器、NFC等,这也就是WinPhone 7清一色的单核处理器的原因。而Windows 8使用的是Windows NT内核,他是个新开发的内核,简单点讲就是它能支持非常牛逼的硬件,是不能运行在低端的硬件之上的。但是在技术上是不是真的无法实现升级呢,当然不是,民间就有高手将HD2刷成了WinPhone 8, 并且在论坛上放出了刷机包。所以不能升级的原因是在微软看来WinPhone 7的用户和销量都比较小,不值得为这么少的用户来大费周折的推出一个定制版的WinPhone内核。只能说微软是基于商业的考虑,而并非从用户的角度来考虑升级这件事情。
 
  结合第一段WinPhone的发展过程来看,其实在内核和技术上WinPhone 7并没有比Windows Mobile高出多少,而更像是改了一个UI的系统,而WinPhone 7到WinPhone 8才是真正的改变。而微软着急推出WinPhone 7是为了一个姿态,也让用户习惯Metro UI以及App的积累,虽然不能升级,但是App反正都是托管代码,Winphone 8还是可以运行WinPhone 7的应用的。从这个角度考虑,WinPhone 7从一开始就是一个仓促推出的短期版本,也就注定了它悲剧的命运。
  微软在宣布的时机选择上也是非常重要的,当时恰逢 Lumia 系列的销量上升,并且诺基亚在大陆趁势推出了更高端的Lumia 900手机,才推出一个多月,微软就宣布老款手机不支持升级。关键还在于当时离WinPhone 8正式推出还有四个多月的时间,这四个多月诺基亚是何等的尴尬,让消费者买不能升级的Lumia,还是劝我们买两百一个的功能机呢。
 
  不管不能升级是因为系统内核的原因、成本的考虑还是其他商业上的目的,微软这样的做法完全伤透了所有使用WinPhone 7产品的用户。虽然损失的这部分用户的份额不大,但是这部分早期用户实际上会有比表面上的市场份额更大的能量。早期的WinPhone 7产品并不便宜,而且系统上不是很完善,很多使用WinPhone都是对数码产品比较熟悉的用户,他们可能是周边同事朋友购机的顾问,这部分用户对其他人有强烈的带动作用,所以损失这部分用户其实是非常可惜且影响十分恶劣的。
  另外,不能升级也会对尚未购买WinPhone 手机的用户产生影响。我在使用Lumia 800过程中,公司有不同的同事表达对这款手机的喜爱,并且有意愿购买WinPhone 手机,但是自从不能升级之后,没有一个朋友准备购买WinPhone手机,并且对使用WinPhone手机的用户或多或少表现出一点不理解的眼神。几乎所有第一次发现我使用的是WinPhone手机的朋友,问出的第一句话就是,听说这个手机不能往上升级了。
 
微软对用户需求的无视
  从WinPhone推出的第一天起,就伴随着大量的吐槽,而微软在系统改进上的速度比蜗牛还要慢。我们看几个典型的例子:
 
通知中心
  通知中心目前应该算是只能操作系统的标配,但是WinPhone却没有。所以可能会出现的场景是,有通知时在顶部一闪而过,没来得及点击后你就没法知道他通知的是什么,你永远不知道刚才是哪个应用通知了你。有些应用可能会在磁贴上有个小的数字提示有通知,但是前提是必须将这个应用固定到首页。
  那么为什么微软为什么不在WinPhone 7中就将通知中心做进去呢。微软的Metro的设计理念是动态磁贴(即Live Tiles)来实现通知中心的功能,有通知时实现通知的内容呈现在磁贴上。但是大部分应用都没有实现这样的功能,基本有消息时只会显示一个数字,没有通知的信息,如果想知道具体的内容仍然要启动应用才能看到。另外一个限制是必须固定到首页的应用才能实现动态磁贴,对于没有固定到首页的应用如果没有点中一闪而过的通知,那就没地方可以看到通知了。
  没有通知中心还有个特别不顺手的地方,无法一键开关Wifi,蓝牙、网络、GPS等功能,需要到找到设置里面的相应页面才能开关。直接的后果就是很长一段时间在微软的MarketPlace中相应的一键设置软件的下载量长期占据前十名中的好几名。QQ截图20150929104623.png
 
  微软在后期也确认将会增加通知中心,不过这已经是14年4月随着WinPhone 8.1才推出,离WinPhone的第一版已经过去了四年的时间。微软曾经给出解释称是资源不足,导致没有在WinPhone 8中搭载通知中心,但是我是不相信一个有着10万人的公司,会因为资源不足导致对市场的反应如此之慢,只能说明微软的官僚主义已经深入到骨髓。
 
音量无法单独调节
  WinPhone在相当长的时间内所有音量都只有一个值,就是说你的电话铃声和各种app的声音是一样的,无法实现铃声,应用,系统铃声音量的分开调节。在我实际的使用中,经常在玩游戏时静音,如果游戏结束时忘记把音量调回来的话,那么一整天手机都是出于静音状态,我也因此漏接过许多电话。这个问题也经过了漫长的等待之后,直到WinPhone 8 GDR3版本才修复,别问我为什么记得这么清楚,你们有过那种等待好几年终于如愿的感受么。
  仔细了解发现,WinPhone的音频架构是非常完善的,实现音量控制的分离是非常容易的一件事情。WinPhone的音频APIs是通用音频架构UAA的一套API,可以独立处理每个进程下的音频API请求,也就是说每个应用的音量都可以单独控制。这么牛逼的架构,微软却一直不在其基础上实现单独调节音量,如果不是官僚主义,就是完全对用户需求的漠视。
    Windows <wbr data-media-type=
        图:高手发的音频架构图
 
  还有一些像屏幕旋转、没有桌面文件夹我就不一一列举了,随便一个功能的推出时间都被 IOS 和 Android 甩开好几年。
 
微软对开发者的“虐待”
  这里我用了“虐待”这个词,可能很多人觉得有点过头,但是这是我真实的感受。没有一家厂商敢这么儿戏的对待开发者,没有一家平台会如此频繁的变更架构。
  微软的C#语言是一个非常容易入门的语言,Visual Studio 也是一个很好很强大的工具,加上微软的号召力,所以在中国有非常庞大的C#程序员,规模甚至可以和Java相比。所以在WinPhone刚发布时,有很多像我一样的 C# 程序员希望搭上WinPhone的顺风车,当时的个人开发者数量其实并不少。WinPhone 7 的应用基于Silverlight for Windows Phone(普通应用) 和XNA (游戏应用)开发,虽然微软开放的API比较少,但是还是有不少个人开发者或者团队出了不少不错的应用,也出现了一些以WinPhone为主的游戏分发公司。同时微软也时不时的举办开发者活动,虽然收集了很多垃圾应用,但是客观上还是增加了应用的数量。这段时期WinPhone的生态正在慢慢建立,并且有着向好的方向发展的趋势。
  当微软宣布退出WinPhone 8,抛弃WinPhone 7时,顺便也大幅修改了API,增加了Windows Phone Runtime,也支持了C++的开发。这个时候其实微软已经有将WinPhone和Windows的开发模式合并的想法了,但是可能是时间不够,这个时候并没有完全的统一,给WinPhone的Windows Phone Runtime也是Windows Runtime的大幅度严格版本。对于普通应用来说,这期的版本变化不大,都是基于Silverlight的,迁移时稍作修改即可。但是对于游戏应用,WinPhone 8支持Native的DirectX开发,所以WP7的游戏开发者基本抛弃了xna,这个的一直工作量还是有点的。
  对于开发者来说,真正大的改变是WinPhone 8.1的发布,这时候微软统一了WinPhone和Windows 的开发架构,推出了新的基于Windows Runtime的所谓Universal App,当然同时也保留了之前的Silverlight,只是升级到了Silverlight 8.1,不过所有人都能看得出来Windows Runtime app才是未来。但是既然Windows Runtime是未来,竟然不支持部分Sliverlight 的API,比如VOIP、锁屏、相机启动器。而WinPhone 8.1的Windows Runtime 和 WinPhone 8有多大区别呢,下面是其他开发者列举的几条:QQ截图20150929171003.png
  
  还有很多没有列举,所以如果需要移植的话几乎要重写和系统交互的部分。这也就是为什么到目前为止很多开发者都没有升级为Universal App的原因。
  上面每一次的改变都会流失一部分开发者,这让本身优秀开发者就不多的平台渐渐的失去了崛起的基础。当然还有一部分死忠仍然在坚守,压死他们的最后一根稻草是兼容IOS和Android。微软这样的举措事实上和之前黑莓公司宣布兼容安卓软件一样,已经承认了WinPhone生态系统的失败,也就意味着放弃了此前一直坚守的WinPhone开发者。目前我所知道的WinPhone开发者几乎都是在抱怨,因为他们发现,就算现在继续坚持下去,到最后依然会被微软抛弃。所以我加入的几个Winphone开发者群几乎都是在闲聊和各种段子,偶尔有个技术问题出来,也是半天没人讨论,一段时间下来,QQ表情倒是收集了不少。
 
  对于WinPhone 10(可能就叫Win 10 Mobile)兼容IOS和Android应用的前景,我非常不看好。这种移植过来的应用本身是为其他平台设计的,交互方式和操作习惯都是其他平台的,用户体验上肯定要比原生应用差很多,所以对于移植过来的应用用户并不一定买账。而对于开发者来说,微软的这种做法已经伤透了他们的心,几乎仍然在坚持编写原生应用的开发者不多,而IOS和Android开发者,本来就看不上WinPhone的用户量,移植工具比较方便还好,如果操作比较麻烦甚至都不愿意花时间移植过来。所以极有可能造成自家开发者失望的离开,别人家的开发者反应冷淡,最后竹篮打水一场空。
 
结语
  WinPhone从2010年发布至今已经有五年的时间,版本也几经更替,曾经有着快速的发展和光明的前景,但是在微软的多次折腾下而慢慢倒下。纵观WinPhone的发展历程可以发现,几次重大的变革都是由于微软的举棋不定和动作缓慢造成的。如果最开始就坚定了大一统的理念,最开始就推出NT内核的WinPhone,最开始就坚持Windows Runtime,可能就不会有抛弃WinPhone 7,不会有开发方式的大改变,而等到生态好了,也就不大可能会兼容IOS和Android。
  虽然整篇文章是对微软的批判,但是WinPhone目前还是有机会的,机会在于Android还不够好。希望微软在新CEO的领导下,抛弃以往的官僚作风,坚持自己的风格,在后面的移动生态系统中占有自己的一席之地。
 
 
 
PS:可能想要说的话太多,写的有点乱。也没有提到单就系统来说,目前的WinPhone8.1已经是一个优秀的系统了,如果有时间的话我后面再写一篇WinPhone相比于其他两大系统的优点,以及目前比较好的应用,给准备转移到WinPhone平台的用户一些参考。
再次PS:部分是看了第三方的资料,如有错误,请指正。
 
posted @ 2015-10-06 11:44  zhangkai2237  阅读(10438)  评论(114编辑  收藏  举报