2014年10月29日 星期三

優化了的「編譯計」指令

Revised Xcode Build Count Script

用 Build count 都有四年時間,主要是方便分辨版本。很多時候,一個版本經反覆測試後才能推出給用家使用;這時的版本號及次版本號都不會作出改變,所以才加入「編譯計」來配合除錯,有效地分辨出哪些錯誤已經被修正、哪些問題是新增。這個 Build Count 邏輯在 Xcode 6 亦都加入,新上傳到 iTunesConnect 的 IPA 需要用上 CFBundleVersion 來分辨。於是我把本來用 BUILD_COUNT 的變量改為 CFBundleVersion。同時也把指令改為適合所有專案使用。他日建立新項目時,只要 Copy & Paste 指令即可,十分方便。

2014年10月28日 星期二

Xcode 6 iOS 8 模擬器位置

Xcode 6 iOS 8 Simulator Location

替新客戶開發 iPad App,發現啟動畫面沒有正確地顯示出來。試過幾個方法都失敗,打算看看圖檔是否正確地安裝;才發現模擬器位置已不再是 file:///Users/pacess/Library/Application Support/iPhone Simulator。在 iOS 8 SDK 下,新的位置換成 file:///Users/pacess/Library/Developer/CoreSimulator/Devices/4912D6BB-9028-445B-BC09-DF58A08FA569/data/Containers/Data/Application/5FEADE2A-0EDD-4711-BB1E-5802ECB69CBF/Documents/ 之外,當中的格式亦只剩下數據內容,程式本身不再跟數據一起...。


最後找到原因是建立專案時沒有啟動畫面,雖然後來手動地在 Images.xcassets 中加入,但仍然要手動在 Project Settings 中 General 內設定 Apps Icons and Launch Images 裡的 Launch Image Source 才行。

2014年10月26日 星期日

機械設計


整理一下家中的伺服馬達,有 11 顆 Futaba S3003,10 顆 TowerPro MG-995。放在一旁十分浪費,總想砌點東西。於是在 Inventor 中協助設計結構。打算製作一台有機械臂的車輪車。S3003 負重只有 5KG/cm,應該會很容易超出負荷,需要兩顆馬達同時推進。有兩個結構以為行得通,測試後發現只能水平移動,不能自由走動。


後來又想試試用三顆伺服馬達製作能寫字的機器,於是又來設計一下。由於以往習慣設計適合用鋁板加工的部件,在擁有 3D 打印機的時間,大腦的構想還是跟不切,畫出來的部件很多時都是平面的。我想需要時間轉型。

2014年10月25日 星期六

2014年10月24日 星期五

再畫 DMP RS-1270


三天前畫的 DMP RS-1270 畫得不夠好,後來發現拍檔 Keith 三年前已經把它畫了出來,而且畫得不錯。於是向他找來 Inventor 的檔案。可是我的 Inventor 太舊而無法開啟。今晚女兒們早就睡著,反正有點時間,於是執筆再畫,終於完成一個滿意的版本。從圖中左手面可以看出是次版本的步驟多了一倍有多。

DMP RS-1270 Servo by pacess on Sketchfab

2014年10月21日 星期二

DMP RS-1270


在《RBL Hong Kong》中,我發現了很多機體都使用了 DMP RS-1270 伺服馬達。它們都表現出快速及強勁的力度,是目前《Tri-Robot》輸蝕的地方。原來 DMP RS-1270 能做到 35KG/cm 的強度,難怪有些機體能整台被抽起。曾經有一批賣到澳門的《Tri-Robot》也用上了 RS-1270。不過,這是一個等價交換的世界,好的東西是價錢也高一點,但是值得的。我也心血來潮,希望製作一架新的機體,用上《AMIGO Controller》之餘,也用上 RS-1270。因此在裝上找了點設計參考,同時也研究一下我很喜愛,由 Team Osaka 開發的 VisiON 系列。這是由很利害的日本機械人設計師《高橋智隆》所設計,亦是目前香港推出的《Robi》的作者。畫好了 RS-1270 之後,接下來便是機體設計工作。

2014年10月20日 星期一

天氣數據


