Android和iOS的体验差异

2011-1-3 评论(11) 分类:互联网 Tags:

最近试玩Nexus one,对比我自己的iTouch2,显得生硬,卡卡的感觉,不太流畅,之前也试玩过milestone,都差不多,为什么这些配置高级的Android机器使用流畅程度上都不如配置过时的iTouch2?本来我以为是硬件问题,Android手机屏幕灵敏度不够,现在觉得,应该是软件问题,Android不重视这种流畅UI体验。

例如,Android浏览器缩放页面时是边缩放边渲染页面。处理页面渲染和响应手指交互是同时进行的,平级的两个事件,结果是,在元素稍微多的页面上移动和缩放都会显得很卡,有时还会忽略了交互事件,因为浏览器忙于渲染页面/处理脚本。

iOS上是在手指交互事件结束后才渲染页面,页面的渲染不会跟交互争抢资源,在复杂的页面上拖动,如果拖动得太快,iOS也会马上响应你拖动到的位置,并且动画效果保持流畅,只是在你拖动过程中那个位置是空白的,在不用响应交互事件的时候才渲染页面。

速度永远是产品体验的第一要素,看看整个iOS系统,响应交互的优先级都是最高的,一般情况下手指对屏幕做出的交互命令都能得到最快最流畅的反应,在硬件不给力的情况下它也可以通过动画或其他各种方式告诉你已经接收到命令了,并最优先处理你的命令。说白了就是iOS把你的命令当作最高指令,Android则认为你的命令跟机器内部的命令是平等的。正如之前在网上看的评论,iOS充满人性化,Android就是一部机器。

上面的举例只是冰山一角,再仔细体验可以挑出很多iOS体验上细致的优化,例如页面到边界时直接撞墙,iOS则有缓冲,双击页面时iOS总能放大到合适的大小,Android不灵。

苹果有这么多粉丝不是盖的,用户体验也不是吹出来的。也只有它有能力把一件产品做得如此细致,因为硬件软件UI全是由它们设计,在世界第一偏执狂乔布斯手下又能把每件都做好,还对每一款产品提供完整的产业链一条龙服务,我想我没成为苹果粉丝是因为我没钱~

不过iOS相对Android还是有劣势的,一条龙服务做到了,各种体验都完美,但代价是不个性化,例如你不能往屏幕上添加widget,永远是那一排排整整齐齐的APP图标,永远只能左右翻动,这也是另外一种生硬。

很多模仿iPhone的手机都是形像神不像,本来以为魅族M9可以做得好一点,我觉得M9该做的就是给Android套上细致流畅的UI体验,但看了网上演示M9的视频,跟其他Android无差别,不知道是不是技术原因做不到。

《Rework》笔记

2011-1-3 评论(5) 分类:随记 Tags:
这书不错,虽然我不喜欢他这样列一条条教条式的建议和绝对的口气,但了解一下总不会差。
我是在这里看这本书的,排版很好。

1.第一步

这本书适合谁呀?谁都适合,读一读没坏处。

2.铲旧谋新

成功前不一定要失败
计划那么长远的事情干啥?那是浪费时间,未来不可预测,只计划几天以内要做的事情。
工作狂效率低。

3.开始行动

口头说说屁用都没有,要开始做。想法太廉价,执行得有多好才关键。
做公司要有个性,有个性才有粉丝,有粉丝能帮你传播产品。
做个公司要那么多资源干嘛,节俭点。

(更多…)

移动浏览器的viewport

2011-1-2 评论(9) 分类:技术文章 Tags:

对于移动web开发,最好了解一下viewport的概念,在quirksmode.org有两篇文章详细介绍了它,A tale of two viewport(1 2),感觉非常好,本来想翻译的,但这两篇文章实在太长了,没耐性,于是抽取了其中重点讲viewport的部分,用半翻译半自己写的方式写出来,这也是为了让自己能够理解得更好一些。

其中CSS像素和设备像素的概念,还有js获取各种宽高和位置的内容都没有提及,要想了解得更清楚还是推荐看看那两篇文章。以下图片均来自quirksmode.org

桌面浏览器

先说说桌面浏览器上viewport的概念,在桌面浏览器上viewport就是浏览器内容的可视范围,它决定了<html>元素的默认宽高。举个例子:

在一个流动布局的页面上,你给侧栏设置了width:30%,放在<body>下,正常情况下你拖动浏览器,改变浏览器的大小,这个侧栏会自动调整宽度使它的宽度为浏览器宽度的30%,那么这个自动调整的过程具体是怎样的呢?
(更多…)