今天的內容源自於一個學長於Facebook上問的問題:『你的軟體即將於這個sprint結束之後就要準備送給測試部門進行測試,但是軟體還有幾十個open issues (bugs)還沒解完,而其中大部份的issues都只有某一位programmer可解。請問假設你是Scrum Master,你將如何處置?』這問題一出,引來許多人的討論,也有人開玩笑地說在解決完issue後要把那一位唯一能解的programmer開除,因為他程式寫得不好,所以別人才看不懂無法解決問題,真的是這樣嗎?有時候程式看不懂,並不是因為程式寫得不好,而是領域差太遠。如果整個專案都在同一個領域中,大家都是該領域的programmer,還出現這樣的情形,或許那位programmer真的要稍微檢討一下,但如果一個跨領域的專案,而且跨得很遠,如果沒有另外一個領域的知識,寫程式都很難寫了,更別說要解bug了。
  另外,bugs明明是學長放在括號內的補充說明,大家似乎都把open issues跟bugs畫上等號,但有時候open issues不見得是bugs,例如有一個車牌辨識的模組,由團隊中唯一一個影像處理專才A開發,大多數的情況下都能辨識出車牌號碼,但前一個sprint結束後,QA實測後發現當在黃昏接近晚上時,辨識率就很差,甚至比晚上還差,因此QA列出一個issue希望能夠改善辨識率,這是一個issue但不是bug (目前沒有100%辨識率的影像處理技術),問題來了,車牌辨識的過程中,有許多參數可以調整,調整了x參數可能可以提高黃昏時的辨識率,但也降低了白天的辨識率,或者是這個演算法本身就是有在白天到夜晚這之間昏暗不明時辨識率下降的問題,但其他時間辨識率很高,要解決這個issue,沒有影像處理相關知識,短時間內要解決基本上不可能,最後還是交給A來處理。
  雖然大多數Scrum的書都說,當一個Scrum team要組成時,成員的能力必須涵蓋開發整個專案所需要的各種知識,現實狀況中,如果專案沒有跨很大的領域,這可能容易達成,例如幫銀行開發某個行銷活動的配合系統,那大概就是由具database / network / security能力的programmers,加上有處理過金融系統經驗的programmer,這樣的團隊就組成了。不過話說回來,會用database的programmer好找,懂得最佳化database的programmer就不見得好找;直接用network API寫程式的programmer好找,會設計protocol或實作protocol的programmer難找,當網路出現異常,能排除網路問題的programmer也不好找;會用加解密API寫程式的programmer好找,但對流程是否安全、金鑰是否安全等問題清楚的programmer就不見得好找,於是,在公司經費有限或是徵才不順的情況下,可能出現一個團隊裡都是只會用API的programmer,外加一個經驗老到的天才programmer (同時具備上述三種技能的最高等級),如此一來,即使不定期的由經驗老到的programmer和其他人pair programming,當發生問題時,可能還是由經驗老到的programmer處理。

dbi1463 發表在 痞客邦 留言(0) 人氣()

DSCN3216.JPG
  自上次在電影院看完動畫後,一直想找個時間來看原畫展,但由於始終沒有找到人一同前往,只好在展覽快結束前,一個人來看展覽。本來以為今天是非假日,人應該會少一點吧!但買完票進場後就發現我錯了,人還是蠻多的,而且大家都看得很仔細,所以大家都走得很慢,不知道是因為這電影主題的關係,還是小學已經開學了?少了頑皮小孩的嬉鬧聲,這真的是值得高興的事。

  展出的內容真的很棒,原稿上彩筆的筆觸,跟電影上看到的完全不同,從沒有色彩的線條草稿,就可以看得出細膩的地方,而且光是主角的神韻到外型,就有好幾個版本,可以看出其中的改變,真的是很有趣,上色後,就更看得出上色的細膩筆觸,而且連續看了幾張後,他們的腦中好像有個3D立體模型式的,幾個重要場景的細節、位置和相對關係,通通都沒有錯。

dbi1463 發表在 痞客邦 留言(0) 人氣()

