事后诸葛说北邮移动开发挑战赛
昨天晚上北邮的微软移动开发挑战赛终于落幕,各个奖项也各归其主。我作为评委全程参与了这次活动,虽然名为评委,但我却抱着一种学习的心态去参加这次活动。最后我也的确得到了许多有益的启发。
首先,让我最惊讶的是北邮学生所展现出来的那种创造力。参加最后决赛的一共有十五个团队,几乎包含了所有的移动应用领域,而且很多创意都根据移动设备的特色进行了精心的构思,而不是简单的将PC上成熟的应用搬到了移动设备上。
其次是技术的广度,从视频会议协议、语音引擎,到GIS、自然语言转换,几乎所有的技术领域都包含在内,而且从演示作品可以看出,开发者在相关领域有很深的技术积累了。
再次是作品可用性,有大概四十支队报名,最后有十四支队提交了可以演示的作品,在其中又有五、六个作品具有很高的可用性和商业价值。我估计这个结果是谁都没有预料到的。
最后是参赛者所表现出来的那种程序员的品质,在一个半月的时间内,从软件定义到需求分析,再到架构设计,直到完成代码。对于有经验的开发人员这也不算是很轻松的任务,更何况是以前从未接触过Windows Mobile的人。更加难能可贵的是,大部分的团队都有较多的开发人员参与,如何协调开发者之间的任务,并最终整合起来完成一件作品。除了团队领导者的努力外,大家肯定都投入了巨大的热情。这种热情其实是最可贵的。
下边就来聊聊,昨天我印象比较深刻的几个作品,在这里声明,我的观点只代表我自己。昨天上午我浏览过所有参赛队伍提交的文档,给我印象最深刻的是“迷你可乐吧”,因为他们提交了最优质的说明文档和最多的代码,在现场演示的过程中,他们程序也是十分优秀的。可能最大的问题出在没有很好的将八个游戏以一种比较好的形式整合起来。哪怕是将做八个游戏的时间用来将一两个游戏做的比较优秀。另外,创新性方面也有些吃亏。
另一个游戏Gogo也与之类似,能看得出作者对围棋的喜好,界面做的也相当有水准。可惜的是没有实现网络部分的功能。其实在Mobile设备中也是可以得到IP地址的,即使无法得到IP地址,Socket还是可用的。
第二个是北极星交通查询系统,这是唯一一个全部使用了ASP.NET来开发的应用,尽管比较简单。但是我更看中的是使用最合适的技术来做一个可用的应用。对于这种交通查询系统,Web的形式无疑是成本最低的方式。选择最合适的,而不是最COOL的,这也是一种程序员的智慧。
相比之下,另一个交通查询系统就绚烂得多了,702团队的作品是基于MapInfo的GIS。给我印象最深的是演讲过程中他们反复强调“这是一个真的GIS”。他们也的确实现了所有GIS应该包括的功能,也合理地使用了Web Service的优势,更重要的是提供了可扩展性。很遗憾的是,他们出场时时间比较紧,所以没有更多的交流。
多媒体应用方面,我印象比较深的是移动视频组和Melody。Melody在界面方面可能有些吃亏,但是用ATL来调用COM组件,然后使用P/Invoke在.NET CF中调用,在技术层面上是很优秀的,如果能够介绍一下经验就好了,而且同步歌词的功能也非常实用。能够看的出来移动视频的作品已经经历过了比较长时间的积累了,没有使用微软的组件而是自己基于低层协议来写,十分的不错。
另外一个相关的是人脸识别,尽管功能没有实现,但是你不得不为这个创意而鼓掌。另外,将复杂运算和大量数据存储在Server端的思想也是正确的。如果最终能够依靠微软技术实现的话,相信这也是一个很前卫的创意。
有几个应用充分利用了移动平台的特性,这是相当不容易的一点。这里边包括生活无限和两个很相似的系统EB和L4。生活无限的创意非常好,也应该属于个人信息管理的扩展,充分利用了网络存储的特点,也具有很强的商业价值,但是不应该把自己的思路限制在图片的保存,音乐行不行呢?我能不能够利用网络的优势,把我的图片共享给其他人看呢?网络是无所不能的,而创意也一样。这个作品还很值得做下去。
后来才知道EB和L4出自同一个实验室,所以生得像孪生兄弟一样也很正常了。这两个作品都有很高的商业价值,充分利用了智能手机平台的特点,解决了一些目前手机解决不了的问题。而且电话拒接后发送短信通知的创意非常好,功能还可以扩展,比如自定义拒接语句、短信自动回复、查询来电归属地等。凡是有个性的东西肯定会被人喜欢的。希望两个团队能合作,继续把这个作品作成一个商业软件。
最后一个当然是冠军Top Star了,正如他们的名字一样,他们也成了昨天星空里最闪亮的星,哦,是星座:)怎么评价他们呢?也许只有“恰倒好处”这四个字了。小品性质的演示很夺人的眼球,将陈述和演示很好地结合起来;而基于分词的自动翻译模型,绕过了自然语言分析的难点,成功的应用于移动设备上;为旅行者提供服务的用户需求也具有很好的贴切性。他们可能在哪一方面都不是最强的,但总得来说却是恰倒好处。
大家不能单纯把他们的演示作为表演来看,他们演示的是什么?其实就是用例!比起画一个UML图、用一堆生硬的文字表格来表现自己的创意,不如通过表演来得生动直白。这也是我们这些离开学校的人应该学习的。
至于缺点,这个软件也存在得很突出,比如核心应用被边缘应用冲淡,将白板、旅馆信息查询等服务加入到一个软件中,反而将最核心的自动翻译功能冲淡了。白板我可以用便签;而旅馆信息服务则需要更强的信息提供商。他们曾经在陈述中提到过,他们收集了很多用户需求的反馈,我想如果这些边缘功能都来自用户反馈的话,他们还需要学习如何筛选用户需求。另外,商业推广方面也存在一些难题,比如如何适应国外市场、如何扩大受众范围等。
回想起昨天的作品,我真的有好多感慨。我们这些终日与商业软件为伍的人,日子久了,会把实用性看得过重,而往往忽略了创新性。而大学生的作品确实激情洋溢,活力四射,有时明知此路不通,却一定要实现自己心中的软件,这种精神是十分让人钦佩的。古人说,不试一试怎么就知道不行?比如昨天一个短信自动阅读的作品,我看到最早的产品创意时就知道这是个不可能完成的任务,微软的TTS已经做了那么多年,还不能让我们满意。可是昨天,他们也拿除了可以演示的产品,尽管他们的作品还有很多问题,但是反过来想一想,他们在开发这个软件的过程中,肯定对WAVE文件格式等技术有了一个很透彻的了解。也许这些技术不能用在TTS上,但肯定会有到其他一些方面,从这个角度讲,他们成功了,而我们这些人却根本就放弃了探索技术的机会,谁比谁更可悲呢?
所以说,大学不是培养熟练程序员的地方,而是学会如何将自己的创意变成现实的地方。持续创新的能力才是我们所缺乏的素质,为什么Google和Yahoo!这样的企业最早的创意都来自校园?拥有创新的活力才是大学最迷人的地方。也希望今天参加比赛的人在以后的工作中也保持这种迷人的创造力和四射的活力。
当昨夜的灿烂落幕之后,我独自面对北京的深夜却心绪难平。北邮微软俱乐部的组织能力也值得钦佩,从最初的开幕,中间的多次培训,直到最后的闭幕,俱乐部的成员都是默默做好一切,以学生的力量能够做得如此成功,是相当不容易的事情。说到遗憾,就是每个队伍发言的时间太短,有的团队也非常有创意,但各种原因却没有表达出来,而我们也没有充分了解一个作品的各方面。作为一个程序人,最关心的是创意与技术的结合,可惜的是交流的时间比较短。
昨天结束以后,我发现只有得奖队伍留下来和我们交流,其实,即使没有得奖的队伍也一定有很多想法,如果能和我们一起交流一下,我们也许能够帮上一些忙。我想说的是,昨天参与演示的队伍都应该得奖,他们将自己的想法变成了现实,这种坚持是程序员最可贵的品质。而那些非常棒的创意也完全有理由变成商业的软件。
昨天的成败只属于昨天,公元2004年12月21日又是一个新的起点,明年会有针对学生的移动比赛,也有中国的移动开发挑战赛,期待那个时候看到更多来自中国大学的作品。
P.S:以上观点只代表本文作者个人观点,与北邮微软俱乐部、北邮移动开发挑战赛专家组的意见无关。