ソフトを開発しようと思った動機、背景
私自身が“ほしいと思ったプレイヤーソフト”と“使いたいと思ったネットワーク機能”を実現しようと思ったのが開発のキッカケでした。ほしいと思ったプレイヤーソフト(BEAT! MusicPlayer)とは
私がほしいと思うプレイヤーはこんな感じです。
- ネットワーク機能に特化する(ブロードバンド環境を活かした機能)
- とにかくシンプルで、余計な機能やケバケバしいデザインがない
- 使いやすくわかりやすいプレイリスト機能と、そこへのスムーズな登録
- 各ユーザの環境に合わせて色調を細かく選択できる(スキンファイルがなくても、各ユーザ環境にマッチさせることができる。作者自身がスキン機能などを利用しない、イチイチ作らない、はじめだけでそのあとほとんど変えたことがないという経験上)
- インストール先のフォルダが(スキンファイルやプラグインを含め)ファイルだらけにならない
- 勝手にいろいろなレジストリを書き換えない(最低限、ファイル拡張子関連付けのみにとどめる)
以上のようなコンセプトを掲げ、最低限必要不可欠な機能をシンプルに取り込むことだけを自分なりに検討しました。使いたいと思ったネットワーク機能(NetJUKE)とは
コンセプトは、ブロードバンド環境とストリーミング機能を、あえて個人的データ転送として利用するという独自の考え=「パーソナルストリーミング」です。発想のキッカケは単純で、ADSLを利用しはじめたときに「せっかくの常時接続を利用して、自宅のパソコンにある音楽ライブラリをほかの場所(会社)で好きなときにスムーズに聴けないかな」というものでした。既存の方法でも実現できなくはないのですが、
- 全ファイルを何らかのメディアで持って歩く
- わざわざFTPやWebサーバを構築し、ダウンロードしたあとに聴く
などというかなり実用的でない方法しかないため、自ら「難しい設定なしで簡単に動作させることができるストリーミング専用Webサーバ」を作ろうという発想に至り、開発をしてきました。仕組みとしては、遠隔からWebブラウザでアクセスし、曲一覧に対して絞り込み検索などを行って、希望の曲をクリックすることにより自動的に「BEAT! MusicPlayer」と連動したストリーミング鑑賞を行えるというものです(詳細はhttp://radio.pino.to/を参照。利用できるプロトコルはHTTPのみですので、ブラウザアクセス可能な環境であれば、ほぼすべての環境で楽しんでいただけると思います)。
開発中に苦労した点
ソフトウェアの説明と理解
プレイヤーについてはほかのソフトを含め、比較的利用している人が多いため、各機能を説明・理解してもらうのはさほど難しくないのですが、ネットワーク機能についてはやはり最低限理解していただかないといけない部分が多く、初心者の方に説明し、理解していただくのには現在も苦戦しております。
初心者を含めてネットワーク機能の敷居を低くする
そのため、IPプロトコルなどを意識しなくてすむように、なるべく自動で操作できる仕掛けを付けたりしました。NetJUKE(ネットワーク機能)も一度設定すれば、利用方法としては単純で、音楽ライブラリをリストに登録して「オンデマンド」or「リアルタイム」のボタンを押すだけで起動し、ほかの場所からIPアドレスをhttp://(IPアドレス)/として入力するだけで、あとは通常のホームページの操作と同じようにID3タグにもとづいた歌手・曲名絞り込み検索などが行えます。遠隔からアクセスする際にグローバルIPを覚えていなくても自動で登録され検索可能なNetJUKEステーション機能も用意しました。http://radio.pino.to/から自分のマシンを探すことができますし、ホームページを持っていなくても多数の人に公開できます。
ユーザにお勧めする使い方
使い方は特定していません、下記のようにアイデアはいくらでも出てくると思います。
- ADSL・FTTH環境同士で友人宅に出かける前にNetJUKEを立ち上げておいて、自分の曲を友人と一緒に聞く
- 自分のパソコンの中の曲を会社の昼休みに鑑賞する
- NetJUKEステーション登録(http://radio.pino.to/)とマイク入力を利用して、大勢に向けたラジオ放送をしてみる
- 校内ローカルLAN内で授業の音声をストリーミング配信する
これだけブロードバンド環境が各家庭や会社に普及してきて、しかもパソコンを使って自分の音楽CDを圧縮音楽ファイルとして保管し、楽しんでいる方が多くいる現状、新しいパソコンにおいての個人音楽鑑賞のスタイルが出てくればいいなと、希望的に考えています。単に音楽ファイル鑑賞用プレイヤー単体機能を追求される方は、機能面だけならほかにも優れたソフトが山のようにあると思いますので、そちらを探されるのがベストかと思われます(本ソフトの機能も通常の鑑賞であれば十分な機能を持っていると思いますが)。しかし「NetJUKE」と連動したり、「SHOUTcast」などの既存の放送を手軽に楽しんでもらうには、「BEAT! MusicPlayer (with NetJUKE)」は最適なストリーミングツールセットではないかと考えています。また、既存のプレイヤーと併用し、「BEAT! MusicPlayer」をネットワークに特定して利用するプレイヤーとして位置付けるのもよいのでは、と思っています。今後のバージョンアップ予定
簡単に利用できるように作成したつもりでも、「ネットワーク機能」については多少の知識が必要になることから、何とかマニュアルを作成したいと思っています。(が、ドキュメント作成は私自身苦手な作業で、開発以上に時間がかかります。現状では、その時間を機能追加に回してばかりいます。笑)開発としては、プレイヤーの軽量化とActiveX化を行い、ブラウザ内で演奏ができるようにしようと考えています。
謝辞
「ネットワーク全般」および「ストリーミング再生」部分の開発においてアドバイス・開発協力を多大に行っていただいたnullpointersのvoid様に感謝いたします。
(PINO)