今年一年で読んだFirefox OSの実装を振り返ってみた

Filed in Firefox OS, fxos, prog

 すっかりアドベントカレンダーのことを忘れてて超ピンチのあおいたんです。

 本エントリはFirefox OS Advent Calendar 2015 25日目の記事です。

 さて今年一年皆様どんなFxOSライフをおくられましたか? あおいたん何気に社畜感高まった一年だったのでまとまった成果がないんですが、今年一年なんやかんやでFxOSのソースコードを読む機会はアレコレあったので聞いてもらえれば何かしら話せるよって所をちょこっと書いてみます。どこかで会うなりついったで@するなり詳しく教えろって言ってもらったらなんか語ります。

 記憶だけではもう振り返れないのでプライベートリポジトリのコミットログから月ごとぐらいでざっくり振り返っていきまする。

1月

  • カメラアプリ

    • なんかクラウドストレージに画像をアップロードするアプリを作ろうと思ってカメラAPIとDeviceStorage APIの使われ方を読んでたみたいです。
    • 確かDeviceStorage APIのchangeイベントでファイルの変更を検知しようと思ったけどアプリが裏に回ったら取れなくなって涙目になってたりしました。
    • そろそろ大体忘れてきたのでカメラの話はMozilla Japanの清水さんあたりに聞いたほうがいいかも。
  • 設定アプリとかSystemアプリとかコストコントロールアプリとか

    • Bluetoothで遊びたくてBT周りを読んでましたがもうすっかり忘れてます。メモっとくべきでした。

2月

  • Gaiaのテストアプリ色々とかgecko/dom/webidl配下とか
    • Codezineの記事のためにセンサー絡みを色々読んでました。
    • この時は目的がAPIの使い方に寄ってたので使ってるところとインターフェイスだけ読んでました。
    • 使い方とかはCodezineの記事とか会社ブログの記事とか読んでみてください。

3月

  • Contacts API
    • 4月に開催予定だったFxOSコードリーディングミートアップでLTやるネタで読んでました。
    • Contacts APIだけじゃなくてアプリ側も読んでましたが最近アプリ側は変更著しいので聞かないでね!
    • この頃何故かソートアルゴリズムを実装してオーダを見比べてにやけるのに熱中してたのであんまり読んでないです。

