回顾
这次iNote的第一个原型(后面直接用“iNote”代替)开发旅程历时5个月,从刚开始在课堂上用手机记录东西萌生出电子笔记的念头一直到为已经完成的iNote写上“关于”窗口的感谢名单这段时间里,经历的事情,学到的知识,锻炼到的心智让我感到非常的满足。
在此之前,我从来没有做成过一个完整的应用,都是用Photoshop画画界面,写写小程序,做下小网站之类的。这是我第一次认真写文档,第一次用英文写文档,第一次把Photoshop里实现的界面草图完完整整地用程序实现出来,第一次用超过20个表的数据库,第一次用Microsoft Expression Blend来实现界面,第一次用Microsoft的WPF技术,第一次到外国论坛请教问题,还有:第一次让爸爸妈妈看到我的作品。
整个开发旅程说真的,非常爽!由于都是自己搞,所以想怎样就怎样。我记得我是今年(2008)4月开始有这个念头的,当时正在课堂上用iPhone的Note记东西,遇到了一张PPT,里面的内容很重要也比较多,我当时就想如果可以把照下来的相片直接插入到我的Note里面就好了。当我按Home键后,平时看得已经没什么感觉的几个图标突然变得很显眼,接着我就不知不觉地把他们跟我刚才上课记东西的行为联系起来了。Youtube加课堂笔记会怎样,Safari加课堂笔记会怎样,Google加课堂笔记会怎样,Camera加课堂笔记会怎样,Contact加课堂笔记又会怎样,等等...一时间各种各样的想法像洪水般汹涌过来,然后我的小脑袋不知道飞哪里去了~ 呵呵。
之后就心血来潮了,第一个想法是写iPhone的程序,把那堆乱七八糟的想法都实现,可是当时iPhone的官方SDK还没公开,第三方的SDK又怕不稳定(其实本人觉得就算是官方的稳定性也很差),怎么办呢?经过两天的折腾,找遍了所有的iPhone第三方SDK的文档跟实例程序,可是我看不明白,而且很多都是以MAC作为开发平台。没办法,放弃了。不过还好,因为我所在的学院所有入学学生都要买一台笔记本电脑,很多学生上课都是带上笔记本电脑的,所以我就想iPhone版本不行我就搞个PC版本吧.之后就行动起来了...
跟之前做的项目不同,这次我并没有马上就开始画界面,写代码。而是先写一份调查报告,关于课堂笔记跟学习效率的。其实我自己也没有记笔记的习惯,所以真的要写一个电子笔记软件我当时真的没有什么有深度的想法,只是知道课堂加互联网会让学生更容易得获得知识。整个报告写了差不多一个月,知道了为什么上课记笔记的好处,见识了很多牛人是怎么依赖笔记去学习知识的,他们发明了很多记笔记的方式,种类之多,方法之精辟确实让我开了眼界,也见识了比尔﹒盖茨先生是怎么在会议里用非常聪明的方式做笔记,我把那个月里看到的各种各样关于笔记的信息整理,总结,最后写成一份报告。
基本上我写完了那份报告后就不想写什么程序了,因为我发现用一张纸一支笔就已经可以写出优秀的笔记,也最大程度地提高学习效率与积极性。不过后来我还是说服了自己,因为传统意义上的纸笔笔记在一定程度上是有限制的,这也是为什么比尔﹒盖茨先生这么推荐Tablet PC的原因,而且如果再加上因特网那可以说是笔记上的一场革命。不过即使是现在iNote完成了,还是有很多想法却没实现,因为时间不够也因为技术不够。
报告完成了,不过项目还没开始,因为我还在找开发这套程序的理由,也许是那份报告给我的震撼太大了,一个简单的笔记软件并不能说服当时的我去开始开发。当时看到自己,看到同班的几位同学,看到那堆课本。想法来了!我当时只知道有WPF这个显示技术,但对它一点都不了解,而且我之前都是因为很难实现在Photoshop画好的图形界面而放弃了很多自己的小项目,现在有了Blend这家伙,我觉得我应该奋身去试一下,即使Blend对我而言是一套很陌生的软件。但我是个学生,有的是时间有的是心情,放手试试也没什么大不了。然后是我那些不知道该怎么形容的同学们,跟他们一起玩的时候很开心,不过他们都不认真学习,而且把大把大把的时间花在电脑游戏上(当然主要是网Game了),我觉得我应该做一个榜样出来,至少也启发一下他们,让他们把时间放在有意义的地方(最终我发现我是失败了,败在网游上,败在他们那深不见底的惰性上)。当然,我就计划把iNote作为圣诞节礼物送给他们。
不过这圣诞礼物却因为学校9月份有软件设计比赛,变成了国庆节礼物...
4个月的东西一个月完成,这段经历是很苦很精彩的。界面真的花了太多时间了,不过还好,Blend不太懂的地方我可以用我的“强项”补上(后台C#代码),各种各样的问题到了最后大部分都解决了。后来我还想做一个小广告去介绍iNote,因为觉得iNote一言两语真的很难说清楚,用户手册也不会吸引到什么人,所以最直接是做一个视频广告去告诉别人iNote的存在。我刚开始的时候把广告这个重任交给了我的一位同学,让他发挥一下,因为他很喜欢说话(口水佬),也经常在些活动上做主持。不过一个多星期后,他说他有很多很帅的想法,不过自己没那个技术去实现,进度也很慢。我本来需要他1个星期内完成剧本(对于一个2分钟以内的广告应该不苛刻吧?)差不多两个星期他还没开好头。无奈下,我觉得应该自己亲手搞。的确,没技术没经验都不知道从何入手。最后我决定,不能实现的就不去想,想那些自己有可能实现的主意。一开始就有很多想法了,不会做特效我就做真人的,想过真人讲解,想过剪纸摄影,也想过故事简述(就是以一个学生在学校的一天作为故事线讲述iNote是怎么让他的学习生活变简单)。最后我选择了以我熟悉的幻灯片方式介绍iNote。我后来把那种风格叫做“超幻灯片”模式。最终做成来的效果怎样,自己看咯。
这也是我第一次用Blend做动画,不过还好,在做界面时积累了不少经验。不过本来不是想用Blend做的,是After Effect,不过我找了几天都找不到Vista可用的版本,所以我才用Blend,因为我也只能用它做动画了,Flash我没学好,难道要用PowerPoint(咩)?
所有东西都完成了,现在看来,英文对于很多人而言是个问题。当时因为想锻炼自己的英语水平,而且我的专业也是全英教学的,我把整个项目都用英文描述,从界面到文档都是清一色的英文。本来我是想出3个语言版本的,中英日,不过我真的抽不出时间去做其它两种语言。无奈的是参加学校的比赛时,负责比赛活动的老师要我把界面跟文档改成中文,那更加难做到了,因为文档就有一万多字,而其还有很多类的说明跟例子(我写了一个像MSDN Libary的类文档)分布在50几个不同HTML页里。我真的没那个精力了,而且我还要忙考试,考雅思,还有出国的事情。
好消息是iNote获得了比赛第一名,学校把iNote推荐上去省的高校杯软件设计比赛。不过,辅导员后来告诉我,我们学校的老师已经尽力去帮我争取了,不过还是进不了比赛。原因是评委里的老专家们看不明白我的文档(文档是英文的原因),所以就取消了我的参赛资格了。唉~ 本来还以为可以去省赛看看其他学校的作品,也趁机认识些牛人,现在没望了,算了。
不过也没什么了,我现在已经开始下一个项目的开发了,这次iNote的开发旅程真的让我见识了很多东西,也发现了自己的很多缺点。有很多东西还需要去学需要去试,比如Visual Studio .NET 跟Expression Blend之间的协同开发,C#4.0,Linq语言,数据库设计,WPF跟WCF技术等等...至于下一个项目是什么,秘密!
Have a nice day ! :D
|