iFanr年终系列活动之FirstFan访谈
国内 Palm 用户和本站读者想必对 FirstFan 都不会太陌生,他曾经开发过大量方便实用的 Palm OS 软件,刚刚发布了 N900 中文输入法。更多信息请见他的个人网站,以下是本站对他的专访:
iFanr:你好,可以简单介绍一下自己么?比如你的日常工作,从事软件开发有多长时间?当然,还有玩机历史,用过的最喜欢的机子是哪一款?
FirstFan:哈,这问题让我想起准备简历时好像总有很多想写,又怕没重点。
我初中开始就因为兴趣开始学编程,高中时因为参加计算机竞赛,应该说主要精力都是在做这方面吧,也是那时打下的基础。因为竞赛,我保送了清华,这大概是我人生中最值得显摆的事情了。
我相信你们应该是对我做手机软件的历史更有兴趣。我大概大二时候买了 Palm Zire72,那是最早我接触 PDA。不久就换了 Treo650,开始时研究破解软件,后来腻了就开始研究自己写软件了。从此我好像就进入手机开发这个圈子了,呵呵。也直接影响到我毕业后的工作也是做手机开发。
现在我在一家美国的小公司工作,主要的还是做Android平台上的开发。我们公司是SOHO形式(就是在家里工作)啦,所以时间比较自由一些,有时还做些自己有兴趣的软件。
玩过的机器不少,但算起来牌子不多。因为之前一直和Palm公司有合作,所以他们的手机我都还不少的样子,680, Centro, LifeDrive, TX这些原来都有。Nokia 的我有 E90 和刚入的 N900。也买过 iPhone 一代的。因为工作关系,最近一年用过不少Android机器,还有没上市的机器。
要不是网络应用差了些的话,我还是最喜欢 Treo650 吧。如果要考虑网络应用还有易用性的话,iPhone我也是很喜欢的。
iF:现在有没有什么考虑入手的机型?比如 Milestone?
F:我才买了 N900,大约短期没有再买机器的打算吧。不过公司说不定还会采购些新的Android机型。
iF:个人更偏爱哪种硬件结构?全触屏、直板、侧滑等等
F:直板>侧滑>全触屏。用侧滑的话,只是想用快捷键或者只输一两个字时,觉得开侧滑太麻烦。全触屏的输入我还是不太喜欢,尤其是 HTC Magic 这种屏幕面积小的,在原来只有 qwert 软键盘输入法时,我简直恨得要死。
iF:来谈谈输入法,在开发 N900 中文输入法过程中遇到了哪些困难?
F:我十二月份才开始这个项目,时间很紧迫,所以并没有从头做一个输入法,而选择了更稳妥些的改进已经可用的 SCIM 输入法。
但是 SCIM 并不是为嵌入式设备设计的框架,而 MaemoCJK 项目几乎没有为它做什么改动。而我们要做的是换全新的UI界面,很多改动都比较底层。所以我想最大的困难就是从头搞明白 SCIM 的工作流程。
另外,事实上我也并不太会GTK开发,都是想到要什么就 google 一把,开始时也会比较慢一些。
最近几天,临近发布了,才发现我们作为主要的输入法模块的 scim-googlepinyin 项目有几个严重bug没有解决。所以给这些修正bug也是比较麻烦的事情。
iF:关于输入法还会有哪些新的目标,Palm 五笔让无数 Palmer 爱不释手,Maemo 上也考虑支持五笔吗?
F:当前移植的 SCIM 就支持五笔啊,连二笔,郑码,仓颉这些都支持。
目前看起来,SCIM 框架还是比较重一些,另外,和系统集成还是不能很好,没有屏幕软键盘。但是从头开始做可能又会比较花时间,我可能倾向于看看 maemocjk 作者最近在做的结合 Maemo 自身的 HIM 输入法框架和 ibus 引擎的输入法怎么样,可能的话,在上面做改进。
iF:作为手持输入法,你个人认为最重要的理念是什么?有没有开发其它平台输入法的计划?
F:这种问题,大概你问 Uglee 会有更好的答案。我做过很多软件,和我的最终用户们打交道,他们很多不是所谓的 geek,他们理解不了我们认为的那种高效率,或者说他们并不认同。就好像 VI 编辑器虽然好用,但也不是所有用户都接受。我现在已经不再那么坚持自己感受的易用性,我想还是广大用户觉得方便易上手的,才是重要的。
我并不是专业做输入法开发的,而且我基本上不太接触像拼音输入法引擎内部工作的部分。应该说,一般我自己用什么手机,有需要的话,才会来做这种移植或改进输入法的事情。
iF:你之前就写过 N810 软件,现在又开发了这个输入法,感觉 Maemo 的 SDK 怎么样?从开发者的立场来看,你觉得未来引入 Qt 会对第三方软件有什么影响?
F:Maemo 平台很吸引人啦,像 scim 和我最近打算要移植的 pcmanx,都几乎不用改动代码就可以编译通过并且运行起来(虽然 UI 风格很不同)。相较之 S60 平台,Maemo 平台的开发容易许多。
另外,开放性很好,不像 iPhone 和 Android 平台的功能限制这么多,当然,这和安全性有矛盾,所以Maemo平台的安全性看起来很糟糕。哦,刚说的是开放性,不过开源方面好像有些不够,很多 Nokia 自己做的软件没有开源,有一些不方便,比如想给电话本程序加中文排序,目前看起来就非常困难。还有一点,Maemo SDK 只能运行在Linux 环境上比较不爽,Nokia 总是这样,S60 的开发环境就是 win only 的。
Qt?说实话我对这个没什么研究唉。从我个人角度来说,大概区别不大吧,反正GTK我也不熟,需要的话都边学边用喽。但是,很多现有的软件可能都会需要几乎重写UI部分吧,我觉得可能让一些开发者观望,而不来支持目前的 N900 上的 Maemo 5 平台。
iF:Palm 最近推出了简单的在线 SDK,你对它的这次尝试有什么看法?
F:大概不会有什么大的变化吧?从 iPhone 和 Android 的应用数量就可以看到,这世界上不缺开发人员的。我不觉得 webOS 开发用的 html+javascript 会比 iPhone 的Objective-C 困难,所以应该只是开发人员想不想做这个平台的问题。
iF:它有没有可能吸引一些有点想法但缺乏相应编程能力的人来实现一些应用,至少让 webOS 的程序选择看起来更丰富一些?
F:可能啦,但是意义并不大。之前 Android market 的免费软件区就充斥着大量新手练手的作品,让我很长一阵子都不愿意去试那上面的软件。你知道,其实大家都不缺想法的,我相信很多自己不会开发而有软件点子的人很愿意贡献出点子让开发者们来实现的。而如果你指的想法是指像ifanr一些玩家们有执着的易用性角度考虑或者小的创意点一类的东西,那么这些都是细节,如果一些基本功能点都做不好,可能就无从谈起了。术业有专攻么。
iF:作为一个移动程序开发人员,你怎么看待市面上这些系统?比如 Android、webOS、Blackberry、iPhone 和 Windows Mobile。我们注意到你之前对 Android 的评价一直较低,2.0出来后有没有什么改变?
F:实际上,我并没有说 Android 系统本身不好,我是觉得它的发展不太好。国内有公司会打算明年一二季度才发布自己的机器,但基于的 Android 平台还是1.6 Donut,大概出来的时候就已经落后于时代了吧。而完全不用考虑打造自己的品牌,可以完全直接用原生 Android 并且紧跟 Google 更新步伐的,大概只有山寨厂家才做吧。这个问题似乎到现在都完全没有改善的迹象。不过回到 Android 系统本身来说,每次大的版本更新都可以看到很多可喜的变化。我相信这平台本身会越来越强大的。
对于开发平台选择,我都是出于自己爱好,我并不太关心这种系统占有率一类。可能将来大家都是做服务为主,那么各平台分别都做客户端也不是难事。对用户来说,自己喜欢满意才最重要,甚至有的人只需要硬件外观好看或者摄像头好用。看重平台发展方向的,还是让手机厂商和运营商去考虑好了。
iF:在 Palm OS上,你开发过不少的第三方应用,比如 TreoGate、Treo 五笔、PalmQQ 等等,在 Maemo 系统或其它平台,有这方面的打算吗?特别是飞信插件,你在 Mac 上做了 Adium 的飞信插件,你打算开发 N900 适用的飞信插件么?
F:那些都是大学时候做的。老实说,现在对做这些小软件兴趣不太大了,基本上只是做些自己想用的。而且能用就好,我不太有毅力去持续改进,这样会对用户不负责啦。
飞信插件应该会移植到 N900 平台吧。我得要纠正一下,飞信插件本身主要的代码不是我完成的,都是开源项目,我只是移植到 Adium 上,也将会移植到 N900。目前协议有些更新,原来的作者最近都没有更新了,可能会需要我自己来做这些事情,所以应该要一阵子时间。
iF:你之前开发的基本都是免费的软件,但是随着 app store 这种模式的普及,你会考虑开发个人商业软件吗?会不会担心破解问题?
F:好像和上个问题差不多。一般来说不会做吧。但如果有很好点子,觉得可以做大,并且很吸引用户的话,或许可以试试。我是觉得 app store 这种模式很好啦,比起以前用支付宝收帐,再邮件给用户发注册码还是方便多了。破解无所谓吧,怎么可能不被破解呢。不过,目标市场确实也只能以欧美市场为主。