Roy Notes

技术 创业 思考

My-first-game

周末无聊,边学边抄边看着敲代码,从零开始体会如下:

  • 学写游戏学得很爽
  • 用cocos2d这个框架挺爽的
  • 写游戏需要三角函数、几何学什么的,忘记了要学回来
  • 写游戏跟写互联网交互应用的感觉不太一样
  • 用git flow来管理代码非常舒服
这个游戏真的很简单,就一个不动的炮台打前进的妖怪。但用来入门真的非常不错,而且翻译质量真的很好(这的确是一个好BLOG,译文藏品非常不错) 不过,建议看这些教程学写一个简单游戏前,最好先看看cocos2d的官方Beginners’ Guide和基本概念,这有助于更好地理解如何写一个游戏。

Business or Geek?

这个话题来自于华蟒用户组邮件列表2010年1月的一个贴子,因为我本身不是该组的订阅者,最近无意中搜索到,觉得有点意思就分享一些想法。

通常想创业的同学应该也遇到过这样的一些情况,你有一个想法需要想集思广益地跟大家分享讨论,以便*期待*得到更多的人认同,从而再去推进行动。这里的讨论也由一位叫sliuqin的同学展开,他希望跟老婆想要做一个卖茶的电子商务网站:

*关于我们*: 目前,我们分别在两家大型的电子商务公司做*前端开发*,工作2年了。朝九晚六的工作虽然挺安逸,但不是自己想要的,对!我们想创业了。

*创业项目*: 独立电子商务网站,主营:茶叶和茶叶相关商品。

*项目优势*: 老爸是开茶叶店的。

*项目开发:* 周期:10个月 人员:

- 我,负责网站后台开发(Ubuntu server + python + django) - 我老婆,负责前端开发,用户体验和视觉设计。

项目资金:10w,包含我们一年的生活费,和后期的服务器等,吃住在家里(做寄生虫)

现在我们开始了一部分工作,但是是公司工作之余,我们两个人的人生经历还少,我本身也没有做过专业的python开发,所以想听听大家的意见:这个计划*可行吗* ? 但这里讨论的不是这个项目是否可行,我想说的如同以下两位

  • @john :  “你是想卖茶叶啊,还是想卖网站?”
  • @诚子 : “business or geek?”
这真的值得作为开发人员要创业时仔细想一想,我也总会走进这样的一个误区,到底是在为了一项生意还是因技术追求而做呢?而且这种情况往往更多的发生在技术人员向产品转型的人群,他们会以技术的角度去衡量一个项目,到底是用.net还是Java,是用HTML5还是HTML4,是使用Django还是Webpy等等……而忽略了去判断商业的本身,商业计划可行吗?盈利模式可靠吗?目标受众呢?如何推进呢?…….

Business是事业,geek是爱好。当然,我从不认为纯技术流不能创造一家伟大赚钱的互联网公司,这样的公司在互联网行业中俯首皆是。而且还有部分互联网公司出现的时候就不知道该怎么盈利,也就总会有听到说:“等我们的用户数足够大了,我们就会想到盈利方式。”但如果我们认为这些创业者们没有想过怎么去“Business”的话,那我想一定是我搞错了一些东西,他们有想,他们有想得到的某个固定人群,通过技术和人群建立竞争垒壁,争夺人群本身就是一项“商业”。所以他们选择了快速开发让市场去验证终端需求,而绝对不会在技术的选择上浪费太多的时间。

继续拿<REWORK>说事,”start with business, not a startup”说的就是这个意思,从一开始就想办法赚钱,行动起来!别用10个月时间+不熟悉的python来做一个电子商店了,架个开源网店就开卖吧,兄弟。

  • 问某游戏公司CEO:“你们都用什么技术?”答:“没关系,用最熟悉的PHP。”
  • 问手机游戏开发者:“如何切入移动开发,iOS or Android?”答:“Android,因为我熟悉Java 。”
但话说回来,如果目的就是为了学习一门技能或公司没有生存压力下,我个人喜爱并推崇项目尝试使用最新的技术,而不是固步自封。

投诉广州电信的ADSL强推广告记

几天前的一个晚上,中国电信突然发飙,我每打开三个网页就弹出一个强制广告。是可忍也,孰不可忍也?抡起手机直拔10000号转人工,对着可怜的客服MM一轮狂喷投诉广告业务推送,并动之以情,晓之以理地表示对于该项业务的坚决反对!后来客服说帮我记录在案,会有专人联系(转介给ADSL部门了)。

第二天,10000号进行电话回访,并试图解释广告业务的合理性,我拒绝了并坚持强调本人不需要广告推送通知优惠及希望做出屏蔽处理的情况下,客服也没有做出过多的纠缠,做了简单的资料核对后,声称在三天内将解除业务绑定。

