Zheming's profile享受生活BlogListsGuestbookMore Tools Help

Blog


    16 April

    苹果为什么要做 Push Notification而不是真正的“后台运行”?

    iPhone 是一个革命性的移动互联网终端,其 Multitouch 多点触控操作是在鼠标之后的又一革新。但是,在 iPhone 上迟迟不见后台运行程序的支持。虽然,从技术的角度来说,iPhone OS 在系统架构上和 Mac OS X 如出一辙,同样也支持后台程序(比如 Apple 的电话程序等,都是可以在后台运行的),但是 Apple 是从政策上不允许第三方应用程序在后台运行。其理由是技术上的“第三方程序在后台运行会消耗大量的电能,影响设备的待机时间”。但是我们依然可以看到,主流的掌上设备操作系统无一例外的支持第三方程序的后台进程,也不见得这些设备的电能受到如此大的影响。可见这个技术问题,也许只是一个托辞,那么,Apple 为什么要做 Push Notification 呢?

    从我的理解来看,Apple 在 iPhone 上市初始阶段,仅允许第三方程序使用 Web App 的方式运行在 iPhone / iPod touch 的 Safari 浏览器中,并为 Safari 浏览器(确切的说是 Webkit 引擎)新增了很多特性来支持这些仅为 iPhone 开发的 Web App。并且,有一些有意思的增强可以在 Apple-Specific Meta Tag Keys 这个页面中找到。其中使用 “apple-mobile-web-app-capable” 这个 meta-tag,可以让 Web App 在 Safari 中以全屏的方式运行,这,难道不就是一个 WebOS 上应用程序的样子?

    从这里再联想到 Push Notification,Push Notification 是要求开发者自己有一个 Web 服务器的,并且可以使用 Push Notification 服务来给 Apple 的服务器发送通知消息,之后这个消息会被用推送的方式转发到 iPhone/iPod touch 设备上。可以想见,这个方式,是可以同时让本机的程序,和 Web App 都可以采用的通告方式。反而,让 Web App 这样一个基于 RESTful 的 HTTP 协议下的产物在后台运行,是不现实的。

    结论很简单,这一切都是为了让 iPhone/iPod touch 这个 Apple 下一代的掌上明珠,可以持续站在 Web OS 时代的最高峰。iPhone 是一个革命性的移动互联网终端。

    27 March

    联通的预存话费换手机方案

    OK,下面看一下联通的预存话费优惠方案。由此可见,iPhone 在国内正式上市后,大概可能的价格范围。

    这里是联通当前的预存话费优惠购机方案

    签约时间都是在12个月,预存12个月,每个月258/358,可以优惠1008/1608 元人民币。

    iPhone 3G 在香港的售价是 8G HKD 4680 元(预存+购机费),这是包括了购机补贴的价格。而裸机是 HKD 5400,苹果产品在两地的价格差距百分比(汇率HKD:CNY 按照 0.89:1 计算,大陆的价格是香港价格的 120% 左右。而如果仅考虑近期上市的新品 shuffle/Mac mini/iMac/Mac Pro,这个比例缩小到了 114%。 因此可以看出如果iPhone 在大陆上市,很有可能的价格(裸机)是 5400 HKD * 0.89 * 114%= 5478 元左右。这个是裸机的价格方案

    采取一年合约的方式,预存话费 3100 元,每个月最低消费 258 元,补贴 1008 元,则需要使用: 3100+5478-1008=7570 元。 !!! 预存话费 4300,每个月最低消费 358 元,补贴 1608 元,则需要使用 4300+5478-1608=8170 元。!!!

    这里的政策是全国政策,并且还是 2G 的方案,但是在各地都有很大的灵活空间。这样来看,除非联通在终端补贴上作出很大让步,否则是不能很好打击水货市场的。

    18 March

    后台多任务确实不是一个必要的东西...

    iPhone 3.0 中的这个 Push Notification,有点像很多年前提出的瘦客户端的感觉。

    瘦客户端,就是处理都不在本地,本地就搞定输入输出的东西,通过网络的方式,用服务器来搞定信息处理。

    如果网络状况OK,并且不需要太复杂的应用的情况下,瘦客户端模式是有很大优势的,而后台运行程序,则不那么必要了。

    首先,后台运行的程序,和前台的交互方式,基本只有 notification 这么个交互。比如有新的 IM 来了,提示用户有新的 IM,点一下打开阅读。后台运行只是让设备可以随时获知最新的 IM,然后即时通知用户。而 Push Notification 就是把后台运行的程序放在了云端,而已。有了这个,就根本不需要本地登录了。发送一个登录信息到服务器,说我要登录了,然后服务器处理登录,push 消息过来就是。典型的就是 meebo 这样的程序。

    其次,Push Notification 应该是 Apple 提供的一个整合的服务,这样有多个程序需要发送通知,就只要一个连接就可以完成,极大节约了客户端资源和网络开销。

    在 iPhone 这样一个处理资源受到非常大限制的终端上,用户需要的体验是快速的打开/切换。因此,尽量把处理的操作移到云端,解放客户端资源,这是发展的趋势。相比现在 App Store 里面很多简单的小应用都需要花费好几秒的时间来打开,运行,这不是一个好事情。本地应该是作为一个缓存的概念存在的,速度对于体验来说非常重要。

    17 March

    关于 iPhone OS,Apple Branded NetBook

    在一天后,就知道关于 iPhone OS 3.0 的详细情况了,在这之前,说说自己的一些猜测和想法。

    首先是,Apple 要维护好一个 OS X for iPhone,再维护一个 OS X for Mac,已经是比较吃力的事情,如果还要添加一个 OS X for NetBook,应该是一个噩梦。所以,就算 Apple 要推出这样的产品,那也应该是采用现有的操作系统而非创建一个单独的版本。
    其次,由于分辨率对于掌上设备比较重要,而 iPhone 上的程序都是在一个固定的分辨率下开发的。如果多一个分辨率更高的设备,则对开发者来说,会是一个噩梦。除非,分辨率无关的 iPhone 开发?这个应该不是个太大的问题,用可缩放的矢量来代替位图好了,但是这对于设备的性能又提出了更高的要求。
    再来考虑 iPhone 在 Apple 产品线中的定位。可以知道的是 iPhone 刚出来的时候,是没有第三方程序的,并且其架构上一开始设计出来就是不允许第三方程序运行,这个从权限设置/内存管理等方面就可以看出,Apple 的 SDK,是仓促推出应付越狱社区的。2.0 的 SDK,也是 Apple 将自己用来开发软件的工具,加上了一些对安全性的考虑,糅合了 iTunes 的分发渠道,仓促推出的,很简单,甚至简陋。那 iPhone 是个什么角色呢?移动互联网终端。这个词听起来怎么那么耳熟?嗯,其实 iPhone 就是个 NetBook,就已经可以完成大部分 NetBook 所做的事情。
    Apple 在 WWDC 上推出 SproutCore session,为的就是给开发者开发 Web Apps 提供方便的框架,这个框架和自己的 Cocoa/Objective-C 是一脉相承的。这样,再联系 iPhone 上最初只允许使用 Web App,就可以看出 Apple 是希望控制终端战略,提供内容产生和分发,这也是 Apple 一贯的商业模式。
    这样,Apple 还需要推出一个介于 MacBook 系列和 iPhone 系列中间的一个全新系列的产品么?如果需要,也是这两个系列的一个延伸,还必须防止因为新产品的引入而挤压现有产品线的空间。这是个很让人头痛的问题。普遍认为 MacBook 价格相对较高,那么,一个低价的产品,可以方便访问互联网服务,轻便小巧,比 MacBook 屏幕小,这样的产品在操纵感上应该比 MacBook 差很多,应该不能算是 Mac 系列的。而这个产品价格应该要比目前的 iPhone / touch 稍高,屏幕稍大,使用同样的触控界面。这样的话,谁还需要 iPhone/iPod touch?仅仅因为价格便宜么?价格绝对不是 Apple 用来区分其产品线的依据。所谓专业级/消费级产品线才是 Apple 的划分方式。现在的 iPhone/iPod touch,就会被当作廉价版的 Apple NetBook,各方面均没有特色,只是小一些,便宜一些,这也不是 Apple 的产品区分方式。虽然在移动领域,大小确实很重要,但是将 NetBook 用来代替掌上设备,略显大,用来代替电脑,又太不实际。确实是一个尴尬的产品。
    只好拭目以待了。

    25 February

    恢复 Safari 4 的 Inline Progres Indicator

    Safari 4 的新 Tab 很不错,可是加载进度指示条消失了,这个不好。虽然可以通过这个命令来恢复成老界面:

    $ defaults write com.apple.Safari DebugSafari4TabBarIsOnTop -bool NO
    但是毕竟还是蛮喜欢新的 Tab 位置的。那么可以在终端中使用如下命令(注意开始的$是提示符):

    $ defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool NO
    $ defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool NO

    这样就保留了 Safari 4 中 Tab 在顶部的设置,同时保留了原来的工具栏。
    05 February

    GarageBand 09 的 Basic Lesson 直接下载地址

    Guitar 的 Basic Lesson,02-09

    http://downloads.apple.com/pub/lessons/basic/2Z695-0014_Guitar%20Lesson%202_Chords%20-%20G,%20C.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0015_Guitar%20Lesson%203_Chords%20-%20A,%20D.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0016_Guitar%20Lesson%204_Minor%20Chords.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0017_Guitar%20Lesson%205_Single%20Note%20Melodies.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0018_Guitar%20Lesson%206_Power%20Chords.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0019_Guitar%20Lesson%207_Major%20Barre%20Chords.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0020_Guitar%20Lesson%208_Minor%20Barre%20Chords.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0021_Guitar%20Lesson%209_Blues%20Lead.pkg

    Piano 的 Basic Lesson,02-09

    http://downloads.apple.com/pub/lessons/basic/2Z695-0006_Piano%20Lesson%202_Right%20Hand.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0007_Piano%20Lesson%203_Left%20Hand.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0008_Piano%20Lesson%204_Rhythm.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0009_Piano%20Lesson%205_Sharps%20and%20Flats.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0010_Piano%20Lesson%206_Rhythmic%20Accents.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0011_Piano%20Lesson%207_Major%20and%20Minor%20Chords.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0012_Piano%20Lesson%208_Scales.pkg
    http://downloads.apple.com/pub/lessons/basic/2Z695-0013_Piano%20Lesson%209_Playing%20the%20Blues.pkg

    31 December

    MacBook / MacBook Pro 新触控板的操作方式全面解析

    新款 MacBook / MacBook Pro 的触控板和以前有了很大的变化,但是操作方式却差不多,仔细归纳了一下,没有兴趣的看总结就好。

    总结一下,新款主要是取消了之前的触控板按钮,代之以整个可按压的触控板表面。这个大“触控板按钮”,按压的压力是从上到下逐渐减小的。这样让用户将点按的操作放在触控板底部区域来进行;
    触控板应该可以根据接触面积来区分是使用了拇指还是其他手指,可以尝试使用拇指和食指来“双指滚动”,会发现如果拇指接触区域较大的话,是无法触发滚动的;
    当拇指放在触控板上,另外一根手指移动时,会处理成鼠标移动,这个很好的兼容了之前的操作方式,同时根据初始放置的位置来对手指进行定位,即将拇指直接放在触控板上半部分,用食指无法移动鼠标,但是将拇指先放在触控板底部区域,再将拇指和食指同时移动到上半部分,则可以正常使用食指移动鼠标(这个真的很微妙);
    因为要兼容之前的带按钮的操作方式,因此,所有的多指操作都需要有兼容使用拇指的选项,但是,这个兼容并没有在触控板的使用视频中得到体现,所以会让很多人以为新款需要使用食指来按按钮,改变了用户习惯,而实际上并没有改变之前的操作习惯;
    正因为兼容使用拇指,因此实际上双指的滚动、缩放、旋转,都可以在放上了拇指的情况下完成,估计是对拇指进行了单独判定,和接触区域的大小、位置相关;
    旋转操作和缩放操作是很有意思的一对,都是两个手指的X,Y反向变化,但是还要判断运动的路径。因此在操作缩放和旋转的时候,注意手指运动的路径是相对(在一直线为缩放),还是平行(就是旋转了);
    四指切换程序,仅是简单调出切换器而已,并无法直接使用四指来切换程序,还需要移动鼠标指针,或者使用双指滚动来选择,不如可以直接使用四指在各个程序中循环来的顺畅;

    下面是详细的操作方式描述

    直接使用单指的操作方式:

    移动鼠标指针:
    在一根手指接触到触控板的情况下移动手指;
    单击:
    可以按下触控板上任何位置触发,需要注意的是越往上方,点按会越费力,这是一个机械按钮;
    单指辅助点按:
    按下触控板右下或左下的区域即可;
    双指滚动:
    使用两根手指接触触控板,并向同一个方向运动;
    旋转:
    一根手指不动,另一根手指围绕前一根手指旋转也可以;注意前一根手指的接触面积不能过大(比如使用拇指);两根手指的X,Y坐标反向变化,同时两根手指的运动方向是平行的;
    放大缩小:
    两根手指的X,Y坐标反向变化,同时两根手指呈直线状分开即可实现缩放;
    辅助点按:
    相对距离较近的双指同时按压触控板,两指之间的距离大概是触控板长宽的一半以内;
    三指推送:
    使用三根手指中的两根或三根向左右方滑动;需要滑动一段距离才可生效;
    四指推送:
    四根手指向同一个方向运动;

    和前代产品“有触控板按钮,没有打开'轻拍来点按'”的情况相兼容的操作方式:

    移动鼠标指针:
    在一根手指(通常是拇指)接触到触控板底部区域的情况下,用另一根手指在前一根的“上方”移动;若在指针移动过程中,拇指位置发生变化,不影响指针移动,不会触发双指滚动操作;
    单击:
    在一根手指(通常是拇指)接触到触控板底部区域,使用另一根手指移动鼠标指针时,按下任意一根手指(通常是拇指)。这里同时按下两指,并不会触发双指辅助点按的操作;
    单指辅助点按:
    在移动鼠标指针时,拇指或者任意一指按下右下或左下的区域即可;
    双指滚动:
    通过第三根手指和第二根同时向同一个方向运动来滚动;
    旋转:
    拇指放在触控板底部区域上,另外两根手指的X,Y坐标反向变化,同时两根手指的运动方向是平行的;一根手指不动,另一根手指围绕前一根手指旋转也可以;
    放大缩小:
    拇指放在触控板底部区域上,两根手指的X,Y坐标反向变化,同时两根手指呈直线状分开即可实现缩放;
    辅助点按:
    或者,在一根手指(通常是拇指)接触到触控板,使用另一根手指移动鼠标指针时,在相对第二根手指距离较近的位置放上第三根手指,并用拇指(其实哪根手指无所谓)按压触控板,两指之间的距离大概是触控板长宽的一半以内;
    三指推送:
    使用拇指外三根手指完成操作;这三根手指同时接触时,仅移动其中两根也可;
    四指推送:
    使用除拇指外其他四根手指完成操作;

    打开了“轻拍来点按”功能是,大体和直接使用单指的方式类似,但是增加了拖移和拖移锁定功能,和之前用法基本类似,但是也可以在大拇指接触到触控板底部区域时使用轻拍;

    18 November

    Apple 放出触控板固件更新程序

    今日更新系统,发现苹果已经放出了触控板固件更新程序,用于解决触控板偶尔无法响应点击的问题。 打算更新后看看情况。
    05 November

    关闭评论

    受不了三天两头的小广告,Live Spaces 你再不做批量留言管理,我就换地方。
    20 October

    iPhone 正式进入中国(证据二)

    很简单,现在已经可以用支持 VISA 或者 MasterCard 的信用卡,在 HK 的 App Store 注册 iTunes 帐号了。通过这个,可以很顺畅的购买在大陆的 App Store 中缺席的“游戏”。只是,Billing Address 需要填写一个 HK 的地址而已。

    通过 HK 的在线商店可以直接购买解锁的 iPhone,同时购买应用程序也没有问题。这个也算个证据吧。

    万恶的垄断XXX,你(们)就继续耗着吧。

    售最新款 MacBook Pro MB470CH/A 一台

    售全新未开封的新款 MacBook Pro MB470CH/A ,官方建议零售价 16,698 元,现售 15,998 元。现货特价,仅一台,这台也是中国大陆地区公开发售的第一台行货。欲购从速。






    17 October

    Apple 的 iPhone 阳谋(内详)

    很简单,访问下列网址:
    http://www.apple.com/cn/
    http://www.apple.com/cn/iphone/
    http://www.apple.com/cn/itunes/
    其实,iPhone 3G 已经正式登陆中国大陆地区了。呵呵,暂时不要念想什么中移动,联合网络通讯以及中电信了。
    01 September

    考虑换一个Messenger帐号

    同时由于某些原因,这个Space很有可能不会继续写下去了。 嗯。。。 拜天地,拜读者,拜朋友。。。
    13 August

    谁给介绍个图书行业的工作?

    插播广告,谢谢大家。康康的公司要倒闭了,工资要发不出来了,特求新工作一个。 目前康康在一家营销咨询公司的图书部,主要负责选题+策划+编辑等工作,除了调纸、谈价和具体的美工外的活外都包了。若有合适的工作请速联系我。 太太太谢谢大家了。。。
    10 July

    iTunes Store 中国(不是中文)网络商店正式开始启用了

    在 iTunes Store 页面最下面选择国家中出现了中国,目前只有英文版的 App Store,没有音乐等其他内容。应该是搭配 iPod touch 使用的。
    不需要信用卡就可以注册成功。注册成功后发送的欢迎信居然指向的连接都是 http://www.apple.com/uk/的。很寒。
    总的来说是不错的,目前没有 touch (谁赞助一个)?不知道上面的 Apps 购买后会是怎样,是否可以支付,用什么支付。。。
    MobileMe 进入中国暂时是没有希望了。
    26 June

    中国首家Apple Store 零售店,登陆北京三里屯

    不久,我们将在中国北京开设首家 Apple Store 零售店,并诚邀你光临,近距离体验苹果。
    Apple Store 零售店内将陈列你最爱的苹果产品,欢迎你前来试用-或者只是来店中查看邮件或更新你的个人博客。如果你对苹果产品有任何疑问,来我们的 Genius Bar 天才吧即可找到答案。你还可以体验我们的其他服务和活动内容,包括 One to One 私人培训及 Personal Shopping 私人购物。
    我们很高兴的宣布 Apple Store 零售店的店址为三里屯,北京的时尚前沿。
    以上来自苹果中国的网站。http://www.apple.com.cn/retail/
    同在三里屯 village 的还有诸多时尚名店的旗舰店,还包括美嘉 MegaBox 影城。请注意开业时间,尽早排队。
    19 June

    Snow Leopard 32bit/64bit 性能测试

    全文包括多图请参见 我发在酷本网的帖子 总结一下:Snow Leopard 给 Webkit 带来了大约有 7% 的性能提升。64 位相比 32 位又带来了大约 10% 的性能提升。 这个测试基于 SunSpider JavaScript Benchmark 的测试结果。不同应用程序会有比较大的差异。
    10 June

    免费打倒一切

    看 WWDC 08 上演示的若干个程序,差不多有一半是免费的程序。免费不代表低质,免费程序的演示厂商包括美联社、TypePad、Loopt 等。。。看来在 iPhone 平台上,免费商业模式势不可挡。 当然,看样子这些程序也都是辅助于 Web 的。手机毕竟只是一个终端,还无法担负起所有的任务来。

    OS X 的下一版叫做 Snow Leopard

    看名字应该是 Leopard 的更新,应该不会添加太多的特性,但是会在底层、API、安全、稳定、速度上有一定的提升。 这个对开发者来说应该有更大的意义了。
    09 June

    WWDC 2008

    熬夜,看看 Jobs 又会搞出个什么东西来。TUAW上面已经有了个 Mac Fusion 的玩意。。。
    期待ing。。。
    可以确定的是 Mac OS X 改名为 OS X 了。同样,.Mac 服务也会改名的。