2018年6月23日 星期六

OmniGraphSketcher -- 半科學家的繪圖軟體


在 "如何快速開啟軟體不支援檔案關聯的特殊文件?" 一文中,我提到 macOS 的圖形介面不僅功能很多且常隨著系統升級而改變,再加上 Mac 用戶本身就對圖形介面的一體性有著異於常人的執著,其實很多有名的軟體都沒有符合 Mac 軟體的設計規範。不過 macOS 畢竟不是 iOS,Mac App store 的管理沒有那麼嚴,而且 macOS 的軟體市場自由得多,不上架 Mac App store 也不要緊 [1],所以很多體驗不甚好的軟體也就存活了這麼多年 [2]。

Omni Group 是一個專為 macOS 開發效率類軟體的公司,他們旗下很多作品都非常有名 (基本上現在官網首頁的每一個軟體都很暢銷,我也不用列舉了),除了多數人對他們家軟體的既定印象:貴之外,他們家的軟體確實是好用,幾乎可以給予使用者 Mac 原生程式的體驗,不管是圖形介面及操作邏輯都堪稱完美,並且也會支援 Applescript、URL Scheme (iOS 版本) 等自動化接口,口碑好不是沒有原因。

不過再怎麼厲害的團隊也不能保證每個產品都賣得好,Omni Group 有幾個軟體是免費或開源的,但大多是因為賣得不好,無力維護下才開放給使用者免費使用。我個人認為這是很好的作法,就算賣得不好也是自己的作品,何不讓網路世界的其他志願者來做維護工作呢?即使沒人接手也比放著報廢好。這次要介紹的 OmniGraphSketcher 就是賣不好之後開源的項目之一,至今還能使用,而另一個非常好用的 OmniDazzle 雖然也免費釋出,但是數年前就已經無法使用了。

OmniGraphSketcher (開源之後改名為 GraphSketcher) 是一個我在它剛釋出時就在關注的軟體,當初看它的示範影片非常心動,但價格實在有點高,所以一直是望而卻步,而舊版的 Plot 逆天地好用 [3],於是這麼多年就過去了。四年前回到校園念博士班的時候,我見 Plot2 無藥可救,只能上網搜尋其他可用的軟體,其中不經意地想起 Omni 家的作品,結果一看已經開源了 (Omni 官方公告)。我當然立馬下載來玩玩看,在經過一段時間的使用,可以得知它會賣不好是必然的,但決不是軟體本身不好,相反地我認為這是非常值得推薦的優秀軟體,其用戶體驗可以吊打許多作圖軟體,但為何它會失敗呢?接下來我們就來聊聊這個。


極佳的用戶體驗


以下我稍微介紹一些我個人會用到,且比較特別的功能
  1. 繪圖工具及文字框:Draw 就是直接在畫布上劃線,而 Fill 則是用來畫多邊形及曲線周圍的填滿區域,兩者畫出來的東西會跟線條的連接方式有關,見第 5 點。
  2. 把畫布上的東西轉成圖片並複製到剪貼簿:方便用戶把圖貼到別的軟體去。
  3. 畫圖時的定位點:某些專業軟體也會有的功能,但 GraphSketcher 所做的不是把校準線或定位點死跟著滑鼠游標,然後讓你越看越不爽而關掉它,而是到座標位置的整數點時才會顯示出來。
  4. 改變座標軸的範圍:不用去設定視窗裡面調整,也不用找最大最小值去輸入新的值,直接用手拖拉就好,這才是 Mac 軟體該有的樣子,目前還沒看過其他軟體有做到這點。
  5. 數據點的連接形式:有最簡單的折線、可任意畫的曲線 (軟體會分析你畫的軌跡,最後給出沒有交叉點的最佳化曲線,當然後續都可再調整)、無連接純離散點,以及加入線性回歸的直線,上面還有數學方程式喔!
另外,真正好的體驗就是想改什麼就改什麼,圖上的任何文字 (座標軸名稱、座標軸上的數字、標籤等等) 都可以直接改,不用叫出其他視窗,也不會看到一些奇怪的符號 (別說 Origin 這種專業軟體了,連 Excel 都有這種鳥事)。


也可以從試算表複製數據貼入畫布,如果複製的數據不只兩行,就會被當作是另外一組數據,並加在數據行的下方。由於只有一行數據,所以看起來有點亂,但每組數據會各自群組鎖定,不會混在一起,當然,要解鎖成個別的點也是可以的。


另外,還有一些不知道幹啥用的有趣功能,比如說透明畫布。


模糊不清的定位


GraphSketcher 是支援加 error bar 的,這對於科研人員極為重要,可是我們來看看它是怎麼幹這件事的:
  1. 每個點手動加,或是整條線加一樣的 error bar:這是在開玩笑嗎?要加到什麼時候?整條線加同一個值也很扯,如果開發人員真的懂什麼是 error bar 的話。
  2. 加完的值會附加在數據行裡:瞎成這樣我都無語了,表示開發者不希望我們使用這個功能。
由上面的例子就可以見微知著,GraphSketcher 雖然在操作上有著極佳的體驗 (嫌功能不夠多?你要知道它才 11MB 啊...),但不知道是面向哪種群體設計的。如果是業餘設計師,GraphSketcher 會最佳化曲線的特性會讓他們無法工作;科研人員與學生?數據分析功能的缺失就不提了,error bar 的垃圾設計會讓他們不得不另求高明。事實上很多人只畫圖不分析數據,若 GraphSketcher 能弄好 error bar 及多行數據的呈現,科研人員及學生用戶就能拿下不小的量;一般公司作企劃案、產品簡報或海報的職員?這倒是可能的潛在用戶,因為 GraphSketcher 對於繪製曲線的處理可以讓一般人輕鬆畫出很好看的趨勢圖,還有極易用的填滿效果也是一大賣點,而且藉由簡易的數據呈現及標示,半專業的報告一下子就做好了,此外 GraphSketcher 在設計上很討喜,畫出來的東西就是比那些專業數據分析的軟體畫的好看 (就像若使用一樣的技巧,Keynote 呈現的結果就是比 Powerpoint 好看)。可是,正因為這些人對數據處理要求不高,他們可能直接用 Keynote 或 Powerpoint 畫了,何必多買一份 GraphSketcher?

由上可知,GraphSketcher 的失敗幾乎可說是必然的,錯誤的開發方向及市場定位浪費了開發者的心血。平心而論,體驗比它糟糕的軟體多得是,為什麼那些爛東西還活得下來?因為他們有找到正確的目標受眾,並投其所好,儘管其他部分可能都很爛,但還是能在市場上分一杯羹。GraphSketcher 的失敗或許能帶給某些開發者一些啟示,即使是這麼有名的團隊,加上一個體驗不差的軟體,若搞不清楚顧客要什麼,市場還是會殘酷地把你淘汰。



附註
1. 由於 Mac App store 內的軟體都必須加入 Apple 制定的沙盒機制,此舉會影響某些 App 的重要功能,所以我寧可在該軟體的官網下載安裝無沙盒的版本 (攤手)。
2. 每次一有機會我一定會婊大名鼎鼎的 Inkscape,我真心覺得你們不想移植就別移植,搞一個什麼垃圾出來?都 2018 年了還不支援 macOS 的原生圖形介面?!bug 不修我能忍、操作極度不人性化我也能忍,在設計師及高品質藝術設計軟體俯拾即是的 Mac 領域你搞出這種玩意,很明顯地就是不希望 Mac 用戶去用,反正幹不贏別人就乾脆放棄了。雖然說自由軟體不賣錢,但可以擺爛到這種程度也實在是絕無僅有,相較之下 SciDAVis 只是沒做檔案關聯,介面美醜是個人喜好,比起 Inkscape 簡直就是佛心之作。
3. 舊版 Plot (v0.997) 不論是功能性及超小的體積,在一眾科學作圖的軟體裡都能堪稱神一般的存在,可惜 macOS 進到 64bit 之後,舊版 Plot 不再能執行,而 Plot2 把 curve fitting 功能移除,操作介面居然比舊版還不人性化,這種完全劣化的升級也不多見,總之它現在在我電腦中存在的價值只有一個;開啟舊的 plot 檔,而且還常會有相容性問題。

沒有留言:

張貼留言