
從上次寫釋出記事至今,已經隔了好多個版次。細數一下從 1.9.42 版之後有什麼變動:
(閱讀全文…)從 1.9.50 版開始,樸實注音鍵盤將新酷音函式庫 (libchewing) 原本以 Git submodule 嵌合進專案目錄結構的作法,改成分離為獨立的 Android App Module (AAR) 專案:libchewingAndroidAppModule,再引入此專案建置出的 .aar 模組檔。
初始動機是新酷音函式庫自 v0.8.0 開始,預設採用 Rust 版的程式碼來建置,樸實注音鍵盤這邊不想跟不上這個變革,這不是為做而做,初衷仍是為了 Rust 主打的 memory safety 特性,以及新語言較豐富的表現力。
目前新酷音函式庫仍保持著 C & Rust 雙軌並行相容,所以 libchewingAndroidAppModule 暫時仍是拿 C 語言實作版本來建置,然後嘗試轉換至 Rust 語言實作版本。
我預想這不是一件太容易的事。一來樸實注音鍵盤對於舊設備有「在能力範圍內盡力支援」的方針,所以至今仍至少支援 Android 6..0 (API Level 23);也因此樸實注音鍵盤為了已有些年代的設備,會盡力支援 Android(仍)支援的 4 種硬體平台架構:armeabi-v7a, arm64-v8a, x86, x86_64,而對應的 Rust 當前硬體平台架構支援程度 (tiers) 是略有紛歧的。
就努力看看,行不通的話,變通方法還是很多啦(大概)。

(因為可能違反 Google Play 評論規定,原文已刪除,但是不吐不快,所以改發表至此。要笑我幼稚、中二,就請盡管笑吧。)
身為 App 作者,又是宜蘭人,把自己作品打三星,也是很合理又很合邏輯的事。關於樸實注音鍵盤,有些事我希望你們知道:
好了,我要去吃塊三星蔥油餅了。
兩天前釋出了樸實注音鍵盤 1.9.42 版,終於將「許久未與 libchewing 上游同步」的軟工壞味道 “outdated external dependencies” 這顆心頭大石卸下。其實過程並不像預期般複雜,反而只要簡單處理幾個建置時的小地方,就搞定了。
目前 libchewing 正在逐步以 Rust 語言改寫,未來正式轉換時,恐怕要處理的毛才會比較多,畢竟 Android NDK 截自目前主要還是聚焦於支援 C/C++。
不過就「不要落後 upstream 太多」這點,把將近三年沒跟上(雖然也沒出什麼大問題)的 commits 大致 review 過後跟上,心情真的就輕鬆很多。
樸實注音鍵盤本身沒賺錢,卻是我開公司以來投入最多的專案。我是個爛經營者沒錯。
但是樸實注音鍵盤除了是我復健與保健的輔具,同時也是很多人苦苦尋覓已久的救星。我從〈適合Android平板的實體鍵盤輸入法?樸實注音APP超實用教學〉這篇介紹文導流而來的使用者意見發現,很多 Android 平板電腦搭配實體鍵盤的使用者,他們要的不過就是個近似 Windows 上提供的「新注音輸入法」使用體驗,而樸實注音鍵盤恰巧填補了這個市場需求:自動選字、不要佔據一大塊螢幕空間。
所以在放置不理這個專案有段時間了之後,該篇文章的揭載,也促使我重新啟動,繼續針對實體鍵盤支援有些怪異之處,再做了些修正。然後看這邊也不順眼、看那邊也不順眼,就又「順便」改了其他有的沒的。結果就是「順便」提前幾個月就支援 Android 14、「順便」換了 Material Design 第 3 版風格……。
樸實注音鍵盤本身沒賺錢,除了是我復健與保健的輔具,也是我找工作的過濾器。
很多人只看浮面的履歷,便判定我是個半路出家、沒有經驗的 Android App developer。半路出家,初出茅廬的作品,就拿 Android NDK 介接 C library 做 App,這個人若不是個瘋子,就是個笨蛋。
能夠濾掉那些把我當瘋子、笨蛋的單位,知道我們彼此不適合,是件好事吧?
可能會有友人看到這裡就想罵我:「都到這般田地了,你還挑公司?」朋友,我從前就是不懂挑公司,才會一步步走到這般田地啊!身心俱疲,每天只要超支使用雙手,就疼痛不已。
為了接隕石,把身體弄壞,沒有人會賠我的。
今年我是以講者身分參加,報名「帶您讀源碼」議程,介紹我在這幾個月做的專案「樸實注音鍵盤」:
如您所見,今年 COSCUP 因為疫情影響,後來決定改成全線上活動,於是我就頭一次玩起剪輯軟體 Kdenlive,製作預錄影片。不得不自我解嘲說大會這突然的需求,讓我在幾週內習得當個 YouTuber 的能力,也算是項收穫。
後來,我發現,大會改成全線上活動,反而讓我這種內向、畏懼社交的人比起在實體場合更活躍。今年使用的 Gather 線上聚會服務,對我來說取得了一種平衡,既可以讓我想露臉才露臉(打開電腦上的攝影機)、想出聲才出聲(打開電腦上的麥克風)、想裝石化狀態、裝不在電腦前,就什麼都不做,自在許多。同時線上提問的 Slido 服務,也讓我這種喜歡用文字斟酌再三後才送出發問問題的人,可以傳達更明確的想法。
而在這之前被影片製作搞到非常焦慮的我,後來也覺得預錄這樣的方式,能讓我在議程進行時,更能好整以暇,掌控時間進度。
為什麼說之前我被影片製作搞到非常焦慮呢?因為原先我手邊的耳麥,無論哪隻(包括網友說效果不錯的 Apple EarPods),錄音效果都奇慘,難以接受這種品質,送到 Audacity 降噪處理後,還是很糟糕。而我已經沒有餘裕去買一隻較好的麥克風,後來我只好用之前在日本買的 SONY ICD-UX560F 錄音筆,錄下我的台詞,結果效果還不錯,去掉了一個心頭疙瘩。
至於議程參與嘛……,我坦白說,因為知道大會日後會將影片釋出,所以那兩天我幾乎沒有即時在線上參加議程,反而是泡在 Gather 上一直逛攤位、找熟人聊天。沒想到對我這樣個性的人,COSCUP 的「m% 聽議程、n% 交朋友,n > m」是直到改用這樣的形式舉辦,我才實現了這樣的作為。
感謝「帶您讀源碼」被我推坑接手議程協調工作的 Wen-Chun Lin 夶、感謝大會全體工作人員,今年大會,我玩得非常自在。