
在經過一連串測試後,跟上一個正式版本整整隔了半年之久,Comic Surfer 2012終於釋出最後一個更新版(除非有緊急的錯誤修正,不然下次應該是3.0了),這次還是要感謝宗翰提供完整的日文翻譯支援。2.1版部分原先要改的東西沒有納入,但跟2.0相比還是加了不少新玩意:
第三方讀取器外掛:從Comic Surfer 2012 2.1版開始,使用者可以將讀取器外掛放到readers資料夾中,讓Comic Surfer有能力讀取更多種格式的漫畫,或是網路上的漫畫,也歡迎對擴充Comic Surfer有興趣的程式開發人員使用下方提供的開發套件(SDK)開發及分享各式有趣的讀取器外掛。
dbi1463 發表在 痞客邦 留言(0) 人氣(152)

距離上一篇《Comic Surfer需求再起》已經過了整整2個月多,會隔這麼久,是在Refactoring過程中對於資料處理感到一些疑惑,甚至覺得(物件)抽象化在資料處理上似乎反而更麻煩,或是換個角度來說,抽象化到一定程度後,其實跟很多Functional Language一樣,只有2種資料結構:List (長度可變的Array)和Map (或是Key-Value的集合),既然如此真的有需要定義這麼多物件嗎?不過最後還是繼續這樣做下去了(抽象化),就程式的可讀性上,經抽象化後還是比較容易讀。
這次Comic Surfer 3013 M1提供無限多筆的閱覽紀錄,雖然清單中還是只顯示最近10筆,但只要曾經看過,Comic Surfer通通都會記下來,執行後目錄會多了一個histories子目錄,裡面會有一堆怪檔名的XML文件,請不用驚慌,這些檔案就是用來存放曾經看過的閱覽紀錄,至於為什麼不用Database呢?因為我實在不想把以MB計的函式庫包在不到500kB的Comic Surfer裡,當那天,Comic Surfer也是以數十MB計時,表示功能已經非常複雜了,到時再考慮Database吧!有興趣測試新版Comic Surfer的朋友可以用下面的網址下載嘗鮮囉!
dbi1463 發表在 痞客邦 留言(1) 人氣(39)
最近改成搭捷運上下班,在車上看到不少乘客用手機看漫畫,螢幕小歸小,字還算清楚(雖然我的近視讓我看不清楚內容,如果是拿在自己手上,我想應該還是能看),我想說的重點是行動版看漫畫軟體似乎都有一個功能叫『捲動』,其實想想也對,自己看PDF電子書時也習慣開捲動的方式,因為上下頁的文字可以連貫起來,看漫畫卻沒這習慣,還是習慣一頁一頁翻,畢竟漫畫的內容都是一格一格的,不過如果考量Comic Surfer搬上行動裝置,捲動似乎會是一個不錯的功能。所以,經過一番思考後,決定下個版本(版號未定,可能是2.2或3.0)會納入下列功能,當然,依照慣例,每個功能都有一個電影或影集片名當code name:
1. Ninja Scroll《獸兵衛忍風帖》(1993),這部動畫我還真的沒看過,不過我本來就只是取片名的某個英文字來暗示功能,所以就是它啦!捲動功能說難似乎不難,不過根據目前的程式架構,要做捲動似乎得要有額外的頁面控制器(Page navigation controller)和圖片顯示器(沒錯,在Comic Surfer裡每一頁都是根據不同顯示模式自己畫上去的,所以捲動的繪圖演算法也得自己寫了),這應該會是一個不小的工程。
dbi1463 發表在 痞客邦 留言(0) 人氣(38)

這次Comic Surfer 2012 2.1 M3真的是千呼萬喚始出來,開始上班後,不是沒時間寫Comic Surfer,而是要抗拒偷懶的誘惑,特別是在公司已經寫了8小時的程式後,回到家有時會抗拒開電腦,直接躺在床上看『紙本的』漫畫,或是要抗拒時間的虛耗,有時打開電腦,Eclipse也已經開了,但就是在瀏覽器的不同分頁裡晃來晃去,不肯面對現實。總之,在拖了二個多月後,Comic Surfer 2012 2.1 M3算是告一段落,接下來Comic Surfer 2012 M4將不再加新功能,單純進行效能、操作和畫面的優化,以及除錯。M3的新功能是幻燈片功能,按下F5 (或用選單View --> Start Slide Show)就會進入全螢幕自動播放模式,換頁的速度可以在偏好設定中修改,進入全螢幕模式後,按ESC回到一般模式。另外,即使在全螢幕模式中,滑鼠手勢和鍵盤對應都還是可以使用,如果進行切煥頁,當頁的倒數時間還會重置。
Comic Surfer 2012 開發中版本:2.1 M3版 (634 kB on Jan. 6, 2013)
dbi1463 發表在 痞客邦 留言(0) 人氣(14)