一直都想學習數據分折;一直都想把天氣跟股市數據合起來,看看有甚麼反應 。大部份的術數都是由天干地支為基礎,而天干地支則是時間的計算單位;在斷事時更會參考天氣狀況。我相信天氣會影響人們的心情及運作,股市是大部份人在交投,就算是程式買入賣出,背後也有人為因素;所以天氣應該會影響股市,從而影響某隻股票。我需要收集一些天氣數據作為實驗之用,在網上找到過往天氣資料,可是以 HTML 網頁方式呈現。於是編寫程式解拆當中數據,並儲架至私人服務器,有待日後嘗試不同的演算法,看看能否找出箇中玄機。

2014年10月19日 星期日

第一屆《Robot Boxing League Hong Kong》


第一屆《Robot Boxing League Hong Kong》在 2014 年 10 月 19 日舉行。是次參賽對伍共 32 隊,小弟的《Tri-Robot》也是其中之一。可惜在比賽早上趕工編製動作數據時,分別弄壞了左手及右臀位置的關節,在沒有後備 Servo 的情況下,只好退出比賽。通宵了一晚的趕工付諸流水,那就專心拍攝精彩的照片吧。





















2014年10月18日 星期六

第三屆《Hong Kong Mini Maker Faire》


《Hong Kong Mini Maker Faire》簡稱 HKMMF 已經是第三屆,今次繼續得到香港理工大學鼎力支持外,展出攤位更由 50 個增加到 68 個。Maker 數量增加了,可見香港人越來越喜歡動手做的文化。

今年沒有新的作品展出,還是上年的《Tri-Robot》。不過《AMIGO Controller 2.00》趕及登場。整個程式重新編寫,加入了收縮搖桿、多機體控作、全新動作編輯器、藍牙命名功能,算是有點改善。希望來年有新機體登場。








2014年10月17日 星期五

創富媒體 10:M 型產業


文章刊登於「創富媒體

很久以前讀過大前研一先生的《M 型社會》,了解到中產階層正向下流。對於極力往上游的我,無疑是一大打擊。而這種打擊現在伸延到我身在的行業。

流動應用程式因 iPhone 的出現變成一個產業。每當有掙到錢的行業出現,就會有一大批人加入競爭。五年前單人推出一個簡單到爆的找錯處遊戲能輕鬆賺到錢;五年後的現在團隊推出一個高技術的立體遊戲也掙不到多少錢。有人說,世界上 5% 的流動應用程式開發商搶下 95% 的市場利潤;剩下的 5% 空間則由 95% 的開發商瓜分。然而,一些小眾的開發商還是有機會掙到錢,形成了傾斜的 M 形市場;但機會可一不可再。看《Angry Bird》就知、看《Draw Something》就明、看《Flappy Bird》就曉。

這個 M 型情況在主打流動商業應用開發的行業一樣有發生。受到很多 One-Man-Band 的公司或兼職影響,他們的成本較輕,價錢較平。遇到技術含量低的項目,客戶往往選擇他們。技術含量高的項目,則需要較多人手處理,當中包含有經驗的工程師、高技術的編程人員、出色的市場推廣人才。這些都是大型開發公司有的本錢。中層的開發公司,論價錢又不夠下層的爭;論品質論配套又不夠上層的好。夾在中間,只能不斷掙扎,把技術提升、把成本降低、把服務做好、把效率提升、把配套完善。

幾天前有街客找我們為他的項目報價,iOS 加 Android 平台,還要有內容管理頁。權限、分類、搜索不少得。報價後指我們收費貴,更指對手只收 HK$40,000。我抱著懷疑及壓價的心態看待。正如《南瓜計畫》一書所講,時間是花在好客人身上,而不應該花在壞客人身上。對於一家公司而言,聘請一個有經驗的程序員要 HK$20,000 一個月,開發一個中型的應用閒閒地一個月完成一個平台版本。這樣已經花掉 HK$40,000 的成本。還未計算內容管理頁的開發成本、市務部同事跟進項目的成本、美術人員的成本、介面設計師的成本、測試人員的成本、燈油火爉、以及最後的利潤。曾有朋友跟我說:「寫 App 真是很海鮮價」。我回答:「是」。畢竟這行門檻低又在發展中,有人願意以很便宜的價錢去爭取客戶來建立履歷;有人要求產品要有品質及妥當的支援服務,投入相當多的人手;亦有人將貨就價,甚麼設計、體驗、支援都不重要,最緊要快速完成做下一個工作...。拍檔有一句很中肯的說話:「最緊要蘋果跟蘋果比」。拿一個 One-Man-Band 公司跟一個專業的工作團隊的價錢相比,根本沒有意思。