经过最近这几天的体验,已经没有一个电信强推广告弹出了,也就此证实了网上流传打电话投诉的解决方法是行之有效。在此对中国电信的响应时间、态度给予肯定并表扬。建议所有对上网浏览体验有要求的ADSL用户都处理一下你们本人的ADSL帐号。

至于为什么说中国电信的PUSH广告非常流氓?所谓PUSH广告是指中国电信在你有偿租用他们的服务浏览网页时,通过主动劫持修改了用户的HTTP会话,进而弹出电信的广告,以达到宣传的目的。中国电信作为一家互联网服务运营商(ISP)而存在,他的责任是为用户提供上网浏览的线路。用户通过该服务获取的价值是来自于内容提供的终端而非线路的本身,而用户已经为它支付了本该支付的费用的同时,不应该被动的接受更多的附带价值。

对于刊物、网站上的广告我们还是被动的接受,因为那网站有我愿意主动接受的内容,那是有价值的内容与广告的等价交换。等价交换是建立在一个大家价值观一致下的,就事实而论,现在中国电信的上网费用本人认为与我的价值观未能构成一致,而其他的几家竞争者又未能提供更好的服务。

怪事: 二、三线城市的ADSL包月比一线城市便宜是为什么?一线城市人口基数大,摊分后成本较低才对。

 

Start Marking Something

“start marking something”是《 REWORK》中的一节,想法非常低廉,执行非常昂贵。

过去一年碎念太多了,不停地变换着想法和领域,以至于未能系统的执行自己。是时候改变了,找准自己真正感兴趣的领域钻进去,围绕着它来扩散,然后用各种可能的方式来实现它。就算最终想法没有成功,也要成为这个领域的专家。

 

不可不读的黑客与画家

作为技术人《黑客与画家》是不可不读的一本书,而且阮一峰的翻译与之前读过的Joel on software系列一样的好,非常赞。

第六章“如何创造财富”让我重新认识了财富的定义,建立正确的财富价值观对于人生、对于工作都会带来更多的追求。金钱不等同于财富,金钱不是创造出来的,财富才是。手工艺人通过双手做出来的东西通过在商店售卖而创造财富,旧社会更多的是掠夺而非创造。而程序员正是现代的手工艺人,创业就是创造财富的最好方法,付出越多,得到越多。”创业的付出与回报虽然总体上是成比例的,但是在个体上是不成比例的。”,“要么赢得一切,要么彻底失败”

第9章”设计者的品味“让我可以更好的理解和思考如何成为一个好的设计者,并做出一个优美的产品:

  • 好设计是简单的设计
  • 好设计是永不过时的设计
  • 好设计是解决主要问题的设计
  • 好设计是启发性的设计
  • 好设计通常是有点趣味性的设计
  • 好设计是艰苦的设计
  • 好设计是看似容易的设计
  • 好设计是对称的设计
  • 好设计是模仿大自然的设计
  • 好设计是一种再设计
  • 好设计是能够复制的设计
  • 好设计常常是奇特的设计
  • 好设计常常是大胆的设计
这是一种执着,一种属于黑客与画家的执着。手工艺人通过双手来创造财富,就同时必须能够理解什么是优美的设计。

PhoneGap vs. Titanium

上周末珠三角沙龙如期举行,参加沙龙前特意又简单对比了一下PhoneGap和Titanium的特性,打算到现场跟黎展波交流一下,后因私事不能成行实在可惜。

第一次听说PhoneGap是去年某周末TaskAnt的孙总介绍(sunfang@twiiter)推荐的,传说当时他们计划做TaskAnt的Mobile客户端,至于最终是否选择了PhoneGap我倒不知道,但现在还没有客户端现在还是没有出来。广告一下:TaskAnt的确是一个非常有爱的小型团队计划任务平台,虽然我现在已经没有在用了,总有一天我会回来。

在比较前,首先有一观点我认为是一致的:如果希望用PhoneGap、Titanium等框架来实现一个流畅的高端游戏或者需要CPU计算能力的应用,在当前的硬件条件、开发成本上的可能性几近为零。走错路了,还是去用原生平台代码去实现吧。正如月光博客上说的一样:“兼容性越强的技术,成本越低,性能越差;兼容性越差的技术,成本越高,性能越好”。

在跨平台这个特性上,无可置疑地是PhoneGap胜出。这跟两家公司的策略和框架实现有关,PhoneGap更注重支持多个平台,而Titanium更注重提供原生的UI而只支持iOS+Android。这也体现在API上,PhoneGap没有提供UI部分的JS接口库,而Titanium则提供。

