本文作于前几天,由于今天的突发新闻,已作了修订。

Nokia的着火史

自从Elop那篇着火的平台备忘录出炉,Nokia的杯具就已经造成,唯一令人不解的就是:Elop为什么还没有被开除?

距离这个备忘录事件已经过去两年半多,基于WinPhone平台的Lumia手机也出过好几款了,但是看看竞争对手们这两年半发生了些什么?不论是市场份额、机型(Android)、应用数量、还是平台的改进程度,都远远超过WinPhone——打这么长的名字的确挺麻烦,但我不愿意用缩写,因为通常我说到WP是指WordPress。

Elop当年说过不选择Android的理由是因为当时HTC和三星已经做大,Nokia后来加入这个红海难以脱颖而出,所以选择了全新的WinPhone,并且他相信微软做软件比Nokia更专业。

只可惜微软做软件的确更专业,但遗憾的是没有能够跟上移动世界的变化节奏。当年我吐槽《微软挪鸡鸭》的时候,还有很多微软粉来喷我,现在不知道他们都在哪里?

当然我也不是说Nokia马上就要死,但现在WinPhone的情况跟两年半前的Symbian相比,真没好多少。如果Nokia当初没有放弃Symbian,现在的情况也不会更糟到哪里去。既然当年可以着一次火,现在其实也是一个着火的好时候。

再着一次火

从Nokia决绝地放弃Symbian来看,估计是微软下的手,要求Nokia只做WinPhone,就现在的情况来看,跟我两年半前那篇预计的差不多,微软在这次的合作中得到了大部分好处,甚至自己卖起了Surface平板——幸好这货卖得不好(这货也被我吐槽过《Surface,送我都不要》),不然现在估计已经有Surface手机了。但是Nokia呢?给人剩下的印象就是:

拍照很NB

这跟Symbian时代给人的印象——抗摔——有什么分别?

我不知道它们之前的排它性协议时效多长,但我真的觉得Nokia应该准备后路,不应该再在WinPhone这一棵树上吊死。

那么它还有什么选择?

现在再选Android?当然不可能,那跟找死也没有什么分别了——还不如两年半前来呢。

WebOS?现在还有多少人记得它?虽然市场上二手Veer跟当年相比也没有跌价多少——折旧率远远低于Lumia 920之类——但毕竟是大势已去,现在状况基本等同于Symbian。

ChromeOS?现在有厂商在这用这货吗?Web真到了能代替本地应用的时候了?恐怕还需要假以时日吧。

还有什么?

Ubuntu Touch

去年我介绍过一个比较Geek的东西:Ubuntu for Android。我甚至还试了它的前身,那个Moto发明的WebTop,的确有一定的可用性,只是因为仍然太不成熟,可用性还是较差的。

但是现在情况不同了,Ubuntu已经在此基础上有了进一步的发展,那就是Ubuntu Touch,以及相应的硬件(计划明年发布):Ubuntu Edge。

8月初,我在G4PCC(我和几位Go4Pro.org的朋友一起搞的一年一度的小规模技术交流会)上看到了Mike那台刷了Ubuntu Touch的Nexus4,把玩了一把,感觉还是很不错的。

其实Ubuntu从桌面转向移动的准备工作已经做了很久。早在09年左右的时候,Ubuntu推出了NBR(NetBookRemix)版本,专门为小屏幕桌面设计了Unity UI。到了11年的时候,Unity已经成为Ubuntu的标配。

虽然早期的Unity的确不好用,但是经过这两年的发展,已经很不错了。而移动版的Ubuntu Touch也是采用了类似Unity的界面。

Ubuntu Touch既然叫Touch,当然是完全针对触摸屏设计的,大部分操作都信赖于按键,而是通过从边缘滑入的操作进行。包括那个Unity的侧边栏,都是通过边缘滑动显示的,还有正在运行的进程列表也是。

