2011年2月28日 星期一

Less Software

 

http://gettingreal.37signals.com/ch10_Less_Software.php

Less Software

Keep your code as simple as possible (東西越簡單,越好維護,越好理解)

You'd think that twice as much code would make your software only twice as complex. But actually, each time you increase the amount of code, your software grows exponentially more complicated. Each minor addition, each change, each interdependency, and each preference has a cascading effect. Keep adding code recklessly and, before you know it, you'll have created the dreaded Big Ball of Mud.

The way you fight this complexity is with less software. Less software means less features, less code, less waste.
(動手之前,再三問一下自己,有沒有能做得更少的方法,懶惰有時是一種美德)
 

The key is to restate any hard problem that requires a lot of software into a simple problem that requires much less. You may not be solving exactly the same problem but that's alright. Solving 80% of the original problem for 20% of the effort is a major win. The original problem is almost never so bad that it's worth five times the effort to solve it.

Less software means you put away the crystal ball. Instead of trying to predict future problems, you deal only with the problems of today. Why? Fears you have about tomorrow often never come to fruition. Don't bog yourself down trying to solve these phantom issues.
(有時會因為我們的"資源"過多,而不會去計較該先完成哪些功能,先略過哪些功能,以致產品不斷加功能,想到就加,想挑戰某樣技術時就加,最終沒完沒了)

From the beginning, we've designed our products around the concept of less software. Whenever possible, we chop up hard problems into easy ones. We've found solutions to easy problems are not only easier to implement and support, they're easier to understand and easier to use. It's all part of how we differentiate ourselves from competitors; Instead of trying to build products that do more, we build products that do less.

  • Less software is easier to manage.
  • Less software reduces your codebase and that means
  • less maintenance busywork (and a happier staff).
  • Less software lowers your cost of change so you can adapt quickly. You can change your mind
  • without having to change boatloads of code.
  • Less software results in fewer bugs.
  • Less software means less support.

Which features you choose to include or omit have a lot to do with less software too. Don't be afraid to say no to feature requests that are hard to do. Unless they're absolutely essential, save time/effort/confusion by leaving them out.

Slow down too. Don't take action on an idea for a week and see if it still seems like a great idea after the initial buzz wears off. The extra marinating time will often help your brain come up with an easier solution.

Encourage programmers to make counteroffers.
You want to hear: "The way you suggested will take 12 hours. But there's a way I can do it that will only take one hour. It won't do x but it will do y." Let the software push back. Tell programmers to fight for what they think is the best way. (我也很希望 programmer 能提出更省力的做事方式,學會怎麼偷懶,但又能完成事情,是我的人生目標之一。)

Also, search for detours around writing more software. Can you change the copy on the screen so that it suggests an alternate route to customers that doesn't require a change in the software model? For example, can you suggest that people upload images of a specific size instead of doing the image manipulation on the server side?

For every feature that makes it into your app, ask yourself: Is there a way this can be added that won't require as much software? Write just the code you need and no more. Your app will be leaner and healthier as a result.

 

2011年2月27日 星期日

網路機器人即將盛行

就有媒體預測以後在網路上打滾的,會越來越多非人類的出現。
這陣子的msn買卡事件,我甚至懷疑背後跟你應對的也是這類的「機器人」。

 

碩士生打造「掰噗」機器人 10萬噗友瘋迷

 更新日期:2011/02/28 04:11 

自由時報記者陳怡靜/台北報導〕「我好無聊喔!」「無聊唷?來看我跳個火圈好了?」宜蘭大學資工所碩士生周久善開發的「掰噗」,堪稱近期最熱門的噗浪機器人,上線不到一年、吸引超過十萬名網友。掰噗不但會別出心裁回應每個網友的訊息,每天還會祝賀生日者,堪稱最貼心的虛擬網友。

 

Plurk(噗浪)是國內網友相當熱衷的微網誌社交網站,許多會自動回應的噗浪機器人也應運而生,從算命、氣象、星座運勢到應聲蟲通通有。其中「掰噗」是近來最熱門的聊天機器人,各式爆笑回應掀起網友討論熱潮,還有網友為他畫出擬人化形象。

 

「想減肥…?」「掰噗為你加加油!」傷心的噗文會得到擁抱,無聊時會有人陪你聊天,不管網友噗文是什麼,掰噗都會自動判讀並回應,讓網友直呼:「太人性了!」知名輕小說作家「御我」也曾被掰噗逗得很開心。有網友甚至懷疑「掰噗」不是機器人。

 

周久善測試程式 沒想到一試爆紅

 

「掰噗製造商」是宜蘭大學資工所碩士生周久善,他最初只是為了測試機器人程式,因此設計一個「什麼都回的應聲蟲」。

 

去年三月二十九日誕生的掰噗,已擁有九萬兩千多個好友,周久善笑說:「最熱門時,每天會增加一千個網友!」他也說明,掰噗回應的分類也很細緻,包括天氣、愛情、問候等數十種分類,甚至還會依據農曆新年、萬聖節等有不同回應。

 

目前掰噗回應文字估達三百五十種,抓關鍵字的數量則高達五百種,「才能抓得精準」。周久善也舉例,掰噗可抓出訊息中的表情符號或標點符號、再決定如何回應,「網友若寫下『是不是啊』,掰噗可能會回『你要不要去google』或『不要問,很恐怖』。」

 

他笑說,網友就算知道掰噗是機器人,還是會忍不住跟掰噗聊天,問題五花八門,從「你瘦不瘦」到「有女朋友嗎」都有。只是好玩而設計機器人,沒想到大受歡迎,網路上紛紛出現各種掰噗衍生創意,有網友為掰噗畫出虛擬人物,讓周久善感到窩心。「會覺得自己有責任,感覺很多網友其實需要一個虛擬朋友,希望掰噗可以一直陪伴大家。」

 

讀報知識 噗浪機器人

 

Plurk(噗浪)是近2年相當熱門的微網誌社交網站,網友可透過簡短的140字分享生活點滴,營造出獨特的生活圈。2008年5月創立的噗浪已有30多種國家語言,根據官方統計,光台灣就有5百萬名註冊會員、佔全球網友的34%。

 

「噗浪」在台灣引發流行,也衍生各種網友自行設計的機器人、可提供各種服務,從點歌、罵人、祈福、算命、天氣、分享美食、星座運勢都有。只要提出問題或發出相關文字,機器人就會自動回應,也因此衍生不少聊天機器人,會自動問好、道早安等等。

 

(記者陳怡靜)