IMG_0054.JPG
  其實我是來當間諜的,ㄟ...開玩笑的,免得人家把我當成拒絕往來戶,以後不能參加產品發表會,不過確實是因為實驗室最近的研究跟雲端儲存有點關係,想來看看他們賣什麼葫蘆。之前有注意過Synology的產品,覺得他們公司的ID做得還不錯,至少產品外觀比很多廠商的要簡潔清爽許多,官方網站也做得不錯(蠻有apple.com的味道),不過身為窮學生一個,買iPhone都存了好久才下手,所以也遲遲沒買他們家的產品,只能說可惜今晚DS212j沒抽中我。以一個硬體廠來說,肯為軟體(Disk Station Manager)辦發表會我覺得是好事一件,也看的出來他們確實花不少心思在軟體上,UI的改善幅度頗大(從網站上可以找到過去版本的圖片),有看我部落格的都知道,對於硬體廠的軟體開發抱怨頗久的我來說,我覺得Synology似乎是頗有『軟』味的公司。

  在國際會議中心附近的麥當當吃完四盎司牛肉堡晚餐後,漫步走到會場,報到後,有位金髮的外國美女跟我說歡迎(別跟我要照片,我也沒有),她應該是員工吧!在會場裡找個地方坐下後,發現人還不少耶,過沒多久,會場幾乎坐滿人了,七點開場,發表會分為上半場和下半場,就主題來說,我對上半場比較有興趣,應該說對『私有雲』比較有興趣,所以接下來只會提到私有雲(其實這樣蠻吃虧的,畢竟我也想用這篇文章去參加Synology的貼文抽獎活動)。

dbi1463 發表在 痞客邦 留言(1) 人氣()

VirtualHDImage.png
  說道尺寸,每個人的喜好都不太一樣,有人喜歡粗一點,有人喜歡長一點,也有人喜歡瘦一點,當然也有人喜歡大一點,但如果是虛擬機器的硬碟映像檔(Virtual Disk Image),我想大概沒有人喜歡它無限制大下去,特別是要傳送映像檔給另外一個人的時候,不管用網路傳,還是用隨身碟傳,都要傳上好一陣子,小一點3、4 GB,大一點1x GB,有時候隨身碟不夠大還塞不下去。

圖1 肥胖的映像檔(4.43 GB)
  但真的映像檔都需要這麼大嗎?其實不盡然,有時候那個檔案只是虛胖或水腫而已,只要稍微用點方法還是榨得出油來。在Guest系統內,實際使用的硬碟大小其實都比映像檔小,比較圖1和圖2可以發現(這裡以VMWare為例),有部分空間被吃掉了。

dbi1463 發表在 痞客邦 留言(0) 人氣()

  最近在幫老師弄下周三要去X策會上課的教材,上課的內容是單元測試、整合測試、Mock object等,我準備的教材裡都要涵蓋這些東西,為了盡可能達到100%的statement coverage和branch coverage,所以,只要有>、>=、=、<和<=等二元符號,測試案例都要考慮到boundary test,最後,因無法在測試案例裡製造發生IOException的case,導致某些catch block測不到外,教材裡model的程式碼都測到了,這樣弄下來還蠻累的。
  沒想到回家的路上,就出現了某位總統候選人的輔選志工在測驗我的boundary,到底是怎麼回事呢?從府中站的電扶梯要出去捷運站回家時,門口站著一大票志工,沒看到候選人本人(在攝影棚準備政見發表會),平時下班時間就很多人的捷運站出口這時又更擠了,我往我的左邊看去,電扶梯旁明明還寫著:「捷運站區域內禁止競選活動」,不知道那些志工們有沒有看到那個標語,還是說他們認為門口不算是捷運站區域內呢?他們心中那條切割捷運站區域內或外的boundary在哪裡?
  或許有人覺得我雞蛋裡挑骨頭,那我再說另外一件事吧!幾天前又是一個下雨的早上,無法騎腳踏車的我,又走到捷運站搭車,在還沒到捷運站前的板橋農會門口前,也是一位跟剛剛那位總統候選人同黨的立委候選人,親自站在那裡拜票,板橋農會和捷運站門口隔著一條馬路,說近很近,但在我的眼中,她不是在捷運站區域內從事競選活動,至少她不會妨礙到要進出捷運站的人,那麼冷的天氣,要在哪裡站上好幾個鐘頭,跟沿路經過的民眾拜託,我還蠻佩服她的。
  隔著一條馬路,我覺得那些志工是在游走規定(法律?印象中,在捷運站區域內從事競選活動有罰款)邊緣。如果法律是那些搞政治的人弄出來的,那我更不接受政治人物自己在游走法律邊緣。離投票日沒剩下幾天了,說真的,我還沒決定要投給誰,不過,今天的事件,也許可以當作一個參考。