最大的争议,我想在于是否”native”这一点上,众所周知PhoneGap的跨平台就是因为它是运行在WebView上的HTML+JS的实现,并且提供兼容性的JS库(当然,这里有一个跟本地设备桥接的实现,Titanium亦然)。而Titanium的实现类似,但争议在于官网上无处不在关于“native”的声明实在令人有点迷惘,过去我也一直以为这个native就是如文档说的一样:“Every single JS instruction you write is converted in pure ObjectiveC.”,包括上一次在沙龙上我也是这样说的(这里)。但现在更多的人在说它不是,最终也只是一个WebView的实现,所谓的native只是指”native” UI。的确,从build出来的包里也确实没找到ObjectiveC的代码。但有一点是肯定的,PhoneGap是运行在WebView上的HTML+CSS+JS,而Titanium只是用了JavaScript来写你的Mobile应用。前者包含了DOM特性,后者没有,前者可以用jQuery等第三方库,后者不允许或者说没必要。

文档可读性上,Titanium的文档在过去我是觉得还是非常欠缺的,但在Github上的例子代码都可以解决了我大部分问题。而现在Titanium比我当时接触时好太多了,而且最近还开放了wiki,还有一个Q&A平台,我相信会越来越完善。PhoneGap同样提供wiki文档,但由于没有深入开发之中,还不知道文档是否能真正解决问题。

可扩展性方面,前天我还跟@老甘 说,我知道Titanium可以通过模块的扩展来实现一些官方API没有提供的功能,比如Paint 。今天再特意看看PhoneGap,其实也有类似的实现。原理应该都是一样的,基于框架的要求使用ObjectiveC来编写针对特殊场境的模块实现,当然也要同时考虑在不同的移动平台上的实现了,也是说兼容性将由开发者来保障。

以前是综合参考资料中各文章汇总出来的简单比较,我并没有去比较各自API中的实现优劣势,我想这个还是留待大家去探索吧。而以上这些资料,已经足以让我们判断如何去选择一个框架:

  • 如果想快速开发一个iOS or/and Android原生UI的程序,选择Titanium或许更适合
  • 如果想实现一个跨平台的基于HTML的移动应用,PhoneGap或许更适合
最后还是一点,开源协议上PhoneGap是基于“New” BSD or MIT license 的,这比Titanium的Apache 2.0 license 更加开放。而参考资料中有提到Titanium发布到AppStore需要付费,我想这可能过去的license或是误读,因为我还没有发布过属于自己的应用,也没有找到这一条付费内容,望知道出处的朋友告知。

anyway,最近不碰Titanium了,直接学ObjectiveC了,哈哈……

参考资料:

  • http://stackoverflow.com/questions/1482586/comparison-between-corona-phonegap-titanium
  • http://translate.google.com.hk/translate?hl=zh-CN&ie=UTF-8&sl=ja&tl=zh-CN&u=http://d.hatena.ne.jp/r_kurain/20101121/1290347346&prev=_t
  • http://great-way.appspot.com/2010/09/2/Mobile-Apps-cross-platform-development-challenge:-PhoneGap-vs.-Titanium-vs.-Rhod.html
  • –EOF–

    最后还是有话要说:如果只是想写iOS软件而不想学习ObjectiveC,我觉得Titanium才是你的选择。-20110501

    如果想开发跨平台的桌面程序,你应该看看Titanium,这跟PhoneGap在Mobile上的实现原理应该是一样的,将HTML5+CSS+JS实现的应用程序包裹在一个WebView容器里实现跨平台。当然,你可能会说AIR更好。-20110503

     

    说说创业必经的那些事

    [caption id=”” align=”alignnone” width=”312” caption=”创业必经的那些事”]创业必经的那些事[/caption]

    刚看完《创业必经的那些事》,我认为这是一本为带有创业梦想的技术人员都必须读一读的好书。

    开篇从专业人士特别容易出现的创业冲动说起,带出想要创业的人必须肩负的三种身份:创业者、管理者和专业人士。而这三种身份相辅相承,但却又各自互不认账。往往专业人士被体内的瘦子打动而去创业,却又遇到困境--无法由专业人士成功转型为管理者,最终以创业失败告终。而本书后半部分正是引导创业人士去解决这些问题,告诉专业人士该如何来构建自己的事业--建立高效的小企业。
    事实上,在购买该书前它在我的豆瓣购书单上很久了,我一直以为这之不过是又一本教条式的教科书,以至于我一直都不愿意真正为它付款。因为我每次通过购书单选我当月想看的书,它好几次旁落了。冲着“创业教父”的名头在我3月买过来打开它后,我被“创业者的冲动”与“三重身份”短短的10几页纸给打动了。

    我喜欢Gerber对于三重身份的定义:

    • 创业者 是个空想家,各种各样的梦想让他生活在未来。
    • 管理者 是个实用主义者,活在当下,将一切变得有条不紊,维持目前的状况。
    • 专业人士 是个实干家,但活在过去,因为总是以过去的经验来判断,并希望亲自将一切问题解决掉。
    你要么是一个疯子,喜欢不停地幻想未来,并能有效地管理当下,而且能利用过去的经验完成一切自己制造出来的麻烦。要这样去完成创业的确困难,所以通常会有折衷的方法就是找三个各自具备以上三种素质的人一起去创业。

    书的后半部分我是匆匆而看的,我打算在不久的将来再将本书看多一遍,上一次令我这样做的是:《Getting Real》和《Rework》。

    当梦想逝去时,剩下的就只有单纯的工作了”是书中我最喜欢的一句话。作为专业人士(开发者)不要只关注技术工作,试试来点梦想,一些关于未来的梦想,不要只单纯地工作。

     

    初创网站最有价值的是什么?

    “二十一世纪最贵的是什么?人才!”这是《天下无贼》里的一个段子,既搞笑又深意十足。
    既然人才是最贵的,那么人才就是小偷团队里面最有价值的资源,这种资源决定了这个团伙作战能力的高低。

    而又有创业导师们在微博里日以继夜地重申呐喊着人才对于在创业团队里的重要性与决定性。甚至活跃在微博上的VC们说更看重人才而项目本身。只有合适的人才能让项目成功,一个好点子并不能使项目成功。

    哪么对于一个社区网站(没有特别说明下文说的”网站“一词都特指社区网站),最有价值的资源到底又是什么:团队的技术力量还是用户贡献的内容?还是其他什么东西?

    个人认为,在一个初创项目中,技术是需求的催化剂,但项目的成功与技术扯上必然关系的少之又少。我宁愿相信--内容为王,无论是web1.0,web2.0。而用户贡献的内容毕竟还是来自于用户,也就是说:有怎么样的人就有怎么样的内容。

    所以,我的结论是:网站最有价值的是用户,而且是特指那批产生核心价值的用户。

    按90/9/1理论来说,90%的人贡献度为0,9%是常来又偶尔贡献,剩下的1%才是产生网站核心价值的用户。也就是说一个网站最有价值的就是创建初期,第一批所来的人里给你的网站带来了什么样的氛围与内容。当然,这批用户必定是我们构思网站时所假想的目标人群,我的意思是:网站就是为了这类人而设计的。这群目标用户是否用得开心?是否输出与产品一致的价值观?能否形成造血自循环吸引来第二批人,即那9%也。至于那90%,请不要介意了,看客毕竟还是看客,他们也只是把”饼子“做大的配料而已。

    用一系列手段来控制用户输出:

    • 高门槛的用户准入制度,保证了贡献内容的质量。
    • 严格的强审查制度,控制内容输出的质量保障。
    • 强烈的用户激励惩罚措施,提高用户的自我审查自觉性。
    非要举些例子的话,我认为最近火热的“知乎”即是如此执行的,如果不如此去做,它必将成为另一个百度知道,或搜搜问答等一众垃圾问题网站,你不会在上面找到任何有价值的答案。

    再举个例子,我认为大部分垂直型的社区网站都如此,如JavaEye这个技术型的论坛。创始人Robbin就曾经在一段时间内“铁腕”地控制着内容的输出、注册N天内不允许发言等措施来保障网站的健康发展。

    至于微博,我认为它已经形成了一个文化,习以成俗地几乎每人都做内容的贡献,它已经超过了我所说的“初创”范畴。

    返璞归真,创业也好,网站运营也罢,成功与否还是决定于开创初期的那批人。基于模式,该怎么来该怎么去吧,浮云也。

    社区社区,形成了社区再谈模式。

    --EOF --
    本文来自于3月20日的一次下午茶闲聊后胡思乱想

    Show出我的Dock

    为了响应OSXToy的《Show出你的Dock活动》,Show一下我的Dock。支持一下老甘!

    从左到右介绍一下:

    Finder 、Mac Store、Mail、FF、Safari、Chrome就不介绍

    Things相信很多人都知道是一个GTD工具,每天必看、更新

    ZOC6在截完图后就删了,呵呵,现在基本不用了,因为Visor的CMD+`快捷键非常的方便实用。唯一问题可能是需要密码时与1Password配合着使用

    终端、iTunes 还是那个终端与iTunes

    1Password 保存着我的帐号与密码的工具

    Adium 鸭子基本是Mac OS的标配了吧?

    SSH Tunel 有时候我需要它,不解释。但貌似不太好用,求推荐

    Twitter 官方客户端

    QQ 就不介绍了

    TextMate 老实说,的确是神器,但中文支持实在是……期待2.0的到来

    reeder 替换了之前一直在使用的NetNewsWire了,因为这个阅读起来似乎更舒服点

    其它的都通过系统的Spotlight调用,QuickSliver我有装,不过没什么感觉