为最近热议的 iPad 或者准确说 iPhone OS 拒绝支持 Flash 的话题添砖加瓦的是一位名为 Morgan Adams 的 Flash 开发者(这种 title 真的十分地不确切)的评论,评论是针对 AppleInsider 的 Daniel Eran Dilger 的 Inside Apple’s iPad: Adobe Flash。这篇评论形成了 An Adobe Flash developer on why the iPad can’t use Flash。
Adams 的论点主要是……什么!他的评论里居然没出现什么 platform, strategic, momentum, leverage 这样嘴皮儿一翻就能砸死一圈人的词儿?…Oh My…
好了,他的论点,哦,非常战术性,很细节:
Current Flash sites could never be made work well on any touchscreen device, and this cannot be solved by Apple, Adobe, or magical new hardware.
当下的 Flash 站点不可能在触摸屏设备上良好工作,这没法被 Apple,Adobe 或者什么神奇硬件解决。
而不能良好工作,不是因为设备性能不够高,电池不够强,或者 Flash 会引起死机。是因为 hover 和 mouseover。
基于指点设备的系统 —- 装备鼠标的 PC 是个典型 —- 提供了手持设备目前没有的一个特性,鼠标滑过或者停在对象上的时候,会发送 hover,mouse over 等消息。目前绝大多数网站自然是为“电脑”用户设计的,所以悬停菜单,on demand 动画,预览,fade 效果等都依赖 hover 等特性,而且在电脑上工作的很好,很酷。反过来,光想象一下在线视频的 Flash 播放窗口不能显示下面那几个 hover 了才出现的按钮,就是多让人抓狂的一件事儿啊。
其实,打心眼里我是不相信,完全不认为一个 hover 特性就能决定 Flash 是不是被支持的,不过,哈,我是工程师,我喜欢细节,我喜欢善于讨论细节的人,甚至关于触摸界面的 hover 消息,我几天前还说过类似的话 —- 不过 Adams 的观点不敢苟同,因为后半句话: this cannot be solved by Apple, Adobe, or magical new hardware. 真的?
无论硬件还是软件,hover 并非遥不可及。贴近感应设备 proximity sensor 虽然目前很初级,不过正在发展中,可以使用分散在屏幕下的多个感应器判断逼近的手指;还有光线变化探测和热量感应,屏幕毕竟不大,手指悬停会引起阴影通光量变化而且用户毕竟不是一条冷静的蛇;再就是曾经介绍过的双面触摸里的思路:使用多个摄像头辅助判断手指位置;甚至可以这样,提供一个小贴片黏在屏幕角落,用户可以按一下就把贴片附着在指肚上,以后裸手指操作仍是传统触摸,而通过贴片触碰到的都作为 hover 消息传递,再进一步,贴片内置技术和成本都很成熟的感应线圈,这样有贴片的手指连碰都不需要碰屏幕就可以进行交互 —- 全都无需接触屏幕,完成 hover;软件上,不能把未标准化的手指手势 map 成 hover 消息吗?无所谓那是顺时针画圈还是两指同时单击,这是 Adobe 和 Apple 可以完成的事情。所以,真的那么 cannot 吗?诚然,我上面这些设想或者动议当然可以因为技术难度,成本或者易用性,实用性而无法实现,不过并非绝无可能,谁知道呢 —- 谁让我是个喜欢讨论细节的工程师,是个敢想的喜欢讨论细节的工程师呢?
当 Web 初出茅庐的时候,社会学家们惊叹,集权政府真正的颠覆性力量出现了,如此普遍,分散的传播方式将让权力无从下手 —- 不好意思,错了,甚至不需要在 20XX 年才发现错了。即便回到 Web 新兴之初,不需要 Bill Joy 的头脑也可以知道,这个颠覆性力量是多么脆弱,摧毁它的,可以是官员的一张臭嘴,或者太平洋上一把的鱼叉 — 只要你真的了解这件事物的内理。社会学家不需要知道 packet 是怎么打包拆包传递的,不过确实因为不知道才预错了言。Adams 同学可能非常了解 ActionScript,不过,或许还有不熟悉因而推论错了的地方吧。
当然,我不是要嘲笑“纯真”的社会学家或者低估乃至无视 Internet 的力量,不过那个乐观的论断真是个“美丽的错误”。同理,Adams 关于触摸设备无法提供某些 feature 的观点,或许就是“善意的愚蠢”。
完了上面这个细节之争,还有另外一些 Flash 支持的想法。
首先,大家热议的 iPhone,iPad 之 Flash 支持这个议题,如果要细节上明确点,意味着好几层意思,一是是否只是浏览器中的 Flash 插件支持,再是弄个完整的 VM 等放到 iPhone 里,让开发者可以实现 OS 里“独立”的脱离浏览器的 Flash 应用,这更会要了 Apple 的命。如果 iPhone SDK 的 license agreement 禁止第三方再基于其开发新的 SDK,那浏览器外的 Flash 支持,就是这么个被禁止的第三方 SDK —- 开发者可以隔离 Apple 的 iPhone SDK,依赖另一个人了。当然,还有一层意思,可否在 iPhone native app 里嵌入 Flash 支持,或者利用 flash sdk 操作对象等。
如果是浏览器内的 Flash 支持,我真的不明白哪有那么重要。目前除了视频网站(以及基于其的扩展比如嵌入视频),到底哪种或者那个 killer website 是纯粹基于 Flash 因而如果无法从手机上访问简直就是大逆不道人神共愤的?YouTube 和 Vimeo 等其实已经有 native app 或者单独编解码,可以从 iPhone 等手机上无需浏览器访问,或者从浏览器但不需要 Flash 支持。使用 app 访问这些服务和从网站访问得到的感觉/体验当然不一样,不过这个“不一样”可绝不意味这更差 —- 何况,YouTube 都在准备支持 H.264 了。
如果 Flash 支持那么重要,那不好解释为什么 iPhone 已经发布了 3 代产品,为什么一直光屁股还是那么受欢迎;如果 Flash 支持那么重要,那也不好解释为什么消费者不一窝蜂地涌到 Windows Mobile 或者 Android 去,轮番给 Jobs 一记记大大的耳光光(后两者有 Flash Lite 和 Flash 支持)。两厢对比,我看出这背后发出声音的人,也就是你我他,是有点贪得无厌,有种凡是可能拥有的都先一口要下来,能拿回家的先拿回家再说,管它用不用得上。Flash 支持,借用常年混迹于企业见惯官僚沟通方式的人熟悉的一句话来说就是 it’s nice to have —- developer 和 sales & marketing 坐下来谈东西时,老实巴交克勤克俭的前者问这个东西今年做不做啊,觉得有用吗?后者即狡黠地来这么一句 it’s nice to have,这话翻译过来其实就是干嘛不要,你提都提出来了,不要白不要,反正干活出力受苦受累的是你们,又不是我……
回过头来,对我个人而言,网站上的 Flash 内容,大多没什么非你不可的吸引力,过场动画?菜单?得了把….这还没完,有了 Flash,想想那满屏漂浮晃悠的牛皮癣广告成为现实,我就吓得尿裤子。
不过话说回来,从 SmartSketch 到 FutureSplash 再到 Flash,都有超过 15 年的历史了,PC 上的 Internet 浪潮也有 10 年了,移动互联网历史将近 5 年。在这么长的时间里,PC 端得益于软硬件的大众化和标准化,上亿消费者已经可以享受比较顺滑的互联网上的多媒体了,这后面其实有从台湾到圣迭戈,从伦敦到深圳的所有人的努力,技术的,商业的,运气的。相比之下,这玩意儿在手机上却迄今都玩不转,感觉悲剧与无奈间,我想,这并非只是两家姓A的公司之间的事。



乔布斯不是说是因为CPU占用高,电池用量大的原因么..模拟个onmouseover应该不是问题,比如轻触模拟为悬停,重压则为click