019 - hacker.develop(Phone);
「よーし、いいぞー。早くかけてくれ!」
「はい、今からかけますね」
何をかけるかと言えば、もちろん電話のことである。
大声を出さないと伝わらないほどの距離をとって、今からいよいよマギによる電話のテストをするのだ。電気も電波も使っていないのだから電話と呼ぶのもおかしいが、ボスにも電話という名前で伝えてしまったので、もはや定着してしまった。
場所は、シィの家のそばの地平線が見えるほど広々とした草原だ。他に広い場所となると王都の外に出なくてはいけないため、不便だし危険もある。
シィはワクワクとした顔をして僕がはじめるのを今か今かと待っている。バレットはそのすぐそばで伏せて寝ている。
ボスの準備が整ったようなので、こちらからボスのマギデバイスへと架電する。ちなみに『架電』とは電話を掛ける事をいう。電話線を架けていた事からだろうが、この世界では登場しない単語だろう。
「【コール・テレフォン・ボス】」
モーションではなく口頭で
「わっ! きたっ! きたぞ! バンペイ! きたきた!」
どうやらきたらしい。
呼び出し音が止まると、目の前にボスの上気した顔が現れた。そう、ただの電話ではなく調子にのってテレビ電話を実装してしまったのだ。音声を符号化した要領で、映像を符号化して送り出している。
マギデバイスの性能や通信速度がいずれも問題ない、というよりもまだまだ余裕があるため、比較的容易に実装できたのだ。
「もしもし、聞こえますか、ボス」
「も、もしもし。わ、私は、ルビィです。あー、あー、き、聞こえてるぞ」
初めての電話になぜか緊張している様子のボスは、英語の教科書に出てくるような不思議な挨拶をしてきた。『もしもし』は僕が教えたものだ。
「こちらも聞こえてます。音声も映像も大丈夫そうですね」
「あ、ああ……すごい、これはすごいぞバンペイ!」
「ねえねえ! シィもでんわする! おにーちゃん、でんわしてもいい?」
「うん。電話中に着信が来た時のテストもしたいからちょうどいいね」
答えるやいなや、シィがマギデバイスを器用に操ってモーションを起動する。モーションでは電話をかける相手を事前に指定できるため、マギデバイスを一振りするだけで僕へと電話をかけてきたのだ。
シィのマギデバイスから呼び出し音が鳴り始めるのと同時に、僕のマギデバイスからも『ジリリリリン!』というベルのような音が響く。黒電話の着電音にしたのは、なんとなく初期の電話という雰囲気を重視したからだ。
僕の目の前にボスの顔が表示されているスクリーンとは別に、着信を知らせるスクリーンが現れる。相手がシィである事も表示されている。
「わぁ! シィの名前が書いてある!」
喜ぶシィを微笑ましく感じながら、着信スクリーンをマギデバイスで操作すると、すぐに電話セッションが開始して横にいるシィの顔がスクリーンに現れる。
「うん、多人数で電話も大丈夫そうだね」
「もしもし! もしもし! シィだよー!」
「こ、これは? シィの声まではっきりと聞こえてきたぞ!?」
「ええ、同時に複数人と会話しやすいように調整してあります」
「なんということだ! これは革命だぞ! マギサービスの大革命だ!」
「かくめいだー!」
テンション高く騒ぐボスと、元からテンション高くはしゃぐシィを傍目に、ほぼ完成までこぎつけた事を感慨深く思う。
シィのおうちへ行ってから数日が経っていた。
ここまで電話の開発が順調に進捗したのは、シィに借りた『仕様書』に役立つ情報が含まれていたからだ。難解で迂遠な仕様書ではあるが、貴重な情報が山ほど含まれている事に変わりはない。
音声の符号化、つまり0と1への変換は問題なくできていて、あとはこれを遠隔の相手に送り出す方法が問題となっていた。通常は電波で行うところだが、どうせならマギで実現したいと欲をかいていたわけだが、この解決策が見つかったのだ。
実は遠隔のマギデバイス間の連携というのはマギサービスで利用されている。
そもそもマギサービスとは一体なんなのか。地球の技術に例えるならば、まさしくインターネット上のウェブサービスのようなものだったのだ。
マギサービスを利用するたびに、利用者のマギデバイスから『
遠隔発動の際には利用者のマギデバイスを起点とするため、一見すると利用者のマギデバイスがマギを発動しているように見えるが、実は水を作り出したり、火を着けたりしているのは遠くにある企業側のマギデバイスである。
これによって企業にマギサービスの利用が伝わり、利用回数に応じた利用料の課金が可能となるのだ。
要するに、利用者側のマギデバイスがスマホで、企業側のマギデバイスがサーバーのようなものだ。スマホのアプリを使う感覚で、みんなマギサービスを利用している。
アプリを使うたびに利用料が課されるが、月末に携帯電話代と一緒に支払うように、マギサービス登録所で支払いをしている。
ここで技術的に注目したいのは二点。「遠隔のマギデバイスにリクエストを送り出している事」と「遠隔のマギデバイスを起点にマギを発動している事」だ。
恐ろしい事にこの遠隔の通信は『
地球の科学技術では考えられないレベルの無線通信が可能なわけだが、一体どのようにして実現されているのかはわからない。マギデバイスを分解でも出来ればわかるのかもしれないが、ブラックボックスになっていて不可能だ。
仕様書には通信機能の仕様説明はあっても、通信機能をどのように実現するかは書かれていない。そこはやはり仕様書という事だろう。
かなりモヤモヤとした葛藤を抱えつつ、利用できるものは利用しようという事で、リクエストの要領で符号化した音声を送り出し、遠隔のマギデバイスを起点に受け取って再生するマギを発動、という形で電話を実現する事ができた。
スクリーンの任意表示やマギデバイスの操作受付は、仕様書に簡単な説明がマギランゲージと共に載っていたので、さぐりさぐり実装できた。
「うむうむ。さすがはバンペイ、私が見込んだ通りの男だったな。これでいよいよマギサービス運営に乗り出す事ができそうだ」
「あ、その前にマギサービスとして使えるようにしなくてはいけませんね」
今の電話はあくまでマギデバイスに入れたコードを呼び出しているだけなので、マギサービスのように利用料の課金や登録者の管理はできない。
「そうだったな。やれやれ、実物を見てしまうと待ちきれなくなってしまう。ふふふ、登録所のやつら、きっとあっと驚くぞ」
ここ数日、ボスは登録所でマギサービスの登録申請手続きを進めているのだが、どうやらその相手がまさにお役所仕事で、型にはまった仕事しかできないタイプの人達だったらしい。
新規のマギサービス申請などここ数年なかった事なので、たらい回しにされたり、必要だと言われた書類を揃えたら実は不要だったりとひどい扱いを受けた、と珍しく愚痴をはいていた。
相当に鬱憤がたまっているらしいボスは、早く新しいマギサービスを見せつけて鬱憤を晴らしたいようだ。
「急いでマギサービス化したいところなんですが、まだ一つ問題があって、電話をかけられる相手が事前にマギデバイスを登録した人とだけなんですよね」
「む? だが、それで十分ではないのか?」
「確かに身近な人と連絡をとるだけなら十分なのですが、例えば食堂に電話をかけて予約する、というような生活をより便利にする使い方ができないのはもったいないと思ってしまうんです」
「なるほど。用途を広げられる可能性があるわけだな。まだ予定の日数は残っているし、バンペイがやりたいというのならば是非はない。が、そこまで言うなら、何か解決方法も考えているのだろう?」
「ええ、これも故郷での話になるのですが、電話が発明された初期には、やはり同じように決まった相手にしかかけられない状態でした。そこで、電話をつなげる先を『受付』のようなところ一か所だけに集約して、受付に電話をかけたい相手を話すと、電話相手へとつなげてくれる、という発想が生まれたんです」
受付は『電話交換手』と呼ばれていた。東京・横浜間をつないだ電話サービスが始まったのは19世紀末の話で、当然すべてが人力で行われていた時代である。
今の電話機には当たり前のように電話番号を指定するためのダイヤルがあるが、初期の電話機は交換手に話したい相手を口頭で伝えていたため、ダイヤル自体が存在しなかった。受話器をとると交換手に直通だったのだ。
当然ながら電話が普及するにしたがって人力ではすぐに限界が見え、20世紀に入ると機械による自動化が進んでいく。
どのような技術でも最初は人力からはじまり、徐々に自動化していくというのが普通だ。その流れは不可逆で、一度自動化されたものに慣れてしまうと元には戻れない。
僕の提案しているのは最初から自動化された交換機だ。現代の便利な電話に慣れてしまった僕は、恐らく未知の相手に電話をかけられない不便さを感じてしまうし、自分の作ったものに不満点があるなら改善したいと思うのは、プログラマとしての
「う、うん? すまないバンペイ、よく理解できなかった。その受付というのは、人が行うという事か?」
「ええ、初期はすべて人力でやってましたね。もちろん、すぐに追いつかなくなって自動化されました。僕も最初から自動化するつもりです」
「なんだかバンペイの話を聞いていると、常識がどこかにいってしまいそうだ……しかし、形を変えたマギサービスみたいなものだと思えば理解できるな。そう考えると、新たなマギサービスの仕組みを作りだすというような途方のない話に聞こえるが……」
「……予定には間に合うように善処します」
一度こだわりはじめると、予定を度外視してしまうのもプログラマとしての悪い
//----
そうして、長いようで短い十日間が過ぎていった。
提案した『交換手』はギリギリで実装が間に合い、専用のマギデバイスが仲介役となって全てのマギデバイスをつなげられるようになった。
交換手役のマギデバイスはそのままマギサービス用も兼ねるので、マギサービス登録所で利用登録したマギデバイス同士なら誰でも自由に電話をかけあえる事ができる。
電話先の指定方法は悩みに悩んだが、やはり慣れている電話番号方式に落ち着いた。電話番号でダイヤルをするか、手元のマギデバイスの『電話帳』に登録するか、好きな方で電話をかけられる。
マギサービス化も無事に完成でき、あとは登録所へ正式に登録すればサービス提供が開始できるところまで漕ぎ着けることができた。
僕もボスも最後の日には疲労困憊だったが、その分完成した時の嬉しさは大きく、夜を徹しての宴会でボスがいつも通りに酔い潰れたのは言うまでもない。
僕がこの世界に来る前にデスマーチで経験したプログラミングと、ボスに出会ってからの十日間で取り組んだプログラミング。どちらも同じ疲れる行為のはずなのに、前者には辛く苦しい記憶がついてまわり、後者には楽しく夢中になった記憶が残っている。
好きだったはずのプログラミングを嫌いになる寸前まで追い詰められていた僕は、この世界で好きだったプログラミングを取り戻す事ができたのかもしれない。
この世界に存在しないマギサービスを生み出したことで、憧れた偉大なハッカー達に一歩でも近づけただろうか。
マギハッカーと呼ばれた賢者は、僕の作り出したものを見てまだまだ未熟だと笑うかもしれないな。それとも、もっとマシなものを作れと怒りだすかもしれない。
なにせ、プログラマという人種は自分のコードが最高だと思う短気で傲慢な人達ばかりだから。
僕がなぜこの異世界へとたどりついたのかはわからない。誰かの意思によって連れてこられたのかもしれない。だとしたら、僕はその誰かに感謝しようと思う。
もう一度、夢を持って前に進めるのだから。
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます