Tinyfool的Blog » 空 http://tiny4.org/blog 这就是我,Tinyfool,郝培强!身高180,体重240,标准的中年老胖子。 有妻有女,无房无车,现居上海,程序员。 Wed, 04 Aug 2010 17:30:03 +0000 en hourly 1 http://wordpress.org/?v=3.0.1 Tiny4Money的故事 http://tiny4.org/blog/2010/08/story-of-tiny4money/ http://tiny4.org/blog/2010/08/story-of-tiny4money/#comments Wed, 04 Aug 2010 00:16:33 +0000 tinyfool http://tiny4.org/blog/?p=425 首先,应该感谢炳叔。那年TechWeb搞年会,炳叔做主持人,抽奖环节的时候,二等奖是iPod Touch,他从抽奖箱拿起一个名片,扔掉说不符合条件,拿起一个名片说不符合条件,最后不知道怎么我的名片被抽到了,我得到了一个崭新的iPod Touch。那东西当时的市价是2000多,我多次徘徊在某苹果专卖店(那时候还没有三里屯 apple store)的柜台前,想先买后奏,哪怕被老婆打一顿呢。谁知道就这么白白得到了。

然后要感谢xuyou,iPhone SDK放出以后,用中国信用卡购买非常麻烦,根本不得其门而入,他帮我用他的美国信用卡买了一个帐号,我才有机会用真机调试。

Tiny4Money是我用iPhone SDK开发的第一个程序,从开始学到做出来,只用了两个星期,其中为了实现日历功能(SDK不包含日历控件),我还开发了一个开源项目iphonecal(iPhone日历控件)。做好了以后,我就把它安装在我的iPod Touch上,天天用它记帐。但是还有很多想做的功能,还有很多完善想做,所以就没有发布到app store。没想到就这样拖了两年多,中间,我自己的公司的事情忙了起来;给有道做了有道词典iPhone版第一版;还接了一些小的iPhone外包项目;自己还做了几个其他的iPhone小程序。再后来,很多很多事情,再后来,几个月前,我搬到了上海,加入了盛大创新院。

所以,这个小东西Tiny4Money,居然做好了两年多(也许更长,我的记忆力有点问题),从来没有上过app store。我自己的任何一个小东西也没上去过,虽然其间,我帮别人做了不少东西,他们都上了app store,有的销量还不错。

这就是我个人失败史的一个缩影,在金远见,做好了一个自觉值得骄傲的电子词典联机软件,公司却整个易手,退化成了一个品牌壳公司;在某公司干了两年,参与了一个注定没希望的项目,我离开没多久,那个公司就放弃了整个项目;跟huoju等人一起做了365kit,做好没多久,出资人撤了;自己创业的ginkgotek,自觉不错,但是找A期的时候,赶上次贷危机,之后就是视频网站牌照事件、国进民退、各地拔线事件,把我们的客户弄得焦头烂额,甚至濒临破产,我们的生意也每况愈下。

奋斗了那么多年,有人称我为牛人,然而,你让我拿出牛的凭证?都不见了。

最近在公司里面做iPhone/iPad开发的讲座,几乎每一讲都会提到一点Tiny4Money的细节,因为很多经验教训我就是从那里学到的。每次我都要告诉大家,这些经验来自于一个革命两年多,最终没有结果的产品,多么悲伤。

所以上周末,我把所有未完成的部分砍掉,修改了下这个程序,改进了一些小细节,发布了。终于,这不再是一个未完成的事情,不再是我心中的一块石头。我一直觉得自我完善是我们应该执着一生的最主要的任务,从这个软件开始,坚持每件事情有始有终吧。

欢迎大家下载,免费,简单易用,也许还有些bug,但是绝对不会导致你的iPhone爆炸,谢谢,支持中英两种语言,根据你的iPhone的地区设置自动选择。

下载地址(app store):
中国市场:
http://itunes.apple.com/cn/app/tiny4money/id384666002?mt=8
美国市场:
http://itunes.apple.com/us/app/tiny4money/id384666002?mt=8
任何国家市场都可以用搜索Tiny4Money的方式找到。

]]>
http://tiny4.org/blog/2010/08/story-of-tiny4money/feed/ 21
关于税收 http://tiny4.org/blog/2010/08/about-taxation/ http://tiny4.org/blog/2010/08/about-taxation/#comments Mon, 02 Aug 2010 17:12:43 +0000 tinyfool http://tiny4.org/blog/?p=420 上午看了我的工资单,然后我开始在Twitter上面骂政府。我的个税扣项是一个很大的数字,这令我很不爽。

来上海后,每次发工资我都会骂一下,之前的公司避税都避的比较好,政府捡不走太大的便宜去,现在是在一家上市公司,税是一点都不能避的。鉴于公司的规定(大多数公司现在都有类似的规定),我是不能透露我的薪资的,所以我也不能透露我的个税,总之,每个月的个税,比我给父母每个月的钱多多了;比我女儿最多的一个月的奶粉钱也多多了;够买我喜欢的很多IT产品;比我每个月的信用卡账单金额还大。

其实,我并不反对税收,但是我反对不义的税收。大家知道,英国人是怎么被美洲大陆的新移民赶走的么?其实,很大程度就是抗税。那么有抗税传统的美国人民的税是全世界最低的么?显然也不是。美国人民可以接受高税收,原因在于,交税以后,你有你的公民权利;是因为,税收是明白账,很难重复征收和乱征收。

而我们在中国呢?

我们是没有纳税人权利的,你敢在大街上大骂警察,然后说,你们就是给我们纳税人服务的,别浪费我们纳税人的钱么?你敢跟公仆们真的讲讲主仆礼仪么?

哪怕你想办个企业给政府多纳点税,去办各种手续的时候,没有一个部门会不刁难你的。

