SegmentFault Hackathon 2015 北京站总结
开始
2015年10月24日参加了 SegmentFault Hackathon 2015 北京 活动。
先上一张图片哈:
这是我第二次参加黑客马拉松活动。
回忆下过去
上一次参加大概是2013年,微软 Windows 8 刚刚出炉,当时作为微软阵营的一员,虽身处济南(没见过世面),但还是不远千里自费跑到北京,只为身临其境微软亚洲研究院,只为感受下北京的开发氛围。
简单总结下这上一次Windows 8开发黑客马拉松让我印象深刻的几件事:
- 有坐在同一桌有一位六旬老程序员,已经退休,但也一起通宵写了一晚上程序(不过第二天早上就回去休息了,没有等到比赛结束,已经很厉害了)。我想来北京这次的目的达到了,就是要感受这种对编程的热爱。
- 曾经的我一直属于语言派,执迷于C++,对其他语言不屑于顾。因此对微软搞的C++/CX情有独钟,苦心练剑,却在开发现场很少见到有用C++/CX的。(多数都是C#,少数Javascript。遇到一位做游戏开发的哥们使用C++/CX,互留了下QQ。)
- 这次 Windows 8 黑客马拉松是可以提前开发,且不需要两天的活动结束前提交App。自己做的App也没有坚持开发到提交(毅力问题,瞎折腾问题)。深刻理解了App的开发从想法到落实不是简单的过程。
这次比赛
提前1个月从朋友圈知道这次比赛了,而且济南也有赛区,想想既然来了北京就参加北京的吧,给朋友M(也是同事兼曾经同学)一说,朋友一想,要来就来真的。于是,这次比赛我们队伍共5个人。
来到中关村创业大街的天使汇。几个大牛逐个讲解黑客马拉松的精神和这次活动内容等,然后比赛就开始了。
技能
- M,队长,Android
- G,音视频处理,NDK
- J,Android
- X,UI
- 我,Windows,iOS,Flask
比赛要求第二天中午12点之前必须提交作品,大家一起讨论后初步确定两点:
- 做一款移动产品,只开发Android版本(只能做服务端了)
- 下午1点之前必须确定做什么。(上午10点左右活动讲解就结束了)
做什么
大概主要想到以下几个App:
- 照片墙,工具,方便制作照片墙
- 语音任务,团队语音任务
- 多人旅行AA付款,方便计算出谁出钱多,谁出钱少
- 社交小游戏,两个虚拟人物,增加各种动画效果
- 儿童玩的小游戏(具体忘记了)
经过讨论,确定一款旅行App,功能描述如下:
- 建立旅行群组。
- 使用语音代替打字。
- 每个人可以使用语音记账(用户A出了100元),旅行结束后,根据平均消费计算出谁该给谁多少钱。
- 创建语音提醒(提醒所有人9点到哪集合)
- 创建语音日记(每人一句话,最后导出合并为一个音频文件)
分工
- M,实现语音录制及识别为文字。
- G,实现多个语音合并。
- J,实现各个界面。
- X,几个见面效果及切图。
- 我,服务端(登录、群组管理、语音消息管理、语音上传下载、语音合并的调用等)
开工
界面布局一起确定
草稿纸上简单画了下几个界面的基本布局,就各自开工了。
源代码管理
多人合作少不了源代码管理,除UI外,我们四个使用了http://git.oschina.net/的仓库。
各自开工
- M,找到了讯飞语音识别SDK,中间各种坑,终于搞定。
- G,开始了自己最熟悉的ffmpeg开发,写了个so文件,把python调用例子也搞定了。
- J,撸起界面来那个快啊。
- X,也是相当熟练了。
- 我,基于Flask和MongoDB搞起来。(与开发mostlike.link一样)
教训
- M和J开始搭建环境遇到些问题,一个Android Studio 一个Eclipse,由于少提交部分文件导致编译一直失败。
- M发现讯飞SDK中好多坑,参数不按套路来,容易导致崩溃。
- 服务端,以前一直是久仰Celery大名,没怎么用过,这次考虑在合并语音文件时使用。结果总是提示个错误信息(还没有抽出时间来研究),耗费了大量时间后放弃。(从凌晨3点搞到6点,还是没搞明白,就放弃了)(现场演示,语音不长,阻塞的合并还可忍受)
演示
第二天上午接近9点,终于所有功能通过(语音提醒由于时间原因放弃了开发)。趴桌子上睡了一小觉。 下午开始演示。
印象深刻的几件事:
- 第一个演示,就震惊了全场,虚拟现实,实时摄像头视频中可以一步一步叫你怎么给MacBook更换风扇。MacBook的展开效果图很炫。
- 中间很多演示,关于社交产品较多,根据后来评委总结,评委们对这种产品都不太感兴趣了。
- 演示的讲解也是需要把控的地方,有的开头讲解了很多自己的情怀啊、啥啊、啥啊,接近2分钟过去了(原则上每个队伍共3分钟讲解时间),有的甚至讲解起自己的身世、与编程的不解之缘啥的,有的则时间把控不好太过啰嗦。有的不会调动下现场气氛等(当然只是感觉,我也不怎么会调动气氛哈)。
- 自我感觉我们队的讲解时间把控很好,最后的语音合成效果不错,把做的主要功能展示的恰好,简单插入了点笑话,调动下现场气氛。
意外获奖
第一名,就是通过虚拟现实维修电脑的作品(后来了解到使用的是高通的Vuforia SDK,配合Unity3D)。
第二名,语音控制电脑,辅助残障人士操作电脑。很有爱,很实用。(语音识别,加各种Windows窗口的消息发送)
几个评委轮番讲解对自己印象深刻的作品,没有一个提到我们。但最后的评分出来,三等奖哈。大家都很高兴(X同学回家睡觉了,没有等到最后的颁奖)。
总结
研究下这个http://developer.vuforia.com/哈,很炫的效果。