工作已滿二個禮拜,雖說工作還算順利(應該吧XD),但回到家依舊在看書充實過去沒接觸過的東西,沒太多餘的時間能拿來開發Comic Surfer。不過看書還是不錯的,像是最近在看的《Patterns of Enterprise Application Architecture》就非常的好(下圖),解開我過去在思考如何改善ezCMS (Easy Conference Management System,實驗室開發的研討會管理系統)的許多問題,事實上,我很多的想法也在這書中得到證實,只是我當時不知道我的想法原來已經是一種pattern了。
在有限時間裡,還是打算抽出一絲絲的時間(看每天是否能抽出1小時),把Comic Surfer 2.1的半成品變成完成品。由於2.1版支援外掛,所以自己也寫了一個外掛去讀取某知名漫畫網站上的漫畫,惡夢也就此開始,該網站程式似乎有固定的更新頻率(防止盜連?),每次程式一更新,外掛程式也得一併更新,但也因為這樣發現了一個Comic Surfer目前的缺點:程式雖然不會因為例外而當掉(Crash),而且能保持繼續運作,但卻沒有讓使用者知道發生什麼事了。再加上公司的What's New會議上,我想拿Comic Surfer當例子說明Domain model的設計(還不一定真的用這主題),用更高的層次看自己的程式後(看書也幫助自己提升層次),覺得某些物件的耦合(Coupling)還能再打掉,有助於單元測試的進行。所以2.1 M3的規劃如下:
1. 降低Core套件中,物件間的耦合:用Observer pattern拆散某些直接耦合的物件,變成間接耦合,提升測試的方便性(只需要製造Mock subject即可)。
2. 增加錯誤訊息的處理:目前程式的強健性(Robustness)還算是不錯,在例外拋出後大多能維持在可繼續運作的狀態,但在使用者體驗的部分要加強一下。
3. 提高測試涵蓋率到40%以上:過去測試涵蓋率曾經一度到45%,但Refactoring後,部分測試被移除掉,涵蓋率降到31%,希望在降底耦合後,把測試補回去,然後看有沒有機會將涵蓋率提升到40%以上。
4. Slideshow (幻燈片播放):Java的全螢幕API我已經試玩過了,而且從J2SE 4就開始有支援(
當然,此API和Android的全螢幕API不相容),原則上會有幻燈片播放功能,但我還在考慮用視窗模式做幻燈片播放,還是用全螢幕做幻燈片播放?
dbi1463 發表在 痞客邦 留言(0) 人氣(28)

噹!噹!Comic Surfer 2.1 M2終於完成了,和上一次大約兩個禮拜(2012/09/10~2012/09/22)就完成了M1的速度相比,這次只多了一個偏好設定的對話框,卻用了將近一個月的時間,開發速度上確實慢了許多。其中一個原因是最近在找工作,有時候面試就用了一整天,像是去汐止某家公司面試,光筆試(程式和多益模擬考)部分就耗去兩個多小時了,然後才跟主管(學長)面試,接著是和人資面談,這還不含來回通勤也用了兩個小時,雖然收穫很多(免費考了一次多益模擬考、得到許多業界資訊),但一整天就沒了。
這次Comic Surfer 2.1 M2的重點真的只有上面那個對話框,如果用寫程式硬拚出上面的對話框,老實說不用一天我就搞定了,但這次花這麼久的時間,跟當初寫Comic Surfer的初衷有關,早在Comic Surfer之前,我正在開發一個叫Javs Sway的套件,當初會想開發這套件是因為過去參與蠻多專案的,包含自己的論文,常常在GUI上需要重複寫一些一樣的東西,於是想把之前寫的部分GUI Widgets整理成一個套件,之後就能重複利用了,開發到後期,發現少了一個可以Demo的Application,這才開啟了Comic Surfer的計畫(Comic Surfer從1.0開始就有一個jsway.jar的檔案,沒錯,那就是Java Sway套件)。
dbi1463 發表在 痞客邦 留言(0) 人氣(20)

