orchestra

iphoneが登場して以来、スマートフォンを使ってオーケストラ演奏しようという試みが行われている。2007年にスタンフォード大学のGe教授が始めたプロジェクトは、1台のiphoneをひとつの楽器として、複数台のiphoneを使って合奏するものだった。

http://mopho.stanford.edu

そして、2012年mobileorchestra.comはクリスマスシーズンに向けて、”Carol of the bells”のオーケストラを編成した。

まず、最初に指揮者として、www.mobileorchestra.comにアクセスする。そうすると、ひとつのURLが与えられる。指揮者はこのURLで楽団員を募る。具体的には、友人、知人のこのURLを伝えて、スマートフォンやタブレットからアクセスしてもらう。友人たちの画面には、バイオリンやビオラ、フルート、チューブラーベルなど、担当する楽器が表示され、演奏する楽曲がダウンロードされる。指揮者の画面には、友人たちがアクセスしてくると、今、何人がアクセスしてきているかが表示される。皆が準備できたところで、指揮者が棒を振り始めると(startボタンを押す)と指揮者の棒に合わせて、割り当てられた楽器の演奏が始まる。

自宅のスマートフォンを総動員して試してみると、見事にタイミングを揃えて、演奏者の動画と音声がぴたりとタイミングをあわせて演奏されるのだ。これがwebベースで行われているのは驚きだ。

http://www.mobileorchestra.com

このふたつを足して2で割ったようなサービスがJam With Chromeだ。

http://jp.techcrunch.com/archives/20121108google-shows-off-chromes-web-tech-with-jam-with-chrome-an-online-band-app-where-you-play-with-friends/

ipv6時代のプライバシー

Kenya Mobile Phones to Be Assigned IPs

internet of things; spark

internet of things のおもしろい事例

