随着iNotes的第一版完成,我近期的工作也从xcode开发转移到了产品推广阶段。在这里可以总结一下两个月以来的开发经验。 iNotes这个app的开发比我想象钟推迟了差不多一个多月。初期设计阶段以为可以在iPad的国际发布周(五月低)完成, 结果推到了六月低。主要原因是app的复杂度比一般的iPhone app高,屏幕大了,自然控件就多了,用户和app的交互多了,复杂度自然增加。 根据我自己的经验,一个iPad或iPhone app的开发周期大概是这样的:

 

1. App的idea形成

2. App的主要功能设计

3. App的大概界面构思和设计(使用流程设计)

4. 大功能模块代码编写

5. 大概的界面模块编写

6. 把大概的界面和功能连接后,app的大致demo就出来了

7. demo自己试用和体验几遍后,根据情况修改

8. app的0.8左右版本完成后可以加入production的图标和部分UI图片

9. 没有大错误后,0.9版本可以尝试寻找beta用户

10. 根据测试用户的反馈,重复 7 - 9的步骤

11. app完成后,加入app icon, iTunesArtwork等等UI元素。反复测试无错误后上传iTunes

 

上述步骤是我个人的做法,因为我没有界面设计师,大部分icons是买回来的,图片是自己photoshop做的。如果你有界面设计师,流程可能不一样。例如,在第三步,界面设计上,可以编写功能模块和设计师同步进行。这样app的demo出来后,基本上可以有界面可以用了。Anyway, 另外要指出的是,在我的第五个步之前,我还是没有碰过iPad, 所以只能在模拟器做大的功能开发。模拟器不够用吗?对于iNotes开发来说,当然不够用,simulator的多触点(multi-touch)支持是非常弱的,很多touch的测试是无法在simulator做的。

 

在我的第四和第五步的开发过程中,基本上是weekdays每天晚上开发3-4个小时,两天出一个功能,周末集中精力开发一到两个个大功能,例如image cropping. 很多人可能做过image cropping, 例如网页上的javascript上实现,或者flash上的实现。但iPhone OS上实现是不一样的,至少对我来说,因为第一点,你要注意内存的使用(iOS开发上最最重要的思维),在网页上,你可以不用考虑你使用了多少个图片的copy,但iOS上是不可以的,每次用完原图(大图片)后要立即释放内存。第二,cocoa的图片缩放/旋转基本上是利用UIView的transform来完成,transform的时候还要考虑用户的手指touch的位置。总之比web上实现要复杂,虽然OS 3.2已经有了gesture recognition api,相对比以前轻松。

 

版本做到0.8以后,我就开始在twitter招募了5-6个测试用户,所以非常感谢 @robbinfan, @tinyfool 等同学对我的app的批评和意见。很多在我看来不是那么大问题的设计,但对部分用户来说非常反感,让我在后来对这些点进行较大幅度的修改。能够在产品设计和开发过程中,找一部分测试用户参与是非常有必要的。对他们的回馈的方法,可以在app发布后对这些用户发放免费产品。这个做法即可以提高你的产品质量,又可令到你的测试用户拿到免费的软件产品。

 

最后,app提交iTunes以后,大概要花7-14天来等候审批。这个时期到底要干嘛呢?对我来说,这个时期就是买域名,架网站,设计网站,配置邮件服务器,反复修改app description,还有twitter推广等等。对没有做web design很久的我来说,刚是iNotes网站的设计和实现就已经花了我两整天了,还没有完成呢, 继续努力!

 

昨天twitter上有人问,他也想跳出来专门做iphone开发,但就是怕单干太寂寞。我的回应是,如果你要决心创业的话,首要条件就是要奈得住寂寞,特别是利润没有来到之前,特别是你雇不起专业人员的时候。老大说过,只有当工作当成是兴趣的时候,你的兴趣就是工作的时候,你才不会寂寞。