2014年10月15日 星期三

創富媒體 09:無限迴廊


文章刊登於「創富媒體

公司成立初期,主要業務分為替客人開發流動應用程式,及研發自家製殺手級應用。在公司成立前,當時的老闆「高總」已經告誡過我,這樣的做法行不通。網絡上也不難找到相類似的分享。原因是自家應用在開發時及推出後的一段時間不會有收入;相比起有明確收入的項目,當生活要我們二擇其一時,會逃不出後者的引力。越發現商業類能掙到錢,便越投放更多的資源;自家應用越被放在一旁。那時雄心壯志,有信心把握得好,沒有理會。

公司運作一年後,情況的確發生,但管理還是過得去。雖有影響自家應用的進度,但慢一點,還是有繼續前進。踏入第二年,由於累積了一點點客戶,項目多起來了。二擇其一,必然選擇有明確收入的項目。至於那些殺手級應用,遲下再殺過。自家應用的進度出現問題,開下停下。當回頭過來時,殺手已經不再是殺手,介面也感覺落後,需要翻牆重頭來過。那時我認同高總的取態;而且我看到的更多。

對我來說,開發殺手級應用,最大機會的是遊戲。而客人的項目卻以商業實用為主,遊戲類也會有,但都是簡單的小遊戲。遊戲與商業應用的技術層面很不一樣,兩者都有專門的學問、兩者都需要花很多時間鑽研。例如:擴真實景、圖像分析、企業數據交換、大數據分析、機器學習、影片串流、即時通訊...等,這些都是商業類常用的功能。遊戲類則會是:尋路、物理計算、三維繪圖、人工智能、多點連線、服務器群組織...等。每一項都要時間學習及試煉,不是一朝一夕就能掌握。

踏入第三年,其他董事還停留在要「雙線發展」的時候,我認為要專注了。無他,公司同事大多是剛畢業,沒有相關的知識,更不知如何入門。當所有研發落在我身上時,甚麼都做不好。那時我體驗到 Steve Jobs 所講的專注是何等重要。尤其是對於我這些無法分心的老人家來說。

最近碰見了一位朋友,他辭職按樓取得資金,成立了一家流動應用程式公司。同樣是開發自家應用,同樣因為資金緊張,需要接客人度身訂造的項目來賺取生活費。看到他公司的發展,不禁想起自己公司的過去,亦看到很多公司有相同的遭遇。希望他能從宿命中逃脫出來。

2014年10月8日 星期三

創富媒體 08:香港創客


文章刊登於「創富媒體

在香港要當創客並不容易。當一個有家室的創客更不容易。最近認識一位本地創客「Gary」。他是環保單車的發明家。在認識他前,已經看過他駕駛著很有型的環保單車在官塘工廠區奔馳。

甚麼是創客?大概就是喜歡動手製作的人。作品可以是高科技電子產品、可以是精雕細琢的工藝品、可以是美味可口的食品、甚至是悉心調製的植物。重點是著意研究及製造的過程。

甚麼是環保單車?那就是用人家不要的爛銅爛鐵,經過創客精神的提鍊製作而成的單車。Gary 製作的單車不是單單把有用的零件裝嵌變成普通的單車,而是把它變成藝術品。像把兩台單車的前半段合併,變成前後都是車頭的設計,看上去很矛盾,究竟是向左踩還是向右踩?令人有更深層次的思考。

近年世界各地出現了一個名為《Maker Faire》的創客平台。目的是讓創客們有個聚首一堂、互相交流、互相學習的地方。香港的《Maker Faire》將於 10 月 18 及 19 日舉行。Gary 也會參與今次的展出,有興趣的朋友可以到場參觀,費用全免。今年是第三屆。承接上年,今屆同樣得到香港理工大學在場地上的支持。在這個事事講求回報的社會,實在難能可貴。