<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Lin Zheming's Blog</title>
	<atom:link href="http://linzheming.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://linzheming.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Tue, 20 Sep 2011 11:54:47 +0000</lastBuildDate>
	<language>zh-cn</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='linzheming.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Lin Zheming's Blog</title>
		<link>http://linzheming.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://linzheming.wordpress.com/osd.xml" title="Lin Zheming&#039;s Blog" />
	<atom:link rel='hub' href='http://linzheming.wordpress.com/?pushpress=hub'/>
		<item>
		<title>在 Tomato 固件上设置 Time Machine 服务器</title>
		<link>http://linzheming.wordpress.com/2011/05/20/time-machine-server-on-tomato/</link>
		<comments>http://linzheming.wordpress.com/2011/05/20/time-machine-server-on-tomato/#comments</comments>
		<pubDate>Fri, 20 May 2011 06:34:50 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[苹果电脑]]></category>
		<category><![CDATA[计算机与 Internet]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/?p=234</guid>
		<description><![CDATA[网上看到的都是 ddwrt 的设置方法，而 ddwrt 和 tomato 还是有些区别的，因此在这里记录一下供参考（简单说明，需要有点 linux 的基础知识才能看明白）。我用的是 Linksys E3000，其他路由器应该差不多可能下的包不太一样。如果有遇到问题欢迎在评论中告知。 要做的事情简单说如下： 打开 tomato 中的 jffs 适用 gparted 准备外置硬盘（分区为 swap、ext3、hfs+） 具体步骤参考 这个网页的说明，记得装上 sd-idle-2.6，建议装在 /jffs 下，sd-idle 是用来设置硬盘在空闲时停转的，我设置成 10 分钟空闲即停转。 下载并安装 hfs+ 文件系统支持 下载这里的包并解压缩，将其中的 hfsplus.ko scp 到 /jffs 下面（112k），好像 hfsplus.ko 仅和 TomatoUSB 固件兼容，@petefang 的 Tomato RAF 不兼容，这种情况可以用 NTFS 分区替代从而跳过这部分，因为我们使用的是 AFP 共享，应该没有太大影响。 我设置的启动 Init脚本为： #!/bin/sh # wait and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=234&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>网上看到的都是 ddwrt 的设置方法，而 ddwrt 和 tomato 还是有些区别的，因此在这里记录一下供参考（简单说明，需要有点 linux 的基础知识才能看明白）。我用的是 Linksys E3000，其他路由器应该差不多可能下的包不太一样。如果有遇到问题欢迎在评论中告知。</p>
<p>要做的事情简单说如下：</p>
<ol>
<li>打开 tomato 中的 jffs</li>
<li>适用 gparted 准备外置硬盘（分区为 swap、ext3、hfs+）</li>
<p>具体步骤参考 <a href="http://tomatousb.org/tut:how-to-set-up-nas-optware-etc-for-total-noobs" title="http://tomatousb.org/tut:how-to-set-up-nas-optware-etc-for-total-noobs" target="_blank">这个网页的说明</a>，记得装上 sd-idle-2.6，建议装在 /jffs 下，sd-idle 是用来设置硬盘在空闲时停转的，我设置成 10 分钟空闲即停转。</p>
<li>下载并安装 hfs+ 文件系统支持</li>
<p>下载<a href="http://sourceforge.net/projects/tomatousb/files/Experimental%20%28beta%29/K26-MIPSR2/extras-K26-MIPSR2.tar.gz/download" title="http://sourceforge.net/projects/tomatousb/files/Experimental%20%28beta%29/K26-MIPSR2/extras-K26-MIPSR2.tar.gz/download" target="_blank">这里的包</a>并解压缩，将其中的 hfsplus.ko scp 到 /jffs 下面（112k），好像 hfsplus.ko 仅和 TomatoUSB 固件兼容，<a href="https://twitter.com/petefang" title="https://twitter.com/petefang" target="_blank">@petefang</a> 的 Tomato RAF 不兼容，这种情况可以用 NTFS 分区替代从而跳过这部分，因为我们使用的是 AFP 共享，应该没有太大影响。<br />
我设置的启动 Init脚本为：</p>
<p><code>#!/bin/sh<br />
# wait and insert kernel module hfsplus.ko<br />
sleep 2<br />
insmod /jffs/hfsplus.ko<br />
# Need to wait for file system, USB, automounter to come online first so wait for some period.<br />
sleep 10</p>
<p># Start sd-idle to auto stop USB HDD if not used after 10min<br />
if [ -e /var/notice/sd-idle ]; then<br />
  echo "[sd-idle] already started; not starting."<br />
else<br />
  /jffs/bin/sd-idle-2.6 -i 600<br />
  touch /var/notice/sd-idle<br />
fi</p>
<p># Initialize script in /opt/etc/init.d<br />
for f in /opt/etc/init.d/S* ; do<br />
[ -x $f ] &amp;&amp; $f start<br />
done</p>
<p></code></p>
<li>设置关闭 Shutdown 脚本</li>
<p><code><br />
for f in /opt/etc/init.d/K* ; do<br />
[ -x $f ] &amp;&amp; $f stop<br />
done</p>
<p># cleanup<br />
killall afpd<br />
killall avahi-daemon<br />
killall dbus-daemon<br />
rm -rf /opt/var/run/*</p>
<p># Unmount Opt from flash drive<br />
umount /mnt/sda3<br />
umount /swap<br />
umount /opt<br />
sleep 5<br />
led usb off<br />
</code></p>
<li>此时确认 /opt 已经挂载，安装 optware</li>
<p>在终端里面执行如下命令（逐行拷贝执行）：<br />
<code><br />
wget http://tomatousb.org/local--files/tut:optware-installation/optware-install.sh -O - | tr -d '\r' &gt; /tmp/optware-install.sh</p>
<p>chmod +x /tmp/optware-install.sh</p>
<p>sh /tmp/optware-install.sh</p>
<p>ipkg update<br />
</code><br />
至此，optware 应该已经装到了 /opt 下</p>
<li>从<a href="http://www.dd-wrt.com/phpBB2/viewtopic.php?p=438903" title="http://www.dd-wrt.com/phpBB2/viewtopic.php?p=438903" target="_blank">这里下载 dbus_1.2.16-2_mipsel.ipk.zip</a>，并 scp 到 ~ 下手动安装</li>
<li>用 ipkg-opt 安装这些包：avahi、coreutils、libgcrypt</li>
<li>从<a href="http://tomatousb.org/forum/t-336545/extra-newer-optware-ipk-s-not-in-the-ddwrt-ipkg-feed" title="http://tomatousb.org/forum/t-336545/extra-newer-optware-ipk-s-not-in-the-ddwrt-ipkg-feed" target="_blank">这里下载更新的包</a>，并 scp 到 ~ 下手动安装：netatalk、libdb</li>
<li>在 /opt/etc/init.d/ 下建立一个 S15prepare 脚本并 chmod +x S15prepare</li>
<p>这个脚本是用来创建 avahi 运行时需要的用户的<br />
<code><br />
if grep -q ^netdev: /etc/group; then<br />
# echo There already is an netdev group on the system.<br />
true<br />
else<br />
addgroup -g 1 netdev<br />
fi</p>
<p>if grep -q ^avahi: /etc/group; then<br />
# echo There already is an avahi group on the system.<br />
ADDUSER_OPT="-G avahi"<br />
else<br />
addgroup -g 2 avahi<br />
fi</p>
<p>if grep -q ^avahi: /etc/passwd; then<br />
# echo There already is an avahi user on the system.<br />
true<br />
else<br />
echo -n "No avahi user found, creating it... "<br />
# adduser -h /var/run/avahi -g "avahi daemon" -s /bin/false -D -H $ADDUSER_OPT avahi &gt; /dev/null 2&gt;&amp;1<br />
echo "avahi:x:2:2:avahi daemon:/opt/sbin/avahi-daemon:/bin/false" &gt;&gt; /tmp/etc/passwd</p>
<p>echo done<br />
fi<br />
set -e<br />
</code></p>
<li>根据<a href="http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/" title="http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/" target="_blank">这个网页</a>和<a href="http://tomatousb.org/forum/t-254329/avahi-for-advertising-router-s-services-to-rest-of-network-c" title="http://tomatousb.org/forum/t-254329/avahi-for-advertising-router-s-services-to-rest-of-network-c" target="_blank">另一个网页</a>的说明配置 avahi，用 /opt/etc/init.d/S20dbus 和 /opt/etc/init.d/S21avahi-daemon 来启动 dbus 和 avahi</li>
<p>/opt/etc/avahi/services/timecapsule_afpd.service 的内容<a href="http://buffalo.nas-central.org/wiki/Time_Machine_%26_Time_Capsule_support_on_your_LinkStation" title="http://buffalo.nas-central.org/wiki/Time_Machine_%26_Time_Capsule_support_on_your_LinkStation" target="_blank">参考这个网页</a>。</p>
<li>根据<a href="http://www.myopenrouter.com/forum/thread/25959/WNR3500L-Mac-OSX-Time-Machine-with-afpd/" title="http://www.myopenrouter.com/forum/thread/25959/WNR3500L-Mac-OSX-Time-Machine-with-afpd/" target="_blank">这个网页的说明</a>配置 afpd ，我使用的是匿名的选项，谁知道怎么配置用户名密码登录的请告诉我</li>
<p>我的 afpd 相关配置如下：<br />
/opt/etc/netatalk/AppleVolumes.default :<br />
<code><br />
/mnt/sda3 "Time Machine" volsizelimit:4000000 cnidscheme:tdb options:usedots,tm,upriv<br />
</code><br />
/opt/etc/netatalk/netatalk.conf :<br />
仅更改 ATALKD_RUN=yes为<br />
<code><br />
ATALKD_RUN=no<br />
</code><br />
/opt/etc/netatalk/afpd.conf<br />
<code><br />
- -tcp -noddp -uamlist uams_guest.so -savepassword -advertise_ssh<br />
</code></p>
<li>建立一个 /opt/etc/init.d/S30afpd 来启动 afpd ，注意给脚本使用 chmod +x S30afpd</li>
<p><code><br />
#!/bin/sh<br />
EXE=afpd<br />
BIN=/opt/sbin/$EXE<br />
OPTIONS=""<br />
RUN_D=/var/run/$EXE<br />
case $1 in<br />
 start)<br />
   mkdir -p $RUN_D<br />
   $BIN $OPTIONS<br />
   ;;<br />
 stop)<br />
   killall $BIN<br />
   ;;<br />
 reload)<br />
   if [ -f $RUN_D/pid ]; then<br />
         $BIN -r;<br />
   else<br />
         mkdir -p $RUN_D;<br />
         $BIN $OPTIONS;<br />
   fi<br />
   ;;<br />
 restart)<br />
   if [ -f $RUN_D/pid ]; then<br />
           killall $BIN<br />
   fi<br />
   mkdir -p $RUN_D<br />
   $BIN $OPTIONS<br />
   ;;<br />
 *)<br />
   echo "usage: $0 (start|stop|reload|restart)"<br />
   exit 1<br />
esac<br />
exit $?<br />
</code></p>
<li>将 S20dbus、S21avahi-daemon、S30afpd 复制一份为 K20dbus、K21avahi-daemon、K30afpd，供关闭脚本调用</li>
<p>重启路由器，等待一会儿，应该可以在 Mac 的 Finder 里面看到出来个 Time Capsule 了，点击后应该能挂载上 /mnt/sda3 的 hfs+ 卷，这时打开系统偏好设置的 Time Machine，看能否指派这个网络卷，如果不能则在 Mac 的终端执行：</p>
<p><code>defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1</code></p>
<p>后再看，能指派网络卷后，等待 Time Machine 初始化并开始备份，之后应该可以在 Mac 的终端中关闭</p>
<p><code>defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 0</code></p>
<li>设置 USB Support 中的 Run after mounting 和 Run before unmounting 脚本</li>
<p>Run after mounting<br />
<code><br />
led usb on<br />
</code><br />
Run before unmounting<br />
<code><br />
killall afpd<br />
killall avahi-daemon<br />
killall dbus-daemon<br />
rm -rf /opt/var/run/*<br />
# Unmount Opt from flash drive<br />
umount /swap<br />
umount /opt<br />
sleep 3<br />
led usb off<br />
</code></p>
</ol>
<p>至此应该大功告成，建议第一次的 Time Machine 备份使用千兆网连接。</p>
<p>后记：avahi 提示我需要 nss-mdns 的支持，因为没有找到直接能用的包，我就没有管它。如果有谁能有办法让 nss-mdns 在 Tomato 上跑起来，请告诉我。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/234/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/234/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/234/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=234&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2011/05/20/time-machine-server-on-tomato/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>在 DD-WRT 上配置自动路由的 OpenVPN</title>
		<link>http://linzheming.wordpress.com/2011/03/30/ddwrt-openvpn/</link>
		<comments>http://linzheming.wordpress.com/2011/03/30/ddwrt-openvpn/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 11:38:08 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/?p=230</guid>
		<description><![CDATA[DDWRT-big/mega 等多个版本都支持 OpenVPN Client，因此可以使用这个更加可靠的方式来使用 VPN 连接，避免 PPTP 和 L2TP 可能的不稳定。经过一天摸索，找到了解决方案来进行根据域名自动路由。 参考资料：http://code.google.com/p/autoddvpn/ 所使用的版本是 SVN revision 16403M NEWD-2 K2.6 Eko 。 首先配置 DDWRT 可以自动成功连接上 OpenVPN，确保连接参数正常。之后打开 jffs2 的支持。 根据 autoddvpn 的介绍 http://code.google.com/p/autoddvpn/wiki/OpenVPNJFFS ，下载其上的对应脚本放置在 /jffs/openvpn 下面，之后和上面资料不一样的是，我通过路由器的 WebUI 修改 OpenVPN 的参数的方式来添加这两个脚本。在 OpenVPN中的 Services &#8211; VPN 中的 Additional Config 中加上这些： up &#8220;iptables -I POSTROUTING -t nat -o tun1 -j MASQUERADE; /jffs/openvpn/vpnup.sh [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=230&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>DDWRT-big/mega 等多个版本都支持 OpenVPN Client，因此可以使用这个更加可靠的方式来使用 VPN 连接，避免 PPTP 和 L2TP 可能的不稳定。经过一天摸索，找到了解决方案来进行根据域名自动路由。</p>
<p>参考资料：http://code.google.com/p/autoddvpn/</p>
<p>所使用的版本是 SVN revision 16403M NEWD-2 K2.6 Eko 。</p>
<p>首先配置 DDWRT 可以自动成功连接上 OpenVPN，确保连接参数正常。之后打开 jffs2 的支持。</p>
<p>根据 autoddvpn 的介绍 http://code.google.com/p/autoddvpn/wiki/OpenVPNJFFS ，下载其上的对应脚本放置在 /jffs/openvpn 下面，之后和上面资料不一样的是，我通过路由器的 WebUI 修改 OpenVPN 的参数的方式来添加这两个脚本。在 OpenVPN中的 Services &#8211; VPN  中的 Additional Config 中加上这些：</p>
<p>up &#8220;iptables -I POSTROUTING -t nat -o tun1 -j MASQUERADE; /jffs/openvpn/vpnup.sh openvpn&#8221;<br />
down &#8220;iptables -D POSTROUTING -t nat -o tun1 -j MASQUERADE; /jffs/openvpn/vpndown.sh openvpn&#8221;</p>
<p>单引号会被 WebUI 过滤掉导致脚本失效因此我换用了双引号，同时 Linksys E3000 的 VPN 通道是 tun1 ，而不是之前文档描述的 tun0。</p>
<p>然后 reboot，搞定。不需要太复杂的终端配置，大部分都能在 WebUI 下面搞定了。</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/230/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/230/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/230/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=230&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2011/03/30/ddwrt-openvpn/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>苹果为什么要做 Push Notification而不是真正的“后台运行”？</title>
		<link>http://linzheming.wordpress.com/2009/04/16/%e8%8b%b9%e6%9e%9c%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%81%9a-push-notification%e8%80%8c%e4%b8%8d%e6%98%af%e7%9c%9f%e6%ad%a3%e7%9a%84%e2%80%9c%e5%90%8e%e5%8f%b0%e8%bf%90%e8%a1%8c%e2%80%9d%ef%bc%9f/</link>
		<comments>http://linzheming.wordpress.com/2009/04/16/%e8%8b%b9%e6%9e%9c%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%81%9a-push-notification%e8%80%8c%e4%b8%8d%e6%98%af%e7%9c%9f%e6%ad%a3%e7%9a%84%e2%80%9c%e5%90%8e%e5%8f%b0%e8%bf%90%e8%a1%8c%e2%80%9d%ef%bc%9f/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 01:35:01 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[苹果电脑]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/2009/04/16/%e8%8b%b9%e6%9e%9c%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%81%9a-push-notification%e8%80%8c%e4%b8%8d%e6%98%af%e7%9c%9f%e6%ad%a3%e7%9a%84%e2%80%9c%e5%90%8e%e5%8f%b0%e8%bf%90%e8%a1%8c%e2%80%9d%ef%bc%9f</guid>
		<description><![CDATA[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 中以全屏的方式运行，这，难道不就是一个 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=5&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!1EBD6F8AF81EAEE8!1190" class="bvMsg">
<p>iPhone 是一个革命性的移动互联网终端，其 Multitouch 多点触控操作是在鼠标之后的又一革新。但是，在 iPhone 上迟迟不见后台运行程序的支持。虽然，从技术的角度来说，iPhone OS 在系统架构上和 Mac OS X 如出一辙，同样也支持后台程序（比如 Apple 的电话程序等，都是可以在后台运行的），但是 Apple 是从政策上不允许第三方应用程序在后台运行。其理由是技术上的“第三方程序在后台运行会消耗大量的电能，影响设备的待机时间”。但是我们依然可以看到，主流的掌上设备操作系统无一例外的支持第三方程序的后台进程，也不见得这些设备的电能受到如此大的影响。可见这个技术问题，也许只是一个托辞，那么，Apple 为什么要做 Push Notification 呢？</p>
<p>从我的理解来看，Apple 在 iPhone 上市初始阶段，仅允许第三方程序使用 Web App 的方式运行在 iPhone / iPod touch 的 Safari 浏览器中，并为 Safari 浏览器（确切的说是 Webkit 引擎）新增了很多特性来支持这些仅为 iPhone 开发的 Web App。并且，有一些有意思的增强可以在 <a href="http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariHTMLRef/Articles/MetaTags.html">Apple-Specific Meta Tag Keys</a> 这个页面中找到。其中使用 “apple-mobile-web-app-capable” 这个 meta-tag，可以让 Web App 在 Safari 中以全屏的方式运行，这，难道不就是一个 WebOS 上应用程序的样子？</p>
<p>从这里再联想到 Push Notification，Push Notification 是要求开发者自己有一个 Web 服务器的，并且可以使用 Push Notification 服务来给 Apple 的服务器发送通知消息，之后这个消息会被用推送的方式转发到 iPhone/iPod touch 设备上。可以想见，这个方式，是可以同时让本机的程序，和 Web App 都可以采用的通告方式。反而，让 Web App 这样一个基于 RESTful 的 HTTP 协议下的产物在后台运行，是不现实的。</p>
<p>结论很简单，这一切都是为了让 iPhone/iPod touch 这个 Apple 下一代的掌上明珠，可以持续站在 Web OS 时代的最高峰。iPhone 是一个革命性的移动互联网终端。</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/5/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/5/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/5/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=5&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2009/04/16/%e8%8b%b9%e6%9e%9c%e4%b8%ba%e4%bb%80%e4%b9%88%e8%a6%81%e5%81%9a-push-notification%e8%80%8c%e4%b8%8d%e6%98%af%e7%9c%9f%e6%ad%a3%e7%9a%84%e2%80%9c%e5%90%8e%e5%8f%b0%e8%bf%90%e8%a1%8c%e2%80%9d%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>联通的预存话费换手机方案</title>
		<link>http://linzheming.wordpress.com/2009/03/27/%e8%81%94%e9%80%9a%e7%9a%84%e9%a2%84%e5%ad%98%e8%af%9d%e8%b4%b9%e6%8d%a2%e6%89%8b%e6%9c%ba%e6%96%b9%e6%a1%88/</link>
		<comments>http://linzheming.wordpress.com/2009/03/27/%e8%81%94%e9%80%9a%e7%9a%84%e9%a2%84%e5%ad%98%e8%af%9d%e8%b4%b9%e6%8d%a2%e6%89%8b%e6%9c%ba%e6%96%b9%e6%a1%88/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 02:53:15 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[苹果电脑]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/2009/03/27/%e8%81%94%e9%80%9a%e7%9a%84%e9%a2%84%e5%ad%98%e8%af%9d%e8%b4%b9%e6%8d%a2%e6%89%8b%e6%9c%ba%e6%96%b9%e6%a1%88</guid>
		<description><![CDATA[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 的方案，但是在各地都有很大的灵活空间。这样来看，除非联通在终端补贴上作出很大让步，否则是不能很好打击水货市场的。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=6&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!1EBD6F8AF81EAEE8!1187" class="bvMsg">
<p>OK，下面看一下联通的预存话费优惠方案。由此可见，iPhone 在国内正式上市后，大概可能的价格范围。</p>
<p><a href="http://info2.10010.com/news/2G/index.html">这里是联通当前的预存话费优惠购机方案</a></p>
<p>签约时间都是在12个月，预存12个月，每个月258/358，可以优惠1008/1608 元人民币。</p>
<p>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 元左右。这个是裸机的价格方案</p>
<p>采取一年合约的方式，预存话费 3100 元，每个月最低消费 258 元，补贴 1008 元，则需要使用： 3100+5478-1008=7570 元。 !!!<br />
预存话费 4300，每个月最低消费 358 元，补贴 1608 元，则需要使用 4300+5478-1608=8170 元。!!!</p>
<p>这里的政策是全国政策，并且还是 2G 的方案，但是在各地都有很大的灵活空间。这样来看，除非联通在终端补贴上作出很大让步，否则是不能很好打击水货市场的。
</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=6&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2009/03/27/%e8%81%94%e9%80%9a%e7%9a%84%e9%a2%84%e5%ad%98%e8%af%9d%e8%b4%b9%e6%8d%a2%e6%89%8b%e6%9c%ba%e6%96%b9%e6%a1%88/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>后台多任务确实不是一个必要的东西&#8230;</title>
		<link>http://linzheming.wordpress.com/2009/03/18/%e5%90%8e%e5%8f%b0%e5%a4%9a%e4%bb%bb%e5%8a%a1%e7%a1%ae%e5%ae%9e%e4%b8%8d%e6%98%af%e4%b8%80%e4%b8%aa%e5%bf%85%e8%a6%81%e7%9a%84%e4%b8%9c%e8%a5%bf/</link>
		<comments>http://linzheming.wordpress.com/2009/03/18/%e5%90%8e%e5%8f%b0%e5%a4%9a%e4%bb%bb%e5%8a%a1%e7%a1%ae%e5%ae%9e%e4%b8%8d%e6%98%af%e4%b8%80%e4%b8%aa%e5%bf%85%e8%a6%81%e7%9a%84%e4%b8%9c%e8%a5%bf/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 03:16:50 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[苹果电脑]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/2009/03/18/%e5%90%8e%e5%8f%b0%e5%a4%9a%e4%bb%bb%e5%8a%a1%e7%a1%ae%e5%ae%9e%e4%b8%8d%e6%98%af%e4%b8%80%e4%b8%aa%e5%bf%85%e8%a6%81%e7%9a%84%e4%b8%9c%e8%a5%bf</guid>
		<description><![CDATA[iPhone 3.0 中的这个 Push Notification，有点像很多年前提出的瘦客户端的感觉。 瘦客户端，就是处理都不在本地，本地就搞定输入输出的东西，通过网络的方式，用服务器来搞定信息处理。 如果网络状况OK，并且不需要太复杂的应用的情况下，瘦客户端模式是有很大优势的，而后台运行程序，则不那么必要了。 首先，后台运行的程序，和前台的交互方式，基本只有 notification 这么个交互。比如有新的 IM 来了，提示用户有新的 IM，点一下打开阅读。后台运行只是让设备可以随时获知最新的 IM，然后即时通知用户。而 Push Notification 就是把后台运行的程序放在了云端，而已。有了这个，就根本不需要本地登录了。发送一个登录信息到服务器，说我要登录了，然后服务器处理登录，push 消息过来就是。典型的就是 meebo 这样的程序。 其次，Push Notification 应该是 Apple 提供的一个整合的服务，这样有多个程序需要发送通知，就只要一个连接就可以完成，极大节约了客户端资源和网络开销。 在 iPhone 这样一个处理资源受到非常大限制的终端上，用户需要的体验是快速的打开/切换。因此，尽量把处理的操作移到云端，解放客户端资源，这是发展的趋势。相比现在 App Store 里面很多简单的小应用都需要花费好几秒的时间来打开，运行，这不是一个好事情。本地应该是作为一个缓存的概念存在的，速度对于体验来说非常重要。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=7&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!1EBD6F8AF81EAEE8!1180" class="bvMsg">
<p><a href="http://developer.apple.com/iphone/program/sdk.html">iPhone 3.0</a> 中的这个 Push Notification，有点像很多年前提出的瘦客户端的感觉。</p>
<p>瘦客户端，就是处理都不在本地，本地就搞定输入输出的东西，通过网络的方式，用服务器来搞定信息处理。</p>
<p>如果网络状况OK，并且不需要太复杂的应用的情况下，瘦客户端模式是有很大优势的，而后台运行程序，则不那么必要了。</p>
<p>首先，后台运行的程序，和前台的交互方式，基本只有 notification 这么个交互。比如有新的 IM 来了，提示用户有新的 IM，点一下打开阅读。后台运行只是让设备可以随时获知最新的 IM，然后即时通知用户。而 Push Notification 就是把后台运行的程序放在了云端，而已。有了这个，就根本不需要本地登录了。发送一个登录信息到服务器，说我要登录了，然后服务器处理登录，push 消息过来就是。典型的就是 meebo 这样的程序。</p>
<p>其次，Push Notification 应该是 Apple 提供的一个整合的服务，这样有多个程序需要发送通知，就只要一个连接就可以完成，极大节约了客户端资源和网络开销。</p>
<p>在 iPhone 这样一个处理资源受到非常大限制的终端上，用户需要的体验是快速的打开/切换。因此，尽量把处理的操作移到云端，解放客户端资源，这是发展的趋势。相比现在 App Store 里面很多简单的小应用都需要花费好几秒的时间来打开，运行，这不是一个好事情。本地应该是作为一个缓存的概念存在的，速度对于体验来说非常重要。
</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/7/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/7/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/7/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=7&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2009/03/18/%e5%90%8e%e5%8f%b0%e5%a4%9a%e4%bb%bb%e5%8a%a1%e7%a1%ae%e5%ae%9e%e4%b8%8d%e6%98%af%e4%b8%80%e4%b8%aa%e5%bf%85%e8%a6%81%e7%9a%84%e4%b8%9c%e8%a5%bf/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>关于 iPhone OS，Apple Branded NetBook</title>
		<link>http://linzheming.wordpress.com/2009/03/17/%e5%85%b3%e4%ba%8e-iphone-os%ef%bc%8capple-branded-netbook/</link>
		<comments>http://linzheming.wordpress.com/2009/03/17/%e5%85%b3%e4%ba%8e-iphone-os%ef%bc%8capple-branded-netbook/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 01:32:52 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[苹果电脑]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/2009/03/17/%e5%85%b3%e4%ba%8e-iphone-os%ef%bc%8capple-branded-netbook</guid>
		<description><![CDATA[在一天后，就知道关于 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 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=8&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!1EBD6F8AF81EAEE8!1178" class="bvMsg">
<p>
在一天后，就知道关于 iPhone OS 3.0 的详细情况了，在这之前，说说自己的一些猜测和想法。</p>
<p>
首先是，Apple 要维护好一个 OS X for iPhone，再维护一个 OS X for Mac，已经是比较吃力的事情，如果还要添加一个 OS X for NetBook，应该是一个噩梦。所以，就算 Apple 要推出这样的产品，那也应该是采用现有的操作系统而非创建一个单独的版本。<br />
<br />
其次，由于分辨率对于掌上设备比较重要，而 iPhone 上的程序都是在一个固定的分辨率下开发的。如果多一个分辨率更高的设备，则对开发者来说，会是一个噩梦。除非，分辨率无关的 iPhone 开发？这个应该不是个太大的问题，用可缩放的矢量来代替位图好了，但是这对于设备的性能又提出了更高的要求。<br />
<br />
再来考虑 iPhone 在 Apple 产品线中的定位。可以知道的是 iPhone 刚出来的时候，是没有第三方程序的，并且其架构上一开始设计出来就是不允许第三方程序运行，这个从权限设置/内存管理等方面就可以看出，Apple 的 SDK，是仓促推出应付越狱社区的。2.0 的 SDK，也是 Apple 将自己用来开发软件的工具，加上了一些对安全性的考虑，糅合了 iTunes 的分发渠道，仓促推出的，很简单，甚至简陋。那 iPhone 是个什么角色呢？移动互联网终端。这个词听起来怎么那么耳熟？嗯，其实 iPhone 就是个 NetBook，就已经可以完成大部分 NetBook 所做的事情。<br />
<br />
Apple 在 WWDC 上推出 SproutCore session，为的就是给开发者开发 Web Apps 提供方便的框架，这个框架和自己的 Cocoa/Objective-C 是一脉相承的。这样，再联系 iPhone 上最初只允许使用 Web App，就可以看出 Apple 是希望控制终端战略，提供内容产生和分发，这也是 Apple 一贯的商业模式。<br />
<br />
这样，Apple 还需要推出一个介于 MacBook 系列和 iPhone 系列中间的一个全新系列的产品么？如果需要，也是这两个系列的一个延伸，还必须防止因为新产品的引入而挤压现有产品线的空间。这是个很让人头痛的问题。普遍认为 MacBook 价格相对较高，那么，一个低价的产品，可以方便访问互联网服务，轻便小巧，比 MacBook 屏幕小，这样的产品在操纵感上应该比 MacBook 差很多，应该不能算是 Mac 系列的。而这个产品价格应该要比目前的 iPhone / touch 稍高，屏幕稍大，使用同样的触控界面。这样的话，谁还需要 iPhone/iPod touch？仅仅因为价格便宜么？价格绝对不是 Apple 用来区分其产品线的依据。所谓专业级/消费级产品线才是 Apple 的划分方式。现在的 iPhone/iPod touch，就会被当作廉价版的 Apple NetBook，各方面均没有特色，只是小一些，便宜一些，这也不是 Apple 的产品区分方式。虽然在移动领域，大小确实很重要，但是将 NetBook 用来代替掌上设备，略显大，用来代替电脑，又太不实际。确实是一个尴尬的产品。<br />
<br />
只好拭目以待了。
</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=8&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2009/03/17/%e5%85%b3%e4%ba%8e-iphone-os%ef%bc%8capple-branded-netbook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>恢复 Safari 4 的 Inline Progres Indicator</title>
		<link>http://linzheming.wordpress.com/2009/02/25/%e6%81%a2%e5%a4%8d-safari-4-%e7%9a%84-inline-progres-indicator/</link>
		<comments>http://linzheming.wordpress.com/2009/02/25/%e6%81%a2%e5%a4%8d-safari-4-%e7%9a%84-inline-progres-indicator/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 03:50:21 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[苹果电脑]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/2009/02/25/%e6%81%a2%e5%a4%8d-safari-4-%e7%9a%84-inline-progres-indicator</guid>
		<description><![CDATA[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 在顶部的设置，同时保留了原来的工具栏。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=9&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!1EBD6F8AF81EAEE8!1171" class="bvMsg"><a href="http://www.apple.com.cn/safari/">Safari 4</a> 的新 Tab 很不错，可是加载进度指示条消失了，这个不好。虽然可以通过这个命令来恢复成老界面：</p>
<p>$ defaults write com.apple.Safari DebugSafari4TabBarIsOnTop -bool NO<br />
但是毕竟还是蛮喜欢新的 Tab 位置的。那么可以在终端中使用如下命令（注意开始的$是提示符）：</p>
<p>$ defaults write com.apple.Safari DebugSafari4IncludeToolbarRedesign -bool NO<br />
$ defaults write com.apple.Safari DebugSafari4LoadProgressStyle -bool NO</p>
<p>这样就保留了 Safari 4 中 Tab 在顶部的设置，同时保留了原来的工具栏。
</p></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=9&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2009/02/25/%e6%81%a2%e5%a4%8d-safari-4-%e7%9a%84-inline-progres-indicator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>GarageBand 09 的 Basic Lesson 直接下载地址</title>
		<link>http://linzheming.wordpress.com/2009/02/05/garageband-09-%e7%9a%84-basic-lesson-%e7%9b%b4%e6%8e%a5%e4%b8%8b%e8%bd%bd%e5%9c%b0%e5%9d%80/</link>
		<comments>http://linzheming.wordpress.com/2009/02/05/garageband-09-%e7%9a%84-basic-lesson-%e7%9b%b4%e6%8e%a5%e4%b8%8b%e8%bd%bd%e5%9c%b0%e5%9d%80/#comments</comments>
		<pubDate>Thu, 05 Feb 2009 01:29:10 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/2009/02/05/garageband-09-%e7%9a%84-basic-lesson-%e7%9b%b4%e6%8e%a5%e4%b8%8b%e8%bd%bd%e5%9c%b0%e5%9d%80</guid>
		<description><![CDATA[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<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=10&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!1EBD6F8AF81EAEE8!1166" class="bvMsg">
<p>Guitar 的 Basic Lesson，02-09</p>
<p>http://downloads.apple.com/pub/lessons/basic/2Z695-0014_Guitar%20Lesson%202_Chords%20-%20G,%20C.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0015_Guitar%20Lesson%203_Chords%20-%20A,%20D.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0016_Guitar%20Lesson%204_Minor%20Chords.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0017_Guitar%20Lesson%205_Single%20Note%20Melodies.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0018_Guitar%20Lesson%206_Power%20Chords.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0019_Guitar%20Lesson%207_Major%20Barre%20Chords.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0020_Guitar%20Lesson%208_Minor%20Barre%20Chords.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0021_Guitar%20Lesson%209_Blues%20Lead.pkg</p>
<p>Piano 的 Basic Lesson，02-09</p>
<p>http://downloads.apple.com/pub/lessons/basic/2Z695-0006_Piano%20Lesson%202_Right%20Hand.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0007_Piano%20Lesson%203_Left%20Hand.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0008_Piano%20Lesson%204_Rhythm.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0009_Piano%20Lesson%205_Sharps%20and%20Flats.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0010_Piano%20Lesson%206_Rhythmic%20Accents.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0011_Piano%20Lesson%207_Major%20and%20Minor%20Chords.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0012_Piano%20Lesson%208_Scales.pkg<br />
http://downloads.apple.com/pub/lessons/basic/2Z695-0013_Piano%20Lesson%209_Playing%20the%20Blues.pkg
</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=10&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2009/02/05/garageband-09-%e7%9a%84-basic-lesson-%e7%9b%b4%e6%8e%a5%e4%b8%8b%e8%bd%bd%e5%9c%b0%e5%9d%80/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>MacBook / MacBook Pro 新触控板的操作方式全面解析</title>
		<link>http://linzheming.wordpress.com/2008/12/31/macbook-macbook-pro-%e6%96%b0%e8%a7%a6%e6%8e%a7%e6%9d%bf%e7%9a%84%e6%93%8d%e4%bd%9c%e6%96%b9%e5%bc%8f%e5%85%a8%e9%9d%a2%e8%a7%a3%e6%9e%90/</link>
		<comments>http://linzheming.wordpress.com/2008/12/31/macbook-macbook-pro-%e6%96%b0%e8%a7%a6%e6%8e%a7%e6%9d%bf%e7%9a%84%e6%93%8d%e4%bd%9c%e6%96%b9%e5%bc%8f%e5%85%a8%e9%9d%a2%e8%a7%a3%e6%9e%90/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 04:41:14 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[苹果电脑]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/2008/12/31/macbook-macbook-pro-%e6%96%b0%e8%a7%a6%e6%8e%a7%e6%9d%bf%e7%9a%84%e6%93%8d%e4%bd%9c%e6%96%b9%e5%bc%8f%e5%85%a8%e9%9d%a2%e8%a7%a3%e6%9e%90</guid>
		<description><![CDATA[新款 MacBook / MacBook Pro 的触控板和以前有了很大的变化，但是操作方式却差不多，仔细归纳了一下，没有兴趣的看总结就好。 总结一下，新款主要是取消了之前的触控板按钮，代之以整个可按压的触控板表面。这个大“触控板按钮”，按压的压力是从上到下逐渐减小的。这样让用户将点按的操作放在触控板底部区域来进行； 触控板应该可以根据接触面积来区分是使用了拇指还是其他手指，可以尝试使用拇指和食指来“双指滚动”，会发现如果拇指接触区域较大的话，是无法触发滚动的； 当拇指放在触控板上，另外一根手指移动时，会处理成鼠标移动，这个很好的兼容了之前的操作方式，同时根据初始放置的位置来对手指进行定位，即将拇指直接放在触控板上半部分，用食指无法移动鼠标，但是将拇指先放在触控板底部区域，再将拇指和食指同时移动到上半部分，则可以正常使用食指移动鼠标（这个真的很微妙）； 因为要兼容之前的带按钮的操作方式，因此，所有的多指操作都需要有兼容使用拇指的选项，但是，这个兼容并没有在触控板的使用视频中得到体现，所以会让很多人以为新款需要使用食指来按按钮，改变了用户习惯，而实际上并没有改变之前的操作习惯； 正因为兼容使用拇指，因此实际上双指的滚动、缩放、旋转，都可以在放上了拇指的情况下完成，估计是对拇指进行了单独判定，和接触区域的大小、位置相关； 旋转操作和缩放操作是很有意思的一对，都是两个手指的X，Y反向变化，但是还要判断运动的路径。因此在操作缩放和旋转的时候，注意手指运动的路径是相对（在一直线为缩放），还是平行（就是旋转了）； 四指切换程序，仅是简单调出切换器而已，并无法直接使用四指来切换程序，还需要移动鼠标指针，或者使用双指滚动来选择，不如可以直接使用四指在各个程序中循环来的顺畅； 下面是详细的操作方式描述 直接使用单指的操作方式： 移动鼠标指针： 在一根手指接触到触控板的情况下移动手指； 单击： 可以按下触控板上任何位置触发，需要注意的是越往上方，点按会越费力，这是一个机械按钮； 单指辅助点按： 按下触控板右下或左下的区域即可； 双指滚动： 使用两根手指接触触控板，并向同一个方向运动； 旋转： 一根手指不动，另一根手指围绕前一根手指旋转也可以；注意前一根手指的接触面积不能过大（比如使用拇指）；两根手指的X，Y坐标反向变化，同时两根手指的运动方向是平行的； 放大缩小： 两根手指的X，Y坐标反向变化，同时两根手指呈直线状分开即可实现缩放； 辅助点按： 相对距离较近的双指同时按压触控板，两指之间的距离大概是触控板长宽的一半以内； 三指推送： 使用三根手指中的两根或三根向左右方滑动；需要滑动一段距离才可生效； 四指推送： 四根手指向同一个方向运动； 和前代产品“有触控板按钮，没有打开&#8217;轻拍来点按&#8217;”的情况相兼容的操作方式： 移动鼠标指针： 在一根手指（通常是拇指）接触到触控板底部区域的情况下，用另一根手指在前一根的“上方”移动；若在指针移动过程中，拇指位置发生变化，不影响指针移动，不会触发双指滚动操作； 单击： 在一根手指（通常是拇指）接触到触控板底部区域，使用另一根手指移动鼠标指针时，按下任意一根手指（通常是拇指）。这里同时按下两指，并不会触发双指辅助点按的操作； 单指辅助点按： 在移动鼠标指针时，拇指或者任意一指按下右下或左下的区域即可； 双指滚动： 通过第三根手指和第二根同时向同一个方向运动来滚动； 旋转： 拇指放在触控板底部区域上，另外两根手指的X，Y坐标反向变化，同时两根手指的运动方向是平行的；一根手指不动，另一根手指围绕前一根手指旋转也可以； 放大缩小： 拇指放在触控板底部区域上，两根手指的X，Y坐标反向变化，同时两根手指呈直线状分开即可实现缩放； 辅助点按： 或者，在一根手指（通常是拇指）接触到触控板，使用另一根手指移动鼠标指针时，在相对第二根手指距离较近的位置放上第三根手指，并用拇指（其实哪根手指无所谓）按压触控板，两指之间的距离大概是触控板长宽的一半以内； 三指推送： 使用拇指外三根手指完成操作；这三根手指同时接触时，仅移动其中两根也可； 四指推送： 使用除拇指外其他四根手指完成操作； 打开了“轻拍来点按”功能是，大体和直接使用单指的方式类似，但是增加了拖移和拖移锁定功能，和之前用法基本类似，但是也可以在大拇指接触到触控板底部区域时使用轻拍；<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=11&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!1EBD6F8AF81EAEE8!1165" class="bvMsg">
<p>新款 MacBook / MacBook Pro 的触控板和以前有了很大的变化，但是操作方式却差不多，仔细归纳了一下，没有兴趣的看总结就好。
</p>
<p>
总结一下，新款主要是取消了之前的触控板按钮，代之以整个可按压的触控板表面。这个大“触控板按钮”，按压的压力是从上到下逐渐减小的。这样让用户将点按的操作放在触控板底部区域来进行；<br />
触控板应该可以根据接触面积来区分是使用了拇指还是其他手指，可以尝试使用拇指和食指来“双指滚动”，会发现如果拇指接触区域较大的话，是无法触发滚动的；<br />
当拇指放在触控板上，另外一根手指移动时，会处理成鼠标移动，这个很好的兼容了之前的操作方式，同时根据初始放置的位置来对手指进行定位，即将拇指直接放在触控板上半部分，用食指无法移动鼠标，但是将拇指先放在触控板底部区域，再将拇指和食指同时移动到上半部分，则可以正常使用食指移动鼠标（这个真的很微妙）；<br />
因为要兼容之前的带按钮的操作方式，因此，所有的多指操作都需要有兼容使用拇指的选项，但是，这个兼容并没有在触控板的使用视频中得到体现，所以会让很多人以为新款需要使用食指来按按钮，改变了用户习惯，而实际上并没有改变之前的操作习惯；<br />
正因为兼容使用拇指，因此实际上双指的滚动、缩放、旋转，都可以在放上了拇指的情况下完成，估计是对拇指进行了单独判定，和接触区域的大小、位置相关；<br />
旋转操作和缩放操作是很有意思的一对，都是两个手指的X，Y反向变化，但是还要判断运动的路径。因此在操作缩放和旋转的时候，注意手指运动的路径是相对（在一直线为缩放），还是平行（就是旋转了）；<br />
四指切换程序，仅是简单调出切换器而已，并无法直接使用四指来切换程序，还需要移动鼠标指针，或者使用双指滚动来选择，不如可以直接使用四指在各个程序中循环来的顺畅；</p>
<p>下面是详细的操作方式描述
</p>
<p>
<strong>直接使用单指的操作方式：</strong></p>
<dl>
<dt>移动鼠标指针：</p>
<dd>在一根手指接触到触控板的情况下移动手指；
</dd>
</dt>
</dl>
<dl>
<dt>单击：</p>
<dd>可以按下触控板上任何位置触发，需要注意的是越往上方，点按会越费力，这是一个机械按钮；
</dd>
</dt>
</dl>
<dl>
<dt>单指辅助点按：</p>
<dd>按下触控板右下或左下的区域即可；
</dd>
</dt>
</dl>
<dl>
<dt>双指滚动：</p>
<dd>使用两根手指接触触控板，并向同一个方向运动；
</dd>
</dt>
</dl>
<dl>
<dt>旋转：</p>
<dd>一根手指不动，另一根手指围绕前一根手指旋转也可以；注意前一根手指的接触面积不能过大（比如使用拇指）；两根手指的X，Y坐标反向变化，同时两根手指的运动方向是平行的；
</dd>
</dt>
</dl>
<dl>
<dt>放大缩小：</p>
<dd>两根手指的X，Y坐标反向变化，同时两根手指呈直线状分开即可实现缩放；
</dd>
</dt>
</dl>
<dl>
<dt>辅助点按：</p>
<dd>相对距离较近的双指同时按压触控板，两指之间的距离大概是触控板长宽的一半以内；
</dd>
</dt>
</dl>
<dl>
<dt>三指推送：</p>
<dd>使用三根手指中的两根或三根向左右方滑动；需要滑动一段距离才可生效；
</dd>
</dt>
</dl>
<dl>
<dt>四指推送：</p>
<dd>四根手指向同一个方向运动；
</dd>
</dt>
</dl>
<p><strong><br />
和前代产品“有触控板按钮，没有打开&#8217;轻拍来点按&#8217;”的情况相兼容的操作方式：</strong></p>
<dl>
<dt>移动鼠标指针：</p>
<dd>在一根手指（通常是拇指）接触到触控板底部区域的情况下，用另一根手指在前一根的“上方”移动；若在指针移动过程中，拇指位置发生变化，不影响指针移动，不会触发双指滚动操作；
</dd>
</dt>
</dl>
<dl>
<dt>单击：</p>
<dd>在一根手指（通常是拇指）接触到触控板底部区域，使用另一根手指移动鼠标指针时，按下任意一根手指（通常是拇指）。这里同时按下两指，并不会触发双指辅助点按的操作；
</dd>
</dt>
</dl>
<dl>
<dt>单指辅助点按：</p>
<dd>在移动鼠标指针时，拇指或者任意一指按下右下或左下的区域即可；
</dd>
</dt>
</dl>
<dl>
<dt>双指滚动：</p>
<dd>通过第三根手指和第二根同时向同一个方向运动来滚动；
</dd>
</dt>
</dl>
<dl>
<dt>旋转：</p>
<dd>拇指放在触控板底部区域上，另外两根手指的X，Y坐标反向变化，同时两根手指的运动方向是平行的；一根手指不动，另一根手指围绕前一根手指旋转也可以；
</dd>
</dt>
</dl>
<dl>
<dt>放大缩小：</p>
<dd>拇指放在触控板底部区域上，两根手指的X，Y坐标反向变化，同时两根手指呈直线状分开即可实现缩放；
</dd>
</dt>
</dl>
<dl>
<dt>辅助点按：</p>
<dd>或者，在一根手指（通常是拇指）接触到触控板，使用另一根手指移动鼠标指针时，在相对第二根手指距离较近的位置放上第三根手指，并用拇指（其实哪根手指无所谓）按压触控板，两指之间的距离大概是触控板长宽的一半以内；
</dd>
</dt>
</dl>
<dl>
<dt>三指推送：</p>
<dd>使用拇指外三根手指完成操作；这三根手指同时接触时，仅移动其中两根也可；
</dd>
</dt>
</dl>
<dl>
<dt>四指推送：</p>
<dd>使用除拇指外其他四根手指完成操作；
</dd>
</dt>
</dl>
<p>
打开了“轻拍来点按”功能是，大体和直接使用单指的方式类似，但是增加了拖移和拖移锁定功能，和之前用法基本类似，但是也可以在大拇指接触到触控板底部区域时使用轻拍；</p>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=11&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2008/12/31/macbook-macbook-pro-%e6%96%b0%e8%a7%a6%e6%8e%a7%e6%9d%bf%e7%9a%84%e6%93%8d%e4%bd%9c%e6%96%b9%e5%bc%8f%e5%85%a8%e9%9d%a2%e8%a7%a3%e6%9e%90/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>
	</item>
		<item>
		<title>Apple 放出触控板固件更新程序</title>
		<link>http://linzheming.wordpress.com/2008/11/18/apple-%e6%94%be%e5%87%ba%e8%a7%a6%e6%8e%a7%e6%9d%bf%e5%9b%ba%e4%bb%b6%e6%9b%b4%e6%96%b0%e7%a8%8b%e5%ba%8f/</link>
		<comments>http://linzheming.wordpress.com/2008/11/18/apple-%e6%94%be%e5%87%ba%e8%a7%a6%e6%8e%a7%e6%9d%bf%e5%9b%ba%e4%bb%b6%e6%9b%b4%e6%96%b0%e7%a8%8b%e5%ba%8f/#comments</comments>
		<pubDate>Tue, 18 Nov 2008 01:27:38 +0000</pubDate>
		<dc:creator>heater</dc:creator>
				<category><![CDATA[苹果电脑]]></category>

		<guid isPermaLink="false">http://linzheming.wordpress.com/2008/11/18/apple-%e6%94%be%e5%87%ba%e8%a7%a6%e6%8e%a7%e6%9d%bf%e5%9b%ba%e4%bb%b6%e6%9b%b4%e6%96%b0%e7%a8%8b%e5%ba%8f</guid>
		<description><![CDATA[今日更新系统，发现苹果已经放出了触控板固件更新程序，用于解决触控板偶尔无法响应点击的问题。 打算更新后看看情况。<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=12&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div id="msgcns!1EBD6F8AF81EAEE8!1152" class="bvMsg">今日更新系统，发现苹果已经放出了触控板固件更新程序，用于解决触控板偶尔无法响应点击的问题。</p>
<p>打算更新后看看情况。</p></div>
<table cellspacing="0" border="0">
<tr>
<td></td>
</tr>
<tr>
<td valign="top"><a href="http://byfiles.storage.live.com/y1pHQl4j0YhnwFTVKfCJssIrZJ2NgetPPRuuEom_H7hMA1l_SQMJ3AUUXCFpqoqT1v3gp2ojwBW8us" target="_blank" rel="WLPP;url=http://byfiles.storage.live.com/y1pHQl4j0YhnwFTVKfCJssIrZJ2NgetPPRuuEom_H7hMA1l_SQMJ3AUUXCFpqoqT1v3gp2ojwBW8us;cnsid=cns&#033;1EBD6F8AF81EAEE8&#033;1153"><img src="http://byfiles.storage.live.com/y1pHQl4j0YhnwFTVKfCJssIrSRXNEEf9DNao3fg7m8YzH1DiBm3tZDfijVWvpE_ysY73NG7K9C1du8" border="0" alt="" /></a></td>
</tr>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/linzheming.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/linzheming.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/linzheming.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/linzheming.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/linzheming.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/linzheming.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/linzheming.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/linzheming.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/linzheming.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/linzheming.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/linzheming.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/linzheming.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/linzheming.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/linzheming.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=linzheming.wordpress.com&amp;blog=9510&amp;post=12&amp;subd=linzheming&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://linzheming.wordpress.com/2008/11/18/apple-%e6%94%be%e5%87%ba%e8%a7%a6%e6%8e%a7%e6%9d%bf%e5%9b%ba%e4%bb%b6%e6%9b%b4%e6%96%b0%e7%a8%8b%e5%ba%8f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6586c434fda8b819b5c3eebcf4ef4405?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">linzheming</media:title>
		</media:content>

		<media:content url="http://byfiles.storage.live.com/y1pHQl4j0YhnwFTVKfCJssIrSRXNEEf9DNao3fg7m8YzH1DiBm3tZDfijVWvpE_ysY73NG7K9C1du8" medium="image" />
	</item>
	</channel>
</rss>
