Step. 4

Songle Syncアプリを公開しよう

Songle Syncを使ったアプリが完成したら、公開してみんなに使ってもらいましょう。このページでは、そんなとき知っておくと便利なポイントや注意点、これまでチュートリアルでカバーしきれなかったIoT機器を使ったアプリ開発の方法などを紹介しています。

プログラマ向けチュートリアル

このページはJavaScriptが書けるプログラマ向けに書かれています。プログラミング不要でSongle Syncを体験してみたい方はStep 1Step 2を見てみるか、Twitterでアプリを検索してみましょう。

アプリページを活用する

Songle SyncのWebページ上には、Step.3 トークン取得で作成したアプリケーションごとに、アプリページが用意されます。ページのURLはシンプルに http://api.songle.jp/apps/{access token} となります。( {access token} にはアプリのアクセストークンを入力)

アプリページにはアプリの概要がコンパクトにまとまって掲載され、Webアプリであればページからアクセスできるため、TwitterやFacebookなどのソーシャルネットワークで拡散するときにとても便利です。ぜひ活用してみてください。

自分の作成したアプリのアプリページはSongle Syncの「マイページ」からアクセスできます。

GitHubで公開する

Songle Syncを使ったプログラムを書くにあたって、サンプルコードは多ければ多いほど参考になります。AIST Songle Projectのリポジトリにもいくつかサンプルコードがありますが、まだまだ充実しているとはいえません。 プログラマのみなさまの利用例も、ぜひGitHubで公開するなどしてより多くの人と共有していただけると嬉しいです。

そんなときに参考にしていただきたいTipsをいくつかご紹介します。

1 サンプルプログラムをforkする

ここまで読んでいただいたみなさまはすでにされているかもしれませんが、何を作るか決めあぐねている場合は、まずAIST Songle Projectのリポジトリにあるサンプルプログラムをforkしてみてください。何かひらめくかもしれません。

サンプルプログラムはAIST Songle Project内で一番テストされていて、なおかつシンプルな構成になっています。ぜひ参考にしてみてください。

2 "songle-sync-" で始まるリポジトリ名にする

AIST Songle ProjectのGitHub上のサンプルプログラムはすべて songle-sync- で始まるリポジトリに置くようにしています。

GitHubの検索フォームにそのキーワードを入力すると、プログラムが全て見つかるはずです。「songle-sync- の検索結果」を見てみてください。このリンクはチュートリアルやAIST Songle Projectのリポジトリにも載せてあるので、 他のSongle Syncユーザから見つけてもらいやすくなるはずです。 リポジトリ名に悩んだら、ぜひ songle-sync- で始まる名前にしてみてください。

Songle Syncを使ったWebアプリには必ず次のようなロゴが小さく表示されています。リンク先は http://api.songle.jp です。

GitHubなどでソースコードを公開する場合も、このロゴ画像を自由に載せていただいて構いません。注意点は次のとおりです。

Songleと似ていたり、混同されるような名前、ロゴ、その他コンテンツと一緒には使わないでください。
Songleと提携していたり、後援されているかのような印象を与えないようにしてください。
公序良俗に反するようなコンテンツに関連付けて表示しないようにしてください。
ロゴ画像を http://api.songle.jp へリンクするか、周囲にリンクを作成してください。
ロゴ画像は「横長」と「正方形」のうち、配置場所に合ったものをお使いください。
ロゴ画像は直リンクしていただいても構いません。
ロゴの周りに十分なマージンを取って見やすいようにしてください。
拡大縮小はロゴを視認しやすい大きさの範囲で自由にしていただいて構いません。

IoT機器でSongle Sync

1 ブラウザ版と同じAPI

Songle Syncは、Node.jsベースのインターネットに接続されたIoT機器で動作します。Webブラウザでは api.js をページに埋め込むことで動作しますが、Node.jsベースのIoT機器では npm install songle-widget --save によってインストールされるsongle-widget モジュールが全く同じAPIを提供します。

例えば次のように書けば動作します。({access token}にはアクセストークンを入力)

var SongleWidget = require('songle-widget');
var player = new SongleWidget.Player({
  accessToken: '{access token}'
});
player.addPlugin(new SongleWidget.Plugin.SongleSync());
player.on("play", function (ev) { console.log("play"); });

2 動作確認済み機器の一覧

Songle SyncはJavaScriptで駆動できる以下のIoT機器で動作をテストしています。他の機器でも動いた・動かなかったという情報をTwitterGitHub issues宛てにお寄せいただければ、確認のうえこちらに掲載します。

小型コンピュータ
CPU、Wi-Fi、Bluetooth、記憶領域などが1チップにまとまった強力なマイコン
Raspberry PiからコントロールできるArduinoベースのロボット
Intel Edisonチップが組み込まれ、遠隔操作が容易なモーター

Rapiroで動作したことと、パソコン上のNode.jsで動作したことから、パソコンからArduinoなどのマイコンを遠隔操作するJohnny-Fiveのようなフレームワークでも問題なく動作するはずです。

なお、以下のIoT機器ではうまく動作しませんでした。主に処理能力の不足が原因だと考えられます。

LEGO Mindstorms EV3 (ev3dev)
LEGOのARMv5ベースの小型コンピュータ

また、今後以下のIoT機器でもテスト予定です。

Tessel 2
JavaScriptをLuaバイナリにコンパイルすることで動作するマイコン

このページのまとめ / 次のステップに向けて

Songle Syncの今後にご期待ください!

チュートリアル完了おめでとうございます──そして、ありがとうございます。Songle Syncの使い方について、現時点で説明できることは以上で全てです。

今後もチュートリアルページは随時更新していきますので、Twitter @SongleJp をフォローする、GitHub songle-widget リポジトリをWatchするなどして最新情報を逃さずチェックしていただけると嬉しいです。