每个大城市都把本地人和外地人分得泾渭分明,规定出各种有户口的人士可以享受,而没有户口的人士不能享受的待遇。那么,请问,交税的时候,没有户口的兄弟们可以少交一点么?不行的,你知道的。

所以,不必开导我,我仍旧坚持,每次拿到工资单,看到个税扣项就骂政府的习惯。不是我觉得委屈,不是我缺那点钱,因为我觉得不骂对不起我的良心,一个中年老胖子的良心。

有一天,条件成熟了,我就去美国,我会心甘情愿的给美国交税,当然让我不爽的时候,我也会骂,也许骂的比在中国还多。但是,我选择只要有能力就去给美国交税,而不是给中国交税,各位,你们懂的……

]]>
http://tiny4.org/blog/2010/08/about-taxation/feed/ 48
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸 Keynote放出 http://tiny4.org/blog/2010/08/iphone-ipad-dev-custom-uiview-drawrect-mutil-touch/ http://tiny4.org/blog/2010/08/iphone-ipad-dev-custom-uiview-drawrect-mutil-touch/#comments Mon, 02 Aug 2010 10:18:00 +0000 tinyfool http://tiny4.org/blog/?p=408 第五讲的前半部分是讲如何自定义一个UIView的绘制,如果你以前做过Windows程序,或者其他平台程序的自定义绘制,你会发现很熟悉,主要的任务就是覆盖UIView的drawRect方法。后半部分主要是讲如何处理多点触摸事件,当然这一讲主要讲的是如何处理多点触摸中的一个手指触摸的情况,也就是单点触摸。

这一讲其实是在两周前讲的,讲的时候我正遭受严重感冒的折磨,痛苦的是现在我的感冒还没好利索,这个夏天太热,在家的时候不得不把空调开的很凉,出门又很热,可怜的胖子在夏天真是悲哀。

我准备了一个简单的DEMO程序,painter。代码里面创建了一个PaintView类,继承自UIView,基本原理是touchesBegan时,创建一个currentLine对象,类型是NSMutableArray,它用来保存一次触摸事件中手指经过的所有的位置的坐标,把它加入保存全部line的NSMutableArray对象lines。在touchesMoved时,把获取的每个手指坐标保存在currentLine对象对象中,然后要求PaintView重绘。重绘drawRect的时候,代码枚举lines获得每一条线,得到很多点,然后用绘图函数把这些线画出来。

这个程序的效果就是用手指可以在PaintView上随笔画。

本期的讲座Keynote地址为:
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸

DEMO代码文件:
http://tiny4.org/down/5-demos.zip

相关链接:
iPhone/iPad开发讲座 第一讲 IOS开发简介 Keynote放出
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计 Keynote放出
iPhone/iPad开发讲座 第三讲 基础UI和基础编程 Keynote放出
iPhone/iPad开发讲座 第四讲 网络通讯和Xml处理 Keynote放出
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸 Keynote放出

]]>
http://tiny4.org/blog/2010/08/iphone-ipad-dev-custom-uiview-drawrect-mutil-touch/feed/ 2
iPhone/iPad开发讲座 第四讲 网络通讯和Xml处理 Keynote放出 http://tiny4.org/blog/2010/07/iphone-ipad-network-xml-http/ http://tiny4.org/blog/2010/07/iphone-ipad-network-xml-http/#comments Mon, 19 Jul 2010 05:37:19 +0000 tinyfool http://tiny4.org/blog/?p=400 第四讲,上周已经在公司讲过了,不过上周很忙一直没时间整理讲座的资料。这次的讲座其实非常简单,就是介绍了用Foundation框架里面的类和函数怎么进行最简单的网络通讯,这么安排的原因是有同事正好需要要做相关的工作。这部分很简单,所以讲的比较空。然后我当场做了两个DEMO:

第一个叫做,wordrobot,用最简单的NSData直接读取一个网络地址,例子中用的是Google翻译自带的tts接口,然后念出来一个英文单词的读音。

第二个叫做,mp3player,用NSURL,NSURLRequest,NSURLConnection用异步的方式把一个mp3从网络下载下来,然后播放,要使用这个代码需要把代码中的http://xxx.com/xxx.mp3改成一个实际存在的网络上的mp3文件的地址。

其实我准备了3个DEMO,当天因为时间的关系,第三个没有讲。叫做XmlAddress,程序从我的网站读取一个虚拟的通讯录数据文件,地址为 http://tiny4.org/address.xml ,把xml中的数据解析成一个NSArray包含多个NSDictionary的数据结构。NSDictionary中包含了一个人的通讯信息。然后把这些信息用UITableView来表现出来。

本期的讲座Keynote地址为:
iPhone/iPad开发讲座 第四讲 网络通讯和Xml处理

DEMO代码文件:
http://tiny4.org/down/4-demos.zip

相关链接:
iPhone/iPad开发讲座 第一讲 IOS开发简介 Keynote放出
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计 Keynote放出
iPhone/iPad开发讲座 第三讲 基础UI和基础编程 Keynote放出
iPhone/iPad开发讲座 第四讲 网络通讯和Xml处理 Keynote放出
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸 Keynote放出

]]>
http://tiny4.org/blog/2010/07/iphone-ipad-network-xml-http/feed/ 10
iPhone/iPad开发讲座 第三讲 基础UI和基础编程 Keynote放出 http://tiny4.org/blog/2010/07/iphone-ipad-ui-keynote-base/ http://tiny4.org/blog/2010/07/iphone-ipad-ui-keynote-base/#comments Fri, 09 Jul 2010 16:12:05 +0000 tinyfool http://tiny4.org/blog/?p=390 最近项目开发进度很紧张,今天午饭后才开始准备的keynote,内容有点简单,不过讲的效果还可以。

今天的keynote主要是介绍一个程序的生命周期,结构等问题,另外主要是介绍了UINavigationController和UITabBarController以及UITableView的使用场景和用发。也介绍了iphone开发中最常见的四个设计模式:MVC、Delegate、Target-Action以及引用计数(内存管理,今天没有涉及)。

