Profilo di Zheming享受生活BlogElenchiGuestbookAltro Strumenti Guida

享受生活

畅游互联网;用苹果点亮生活

Zheming Lin

欢迎在此留言,将逐一答复。或者也可以给我发消息。
Attendere...
Il commento immesso è troppo lungo. Immetti un commento più breve.
Immissione non effettuata. Riprova.
Impossibile aggiungere il commento al momento. Riprova più tardi.
Per aggiungere un commento è necessaria l'autorizzazione di un genitore. Chiedi autorizzazione
I tuoi genitori hanno disattivato i commenti.
Impossibile eliminare il commento al momento. Riprova più tardi.
Hai raggiunto il numero massimo di commenti pubblicabili giornalmente. Riprova tra 24 ore.
Impossibile lasciare commenti. La funzionalità è stata disattivata perché i sistemi hanno rilevato una possibile attività di spamming dal tuo account. Se ritieni che il tuo account è stato disattivato per errore, contatta il supporto tecnico di Windows Live.
Esegui il seguente controllo di protezione per completare la pubblicazione del commento.
I caratteri digitati nel controllo di protezione devono corrispondere ai caratteri dell'immagine o della riproduzione audio.

联系方式

给我发邮件
我的Windows Live Messenger账号
Skype用户名:zheming_lin
16 aprile

苹果为什么要做 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 marzo

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

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 marzo

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

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

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

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

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

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

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

17 marzo

关于 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 febbraio

恢复 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 在顶部的设置,同时保留了原来的工具栏。