4月

  • Vibrator API

    • FxOSコードリーディングミートアップのLT用ネタ第二弾。
    • Vibrator APIは2013年の終わりごろにも読んでたんですけど変わってない感じで安心感ありました。
  • Geckoいろいろ

    • b2g配下とかdom配下に何があるかとかざっくり読んだのとグラフィック周りを読もうとして挫折したのとJS周り読もうとして挫折したのとHTMLパーザ読もうとして(ry
    • いわゆるGonkと呼ばれてるあたりのうちHAL層とかをざらっとななめ読み。
    • この辺の成果はわんくまとかで話しました

5月6月

  • この辺りはデスマの第一波が来てたのでお休みです。
  • 仕事以外の時間はずっとラノベ読んでたような気がします。

7月

  • gecko/xpcom配下とかgecko/dom/bindings配下とかgecko/ipc/ipdl配下とか
    • コードジェネレートする類のスクリプトを読んでました。
    • 確かなにかとIPC周りを追っていたのにXPCOMとかServicesとかComponentsとかで迷子になって挫折した感じ。
    • 三ヶ月ぐらい後にもまた迷子に。

8月

  • お盆休み明けたらデスマが始まってあまり読めず
  • ちょっと記憶が曖昧ながらDeviceStorage APIの使い方じゃなくて実装を読み始めたけどすぐ忙しくなってほとんど読めてませんでした。

9月

  • init.rcとかgecko/b2g配下とかSystemアプリとか

    • なにやらブート周りを調べてました。なんで調べようと思ったんだっけ?
  • 勢い余ってmozAppsとか

    • SystemアプリからのmozApps。
    • ただこの辺りもデスマ継続中なのでさわりだけ。使われ方を眺めた程度。

10月

  • DeviceStorage APIとか再び

    • ファイルシステムとDeviceStorage APIのKVS的なファイル管理のギャップがどうなってるのかとかファイル変更イベントの流れとかボリュームの空き容量監視とか気になって調べてました。
    • この時はファイル管理のところだけ調べてます。後にファイル変更イベントとかも調べてます。
  • gecko/xpcom配下とかgecko/dom/bindings配下とかgecko/ipc/ipdl配下とか再び

    • 前に迷子になって諦めたのを再チャレンジ。
    • 結局迷子でXPCOMに打ちのめされて泣きながらIPDL関連調べてました。
    • おかげさまでちょっとIPDLに詳しくなれた気がする。Gecko insideとかちょこちょこ質問したりとか@makoto_katoにはお世話になりっぱなしである。
    • みんなIPDLチュートリアル読むといいよ。
  • この辺もデスマ継続中というかバーンダウンせずバーンアップし続けていたのに現実逃避的にソース読む時間が増えてました。

11月

  • mozApps再び

    • もうちょっとちゃんと追ってます。使われ方を見てたはずがいつの間にか実装読んでるのはいつもの話。
    • アプリの起動はプロセスの関係とか諸々ちょっとめんどくさいので気になる人はリクエスト貰えたら何かしら書きます。
  • ビルドコンフィグ

    • .userconfigとかmoz.buildとかをちょっと調べていました。ビルドシステムは大抵のプロダクトでめんどくさいところですね。FxOSもめんどくさいです。
    • makeとかautoconfigとか読んでたらだんだん疲れておざなりで終わってしまいました。その内読み直します。
  • TCPSocketとかUDPSocketとか

    • そもそも使われて無くてもんやりしつつGaiaで数少ない利用例である新しいメールアプリとかSSDPの実装とか読んでました。
    • まあとりあえず使う方だけさらっと見てた感じ。ドキュメントもないのでwebidlはいくらか読んでました。

12月

  • DeviceStorage APIとか三度

    • ファイル変更イベントと空き容量監視を中心に調べてました。
    • とりあえず気になるところは調べて満足しました。
  • 引き続きTCPSocketとかUDPSocketとか。に加えてXHRとか

    • TCPSocketとかUDPSocketとかはドキュメントもアレなので実装見ないと何やってるかよーわからんみたいなアレで読んでる最中です。
    • とりあえずアプリから使える通信手段まとめて見ようかな的にXHRとかもちょろりと調べてます。

 とまあ思い返してみたら何かしらずっと読んでました。今年はどちらかと言うとGeckoに寄ってた気がします。

 来年はGeckoを読むのは継続なんですが、ちょっとNGAとかadd-onとか新しい仕組みの部分を見ていきたいなと思います。

[Firefox OS][Gaia]消えないアプリの作り方

Filed in Firefox OS, fxos, prog

 長月@ちくわの穴を覗いてしまった並の衝撃が走った。です。

 長月は会社がイチオシてたり趣味だったりとかでFirefox OSをよく触ってるんですが、今日ちょっと衝撃的な事実を知ってしまいました。

image

 システムアプリすらアンインストールできてしまうFirefox OSなんですが、Marketplaceだけ消せません。
 これは気になる! ということで調べてみました。

 この手の起動とかインストールとかに関わる情報はだいたいミニマニフェストで示されるので探してみました。

{
  "etag": "\"ed2e516580c8fb5317a1d1378f02592dc64c69f0c822b52a1dc17601fdfbd2a7\"",
  "installOrigin": "https://marketplace.firefox.com",
  "manifestURL": "https://marketplace.firefox.com/packaged.webapp",
  "packageEtag": "\"3a5c08e91b3b7f885c7f6d1ab902f989d721947509ff39fc83913715855bb99e\"",
  "removable": false,
  "type": "privileged"
}

 お?

  "removable": false,

 これっぽい。

 ドキュメントも漁ってみます。

https://developer.mozilla.org/en-US/Firefox_OS/Developing_Gaia/Market_customizations_guide#Prebundled_web_app_metadata.json

 これですね。

 というわけでバンドル用のアプリに関してはmetadata.jsonに"removable":false,の行を書いとけば削除不可になるみたいです。
 これなんで他のgaiaアプリには入れないんだろう???

[読書感想文]フェアリーテイル・クロニクル4

Filed in , 読書感想文
フェアリーテイル・クロニクル ~空気読まない異世界ライフ~ 4 (MFブックス)
埴輪 星人
KADOKAWA/メディアファクトリー (2014-05-22)
売り上げランキング: 6,966

 まずはフェアクロ全体の感想です。

 なろう発に多い感じですね。地の文が口語的な表現で違和感があったり主語が作者な言い回しが気になります。
 とは言え文体や文法の違和感は慣れなのでなろう慣れしてれば問題ないでしょう。
 あとは設定語りがくどい。これもなろうにはよくありますね。状況の説明にその理由や背景、別のエピソードがついてくるのでメタな情報は多めです。これも程度の問題ではありますが、登場人物の知識を超えた範囲を説明されるとうんざりするタイプの人には向きません。

 お話はRPG的で良いです。目的の設定と途中の展開がはっきりしているのでわかりやすいです。類型的といってもいいです。
 ですが生産系パーティーの色合いが強いので味付けで類型から外してくるのがあまり見ない感じで良いところだと思います。

 全体的にはそんな感じですが、ここからは四巻に特化した話です。大きな筋のネタバレがあるのでネタバレOKな人は続きを読んでください。

Read the rest of this entry »

[Firefox]昨日の今日でWebIDEのメニューができてた件

Filed in 未分類

 長月@WebIDEの起動方法わかりにくいって書いた次の日にメニューできててなんだと? ってなった。葵です。

 今日も今日とてWebIDE触ってみようと思って立ち上げようとしたら何やらWebIDEというメニューができていてなぬってなりました。
 とはいえWebIDEのメニューが出るのは既報の通りdevtools.webide.enabledがtrueの時だけなので今日のNightlyからの手順は以下の通りです。

  • about:configでコンフィグデータベースを開く
  • devtools.webide.enabledを検索する(webideで出ます)
  • ダブルクリックするなどして値をtrueにする
  • Tools > Web Developer > WebIDE

[Firefox]NightlyにWebIDEが入った

Filed in 未分類

 長月@OSじゃなくてデスクトップの話題なので個人ブログに書きますね。葵です。

 Mozilla Hacks見てたら素敵な記事が出てました・

WebIDE Lands in Nightly
https://hacks.mozilla.org/2014/06/webide-lands-in-nightly/

 WebIDEがFirefox本体に組み込まれるそうです。
 使い方はリンク先のビデオやGIFアニメを見るといいかと思いますが、ちょっとツールの出し方自体がわかりにくいのでちょっとだけガイドしときます。

WebIDEの出し方(2014/06/23時点のnightly向け)

  • about:configでコンフィグデータベースを開く
  • devtools.webide.enabledを検索する(webideで出ます)
  • ダブルクリックするなどして値をtrueにする
  • Tools > Web Developer > App Manager

 で従来のアプリマネージャの代わりにWebIDEが立ち上がります。
 後はシミュレータとかアプリの立ち上げ方が変わってたりデバッガの出し方が一時停止ボタンだったりして「ん?」なところはありますがだいたい従来のアプリマネージャと大きく変わらない感覚で使えると思います。
 個人的にはシミュレータマネージャ画面がナイスでした。

[ガジェット]充電器いらずのウェアラブルガジェットもすぐ未来?

Filed in 日記

 長月@携帯電話方面のガジェオタ。葵です。

 何やら体温で発電する素材が出てきたそうですよ。

 体温で発電し、ウェアラブルツールを充電!薄くて軽く、発電効率のよい新素材 
http://techable.jp/archives/15563

 なんだかんだでスマートデバイスは電池を食うので充電大変ですよね。 
 見てるとバンド側とかにも使える薄型素材なので、太陽電池とか合わせれば現実的な発電量になるかもしれません。 
 特に熱で発電するので光が当たらないところに入れて持ち歩くデバイスでも充電の可能性があるのは大きいかも。

 この素材で電池容量の心配がいらないガジェットライフが来ると素敵ですね。

[Google]Googleが衛星まで飛ばせるようになるとな?

Filed in チラシの裏

 長月@GPSやってた。葵です。

 Googleが衛星による位置画像のスタートアップを買収したそうです。

Google、いよいよ独自衛星保有へ―衛星スタートアップ、Skyboxを5億ドルで買収

 まあGoogle Earthとかストリートビュー見ればGoogleが地図でやりたいことの一つに位置と画像のヒモ付があるのは一目瞭然なので買えるリソースがあるなら買っちゃいますよね。
 Googleのリソースを使える様になることを考えればこれはSkybox Imagingにとってもいい買収なんじゃないでしょうか。

[日吉]豚骨番長 - 辛味噌豚骨

Filed in ラーメン, 趣味Tags: ,

image

 豚骨番長は割と最近できたお店です。
 元々壱一家があったところにできたお店ですが名前が変わっても家系なのでした。

 その豚骨番長でいつもの家系と違う味を求めて辛味噌豚骨を選んでみました。
 結論としては家系に豆板醤ベースの何かが入っただけでした。まあ後から豆板醤とかお酢とか入れればいいよね感あります。
 普通に豚骨醤油でおいしいので次回からは普通に豚骨醤油かなー。

[新宿]風雲児 - らーめん

Filed in ラーメン, 趣味Tags: , ,

2014-06-03 20.03.11

 新宿西口のヨドカメに用事があったのでついでに行ってきました。いつも並んでるのであんまり行きませんが新宿のお店で濃いのが食べたいときに候補に挙がるお店です。

 スープは無鉄砲系です。豚骨と魚介のとても濃いスープです。とはいえルーツである関西の無鉄砲系はちょっと濃すぎたり辛かったりでちょっと微妙に好みから外れてる感あるんですが。風雲児のはいい感じの濃さで好きです。
 麺は固めです。いつも混んでるのでゆで時間少な目での提供なのかもしれません。量は多めですが大盛りオーダーなので並でも多めかはわかりません。

 昼とかに行くと道を挟んで向かいの公園まで人が並んでることもありますが、夜はちょっと遅めに行くと割と並ぶ時間少な目で席につけるのでおすすめです。濃いのが好きな人は一度行ってみてください。

[広島]呉麺屋 - 呉冷麺

Filed in ラーメン, 趣味Tags: ,

image

 中国Firefox OS勉強会で登壇する機会があったので広島ラーメンをいくつか食べてきました。
 写真撮るのとかお店の情報メモるの忘れたので写真とメモがあるところだけ書いていきます。

 二件目は呉麵屋の呉冷麺。
 呉冷麺食べるの初めてなので大期待で注文しました。

 初めての呉冷麺なので他と比べられませんが、何もかけずに食べると甘めで後からピリ辛がくる感じのたれです。たれの感じは冷やし中華な印象あるかも。
 テーブル備え付けの辛酢をかけると酸味が足されて涼感よしでした。ただしピリ辛が強くなるので辛いの苦手だと注意がいるかもしれません。
 何軒か回るつもりで並にしたんですが、並でもそこそこのボリュームがあって結構おなか膨らみました。三軒目がつらかとです。。。
 麺は平麺。つるつるした感じでするするっと入ってきます。噛む触感は特に感想なかったんですが、つるつるとした感じは涼しげでよかったです。当日暑かったし。
 エビがしっかりしてていい感じでした。やすいふにゃふにゃのではない感じです。卵がただゆでただけなのか味けないのが残念。チャーシューもちょっと味が薄いです。たれに絡めるとよし。
 味と関係ないですがプロレス中継が素敵でした。

 呉冷麺おいしかったです。広島駅からフタバ書房を超えてちょっと歩くだけなので是非どうぞ。


Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Oenology Post Formats
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Posts Calendar
Click to view/hide
2016年10月
« 12月    
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
アーカイブ
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
最近の投稿
Click to view/hide