讲完以后是一个Demo加动手环节,我从头给大家写了一个很简单的通讯录软件(数据硬编码),主要是展现,如何用UINavigationController来表现层次数据,如何用UITableView的datasource接口给它传输数据(delegate模式),怎么使用UITableView的delegate接口获得被点击的cell的id,然后在最终通讯录的详情窗口,展示了以前讲做过使用Target-Action模式,来操作UIView上面的控件(UILabel)。

下面听讲座的同事,手头带着Mac笔记本的人不多,不然我想效果会更好。

点击下列链接浏览和下载Keynote。

iPhone/iPad开发讲座 第三讲 界面和编程基础

相关链接:
iPhone/iPad开发讲座 第一讲 IOS开发简介 Keynote放出
iPhone/iPad开发讲座 第二讲 iPhone用户界面设计 Keynote放出
iPhone/iPad开发讲座 第三讲 基础UI和基础编程 Keynote放出
iPhone/iPad开发讲座 第四讲 网络通讯和Xml处理 Keynote放出
iPhone/iPad开发讲座 第五讲 定制视图和多点触摸 Keynote放出

]]>
http://tiny4.org/blog/2010/07/iphone-ipad-ui-keynote-base/feed/ 4
iPhone OS 3.2的新特性(一)文件共享功能 http://tiny4.org/blog/2010/07/what-new-iphone-os-file-sharing-support/ http://tiny4.org/blog/2010/07/what-new-iphone-os-file-sharing-support/#comments Sat, 03 Jul 2010 16:21:09 +0000 tinyfool http://tiny4.org/blog/?p=382 注:iPhone OS 3.2的大多数新特性是为iPad设计的,有些未来版本的iPhone上面也会支持,不过可以想见大多数为iPad定制的界面元素是不会出现在iPhone上的,例如popover等。

为了安全,iPhone OS的每个第三方软件都运行在自己的沙箱内,有自己独立的<Application_Home>/Documents目录。而只有iPhone内置的应用才可以通过iTunes来交换数据,这样就非常非常的不方便。

如果你做了一个电子书软件,支持用户自己添加书籍,以往你的最佳解决方案就是在代码内放置一个web服务器,给用户提供一个可以上传的web页面,非常的不方便。到了iPhone OS 3.2/iPad上,终于有了文件共享功能。只要你在程序的Applicatio-Info.plist内加入一个新的属性UIFileSharingEnabled,然后值设置为true即可。注意:(这里因为Objective-C的布尔值采用了YES和NO来代表真假。所以很容易让人误解为值应该设置为YES,但是如果这么设置,其实你是添加了一个字符串键值,正确的做法是在属性UIFileSharingEnabled上按右键,选择菜单Value Type,选择Boolean,然后,值会表现为一个选择框,选中即可。修改后直接重新编译可能不会有效,需要删除掉原有版本,用新版本替换。)

打开了这个值以后,iPad连入到iTunes 9.1以后版本,就会看到一个在应用程序选择界面下面出现了一个文件共享面板,列出了支持此功能的所有程序,这里可以浏览你的程序的<Application_Home>/Documents目录,也可以在里面添加删除文件。

有了此功能,再也不用费劲包含一个web服务器了,这是目前iPad下最方便的本地文件传输方式了,当然此功能如果在iPhone一代的时候就有,那就好了。

]]>
http://tiny4.org/blog/2010/07/what-new-iphone-os-file-sharing-support/feed/ 0
碗中的屎尿 http://tiny4.org/blog/2010/06/shit-in-bow/ http://tiny4.org/blog/2010/06/shit-in-bow/#comments Sat, 26 Jun 2010 05:49:55 +0000 tinyfool http://tiny4.org/blog/?p=353 最早听这个故事貌似是我爸讲给我的,后来似乎在《笑林广记》中看到过,不过出处今天不细论了。

话说:

曾经有个地主四体不勤,五谷不分,从来不去看自己的土地,反正有下面人管着也不需要他自己操心。

某天不知道怎么心血来潮,他来到了自己的一块地前,佃户正在给蔬菜浇粪。

他大为惊异,质问佃户,“你们,为什么要往菜上面浇粪,这以后怎么吃?”

佃户答道,“东家,只有这样蔬菜才能长得大,才能好吃。”

他不信,要求佃户给他种的菜一点屎尿都不准浇。

几个月后,特供他的菜终于成熟了,他让下人做好,兴奋的准备吃。谁知道,他吃了一口就吐了出来。那些菜又小,又涩很难吃。

他叫来佃户,问道,“菜怎么这么难吃?真的是因为没有浇粪么?”

佃户,“东家,真的啊,没有浇粪的菜就是难吃的。”

“哦,我明白了,去给我舀勺粪,放在碗里!”

另一个关于屎尿的故事,来自小时候看的《加里森敢死队》,

话说:

加里森敢死队的兄弟们,不知道怎么就缴获了一辆坦克,这当然是个宝贝,但是那是战区,弄不到柴油。

兄弟们想到了,酒精也可以用在柴油发动机里面,可是酒精也不好找。

好在他们有会酿酒的人,决定自己寻找土豆来酿酒。这可乐坏了其中一个哥们,他是大酒鬼,很久都没有喝到酒了,于是他很积极的帮助,建设蒸馏的设备(一大堆空油桶连在一起),收集土豆等等。

然而一切都做好了,酒却没有酿出来,原来缺少了酵母。于是会酿酒的兄弟说需要一些大便(里面有很多酵母)放进去,这样才能酿出来。

爱喝酒的哥们急了,说这样怎么能酿酒了,这样酿出来的东西我一定不喝。于是,后面的酿酒工作他也不参与了。

