Llamaイベント配布ツール
Llama の解説ではなくて、ちょっと「おまけ」を作ってみました。
「ソーシャルLlama」を使って、Llama のイベントプログラムをわかりやすく表示するツールです。
(2013.1.7配布開始のβ版の機能に対応。)
使い方
・まず、自分でイベントを作ります。
・自信作が出来たら、イベントを長押しして、「イベント共有」を選びます。
・メールなどに貼り付けて、自分宛PCに送ります。
・メールが届いたら、書かれている URL をコピペして、下の入力枠に貼り付けてください。
・「解読」ボタンを押すと、Llama のイベントを表示します。
・このとき「URL短縮」にチェックを入れておくと、SocialLlama URL の短縮も行います。(短縮されたURLは、解読結果の一番最後に書き込まれます)
・言語を選択することで、Llama が対応している各国語で表示することもできます。
・表示された内容を掲示板などにコピペすれば、簡単にイベント内容を伝えられます。
解読結果
サンプル
いくつかのイベントの例を示します。
リンクをクリックすると、サンプルのイベントを表示します。
URL短縮のサンプル
https://www.wizforest.com/socialllama/sync/
WEBページ内で使用する
WEB サイトや Blog で Llama のプログラムを配布したい/例示したい場合に、このプログラムを使って簡単に表示を行えます。
使い方:
- SocialLlama URL を、<div> タグで囲って書きます。
- このプログラムの本体を、javascript プログラムとし読み込ませます。
- これで、SocialLlama URL が自動的に解釈され、イベントの表示が行われます。
HTML 内の表記例:
<script src="http://www.wizforest.com/js/llama.js" type="text/javascript"></script>
<div>http://llama.location.profiles/e/ScreenOff%7C0-1-0-0-0-0-0-0-1-0-%7C%3A%7Csc%7C0%7C</div>
表示例:
多言語化
言語別のメッセージデータは、Llama 作者さんのページで公開されているデータを使用しています。
作者さんの許可は得ていますが、翻訳者の許可は得られていないものがあります。
(できることならば許可を取りたいと思っていますが、連絡先のわからない方も多いのです。どなたか、連絡がつく方は翻訳者さんにこのページの存在を伝えてください)
以下に許可を得られた言語と、翻訳者名を列記します。ありがとうございました。
スロベニア語(Kos)
制限
「NFC タグの検出」状況では、タグの名称がかならず「不明」と表示されます。
これは、タグに付けられた名称は Llama 側のみで管理されており、Social Llama URL には入らないためです。
そのため、このプログラムでの表示のみでなく、別の端末に読み込ませた場合も「不明」に変換されます。
Bluetooth 機器関連の状況で、3個以上の機器を指定した場合のイベント表示が確認できていません。
私の家の Bluetooth 機器が2台しかなかったためです。
他の動作などから考えて、3個以上では基本カンマ区切り、最後だけ「か」で接続、と考えて作っていますが、確認できた方がいましたらご連絡ください。
Android Intent の送信で、Extras を使用する場合、次の制限があります。
・float は本来単精度だが、表示計算を Javascript の倍精度で行ってしまうため、表示される値が異なる。
・double のビット表現をそのまま読み取るわけではなく、Javascript で計算を行って表示する値を求めているため、値によっては計算中に溢れて表示される値が異なる。
・long は 64bit 整数だが、Javascript では浮動小数点として扱うため、52bit を越えると表示される値が異なる。
詳細解説
Javascript で解読を行っています。解読プログラムはこちらに置いてあります。
このページのように、Form 入力で解読、という用途にも使えますが、こちらは本来の目的ではありません。
本来の目的は、Llama レシピのコーナーで、気軽にプログラムの公開を行うこと。
そのために、ソーシャル Llama の URL から、表示を自動生成するために作ったプログラムです。
これなら公開する手間が飛躍的に減るからね。
さらに言えば、メンテナンスの手間も大幅に減ります。
まだ日本語訳が完全ではない = 今後も変更する可能性がある、ということを考えると、表示を自動生成していないと、いつか「画面表示と違う」という混乱を招くことになります。
表示を自動生成するメリットは非常に大きいのです。
同様のページを作ろうと思っている方は、Javascript のプログラムを直接リンクしたり、コピーして使っても構いません。
コピーする場合は、同ディレクトリの llamamessage_en.js と llamamessage_ja.js も必要になります。
(ja は日本語翻訳のメッセージファイル。未翻訳部分がもしあった場合、en を参照するため両方必要。日本語以外は、ファイルを作れば対応可能)
著作権は留保しますが、改造も自由とします。詳細はプログラム冒頭のコメントをお読みください。
技術解説その2。配布ツール、およびURL短縮についての…言い訳。