当然它最大的优点就是移动和桌面的一体化——插上键鼠外接显示器即成为全功能桌面版的Ubuntu。像WinPhone、WindowsRT、Window8那种精神分裂的东西完全是拍马也赶不上的(除非是新开发的兼容应用,大部分Windows应用根本不能运行在WindowsRT上,更不要说WinPhone了。

但是Ubuntu Touch不同,它可以运行所有Ubuntu桌面应用(当然不包括硬件相关的,比如需要特定硬件或使用X86指令集的),不存在这种分裂。另一方面,它也有一套自己的开发机制,基于QT和一种新的类似脚本的开发语言,而且以这种模式开发的应用本身就是兼容的,可以直接运行在未来版本的桌面Ubuntu上。

与其它的桌面移动一体方式相比,我觉得Ubuntu这条路是最有前途的。

Ubuntu Edge和Nokia

虽然我很看好Ubuntu Touch,但必须承认,移动的世界是依赖于硬件的,不同于桌面,有标准的PC硬件平台。所以Ubuntu搞了Edge计划,打算制造手机。

可惜的是,他们原本计划为Edge筹资的行动最后还是失败了……他们的目标是3200万美元,但最后只筹到1200万美元——虽然这已经是众筹的历史最高纪录了。

所以我觉得Nokia应该来和Ubuntu合作,比竟当年Nokia曾经拥有QT,从技术角度说,Nokia和Ubuntu Touch比和WinPhone应该有更亲近的关系。

当然,这一切的前提都是在于Nokia没有中木马的情况下……

更新消息

前几天微软宣布包耳膜将在一年内退休,结果微软的股价大涨7%。我戏称要是Nokia宣布Elop在一个月内退休,估计股价能涨70%……

某Nokia员工评论说:Nokia的股票现在都是地板价了,翻几番都有可能……

所以木马对于Nokia有多可恶,真是地球人都知道。

最新修订

今天的震撼性消息就是微软以71.7亿美元收购Nokia设备与服务部门(即手机部门,之后Nokia将仅剩网络和地图部门)。

估计木马的剧本大概是这样的:

三年前的一个晚上,包耳膜对木马说:我们要做手机,你帮我把NOKIA搞来,我让你接班。木马接令而去,几个月后丢出燃烧的平台备忘录,三年后终于大功告成,包耳膜宣布一年内退休,木马圆满回归,等待他的将是微软帝国的王位。

我早在两年半前就说过:

这事(指Nokia制造WinPhone)对于微软来说是一件好事,赚大发了,但对于NOKIA来说,无疑是北欧巨人倒下的第一步。

不幸言中。

Surface,送我都不要的更多相关文章

  1. 如何为Surface Dial设备开发自定义交互功能

    随着Surface Studio的发布,微软发布了与之相配套的外设硬件Surface Dial,用户可以将Surface Dail吸附在Surface Studio的屏幕上面,用旋转和点击的实体操作来 ...

  2. 基于Codeigniter框架实现的APNS批量推送—叮咚,查水表

    最近兼职公司已经众筹成功的无线门铃的消息推送出现了问题,导致有些用户接收不到推送的消息,真是吓死宝宝了,毕竟自己一手包办的后台服务,影响公司信誉是多么的尴尬,容我简单介绍一下我们的需求:公司开发的是一 ...

  3. 李洪强iOS经典面试题154- 通知与推送

    李洪强iOS经典面试题154- 通知与推送   通知与推送 本地通知和远程推送通知对基本概念和用法? image 本地通知和远程推送通知都可以向不在前台运行的应用发送消息,这种消息既可能是即将发生的事 ...

  4. iOS开发 iOS10推送必看(基础篇)

    iOS10更新之后,推送也是做了一些小小的修改,下面我就给大家仔细说说.希望看完我的这篇文章,对大家有所帮助.   原文链接   一.简单入门篇---看完就可以简单适配完了相对简单的推送证书以及环境的 ...

  5. 58同城高性能移动Push推送平台架构演进之路

    本文详细讲述58同城高性能移动Push推送平台架构演进的三个阶段,并介绍了什么是移动Push推送,为什么需要,原理和方案对比:移动Push推送第一阶段(单平台)架构如何设计:移动Push推送典型性能问 ...

  6. IOS之推送通知(本地推送和远程推送)

    推送通知和NSNotification是有区别的: NSNotification:是看不到的 推送通知:是可以看到的 IOS中提供了两种推送通知 本地推送通知:(Local Notification) ...

  7. app推送方案

    --方案原理 1.轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息.但这种方式对服务器的压力太大,且比较费客户端的流量,就是不断地向服务器发送请求,但是这样开发很简 ...

  8. APNS推送通知消息负载内容和本地格式字符串

    来源:http://hi.baidu.com/tangly888/blog/item/62948520121870559358074f.html 翻译苹果文档 地址:  翻译:tangly http: ...

  9. HTML5服务器端推送事件 解决PHP微信墙推送问题

    问题描述 以前的文章中<PHP微信墙制作,开源>已经用PHP搭建了一个微信墙获取信息的服务器,然后我就在想推送技术应该怎么解决,上一篇已经用了.NET 的signalr做了一个微信墙,PH ...

随机推荐

  1. javascript对象属性——数据属性和访问器属性

    ECMA-262第五版在定义时,描述了属性property的各种特征,定义这些特性是为了实现javascript引擎用的,为了表示该特性是内部值,规范把它们放在了两对儿方括号中,例如[[Enumera ...

  2. ClassLoader简单介绍

    要理解ClassLoader,我们可以通过what.how两个方面来解释 一.what:什么事ClassLoader? 1.ClassLoader可以是将class文件加载到JVM方法区. 2.Cla ...

  3. JavaSE学习总结第07天_面向对象2

      07.01 成员变量和局部变量的区别 1.在类中的位置不同 成员变量    类中方法外 局部变量    方法内或者方法声明上 2.在内存中的位置不同 成员变量   堆内存 局部变量   栈内存 3 ...

  4. Web开发找错基本思路

    WEB开发主要是两个交互(B/S数据) 浏览器:  1 包含html.css.js等客户端代码运行错误. 传输端: 1 路径引入错误,常用插件的引入(artDialog.Ztree.JQuery等). ...

  5. Android 常用开源代码整理

    1.AndroidAnnotations一个强大的android开源注解框架, 基本上可以注入任何类型, 比一般的所谓的注入框架要快, 因为他是通过生成一个子类来实现的绑定.具体查看文档. 2.and ...

  6. Subsets 【dfs】

    Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a subset must ...

  7. bash:xxx:command not found

    前几天在centos6.0上配好了oracle 10g并且能够执行oracle相关命令,但是今天准备往oracle里倒数据时,执行sqlplus 出现bash:command not found [o ...

  8. Zoj 3842 Beauty of Array

    Problem地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5520 根据题目的要求,需要算出所有连续子数组的the be ...

  9. linux内核源码阅读之facebook硬盘加速flashcache之三

    上一节讲到在刷缓存的时候会调用new_kcahed_job创建kcached_job,由此我们也可以看到cache数据块与磁盘数据的对应关系.上一篇:http://blog.csdn.net/lium ...

  10. Pick-up sticks(判断两直线相交)

    Pick-up sticks Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 11335   Accepted: 4250 D ...