古き良きMac/PCの自由でクソだったところ備忘録

USB Type-CとヘッドホンジャックしかついてないMacBookを買ったんですよ。で、そろそろiPhoneAndroid登場後、これらスマートフォンに比べてMac/PCのココが自由だったけどよく考えたらクソだな!ってところを書き残しておこうと思いました。なぜならMac/PCもどんどんiOSAndroidのやっていることを追っかけつつあり、そのうちこいつらがいかに自由でクソだったかも忘れてしまうだろうと思ったからです。

アクセス権

昔のシングルユーザーなパーソナルコンピュータにはそもそもアクセス権みたいなものすらなかったけれど、iPhone登場前のMacやPCには一応複数のユーザーがあって、他のユーザーのファイルにはアクセスできない、とか管理者権限がないとシステムファイルは変更できない、というのがありましたね。iPhoneでアプリが開発できるようになってみると、これがさらに「他のアプリの書類/設定には一切アクセスできない」ものでした。サンドボックスってやつですか。
Mac/PCでの作業だったら、例えばデスクトップとか書類フォルダに置いたファイルを他のアプリで開いたりしていたわけです。アドレス帳の情報なんかもどのアプリからも見られたし、ブラウザやメールソフトを乗り換える時は、新しいアプリから自動的に前のアプリのメールボックスや設定を読み込んだりしていました。そういうことはもうできなくなりました。
でも慣れてみるとこれ当然じゃないですか?ちょっと待って、今までのMac/PCってつまり何か新しいアプリをインストールしたとしますよ、そのアプリ何の権限もなしに私のブックマークとか、アドレス帳とか、メールボックスのファイルにアクセスできたわけですよ。そのアプリに悪意があったらどうするんですか?クソじゃないですか?

アプリストア

iPhoneは最初サードパーティアプリが作れませんでした。Apple謹製のだけ。他はWebアプリでやれ。そんなわけだから、アプリ開発が解放された時それはみんな大喜びしたわけです。ところが、アプリは公式アプリストアのみでの配信、しかも事前審査制、ときました。その頃まではMacやPCで何かアプリが欲しいと思ったら、製作者のサイトや、あるいは星の数ほどある何らかのダウンロードサイトか、そういうところをまず見つけて、ダウンロードし、インストールすればよかったのに。
これも慣れてみると当然じゃないですか?iPhoneなら途中Googleとかを経由するにしろ、最終的にはApp Storeからダウンロードすることになります。事前審査しているから、ちゃんと動かないとか、悪意がある可能性も少ない。しかもアップデートは自動です。ところがこの前PCのアプリを探したんですよ、今や化石じみたWindows 7で動くやつをね。そりゃあGoogleに聞けば目的のアプリはすぐ見つかりますよ。ところがまずそのダウンロードサイトには山ほど広告が貼ってあってね、しかも広告画像がダウンロードボタンに紛らわしいやつなんですよ。ダウンロードしたらしたで、「インストーラ」をまず起動しなきゃいけないんです。このインストーラがアプリごとに全然違う上に、なんとかツールバーを抱き合わせでインストールしようとしてくるからチェックを外さなきゃならない。アプリをアップデートする時は?自動アップデート機能がついているアプリもありますが、それはアプリごとにバラバラに動作します。そのアプリには何の罪もないんですが、これらの過程は紛れもないクソですよ。

JavaFlash、PDF

かつてiPhoneではFlashを見られず、プラグインが開発されることもない、となったときだいぶ問題になりました。Flashに比べれば影は薄いですが、Javaアプレットとかもそうです。でもこれらの実行環境、しょっちゅうセキュリティ上の問題が発覚しますね。例えばWindows PCを使っていたとしてです、Windows自体の脆弱性パッチ、Flashプラグイン脆弱性パッチ、Javaランタイムの脆弱性パッチ、Acrobat Readerの脆弱性パッチ。こんなのが毎週バラバラに出てくる。しかもこれらのアップデートをチェックしてるデーモンどっかにいるわけでしょ?全部バラバラなのが?定期的に起動して更新ファイルをダウンロードする?iPhoneに搭載しなくて大正解ですよ。動作どころかアップデートでバッテリーと容量制限使い尽くすんじゃないですか?クソです。

コンピューターウイルス

iOSAndroidに無いわけではないですよ。でも前述の通り、アプリは審査有りの公式ストアからしかインストールできない、実行はサンドボックス内、OSに脆弱性が残っているとしても少なくともFlashJava脆弱性は関係ないわけです。
方やMac/PCはどうですか?アプリはそこらへんからダウンロードしてきた素性の怪しいやつですら実行可能(許可は要りますが)、サンドボックスじゃないからユーザーディレクトリ内いじり放題。そりゃあウイルスだって作れるわけです。

ウイルス対策ソフト

MacやPCには必需品でしたね。メールの添付ファイルや、どっかからダウンロードしてきたファイル。ネットワークポートを叩いてくる得体の知れないやつら。そういうものからMac/PCを守ってくれると。でもちょっと待ってくださいよ、「ウイルス対策ソフト」がメールの添付ファイルを読み込むことができ…それを削除することもできる…サンドボックスがないからこういうことが出来るわけですが、アプリストアやサンドボックスがあればメールの添付ファイルを実行するなんてことはそもそも出来ないんですよ。「コンピューターウイルスの棲息に必要な環境」、というのは「ウイルス対策ソフトに必要な環境」そのものです。OS丸ごとiOSとかAndoridみたいになってればそもそもウイルス対策ソフトの必要性が薄い。もしあったとして、ウイルス対策ソフト自体がサンドボックスの中で動作させられるのでは、他アプリの作ったアイルをスキャンなんてできないわけです。一時期家電量販店でAndroid用のウイルス対策ソフト一杯売ってましたけど、もうあんなクソみたいな光景も無くなるんでしょうね。ウイルス対策ソフトメーカーの仕事?他のセキュリティ関係でなんか探しましょう。

DLL地獄

いろんなアプリで共通に使うコードは共有ライブラリにしておくと便利でした。そのライブラリを広く配布しておけば、アプリはそれを呼び出すだけでよいわけです。理想は。…じゃあその共有ライブラリがアップデートしたら?こっちのアプリは新しいバージョンの共有ライブラリの機能を使う…じゃあまず新しいバージョンの共有ライブラリをダウンロードしてからそのアプリをインストールして…ファック、別のアプリが動かなくなったぞ!現実はこうでした。iPhoneでどうなったか?共有ライブラリというものはシステムのもの以外にありません。あるアプリが必要なコードは全部アプリに収めてください。こうなりました。ランタイムとかライブラリを探したりアップデートしたりする必要はありません。容量の無駄遣い?何を言ってるんですか?携帯電話に何十GBのストレージがある時代に?


iPhone登場当時はえっ?そんなに不自由なの?と思ったところも今になってみるとそういう感じです。コンピューターは自ら檻に入り、古き良き自由はどっか行きましたが、クソ便利になりましたね。まだまだiOSだけで何もかもやる気にはならないけど、というかXcodeが無いわけだけど、いい時代じゃないですか?