運用 Web 技術打造電視遙控器的操作環境

當初我們決定要將 Firefox OS 應用到智慧電視 (Smart TV) 上時,第一個遇到的問題便是操作介面的不同。在一般的電視使用情境下,使用者通常不會有滑鼠或是觸碰螢幕,能拿來操作的是那少少幾個按鍵的電視遙控器 (好吧,其實現在電視遙控器上的按鍵還不少)。在將 Firefox OS 這樣一個 Web 平台作為手機作業系統時,開發 App 就像是在做手機版的網頁,兩者的操作並沒有什麼不同;但.....深入了解

在 Firefox 上建構 WebVR

近年來在資訊業最火熱的話題無疑就是虛擬實境 (Virtual Reality,VR) 了。除了 Oculus 推出 Oculus Rift 之外,其他如 HTC、Google、Samsung 等科技大廠亦各別推出自己的解決方案。VR 目前在遊戲、 電影、多媒體內容都有其龐大的市場需求。Mozilla 的工程師與設計師正著手將 VR 帶到 Open Web 之上,讓每個人都能透過瀏覽器輕鬆享受 VR.....深入了解

淺談 W3C Sensor API的發展

感測器元件是連接實體世界和數位世界的橋樑,將物理現象轉化為電子訊號帶入軟體的次元。感測器元件的存在更是人機互動體驗的必要條件,如利用加速規(accelerometer)、陀螺儀(gyroscope)等動作感測器把手機當方向盤的 REAL RACING賽車遊戲、 利用近距感測器(proximity sensor)當伏地挺身計數器的 Runtastic Fitness、或是利用振動馬達(vibrati.....深入了解

解析 XPCOM 物件的 Reference Count

在 Gecko 的實作裡,我們大量使用 smart pointer 作為指標傳遞間的媒介,而為了能完善的操作 reference count ,我們必須保證 reference count 的增減是 thread safe 的。若無法妥善處理 reference count 的增減而產生 race condition ,會造成至少以下兩個問題: 兩條以上的 thread 同時執行了 del.....深入了解

Mozilla 開發人員的強力小幫手 – Autolander

有在關注謀智台客的朋友們,應該都知道 Firefox OS (B2G) 是由 Gaia、Gecko、Gonk 所組成。透過『我也想成為 mozillian!教你如何貢獻到 mozilla code base』我們對如何貢獻到 Gecko 的部分有了一定程度的了解,正因為 B2G 的 Gecko 是放在 Mozilla 的 hg 伺服器 (https://hg.mozilla.org),而非 Git.....深入了解

如何利用Firefox OS現有的Components打造自己的Web App

Web這幾年最夯的主題之一就是Web Components [1][3]。透過它,我們能使用其他人開發好的Widgests來提高開發效率,不過風險是目前有些瀏覽器支援並不完全或必須手動開啟支援[6],而我相信不久後所有瀏覽器就會完全支援囉[2]!   今天,小弟想跟各位簡介如何使用Firefox OS的Gaia Team所開發的gaia components [4][5],來.....深入了解

XPConnect 遇到的小問題

在 XPCOM 的世界裡,透過 XPConnect 的幫忙,C 和 JavaScript 實作的元件可以互相地呼叫,因此我們可以自由選用合適的語言來開發各自的元件。 但是因為中間包了一層 wrapper,所以在某些特殊的情況下,程式的運作可能會不如你的預期:例如在 跨越語言的邊界 – 淺談 JS API 與 XPConnect 有提到,動態改變 object property 時只會改變到 wr.....深入了解

如何在 Firefox OS 上建立瀏覽器 APP

Firefox OS 上的瀏覽器 APP 利用 Gecko 提供的 Browser API 來管理網頁瀏覽,並利用 HTML5 技術提供使用者界面。根據不同的實作它可以實現分頁,瀏覽歷史,書籤... 等等功能。這篇文章示範如何建立一個可以在 Firefox OS 裝置上使用的瀏覽器 APP,它包含了最基本的網誌列跟上一頁/下一頁功能。 文章範例的原始碼可以在這裡下載: https://gi.....深入了解

Phone App 與 Callscreen 的背後功臣:Telephony API

手機產品是 Firefox OS 的重要任務之一,Phone app 與 Callscreen app 實現了撥打/接聽電話功能,背後與底層溝通的媒介 Telephony API [1] 佔了非常重要的地位,安全性的考量下,Telephony API 僅開放給 Certified app 使用,不過依然可以輕易地客製你的 Phone app,因此這篇文章將以 Firefox OS v2.1 為範例.....深入了解

Where am I?-Part III-用 Geolocation API 以及 Offline Storage 實現導航與離線儲存

之前在 Eric [1] 與 Owen 的文章 [2] 已經介紹了如何使用 Geolocation API [3] 開發地圖應用,在這篇文章中我們要進一步介紹如何用 Geolocation API 實現導航。另外考慮到定位服務需要一定的時間才能完成,為了避免使用者每次開啟 App 時候都要花時間重新尋找所在位置,因此我們要利用離線儲存的函式庫 --  localForage [4] 來紀錄使用.....深入了解