Ascheriit

about me

A little something about me.

twitter

found on

[FxOS] Plan: Window Management Decoupling (CONT.)

- - posted in fxos | Comments

Following are the plan about why and how to split current Gaia:System:Window Manager.

Sources/Links

Current main functions in Window Manager

  • App Window Management
  • Wrapper Window Management
  • Inline Activity Management
  • Homescreen Management
  • MozBrowser Element Generation
  • Orientation Management
  • Visibility Management
  • Resize Management
  • App Screenshots Management [deprecated]
  • System Message Handler
  • Open app transition
  • Close app transition
  • FTU Management [deprecated! Become standalone FTU Launcher already!]

So which could be pulled out to reduce the heavy weight?

[Fx OS] Background Media Play

- - posted in audio, fxos | Comments

If you want to have you own media playing app to be able to run at background, and/or has the ability to interrupt other playing audio, please view this article for what to do.

Proposal: System Modulization Plan

- - posted in b2g, gaia, javascript | Comments

Source

https://github.com/mozilla-b2g/gaia/tree/master/apps/system

Issues with Modulization-less

  1. Some modules directly invokes others.
  2. ‘LockScreen is undefined.’ message appears oftenly right after device boots up.
  3. Memory concern – Most of the modules are not always needed. Most of the UI view doesn’t need to live in the DOM tree at first.
  4. Performance concern – device bootup time is getting longer and longer.

HTML5 Page Visibility on Fx OS

- - posted in firefoxos | Comments

在桌面版本的網頁開發中,我們可以透過 HTML5 的 page visibility API 來知道目前的網頁是否為使用者焦點,或者目前不可為使用者所見,來達成某些目的:如停止 UI 更新,資料交換…等,範例程式如下:

1
2
3
4
5
6
7
8
9
10
function handleVisibilityChange() {
  if (document.hidden) {
  // Pause UI update
  } else {
  // Begin UI update
  }
}

document.addEventListener("visibilitychange",
  handleVisibilityChange, false);

我們將這個 API 帶到 Firefox OS 中,並賦予了它更深一層的意義:

My First Year at Mozilla

- - posted in mozilla | Comments

Achievements

  • 第一次出國,第一次出差。
  • 工作關係出差四次去了三個國家(美國兩次,德國,西班牙),自己自助旅行去了日本。
  • 變成module peer
  • 參與了一些以前沒有被發明過的WebAPI的設計或討論。
  • 有了當面試官的經驗。
  • 第一次參加全公司的出遊活動。
  • 對Firefox的layout engine: Gecko送了幾次patch,簽了Level 1 Committer賣身契
  • 寫了數百個各種patch,解了數百個各種bug。
  • 看到很多以前沒有遇過的pattern,現在回去看一年前寫的東西感覺又不同了。
  • 當然也看到一些不好的設計,很希望有機會能夠改變它。
  • 認識一些除了我之外在工作之餘還是對技術玩意很有熱忱的人。

Recent Side Projects: Alvitr, Lucifer, GaiaSystemAPIDOC

- - posted in github,javascript | Comments

Alvitr

Alvitr(艾爾薇妲)是北歐神話中戰女神的其中一名,其名意為「全知」。

最近對某個遊戲(Puzzle & Dragon)很沉迷, 但是在網路上遍尋不著產生簽名檔的服務, 於是就興起了想要自己做的念頭。

Alvitr

大概花了一個禮拜的時間,本來想用Amazon AWS + node.js的組合來用伺服器端產生圖檔, 但是遇到了不少問題如: 1. AWS初始化實在太煩人了。 2. node.js跑起來會莫名的crash,錯誤訊息看起來像是c語言的某個函式。(我不是在寫js嗎?!)

後來還是決定用client端javascript application的形式做, 至少IE9可以支援Canvas。

Javascript從變形矩陣反推scale以及rotate

- - posted in javascript | Comments

原文: http://css-tricks.com/get-value-of-css-rotation-through-javascript/

今天在追一個跟CSS3 transform有關的bug, 過程中懷疑是transform沒有正確應用到element上。

最後想到用一個Mutation Observer去觀察元素的變形矩陣的某個值(在此例為scale)的變化, 因為transform沒辦法直接用element.style直接拿到scale的值, 所以要用getComputedStyle拿出變形矩陣後算出來: (skew跟translate的值原文沒有提供算法,看了一下網路文章似乎沒辦法逆推。)