dbi1463 發表在 痞客邦 留言(0) 人氣()

  之前在寫Comic Surfer的時候,都是想到什麼就寫什麼,沒什麼組織,所以常常某功能A寫到一半就被放著,然後又跑去寫另外一個功能B,當程式碼還不多的時候,事後補齊倒還容易,之後應該就沒辦法這樣了,所以之後會一次只專注在一個小功能上,參考國外都喜歡替開發中的project命名(例如Eclipse的Ganymede、Helios及Indigo等,或是Android的Cupcake、Donut及Ice Cream Sandwich等),每個小功能都會是一個小project,然後有一個code name,個人英文字彙沒多到可以自由發想,因此code name都是電影名稱,接下來近期的五個projects如下(刪除線表示已完成):
  1. The bodyguard《終極保鑣》(1992):補足所有的單元測試及整合測試。之前在寫功能時,並沒有寫太多的單元測試,倒不是因為時間不夠(沒有deadline,怎麼會時間不夠XD),主要是Comic Surfer牽扯到的大多是檔案處理,單元測試要寫好的話,準備資料比較討厭一點,也就一直不太想碰,但既然要繼續開發下去,還是先把單元測試給補足,因為修改時一但有bug,單元測試這個『終極保鑣』應該會告知有錯了,之後改程式也比較心安。

dbi1463 發表在 痞客邦 留言(0) 人氣()

DSCN2826.JPG
  雖然前幾天就已經收到簡訊通知12/22可以取貨了,但最近實在有點忙,白天抽不開身去中華電信一趟,加上前幾天一直下雨,晚上也不想出門,一直沒去領預約的iPhone 4S。今天一早雖然沒有看到太陽公公,但至少沒有下雨,騎著摩托車去中華電信,上次親辦手機已經是六、七年前的Sony Ericsson T630,後來T630被一杯咖啡給搞掛了,卻一直猶豫要不要換手機,後來跟朋友借了一隻已經沒有再使用的0元機,也就一路用到現在(它還會陪我到12/27,我的3G SIM卡啟用為止)。沒想到中華電信禮拜六還這麼多人啊!一進去警衛親切地問我要辦什麼服務,然後就照他說得先到神腦國際的櫃台,確認我的預約單後,我到中華電信的iPhone專屬櫃台,前面已經有三、四個人在辦,等了快20分鐘吧!終於輪到我了。
  我不是那種很多話的用戶,所以只辦最低費率的NT$ 259 + (mPro 450 * 0.8),林林總總的申請文件好像就四、五張吧(我要從2G轉成3G,另外又辦理自動扣款轉帳變更)!最後刷卡時出了點問題,我的花旗卡被拒絕,因為額度不夠,還好還有郵局金融VISA卡,不然我可能還要跑一趟ATM領大把的現金了。等文件都搞定後又回到神腦的櫃檯,終於拿到iPhone 4S了,開通後又替它上了保護貼跟保護殼,這可是今天最棒的聖誕禮物囉!現在正在同步聯絡人、App和音樂,有人有推薦的App嗎?要跟我說喔!

dbi1463 發表在 痞客邦 留言(1) 人氣()

ComicSurfer 1.3

(圖片版權歸原公司、作者所有)
  12月剩下來幾天看起來會很忙(唉,所謂的忙絕對不是規劃聖誕夜或跨年),經過昨天連續幾本漫畫的測試(美其名為測試,實為看漫畫),在早上修正了一個躲藏已久的UI小蟲,外加調整快選功能表和簡易使用手冊後,決定在Comic Surfer 2011 1.0版發行日的整整兩個月後,也就是今天發行Comic Surfer 2011的最後一次更新:1.3版,這次發行不再提供文字的說明,改以漫畫式的簡易使用手冊來說明,希望大家會喜歡(如果需要高解析度版本,可以下載PDF檔)。
  Comic Surfer 2011下載網址:最新1.3版 | 簡易使用手冊PDF版。

dbi1463 發表在 痞客邦 留言(1) 人氣()