Ok,這不是正式釋出版本,事實上2.1版目前只開發完大約1/4的功能(還可能再加新功能),所以不打算透過自動更新的功能讓大家取得。從2.1版開始,Comic Surfer支援漫畫讀取器外掛,為了讓開發外掛的人有環境進行測試,所以釋出2.1 M1 (Milestone 1)作為測試環境,以後為了加速測試,每完成一個Milestone都會釋出M2、M3等測試版本,讓有興趣嘗鮮且能忍受臭蟲的人能先下載來玩。
這次2.1 M1的重點就是能在啟動時載入讀取器外掛,為了推出Comic Surfer Third-Party Reader SDK讓想開發外掛的人可以使用,還特地檢查現有的程式裡有沒有依賴度太高而無法拆解的程式碼,還好並沒有這類的程式碼,不過還是稍微整理了程式碼,移除部分多餘的函式,補足JavaDoc註解,簡化一些外掛載入的流程,並寫開發手冊。有興趣開發外掛的人可以到下列網址取得測試環境、SDK和開發手冊:
dbi1463 發表在 痞客邦 留言(0) 人氣(24)
上次不是預告Comic Surfer 1.5版嗎?怎麼突然跳到Comic Surfer 2012了,好啦!我承認稍微玩了一下數字遊戲,想說距離1.0版正式推出(2011/10/19)已經快一年了,再繼續推出1.5版有點怪,加上這次Cache的效果還不錯,換頁的平均等待時間減低不少,所以就取消1.5版的版號,直接以2.0版推出,這次在UI上的改變不多,改版的重點在內部核心的加強,主要新功能如下:
載入提示:前一版在載入光碟裡的圖檔有時候非常久,久到會以為是程式當掉了,在這一版中,當載入時間稍長,就會在畫面上出現Loading的轉動圖示,但原先的頁面仍會保留,可以繼續觀看。
dbi1463 發表在 痞客邦 留言(0) 人氣(110)
雖然之前曾經發點牢騷 ,不過我還是打算繼續開發Comic Surfer,到入伍前(大概是9/17入伍吧),預計在2.0之前發行一個中繼版本1.5,由於大概只剩下三周的時間,每周的開發重點依序為:單元測試 (代號The bodyguard《終極保鑣》)、軟體自動更新(代號
The Replacements《十全大補男》)和圖片預載快取(代號Caché《隱藏攝影機》)。
頭兩個功能是本來就有
規劃的,最後一個功能是先前放鬆時把燒到光碟裡的漫畫拿出來用Comic Surfer看時,發現在換頁時,和之前看硬碟裡的漫畫相比,會有明顯的讀取延遲,所以新增了一個開發需求,這個功能不只是對從光碟讀取檔案有加速的功能,在之後如果要從網路上讀取檔案(代號
The Net《網路上身》)應該也會有加速的效果。由於是中繼版本,不打算加太多新功能,但我希望如果Comic Surfer有2.0的話,使用者能夠在使用Comic Surfer時就會自動更新,不用每次都要來網站上看有沒有新版本。
dbi1463 發表在 痞客邦 留言(0) 人氣(21)
Comic Surfer 2011在發行完1.4版之後,就一直沒有後續的開發動作,主要是我沒時間,而且接下來到口試的這2個月只會更忙,不過,還是有持續注意電子漫畫的發展,像之前買《出包王女-DARKNESS》第4集實體書時,在封背上看到一個網址,輸入一看沒想到是集英社提供數位版漫畫的網站,該出版社幾個熱門的漫畫像《海賊王》、《火影忍者》、《烏龍派出所》和《銀魂》等,都可以線上購買電子版,下載下來的格式是SVA,需要下載專用的軟體Manga Browser來看,下載完安裝後,看了幾本從該網站上下載的試閱本,就軟體本身的設計,我覺得Comic Surfer比Manga Browser好太多了,但這也是目前Comic Surfer的困境,只有軟體沒有內容。
dbi1463 發表在 痞客邦 留言(0) 人氣(38)