spark ; インターネットに電球を取り付ける(ホームページビデオ

APIにより、電球の操作、コントロールができる。明るさを変化させたりするため、調光器対応の電球が必要だ。

# Turn off a light
POST /v1/devices/DEVICE_ID/off

# Fade a light off over 3 seconds (3000ms)
POST /v1/devices/DEVICE_ID/fade/0/3000

# Get the current status of a light
GET /v1/devices/DEVICE_ID

【追記】
少し古いが、ciscoのインフォグラフィックスを使った記事(All Things D

ウェブでプログラミングを学ぶ

Codecademy javascriptの基礎から練習

Khan academy 簡単な数学からコンピュータ上で視覚表現を行う

 

キャリアAPI ネットワークのモジュール化

通信サービスの構造は、OSIの参照モデルに端的に表されている。最下層に物理的なケーブルがあり、その上に信号のやりとりの層があり、・・・、最上部にアプリケーション(人に意味を提示できる個々の内容)が乗っかっている。

ところで、html5になって、webのアプリケーションで実装できる範囲が大きく広がってきた。

それがきっかけとなって、ネットワークサービスの新たな可能性を指摘する記事が出ている。

HTML5 – The Catalyst for Network as a Service?

これまでも、ネットワークのサービス要素をAPIとして切り売りするような話はあった(OneAPIとBONDIで携帯のオープン化は進むか 海外通信事業者が取り組むAPI公開への動き)。

たとえば、認証機能のAPIとか、位置情報取得のAPIといったイメージだ。

これがhtml5によって何が変わるのかと言えば、html5によって、端末での表現の自由度やデバイスへのアクセスの話ではなくて、クライアントとサーバーの役割をサーバー側にシフトさせられるところにあるというのだ。

ややこしいが、これにもふたつの意味があって、html5の表現力や機能が高まり、ネイティブ(スマホ)アプリでなくてもhtml5ウェブベースのアプリでサービスが実現でき、さらに、node.jsなどサーバーサイドで処理できる仕組みが充実してきたことだ。

一見したところ、クライアントで実行されても、サーバーで実行されても、利用者にとっては同じことではないかと思われるかもしれないが、ある機能を実行するのに、本来、実行するのに都合がよい位置がある。たとえば、端末の位置を把握するのであれば、クライアント側で実行するのがよいし、データベースのアクセスであれば、サーバー側だ。

じゃあ、通信サービスの要素的サービスはどうだろうか。

トポロジーから考えると、ピアトゥーピアならクライアント側と思えるが、端末の種類や契約によって通信サービスの実装が異なる可能性を考えると、サーバー側で処理すれば、端末機種の違いを考えないで済む。そのため、サーバー側で扱ったほうが都合がよいケースが多いのではないか、というのが、冒頭に紹介した記事の趣旨だ。

これまで、通信サービス、通信を使ったアプリケーションは、OSI参照モデル的な構造だと刷り込まれていたが、通信は機能の集合体だと思えば、サービスの構造はそもそも階層モデルが相応しいという前提もないのではないか。アプリケーションの内容に依るとは思うが、どういった構造が自然なのだろうか。

関連記事;

ネットワーク仮想化がIT戦国史の分かれ目, オープンクラウドが勝ちOracle王国は敗者に

しかしSDNは、これまでの、アプリケーションがネットワーク化する世の中を、ネットワークがアプリケーション化する世の中へと180度変える。ネットワークが、何もかもプログラマブルなものへと変わる。ネットワークは、スマートフォンの上や車の中など、あらゆるものの上のアプリケーションになる。

初のWebSocketデベロッパフレームワークRealtimeが大金$100Mを調達–“ライブWeb”の時代へ

webがリアルタイムを前提に考えると、さらにサービスの構造(アーキテクチャ、デザイン)は変わってくるのか? Realtimeの実装例

構造化の基底は「体験」?

関連記事;

どんなアプリからでもパノラマ写真を撮れるAPIをDMD Panoramaが提供

この記事は、「パノラマ写真を撮る」という機能が、あらゆるアプリで簡単にできるようになると言っている。

たとえば葉書アプリ、あるいはAirbnbのような家や部屋の一時貸し借りアプリも、家をパノラマ写真で見せられたらすてきだろう。

ネットワークAPIを考える上で、参考になるだろうか?

【追記;2012/9/26】

キーワードは『仮想化』?

クラウド化時代に取り残されそうだと不安な人へ

wordpressでスマホ対応

昨今、スマートフォンからwebへアクセスされることが多くなったので、wordpressで作ったサイトも、スマートフォン用にカスタマイズする。

今回の対応は、

  1. クライアントの端末(ブラウザ)を見てテーマを振り分けるプラグインの導入
  2. スマートフォン用のテーマの選定と導入
  3. スマートフォン用のテーマの修正

という手順で行った。

これまでのwebの画面がいわゆるブログのように、最新投稿を表示するようなものであれば、上記1、2の対応でおおむね問題ないように思う。テーマを振り分けるプラグインはいくつもあるが、比較的ダウンロード数の多いものであれば、どれでもきちっと振り分けできていたようだ。今回は、WPtap Mobile Detectorを使った。

スマートフォン用のテーマはいくつか出ているが、テキスト中心のサイトに向いたデザイン、写真が多用されているサイトに向いたデザインなどがあり、いろいろ試してみるとよい。スマートフォンを縦に向けたり、横に向けたりしたときにも、ちゃんと幅が収まるといったことも必須要件だ。

使いたいスマートフォン用のテーマが決まったら、振り分けプラグインでそのテーマを選ぶだけ。簡単にスマートフォン対応できる。

ただ、この簡単さが、なかなか納得いかない原因でもある。

というのも、wordpressのトップページのヘッダ、メニュー、ウィジット、フロントページなど、いずれも、PC向けのテーマを前提に設定する。しかし、スマートフォン用のテーマは、wordpressから直接アクティブにすることもないので、一切のオプションは使えず、そのテーマの初期状態でしか使えない。そのため、よさそうなテーマを見つけても、そのまま使えるテーマは簡単には見つけられない。

その結果、スマートフォン用テーマを個別に修正せざるを得なくなるのだ。

とは言っても、スマートフォン用には、ページ一覧が不要とか、カレンダーが不要とか、PC用のテーマのサイドバーにあるようなものを整理したいという程度なので、index.php, sidebar.php, page.phpこのあたりの不要な部分を削るだけで、当初の目的は達せられる。

このような対処で切り抜けられたサイトもいくつかあったのだが、これでうまくケースもあった。それは、PC版テーマのフロントページが、特定の固定ページを設定している場合だ。今回対処したケースでは、フロントページがfrontというページテンプレートを使っていた。スマートフォン用テーマにはfrontというテンプレートはないので、デフォルトテンプレートが使われて、なんだか、サイドバーだけといった感じの初期画面表示となってしまった。PC用では、やや凝ったフロントページを作成する場合でも、スマートフォンで見る場合は、単に、最新投稿から、記事が並んで見えればよかったので、フロントページを出さないような対処が必要となった。

ところが、スマートフォン用には最新投稿を表示するだけで良いといっても、初期ページの設定をスマートフォン用に新たに設定することはできない。そこで、やむなく、wordpress を騙すことにする。

つまり、スマートフォン用のテーマのフォルダの中に、frontというページテンプレートを作成する。このテンプレートは、画面表示をするようなことはせず、すぐに、最新投稿を表示するためのページへリダイレクトさせる。サンプルのスクリプトは以下。

これで何とか目的は達せられたが、スマートフォン用テーマをバージョンアップするときに、frontページテンプレートを削除しないよう、注意が必要である。

<?php /** * Template Name: front */ ?>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”&gt;
<html xmlns=”http://www.w3.org/1999/xhtml&#8221; <?php language_attributes(); ?>>
<?php header(“Location: http://abc.xyz.com/recent&#8221;, true, 301); ?>

アメリカの特許を見る方法

ひょんなことからアメリカの特許を確認することになった。

アメリカの特許庁のサイト

ところが、このサイトでは、テキスト表示までは問題ないのだが、図表などを含んだ「image」を表示しようとすると、うまく表示されない。元々、高解像300dpiのtiffでプラグインなども必要なのだが、それらを導入してもやはりうまくいかなかった。

いろいろサイトを検索してみると、対処方法の書いてあるサイトがあった。

それによると、特許庁のimageデータのリンクが新しいブラウザには適応できておらず、今のブラウザではちゃんと表示できないらしい。

そこで、登場するのが、google patentだ。

ただし、検索するのには、ちょっとコツがいる。usptoのサイトの表記ではパテント番号がus0001234567みたいに、いくつか前ゼロが入っている。google patentではこのゼロ以降の番号だけで検索するとヒットする。

なかなかのすぐれもの Our Mobile Planet

Googleが実施した世界30カ国くらいでスマートフォンの利用実態調査を行った。

それをwebベースでグラフ化できるサイトが「Our Mobile Planet」だ。

グラフだけでなく、csvやexcel形式でもダウンロードできる。

wordpressメニューのアイコン

wordpressのメニューで、メニューごとに簡単にアイコンを変えることができることを知った。恐らくどのテーマでもできるようになっているわけではないと思うが、今回採用しようと思っている「news」というテーマでは、いくつかのアイコンが用意されている。

たとえば、プロフィール紹介をメニューに表示する場合にヒト型のアイコンを表示させたり、RSSフィードのリンクURLにRSSのアイコンを表示させたりすることができる。

方法は、wordpressダッシュボード>外観>メニューのところで、ひとつひとつのメニューを設定する部分で、「CSS class(オプション)」に適切なクラス名を設定すること。ところが、このオプション設定は、デフォルトの「表示オプション」では隠れているので、これを表示させるようにしておかないといけない。

また、適切なクラス名が何か、ということだが、これは、適用されるCSS(たぶん、themeのルートディレクトリにあるstyle.css)の#menu-primaryや#menu-secondaryのあたりを探す必要がある。li.??? というクラスを見つければそれが使えるはず。

newsテーマの場合は、たとえばこんな感じ。

/* Special icons for menu items. */
/* Users can give a CSS Class to a menu item in the Menus screen in the admin. If no class was given,
 * default to the generic icon. */
#menu-secondary li.about {
	background: url(images/menu-secondary-icon-person.png) no-repeat 15px 14px;
	}
#menu-secondary li.contact {
	background: url(images/menu-secondary-icon-envelope.png) no-repeat 15px 14px;
	}

webフォントとIE6

新しくwordpressのブログをたてることになって、いろいろテーマを物色してみたところ、newsというテーマがなかなかイケてる感じで採用しようと考えた。いろいろ良さげなのだが、ブログタイトルと記事タイトルの日本語文字がぐちゅぐちゅっと圧縮されてしまい、これでは読めない。アルファベットは、ちょっと変わったフォントで表示される。

せっかくの優れものを使わない手はないので、なんとかCSSを軽く修正するだけでカワしたいところだ。IE6のデベロッパーツールで該当の箇所を調べてみると、予想通りfont-familyの問題のようだ。

newsでは、おしゃれなフォントを表示するために、独自のwebフォントを使っているが、当然ながら日本語文字は含まれない。そのため、ブラウザが適当に近しいものを表示してくれるわけだが、残念ながらIE6の表示はうまくなかった。

@font-face句について、いろいろ調べてやってみたのだが、結論からいうと、IEとそれ以外で@font-faceの記述を分けることにした。unicode-rangeで振り分けることもやってみたが、これはうまくいかなかった。ちなみにunicode-rangeの値を記述するところでは、ダブルクォーテーションで囲んだほうがよい。囲まないと意識できないブラウザがあった。

IEとそれ以外を分けるキーは、「*.EOT」ファイルを含めるかどうか。IEの記述にはEOTファイルを記述し、それ以外のブラウザには、woff, truetype, svgのファイルを記述しておく。

ただし、今回は、そもそも日本語が含まれていないことで問題が起きていたので、IEにはlocalフォントのみを指定し、IE以外でwebフォントを指定するようにした。以下に、サンプルコードを載せておく。

/* IE6+ */
@font-face {
  font-family: "LeagueGothicRegular";
  src: local("Meiryo UI"), local("MS UI Gothic");
}
/* Firefox, Opera, Safari */
@font-face {
	font-family: 'LeagueGothicRegular';
	src: local('?'), url('fonts/league_gothic-webfont.woff') format('woff'),
        url('fonts/league_gothic-webfont.ttf') format('truetype'), 
        url('fonts/league_gothic-webfont.svg#webfontteNu5xOa') format('svg');
	font-weight: normal;
	font-style: normal;
}