Comic Surfer 2012 Roadmap.png
  經過一段時間,終於把1.3版最後一個未完成事項:使用手冊完成了,目前只有中文版,我想暫時不需要英文版吧(沒那個市場XD),也就是說1.3版發行進入倒數計時階段啦!除非接下來有人回報超難解或很花時間的bug,不然1.3版應該可以如我預期的在聖誕節前發行。那接下來呢?雖然我沒什麼時間,人力又有限(有人要一起開發嗎),但我想還是讓Comic Surfer繼續下去吧!明年(今年剩下沒幾天了)如果沒遇到世界末日,那Comic Surfer 2012 (2.0版)應該會出現的。一樣,Roadmap上沒有時程表,只提到2.0版會有什麼重大的新功能。

  接下來的重點是Enhanced Comic Book (*.ecb)檔案格式,原則上是一個用UTF-8編碼的Zip壓縮檔,包含一個帶有metadata的XML檔案,以及(可能加密過的)聲音、影像等。等等,漫畫怎麼會有聲音呢?主要是先前在YouTube上看到的影片,覺得這樣的漫畫應該會很有趣,所以想來試試看。這不僅是一個格式的設計,還需要內容,希望有機會能完成。

dbi1463 發表在 痞客邦 留言(2) 人氣()

ComicSurfer_1.3b.png

  (在地上打滾)為什麼不是藍澤光?咳~咳~這次發布的是測試版,所以藍澤光就留到正式版再放吧!Comic Surfer 2011更新到1.3版(Beta),功能新增:
  1. 四種圖片顯示模式:
    a. 圖片實際大小(預設):就跟之前1.2版一樣,原汁原味呈現。
    b. 符合螢幕寬度:如果圖片大於螢幕(視窗)寬度,則縮小到跟螢幕寬度一樣(滑鼠僅需上下移動)。
    c. 符合螢幕高度:如果圖片大於螢幕(視窗)高度,則縮小到跟螢幕高度一樣(滑鼠僅需左右移動)。
    d. 符合螢幕大小:如果圖片大於螢幕(視窗)大小,縮小到跟螢幕寬度或高度一樣(選擇縮小比例最小者)。
  2. 頁數及集數的輸入:輸入頁數或集數後,按下Enter或將游標移開,立即切換到指定的頁數或集數。
  3. 圖片移動速度自動選擇:以滑鼠在螢幕上移動不超過96x96的範圍看完整張圖片為主(較先前提到的小)。
  4. 瀏覽紀錄:最多10組瀏覽紀錄,再次瀏覽會直接跳到上次沒看完的地方。
  5. 檔案讀取自動選擇:不需指定讀取資料夾或是Zip檔,並改善自動選擇下的檔案和資料夾過濾的速度。
  6. 變更鍵盤對應(如果選擇與滑鼠方向相反,則下方按鍵對應的方向也相反):
    a. 圖片向左移動:方向鍵左鍵、數字鍵 4。
    b. 圖片向右移動:方向鍵右鍵、數字鍵 6。
    c. 圖片向上移動:方向鍵上鍵、數字鍵 8。
    d. 圖片向下移動:方向鍵下鍵、數字鍵 2。
    e. 上一頁:Page Up、數字鍵 9。
    f. 下一頁:Page Down、數字鍵 3。
    g. 上一集:Home、數字鍵 7。
    h. 下一集:End、數字鍵 1。
    i. 開啟:Insert、數字鍵 0。
    j. 關閉:Delete、數字鍵的小數點
  7. 快顯功能表:若是三鍵式滑鼠,Click中間鍵顯示快顯功能表。
  8. 支援多國語言Zip檔案:JRE 7限定功能。

dbi1463 發表在 痞客邦 留言(0) 人氣()