但是,最后酒还是如期酿好了,放到坦克油箱里面,发动机运转正常。大家喝了喝也觉得很好喝,但是爱喝酒的那个哥们就是不喝。大家也没有勉强他。

出发的日子,找不到那个哥们了,后来大家发现,他在放酒的地方睡着了,头天晚上他先是很小心的试了几口,然后是欲罢不能,喝的酩酊大醉。

好了,来点土的,这两个故事告诉我们什么呢?

我想说,一切事物都有它的规律,也许听起来不那么卫生,那么心旷神怡,但是违背规律是没有办法作出事情的。

一者:

前些日子,一个朋友想做一个基于地理信息的SNS,跟我们一班人谈了几次,大家都只是泼凉水。其实他讲的一切都说的圆,比如有了地理信息,我们拼车的时候就不用在一堆上海的信息里面狂找跟自己住的近的人,而是一开始就会看到本小区的想拼车的人的信息。比如有了地理信息,同一个小区的人可以一起去团购,一起去学车,一起去郊游等等。

这些愿景都很美妙,道理也讲得通。但是这些讲得通的道理都无法说明一个问题,一开始,当交流的氛围没有形成之时,人们为什么会来到这个SNS;来到了这里如果发现一片荒凉,大家会不会留住,会不会继续来等等。其实,不管是什么样的SNS,什么样的社区,什么样的论坛都有一个运营的核心问题,如何开始第一推。

这个问题,从某些网站的成功经验来看也许是很肮脏的,比如淘宝,现在淘宝成为了很多人喜欢的东西,但是在当年,为了让淘宝有足够多的知名度,马云投放广告的方式是非常肮脏的,什么媒体都投,什么样的投放方式都做。人家是强制弹出一个广告条,引诱你点,淘宝是直接弹出一个网站首页来。不仅肮脏而且超级费钱,据我当年得到的数字,淘宝一年的推广费用就可以占到中国互联网当时一年广告总投放量的相当比例。再如,现在很火的人人网,在还叫校内的时候,陈一舟老师是用鸡腿换注册得到了大量学生用户的当年,陈一舟老师还没买到校内时,5Q跟校内竞争时,曾经用鸡腿去吸引学生注册,不过据说有人去5Q注册了50个帐号,得到了50个鸡腿以后,跑到校内去炫耀。,等等等等。(注释:这里引了肮脏的例子,是用来说,第一推之难,成本之高,而不是鼓励这种行为,倡导这种行为。如果你看到了这段,说,“哦,做网站就是要流氓啊”,那你还是别回复告诉我,我会伤心的。且,我觉得你就很像第一个故事里面的地主了,首先,网站不流氓也有可能成功,其次,大多数顿悟了去做流氓的,做的都太拙劣,连流氓都做不好,费钱,费力,害人,最后还是什么都没成。)

当年我见某投资人最大的收获就是他给我们讲,携程发展到现在,就仅拿在地铁发传单来看,发展一个新会员需要的成本是多少钱。当时很惊诧,然而一点一点数字算下去,你才知道真的需要那么多钱。

所以,很多事情,在我们空想的时候,他可能是自然就可以圆的,道理都对,但是实际的推动力,那些肮脏的,也许不肮脏的,昂贵的,也许不昂贵的推广的成本,很容易就被想当然的忽略掉了。

再者:

我看到过很多项目的兴衰,有经验的项目管理者,也许大词概念未必懂,但是项目的每个要点:进度,质量,人力安排都把握的很紧。然后,可能会慢慢的在项目中引入各种新鲜的技术思想,实践检验,好的留住。没有经验的项目管理者,总是自以为是,按照自己的逻辑先胡乱安排一通,然而,遇到了危机,开始抓耳挠腮,最后决定找到几个银弹,要么也单元测试一把,要么也来个敏捷。幻想有一把剑,叫做尚方,抽出来以后,神鬼妖狐,魑魅魍魉,老板员工,Bug进度,一切都安分守己,听其调遣。

做技术的人也往往是这样,玩数据库的,索引优化不懂,负载缓存不精。天天看着世界一流领先的网站是怎么发展的,人家NOSQL了,我也要NOSQL。可是你知道人家是日均几千万流量以后才开始玩NOSQL的么?你这日均10万不到瞎掺活什么?我从来不反对Buzzword,我喜欢云计算,我喜欢NOSQL,但是大喊着喜欢这些概念的家伙们,你们了解你们所说需要的东西的边界了么?什么样级别的负载,什么样的逻辑适合云计算?什么样的负载什么样的逻辑适合NOSQL?你们想过没有?

Google牛屄么?牛屄。但是Google玩的东西,别人玩不了么?不见得。有了Google file system,map reduce的论文后,业界都明白了,哦,原来就是这么东西啊。Hadoop不是有了么?开源都有实现了,不难吧。实话说,要是不论真实负载能力,计算机专业刚毕业的学生,也应该有能力按照论文的思路实现出类似Hadoop这样的东西。

那么我是在说Google一点不牛屄么?那当然不是,人家先走到那个流量,那个负载,那个存储压力,所以先想到这个方案,这就叫牛屄。人家公开了Google file system,map reduce的思路,Ok,我们可以超越Google了么?不能,你搭出个环境放了200T的数据,沾沾自喜,看我也是T级车了,先别美。人家已经在构建 P级存储了,人家在玩咖啡因了。人家甚至不是为了牛屄,人家搞这么大存储就是为了解决现实存在的问题。就算你再有深度,再有领悟能力,你没有站在那块土地上,你怎么知道那块土地的重力加速度是多少啊!想在思想上超越Google,好,你现在流量和存储上超过去,我觉得你就有戏了。

