使い分け

  • postmate-midi リポジトリ
    • 用途
      • 破壊的変更をしながら、
        • 体験を優先してアプリ構築をする、のを試す用
    • 進め方
      • 破壊的変更を頻繁に行う
      • ドキュメントで宣言をする
        • 破壊的変更を頻繁に行う
    • 優先すること
      • 開発者の心理的安全性
        • いつでも、なんでも、どれだけでも、破壊してもいい
        • プロトタイピングにしてもいい(リポジトリを捨ててもいい)
  • postmate-midi-experimental リポジトリ
    • 用途
      • 「確実に鳴る」断面、を用意する用
      • 「このバージョン、この断面なら、動いていた」を確認できるようにすることで、
        • 問題切り分けをスムーズにする用
      • シンプルな実装のexampleを提供する用
    • 説明
      • デメリット
        • 迷走しやすい
          • ジレンマになりやすい
            • 検証のための実装には、一歩踏み出して破壊的な実験的な実装が必要
              • その実装のためには、もっとuser体験ベースで集めた検証データが必要
                • 鶏が先か卵が先か問題、になりやすい
          • シンプルな最低限の実装をしようとする
            • だが、その実装のためには、もっとuser体験ベースで集めた検証データが必要
              • 鶏が先か卵が先か問題、になりやすい
            • シンプルな最低限の実装をしたが、
              • 機能が不足で、
                • 「検証したいuser体験」のデータがあまり得られない
          • ETC原則の実現が難しい
            • 気がつくとがんじがらめになって動けなくなっていた、になりやすい
      • 機能追加したいときは、
        • 新たなナンバリングしたサブディレクトリを増やす
      • ナンバリングしたサブディレクトリそれぞれ、
        • 着手時は
          • 破壊的変更をしながら機能実装してゆく
        • 次のナンバリングディレクトリを作成した時点で、
          • その断面で固定する
          • 変更しないようにする
          • stable, archive, スナップショット的

postmate-midi システム全体の説明

  • 説明
    • イメージ
      • MIDI
        • ブラウザのwebpage1つ1つがMIDI楽器
          • それらをMIDI接続できる
      • モジュラー
        • webpageそれぞれがモジュール
          • それらをpost messageで接続できる
    • 仕組み
      • 接続
        • 複数のwebpageを、擬似MIDI信号で接続する
          • 擬似MIDI信号には、ブラウザのpost messageを利用
    • メリット
      • 開発しやすい
        • 小規模webpageを作るだけなので
      • 接続
        • webpageそれぞれをマイクロサービスとして作るだけで、
          • それらを接続できる
      • 再利用
        • マイクロサービスそれぞれの再利用性が高い
          • 必要に応じて作り直すのも楽
      • 腐らない
        • 作ったアプリが腐らない
          • もし仕様変更しても楽に作り直せる
            • 作りやすく、再利用しやすいので
      • 無料
        • 高価なネイティブDAWを購入したり、無料利用のための煩雑な会員登録をしたり、といった手間は一切ない
        • ブラウザでクリックすればすぐ音が鳴る
      • 即時性
        • ブラウザでクリックすればすぐ音が鳴る
      • 完結
        • ブラウザ内で完結できるので自由度が高い
          • ブラウザだけでなんでもできるということ
            • 「PCやiOSのプラットフォームに専用MIDIアプリと仮想MIDIケーブルが必須、それがないと鳴らない」
            • といったことがない
            • ブラウザでクリックすればすぐ音が鳴る
    • 用途
      • postmate-midiシステムの将来的な用途、想定する用途
        • 手軽に音楽を楽しむ用
          • そのための小規模モジュールを、
            • 手軽に実装して楽しむ用
      • リポジトリの用途
        • 実験用
          • 最低限のdemoがあり、音が鳴る。
            • それによって、考えを実証する用
    • 使い分け
      • WebMIDI
        • PCにある「ほかのMIDIアプリ」と「ブラウザ」とを接続する用
          • MIDIアプリ1 : ブラウザ
          • MIDIアプリ2 : DAW
          • を接続する用
      • postmate-midi
        • PC / iOS / Android / Linuxすべてで、
          • 「ブラウザ内の複数のwebpageどうしを」接続する用
          • スマートフォンで
            • webpage1 : MIDIキーボード
            • webpage2 : ソフトシンセ
            • を接続する用