西西河

主题:【原创】iPhoneSDK观察 - 舞姿飘忽,苹果的探戈 -- AllenKid

共:💬87 🌺307 新:
全看分页树展 · 主题 跟帖
家园 【原创】iPhoneSDK观察 - 舞步飞旋,只以用户体验为中心

我在西西河的处女贴就提出这么个观点: Apple超一流的UI设计是其目前的核心竞争力

而UI设计要最终落实为用户的满意和美誉度, 进而转化为市场份额,则必须严格控制用户体验的标准。

以此为出发点来看待SDK线路图中开放 vs 严管的精神分裂,就觉得比较合理了。

其实在Mac世界一直遵循的也是同等的法则,只不过桌面平台机能限制不大,让苹果可以给开发商们更大的空间,在发布官方软件包后撒手让第三方们自由竞争,优胜劣汰——而在手持设备的领域里,由于硬件资源的窘迫,让开发商们,特别是之前毫无Mac经验,只是眼馋iPhone平台前景的新进程序员们自由发挥,将会造成一个可以预料的,形同WM平台般的混乱局面,这个对于苹果来说是决不能容忍的灾难。

1、引起最大争议的:苹果为什么要严格限制iPhone软件的发行渠道,并自己充当全权审查者的角色?这不是既当球员又当裁判吗?是,这样显然在第三方软件与官方软件或者商业模式产生冲突的时候会造成第三方利益得不到保障,可我想绝大多数情况下,Apple的利益是与广大开发商以及用户的利益密切相连的——毕竟目前苹果明显是想把iPhone OS制造为移动平台的事实标准(之一),既然它大方的开放了SDK,那么我们虽然有所保留,但实在没必要过度担忧。

而这么做的好处也是显而易见的,参考一下其他的移动平台就不难看到,目前Palm也好,Symbian也罢,更别提WM了,虽然第三方软件看起来都那么繁荣,可真正有价值的,成熟的,收费合理的软件却寥寥无几,让情况更糟糕的是,人们购买起来相当的不方便,于是这些软件要么免费,要么被大范围盗用——人们不知道该不该花钱,人们也不知道钱往哪里花——这对于平台真正成熟化,成为可为人们创造价值工具的必须品相当的不利;更有甚者,这种业态模式对于平台开发商来说是一种恶性循环的死结:缺少推广平台导致产品被淹没在大堆同类型软件中,结果付费者寥寥,因此产品价格居高不下,进一步降低消费者购买欲望,盗版横行,产品价格下降更加无望......

App Store首先以苹果官方的金字招牌为产品质量做出底限的保证,并且让消费者完全不必担心恶意软件等安全问题,可以极大的增强购买信心;再来直接推送到平台的每一个终端,这种销售媒介可以说是Dreamy的,大概只有心机的梦网可以媲美——只是Montelnet可没有iTMS的用户支持度,而了解iTunes+iPod销售模式的人们都应该知道,苹果的手持设备与桌面终端的衔接可以说是无缝的,手机无线下载的可以同步至电脑备份,而iTunes媒体/软件库中的文件,可以同步至任意数目的手持设备,只要它们绑定的是同一账户。iTMS已经是全美第二大音乐销售商,在年内甚至有望超越Walmart成为头名,这么一个数字媒体零售巨头,只收99块一次性的入场费,以及30%的利润分成,对于很多跟软件零售商打过交道的开发商来说,诱惑力非同寻常。而对于爱好者来说,只要他们用心开发并维护一款产品,无论其功能多么单一,只要存在目标人群,那么就有获利的可能,因为App Store的模式,可以让他们收费$.99也好,$1.99也罢都有得赚。而根据iTMS的经验,只要人们的消费体验简单轻松,大家是愿意花钱的——冲动性消费个块八毛的人人都负担得起——点个"购买"按钮简单又惬意。这一切在iPhone以前的世界则不可想象,人们已经习惯了在网上胡搜乱下,业余开发者的心力很难通过小软件来实现为经济价值。

2、第三方软件"单任务"限制。这个限制初看大大降低了iPhone平台的适用面。但仔细想想,我们有多少次是在手持平台上同时"使用"两个软件的?我的答案是0,你总是需要切出一个软件的界面->进入另一个软件的界面,手机屏幕可不像电脑显示器,可以供你把软件窗口拖来拖去。iPhone SDK的HIG明确表示,软件开发者应考虑到随时存档退出,以及迅速恢复上次使用界面的能力,而且"单任务"限制只针对第三方软件,iPhone原生软件不在此列,所以边打电话边记事,或者边处理文档边听歌还是没问题的。在大多数情况下这跟其他平台的软件相互切换实际上是没有区别——哦,不对,还是有区别。即使在N95平台上,同时运行软件数目超过5个,系统就会变得迟钝至几乎不可用,而iPhone则完全没有这个烦恼。macrumors有位仁兄的评论说得不错: 让程序员操心总比让用户操心来的好。620Mhz的CPU+128M内存+第三方单任务可以最大限度的保证iPhone的界面时刻都反应流畅——用户体验至上体现得淋漓尽致。(虽然我还急切的盼望着复制/粘贴功能在iPhone上的实现方式。但反过来一想,WM和Symbian上打开了一大堆软件还得在任务管理器里一个个全关掉的特性也是相当的烦人。)