再说苹果,到了今时今日,如果你还以为这家公司最近股票升到全美第二的市值,只是他们的工业设计水平高,找了个设计过高档马桶的设计师,那你洗洗睡吧,别玩互联网了,别玩IT了,这边热,找个凉快地方待会儿吧。

]]>
http://tiny4.org/blog/2010/06/shit-in-bow/feed/ 29
WWDC 2010的一些数字、细节以及我的感受 http://tiny4.org/blog/2010/06/wwdc-2010-ipad-iphone-pdf/ http://tiny4.org/blog/2010/06/wwdc-2010-ipad-iphone-pdf/#comments Thu, 17 Jun 2010 16:13:29 +0000 tinyfool http://tiny4.org/blog/?p=311 WWDC 2010开幕那晚,我一夜无眠,但没有时间看任何直播,我正在赶一个项目的进度。一天后,我从podcast下了那夜的Keynote,然后隔了几天,项目不那么紧张了,我才有时间看。有很多数字让我很有感受,这些日子跟一些朋友、跟一些同事零星的聊了一下,现在也分享给大家,更重要的是给自己记录一下,免得忘了。

一、当然是在59天内卖出了200万台iPad,平均3秒钟卖出一台。这个数字非常惊人,要知道很多号称流行一时的手机总的出货量也就是百万左右。一个月前,当苹果公布28天卖出了100万台iPad的时候,有人称赞,有人怀疑,有人认为这一旺盛的势头会很快降低。现在数字再次证明了一切。说起来,我的《iPad革命:开发者的机遇和挑战》几乎是最早的正面表扬iPad的文章,可惜因为投稿的原因发布到我自己的Blog的时间比较晚。iPad发布以后最好玩的一个现象是,一开始没见到这个东西的真身时,各种猜测,各种批评满天飞,等到各大媒体的记者们、Blogger们拿到手了以后,每个人都是在表扬,呵呵。

二、短短的两个月的时间,App store里面已经有了8500个iPad程序,这些程序被下载了3500万次,按照200万iPad计算,平均一个iPad上安装了17个程序。说到这个数字的时候,Jobs老师连说了两遍“That is a great number.”

这组数字非常值得玩味,我手中没有iPhone的平均程序数。但我怀疑,这个数字可能并不高,甚至可能低于17或者仅仅是相当。因为我们知道很多人买了iPhone仅仅是为了打电话,也就是说,iPhone有一个杀手应用,打电话。而iPad不同,它没有任何的杀手应用,每个买了iPad的人都应该买点(也许花钱,也许免费)什么app,要不然这个iPad看起来就太傻了。

几个月前,huoju同学的那个号称是中国前10个iPad之一的iPad到达上海的时候,我们公司一群同事正在钱柜K歌,iPad到了,开封以后,大家先是很兴奋的围观,然后是讨论,最后是把它弃置一旁,原因很简单,没有任何应用和数据的iPad看起来好傻,毫无用处。

另外一个值得玩味的点在于,35,000,000/8500约等于4118,也就是说平均每个应用有4118次下载。这个平台简直就是狼少肉多的状态,不赶快杀过来太傻了。以上的分析我跟几个朋友讲过后,他们第一反应就是本来要先做iPhone版的决定先做iPad版;本来不想马上杀入苹果平台的,也准备先做个自己软件的iPad版本。

还有一点,就是从我得到的反馈来看,虽然iPad可以完美支持iPhone程序(如果你觉得不完美,我没话说),但是大家很少会喜欢在iPad上面安装iPhone程序。我不知道Jobs老师之前是否想到了这点。那天聊到这个问题的时候,我有朋友说,那未来苹果会不会直接关闭这个支持呢?我认为不会,虽然大家喜欢在iPad上面用iPad应用,但是遇到一些特殊场合,以及相应iPad版本确实还没有推出的时候,大家也会用iPhone版本的。例如,也许即使没有iPad版本的植物大战僵尸,你也不会在iPad上面去玩iPhone版本。但是网银程序呢?支付程序呢?这些东西也许你更在意的是方便,而不是体验。

这里多说一点,Jobs不是神,苹果也不是神。在苹果一个最牛的设计方法的Keynote里面,大大夸奖了某公司的生化危机类游戏,称里面的软操纵杆的设计很好,溢美之词铺天盖地,但是,从我得到的反馈来看,大家喜欢的游戏,往往都是有鲜明iPad/iPhone操作风格的游戏。简言之就是,看到什么点什么的游戏。我的女儿才1岁半,但是看到我们玩iPad版植物大战僵尸的时候,她会主动去点那些飘动的小太阳,原因就是那东西太直观了,完全不用教育,太好用了,完全不费脑子。这样的东西,在iPad/iPhone上最有生命力。

另外值得讨论的例子是FieldRunner游戏,此游戏很早就有iPhone版本,我玩过多次完全不感冒。但是现在有了iPad版本,什么都没有改变,操作方式没变,界面没变,甚至地图都没有变,分辨率提高以后,我爱不释手。而且在公司掀起了我们整个一个小组的游戏沉迷高潮,甚至有我们公司某大牛,业界著名的技术高手,每天中午吃饭的时候,都捧着iPad玩FieldRunner游戏,好吃的都被我们抢走了都不知道。

三、65天内,电子书下载了500万次,平均一个iPad上2.5本书,按照在iPad上面有书的美国前五大出版社的统计,iBookStore的市场份额已经达到了整个电子书市场份额的22%。

虽然统计方法也许不是最公允的,但是仅仅两个多月22%的市场份额显然是好的不得了的成绩。

我更关注的是这次iBooks里加入了PDF的支持。这家公司以前是不懂得怎么解析PDF么?显然不是。

其实iPad出现之前,我就考察过很多可以读PDF的iPhone电子书阅读器(很严肃的考察,很多都是我真金白银买的,有些是免费的),效果都完全不可接受。原因很简单,流行的PDF文件多半都是用打印方式生成,是基于排版格式的,不是流式文本。所以,内容很难重排,如果保持排版样式,显示全部则很难看清,显示局部则很难阅读全貌。基本上可以说,这类软件从技术上是可行的,从实践上是毫无意义的(当然那东西确实可以读,只是实在是一种折磨)。