121197025119590600887.jpg
  網路上看到很多人把UI設計視作美術設計,有些人常以『X只是設計的比較漂亮』而忽略UI設計背後帶給人的便利性,美術設計只是UI設計中的其中一環,UI是user interface的縮寫,也是使用者與設備溝通的唯一路徑,使用者要與設備溝通的首要前提:使用者要能取得從UI取得足夠多關於設備的資訊。很多人抱怨某產品的UI設計很爛,通常主要的原因是使用者不知道要做什麼?那為什麼使用者不知道要做什麼?因為UI提供給使用者的資訊不夠。UI設計很重要,但除了『有螢幕的裝置』需要設計外,對於沒有螢幕的裝置,UI設計就不重要嗎?錯,就是因為沒有螢幕,UI設計更重要!
  前陣子將手邊的相機升級,換成Nikon Coolpix S9100,18x光學變焦和大光圈是我選擇那台相機主要的原因,因為18x光學變焦在大多數情況下,能拍遠拍近,蠻方便的。不過,18x光學變焦以上的相機在我買相機的當時,並不是唯一的,第二個原因是品牌,Nikon在影像處理的整體色彩設定是我偏好的(拜託,別跟我說可以用Photoshop調整,上百、上千張的照片用Photoshop調整也是很累的),有沒有其他原因呢?沒了,其他該有的東西幾乎每家廠商都有,那UI設計呢?畢竟文章的主題是UI設計。老實說,我覺得Nikon的UI設計一直存在一些問題(Nikon別告我,我沒用很誇張的形容詞)。
  先不談相機本身的UI設計,先來看電池充電器,一個需要另外花NT $ 1,200元購買的小裝置(我不知道從什麼時候開始,幾乎所有廠商的消費級相機都直接使用USB充電,不另外提供電池充電器,真是匪夷所思的設計),圖1是充電器的外觀,只有一顆LED燈,充電時,燈會以一個較慢(亮、熄各約一秒)的速率閃爍(使用手冊上,英文寫Blinks,中文寫閃亮);充飽時,燈會持續亮著(Glows/點亮);如果發生異常,燈會以非常快(亮、熄各約半秒)的速率閃爍(Flickers/點滅),我會提到這個,是因為我第一次使用時,就遇到燈以非常快的速率閃爍,由於那時沒先看過說明書,以為這閃爍速度是正常,就沒去理會,但經過了兩、三個小時後,怪了,怎麼還在閃,一顆電池需要充這麼久嗎?這時我才拿出說明書,一開始看中文...我突然懷疑我的中文程度是不是太差了,我搞不清楚什麼閃亮/點亮/點滅,於是再看英文版,好樣的,英文程度不佳的我再次被Blink/Flicker搞混了,最後,我把電池拔起來再插一次,終於看到比較慢的閃爍,之前那兩、三個小時是白白浪費了,原因就是這個電池充電器的UI設計提供的資訊不夠足夠。

dbi1463 發表在 痞客邦 留言(0) 人氣()

圖片2.png
  最近兩天完成了Comic Surfer 2011 1.3版的幾個功能(或改善),不過,對於需求四還是想了一陣子,遲遲沒動手。原先有圖片內容移動方向(與滑鼠同向或是反向)以及移動速度(2x~8x)的選擇,移除移動速度選項倒還好,心中已經有腹案了。用下圖來說明,圖中藍色箭頭表示滑鼠移動方向,尾端實心圓圈表示起點,當圖片以實際大小顯示右上角時,三次滑鼠移動(圖例是圖片內容移動與滑鼠反向)可以看完寬高皆大於螢幕大小的圖片(通常是圖片中含兩頁並列),移除移動速度選項後,三次滑鼠在畫面上移動範圍不超過144 pixel x 144 pixel,如果滑鼠解析度(DPI)是800,實際滑鼠移動範圍則不超過0.5 cm x 0.5 cm,以看漫畫來說,這樣的移動範圍算是舒適的。

   移除圖片內容移動方向選項就有點討厭,因為每個人對於移動方向的直覺不太一樣,這也發生在Mac OS X 10.7的改版上,原先10.6以前,預設的觸控盤手勢是兩指向上滑,網頁上捲(內容向下),和滑鼠滾輪相同;但10.7改版時,採用和iPad (iOS)一樣的手勢習慣,也就是說同樣兩指向上滑,網頁下捲(內容往上),和滑鼠滾輪相反,但內容和手勢同向。升級到10.7後我有點不習慣,還好系統偏好設定裡有選項可以改回10.6的手勢,所以我當初在設計Comic Surfer時也就保留選項,讓使用者依據自己的習慣,決定圖片內容的移動方向,預設為同向,是因為我兩者都用過後,覺得以滑鼠來說,同向稍微自然一點。

dbi1463 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。