3、第三方软件也不得使用Daemon等系统服务监控系统或网络事件并触发可执行程序。这一条加上上面所说的第二条,基本上把通常情况下IM软件消息提示的能力给封死了,Apple这么规定的目的是为了给自己的iChat或者合作方的AIM保驾护航吗?实际上这么做更有可能的原因是Apple想要防范恶意软件开发者通过在合法软件的Daemon中添加指针,触发未经审查程序段执行的可能性,显然这会在系统的安全性上捅一个大窟窿(也是破解软件安装限制的简单方法)。但我们可以想象有很多程序需要在后台监视某些特定事件并自动弹出的能力,大家普遍怀疑Apple将对需要此能力的程序单独审查,再决定是否通过。而比较悲观的开发者已经开始四处查找iPhone OS是否支持launchd服务(Apple对于开源世界的贡献之一,UNIX平台终于可以摆脱化石init了),想要依靠该服务触发自己的软件了。但看过iPhone Getting Started系列片的人们都会长出一口气,苹果使用了一个相当新颖(有点怪异)的手段来解决此类问题:URL

就像http:会触发Safari, mailto:会触发Mail一样,程序也可以注册自己的URL字头,比如照片美化软件就可以注册PICT:作为触发自己的字头,此字段将会被iPhone OS当作公共API来处理,不仅其他程序以PICT发送的请求将会被传送并自动切换至该软件,连网络请求,HTML中的字头也会统统被CFNetwork发送给该软件。当然这种触发机制在实用中效果如何还有待验证,但我个人觉得是相当的精灵古怪,让人忍俊不禁^_^(汗,这大概是我Nerd身份的好证明吧,还有人觉得很好笑吗?请踊跃举手)

4、第三方不得引入自己的编译器,Framework,API etc. 这个很好理解,否则所谓软件审查控制就是个笑话,只不过这样的话,各种模拟器之类的就没法开发了——同样有人建议说Apple会对个案进行独立审查,所以Java虚拟机啦 SilverLight啦还并不是完全没有可能的。

5、第三方软件不得对文件系统进行操作,不得存取其他软件内部文档资料,不得通过扩展坞与外设进行联接~~~OK,关于扩展坞我是懒得为苹果辩白,这明显是想靠License再发笔外财,但是文件系统嘛~~Apple又提出了个惊天地泣鬼神的解决方案——咳,咳,同志们,米拿桑,你们就不要将工作存储为文件了,设定资料也不要用文件保存嘛,你们可以用......数据库

[SIZE=3]数据库![/SIZE]

好吧,简单的说就是iPhone OS内建SQLite支持,因此大家应该充分滴利用该特性,以达致更安全,更高效,更科幻的手机软件新世界~~~~就是这样~~~~哦,还有,Safari也是支持SQLite滴,所以结合之前超强的URL API,我们可以可以用URL来存取或者在程序间传递数据~~~~嗯嗯,就是这样.....^_^b

以上五点详解完毕,Apple仍然是不肯放过可怜的程序员弟弟的,它家的开发者文档,人机界面指南,iPhone平台传道士都反复孜孜不倦地在你耳边催眠:

A. 要以解决方案为指导,不要妄想添加过多的功能

B. 开发过程中请充分利用我们科幻的实时性能测试工具提高表现和Debug,否则有可能不予放行

C. iPhone没有鼠标没有键盘只有多点触摸屏,因此尽量减少用户输入字符的次数,如果必须的话,你最好给我记住用户的输入!不要让其一而再再而三的重复使用虚拟键盘

D. SDK提供了从Quarts2D/Core Animation/Open GL到UIKit一系列从底层到高层的图形界面创建工具,因此UI很重要,超级重要,无比重要,请使用高质量PNG图像,请使用音频视频,请使用动画特效,请使用3维渲染~~~~界面元素丰富明晰流畅优雅不是努力的目标,而是进入的门槛!!!(它真的很简单,让我来给你演示~~~)

E. 请使用iPhone值得骄傲的人机交互特性,包括手势识别和三轴感应等等,但不要过度使用。请使用iPhone值得骄傲的内建软件接口,包括Safari, 地址簿,相册等等,但不要过度使用。

F. 让你的软件个人化,但是必须跟其他软件合得来,最好别给我互相冲突。

G. 重中之重,你软件的运行平台是一只手机 手机 手机!!!你有责任优化内存占用,有责任优化硬件模块使用率,有责任防止资源滥用或者内存泄漏等一系列烂事,还得给我省电。

H. 请各位快乐的奔跑吧,iPhone平台就是你们的未来,金窟,金色的明天在等待着你们~~~~

(II) 土鳖抗铁牛


本帖一共被 1 帖 引用 (帖内工具实现)
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河