而iPad的分辨率下,想得到完美的PDF显示效果那实在是太容易了。而熟悉Mac开发的同学们,应该知道Mac平台的PDF支持是相当的好,有现成的API可以解析生成等等,iPad的SDK(也就是IOS 3.2 SDK)里面也包含了支持PDF的各种API。那么苹果为什么不在iPad发布伊始就在iBooks里面支持PDF呢?

基于我对Jobs老师和这家公司的认识,我认为这是因为,他们在认为一个东西可以完美实现之前,是绝对不会拿出来的,比如复制粘贴,比如多任务(这个我未来会有专门的技术文讨论),比如这次的PDF。

他们在等的应该就是iPhone 4,在等iPhone 4的Retina屏幕,在这个分辨率下,屏幕虽小,但是PDF是可以完美显示的。

我认为,iBooks支持PDF,iBooks支持iPhone,iPhone推出Retina屏幕,这三件事情的时间点太过巧合,绝对是有紧密关联的。

Retina屏幕绝不是某些人想象的,刚好有了,就刚好被放到了iPhone里面,耍耍酷这么简单。这就跟iPhone的Cpu一样,iPhone 3G是无法支持新的多任务功能的,那个功能必须有Samsung S5PC100 ARM Cortex-A8(iPhone 3GS)或者苹果A4才能支持。所以,你可以想见,在3GS切换到A8的时候,也许刚刚被在IOS 4中发布的多任务功能就已经在策划或者实现中了。

四、每周有15000个程序被提交到AppStore,包含30种语言,95%的程序可以在7天内审核过。剩下的5%,有三种最大的可能性:

  1. 程序的功能和开发者描述的不一致,会被拒绝。
  2. 使用了私有的API,苹果不允许开发者使用私有API,因为升级系统的时候,私有API可能会失效,程序崩溃,用户会很不满意。(当然有时候开发者也是不得已为之,比如某功能苹果的程序可以实现,为什么我们就不能实现。有些问题上,最后苹果和开发者达成了妥协,私有API可以调用,未来可能会变成公开API,例如UIGetScreenImage();)
  3. 程序会崩溃,这当然会被拒绝。

这一段显然是Jobs老师在自吹自擂,当然从我个人的经历以及我收到的一些反馈来看,AppStore审核效率确实是有大幅的提高。但是遇到了一些事件的时候,还是会大幅下降,比如iPad发布那段时间,所有iPhone程序的审核貌似都放慢了。

这场keynote显然还有更耀眼的明星iPhone 4,就是这两天的消息,预售第一天就突破了60万订货量,看来一个新的销售神话要诞生了,:)。

]]>
http://tiny4.org/blog/2010/06/wwdc-2010-ipad-iphone-pdf/feed/ 31
iPad革命:开发者的机遇和挑战 http://tiny4.org/blog/2010/05/ipad-revolution-developer/ http://tiny4.org/blog/2010/05/ipad-revolution-developer/#comments Tue, 18 May 2010 05:33:23 +0000 tinyfool http://tiny4.org/blog/?p=287 iPad发布的那天晚上,我正和几个朋友吃饭。饭后我们跑到奇遇花园咖啡馆一起通宵看发布会。整个发布会平淡无奇,之前的诸多期待一一落空,大家都并不激动。我也如是,我心态很平和,我认为革命不是天天会有的,iPhone已经革了整个移动产业10年的命,我们怎么能期待苹果公司年年都推出一个革命性的产品呢。

但是,当我看到iPad可以连续使用10个小时,待机一个月的时候;当我知道最低配置只需要499美元的时候,我又开始觉得这显然是一场新的革命。

革命在哪里?

一、贴心的用户体验

在iPhone出现之前,在手机行业Nokia就是最好的用户体验的代名词。人们习惯了Nokia手机的一切,中规中矩的样子,耐摔的机身,中间的方向键,下面的数字键盘,甚至包括那个每次连wifi都需要点一堆确认的连网界面。也许是正是因为这样,近10年来,Nokia的每款新手机,虽然看着越来越酷,但是操作上用户体验上,几乎没有任何的进步。而且不仅仅是Nokia、整个手机行业都是如此。iPad出现之前的平板电脑、触摸设备、以及电子阅读市场也如是。

所以,当iPhone带来了多点触摸、全功能基于HTML5标准的浏览器、基于iPod的音乐体验、以及重力感应、屏幕自动翻转等等从来没有出现在别的手机中的新体验时,观众们报以一阵阵欢呼。

是时候给平板市场一点震撼了。

不知道有人注意到没有,很多场所的触摸屏电脑上面跑的是Windows,这当然无所谓,但是那些屏幕上赫然还有个鼠标光标,经常你需要点一下,光标才会跑到你的指下,然后你再点那些图标按钮才会起作用。

这何其荒谬?但是这就是行业的现状。

另外一个有趣的例子,就是我们已经相当熟悉的上网本。我见过几个朋友的上网本,虽然轻薄,看上去很可爱,但是作为用户他们无一例外都有诸多抱怨,比如默认字体根本看不清楚,触摸板很难用,挂上鼠标则又丧失了移动性。我也自己尝试过几次,那么小的屏幕,你在标准笔记本上熟练的Windows变得陌生,所有熟悉的软件操作起来都那么的别扭。

这一切的一切,根源何在?

就在于这么多年以来,厂商们虽然不停的推销给我们各种概念,但是从来没有根据各种使用场景,去帮我们认真地打磨用户体验。

鼠标,很好。全键盘,很好。滚动条,很好。……

但是他们真的适合出现在移动设备上么?或者说,他们适合原封不动的出现在移动设备上么?

有一次在地铁上,我看到一个漂亮女孩儿,用一个手写笔,费力的拖动手机界面上的一个滚动条,她正在寻找一个联系人。我当时恨不得对她大喊,“你改悔吧,扔掉这破玩意儿,买个iPhone吧!”

不知道没用过iPhone的读者能不能想象,在iPhone上如果你需要滚动屏幕你该怎么办?不,不是滚动条,也不是热键,你用手直接拖动屏幕上的内容就可以了。

我有很多朋友告诉我,他们一岁两岁的孩子已经可以轻松的玩转iPhone了,知道怎么打开游戏,知道怎么听音乐。甚至有一个4岁的孩子知道怎么给爸爸打电话,虽然他不认识字,但是他可以在通讯录里面轻松的翻到他爸爸的电话。

上个月,我把一台我淘汰下来的PC搬到了我父母家里,用了两三天教我爸爸上网。他小学没有毕业,就做了工人,15岁就去当兵了,但是人非常聪明,写的一手好字。但是我教他使用PC和Windows还是非常的困难,这当然也怪我不够耐心,但是使用一台PC实在是太繁琐了,让年纪大的他记住那些乱七八糟的细节太难了。

那时候,我就急切地想得到一台当时还没有发售的iPad,送给父母。

还有,一段时间以来,我都在考虑未来女儿开始懂事了,该怎么教她学电脑。出现iPad后,我觉得这个问题迎刃而解了。

比尔盖茨曾经有个梦想,希望每个家庭都有台电脑,在全世界的很多地方,在中国相对富裕的地方,这个梦想都已经实现了。

但是,让电脑亲近家里的每个家庭成员,是我的梦想。在iPad出现之前,我不敢奢望,现在马上也要实现了。

二、无所不在的电脑

当iPad即将诞生的消息还仅仅是个谣言的时候,就有无数的人在讨论,既然我们已经有了无所不在的手机,可以方便携带的笔记本电脑(或上网本),我们还需要iPad这样的东西么?

以前,这也是我心中的一个疑问。

然而,iPad的连续使用时间和待机时间、iPad的轻薄,解决了我的疑问。

以后,我们出门的时候,可以只带iPhone和iPad。只要不是非常正式的场合,或者复杂的工作应用,笔记本可以做到的事情iPad都可以做到,而且它的续航时间更长,更轻薄好带。

你可以带上它去咖啡馆跟朋友聊天,用它上上网,听听歌,看看书,玩玩游戏。你可以出差的时候带上它,你可以在郊游的时候带上它,你甚至可以如厕的时候带上它。

一次跟朋友聊到iPad的时候,他说到,iPad上面要是做个菜谱软件一定会火的。我说,太对了,这东西完全可以带到厨房,放在案板旁边。这时候,你就会明白传统上网本的轻薄对你意义真的不大。

手机照相功能刚刚出现的时候,就曾经有很多质疑,很多人说,谁会用品质这么差的相机去拍照啊。然而,没有多久,到处就充斥了各式各样手机拍出的东西,甚至很多著名的新闻事件,唯一的见证也是一张手机拍的相片。

这是为什么呢?人们放弃了对照片品质的追求了?显然不是,著名战地摄影师罗伯特·卡帕曾说过,“照片不够好,是因为你离的不够近。”,陈冠希同学曾实践过,深知所言非虚。新闻事件发生时,背着沉重高端单反的摄影记者还在出租车里面流汗时,新闻现场旁的路人就已经用普通手机拍下了最珍贵的照片,通过彩信或者网络传到了世界的每个角落。

所以,即便iPad从性能上,键盘手感上,绝无可能超过你的台式机,甚至你的笔记本,也无所谓,它可以在每一个你需要的时候到场,解决你的燃眉之急。

三、阅读的新纪元

不管从哪里算起,纸张的诞生都已经有数千年了,这无疑是世界上最伟大的发明,它是我们天天在阅读的书的物质基础。它成就了书的辉煌,它承继了几千年的人类文明,记载了所有的悲欢离合,所有伟大的梦想,所有艰苦的努力,所有辉煌……

然而,纸的物理特性也构成了书的全部局限。

它虽然看起来是那么的轻薄,但是有质量,也有体积。这些年在我每次搬家的时候,书都是最沉重的那个几个箱子的主要内容。

从纸到书,需要印刷,装订,一系列复杂的流程。书从工厂到我们手中又需要走过很多流通环节。这些构成了出版一本书需要的时间、艰辛、成本和资源消耗。

所以,Kindle的出现曾让我惊喜万分,搬家的时候,你纵有万卷藏书也可以一手掌握了。更重要的是,你可以在一本书的作者,把它写完以后的瞬间,看到这本书。而随着电子出版的发展,我们应该能更方便廉价地享受世界上所有美好的知识,与此同时作者也有可能获得更为丰厚的收入。

有很多人不能理解,甚至不能接受,他们说,数字化后不再有纸飞墨香,数字化的介质无法像纸一样传递感情。

我理解所有念旧的人们,然而,新的介质总是会在技术成熟后替代旧的介质。现在还有多少人通过买磁带去听流行歌曲?连CD都已经少了。黑胶之类的东西只能在较小的发烧友圈子里继续延续生命。所有新的歌曲都出CD版,甚至直接出网络版。

你可以继续喜欢老的介质,但当你最钟爱的内容和他们的发行者转到新的介质上时,你别无选择,只有前进。

Kindle屏幕使用的电子墨水技术,有很多优点:看上去很舒服,非常接近纸张的感觉;非常省电,不翻页只显示甚至不费电。

但是局限性也非常的明显,目前还不支持彩色(据说即将,但是可靠性,成本等都仍需要考察),屏幕内容切换很慢,不适合用来显示任何动画和交互内容。

所以,Kindle的革命是个半截子革命。

它就像几乎人人家中都曾有过的黑白电视一样,注定是个中间产物。一旦彩电价格下降到一般人可以接受的程度,黑白电视就会被迅速淘汰。70-80年代,在中国的很多城镇家庭都有黑白电视机,而到了10多年后,他们都被换成了彩色电视机。到了现在,即使是在相对落后地区,黑白电视机也是比较少见的了。

喜欢Kindle的人不同意这样观点,他们说,Kindle的屏幕比iPad的屏幕更柔和,不伤眼睛,可以长时间看书。

他们往往都是阅读方面的重度玩家,他们的需求当然也需要尊重。然而,跟任何一个市场一样,重度玩家只是其中一类人,而且相对于轻度玩家来说,他们总是少数。

更多人不是要专门买一个阅读机器,而是要买一个可以听歌,看视频,上网,打游戏,等等,同时可以看书的东西的。而完美解决这些全部需求的就是iPad。

值得强调的是,新介质应该带来新的内容形式,Kindle由于自身介质的限制,实际上只能完美地再现纸质介质的诸多特性,对内容形式的创新没有多大的贡献。

iPad则不同,我们应该试想未来的书是什么样子。

首先,大多应该是彩色的,彩色好过黑白,这毋庸置疑。

可能会有声音,有大量的旁白,或者有自动朗读功能等等。

可能有视频,看一本二战的书,作者提到某战役被某部电影诠释的非常精彩的时候,如果有个可以点击即播放的视频,是不是很酷很舒服呢?

甚至不用那么复杂,当你在看韩寒的新书时,附带一段作者在某车赛夺冠瞬间的视频好不好?

或者书应该充满各种交互,在剧情发展到高潮时,你可以帮助主人公选择下一步如何发展等等等。

或者孩子的书,干脆就是一个小游戏,让孩子在娱乐中了解这个世界。

书是什么?值得我们回到本质去思考。而一切一切内容形式的创新,在有了iPad这个媒介后,触手可及,未来就在手边,就在眼前。

四、教育和其他商业用途

7、8年前,我就看到过很多种电子书包的设想,有些后来甚至开始实施了。跟这类似的还有“数字化教父”尼古拉斯·尼葛洛庞蒂教授的“100美元笔记本”计划。所有这些计划最大的问题都在于,一个专业的用于教育的设备,太过专门,需要大量的软硬件开发,所以成本反而无法降下来。

iPhone出现以后,美国很多大学都进行了大量的采购,作为学校信息系统的一部分,在之上做了大量的开发。

iPad其实比iPhone更适用于教育领域,它屏幕更大,可以轻松的支持电子书本,各种教学系统,开发难度也不高,价格也很合理。而且iPad很好玩,也会受到学生的欢迎,未来在教育系统,iPad一定会大行其道。

在自主教育和辅助教育方面,iPad也非常有前景,这两天就有朋友想拉着我参与他们做的儿童早期教育的项目。而我自己也正在开发一个基于iPad的儿童自主学习的项目。

很多人也都畅想过,在未来的餐馆,iPad很可能会作为点菜机,基于iPad强大的系统和机能,餐馆可以提供非常诱人友好的点菜系统,可以有每个菜的清晰照片,甚至制作视频,可以有营养能量表格,可以有菜品相关推荐等等。点菜结束后,等候的食客还可以捧着iPad玩游戏看杂志。

在很多很多其他的商业场合,iPad这样媒体丰富功能强大,且易于使用的设备都有可能大放异彩。我们可以想象,未来的医院、餐馆、图书馆、码头,到处都可能是手持iPad进行业务处理的专业人士。

机遇和挑战

iPhone出现之前,面对萧条的移动平台第三方开发市场,我们曾欺骗自己,说人们用手机就是打电话的,连拍照都不多。而iPhone的出现,证明了用户总是有各种各样的需求,等待我们去满足,关键是你能不能认识到,能不能做出令人满意的产品。

iPad采用了和iPhone一样的底层系统,开放方式基本相同。同时性能大幅提升,屏幕尺寸大幅度提升,以前在iPhone上无法实现,或者难以实现的一些应用的机会来了。

所以,现在对每个有志于iPad开发的人来说,唯一的挑战是你的想象力和你的执行能力。

——此文曾发表在《程序员》杂志第五期,发表时略有删节。
]]>
http://tiny4.org/blog/2010/05/ipad-revolution-developer/feed/ 39
中医是不科学的,且不是科学 http://tiny4.org/blog/2010/05/traditional-chinese-medical-is-not-science/ http://tiny4.org/blog/2010/05/traditional-chinese-medical-is-not-science/#comments Fri, 14 May 2010 00:29:20 +0000 tinyfool http://tiny4.org/blog/?p=282 中医是不科学的,且不是科学,这是我唯一的论点。

有人会说,不科学怎么了?但是它有效。好,你相信这点,我不跟你辩驳有效性评估上面的问题。我只说,它不是科学,它有效与否无效与否,它不是科学。有很多东西不是科学,但是有效,简单经验往往都有效,但是那不是科学。

有人会说,你科学最大?总有科学解释不了的东西。那当然,科学从来不说自己可以解释任何事物,事实上科学的态度是不承认有任何绝对真理包括自己。所以我也不说科学最大,只是你中医乐意老几都可以,你别冒充科学就是了。

有人会说,中医就没有任何科学的成分?那当然有,连巫医都有科学的成分,中医怎么会没有?只是,有科学的成分,不代表你就是科学。

有人会说,你这样说,对弘扬和保持传统文化不利。传统的文化都要弘扬么?我们传统文化中有仁者爱人这样的成分,当然要保持,要弘扬,爱人就要保证人的健康,用最好的方法去救治人。我们传统文化有吐故纳新,生生不息的成分那些才是我们好的传统文化。

好,来个吵架贴,哈哈,吸引点人气,测试一下blog加了cache会不会那么容易被流量压塌了。

]]>
http://tiny4.org/blog/2010/05/traditional-chinese-medical-is-not-science/feed/ 124