デジタル庁はまずExcel方眼紙を代替するフォーマットを整備しろ
見出し画像

デジタル庁はまずExcel方眼紙を代替するフォーマットを整備しろ

政府のデジタル・トランスフォーメーションを推し進めるためデジタル庁なるものが発足することになったが、デジタル庁が真っ先にやるべきことして、Excel方眼紙の代替となるファイルフォーマットを整備し、その編集アプリの開発を促すことを提案したい。

なお、先に書くと、Excel方眼紙が使われているのは相応の理由があるので、その理由を満足させるより改善されたフォーマットを使おう、という話である。

入力フォームはExcel方眼紙より専用フォーマットがよい

Excel方眼紙を排除すべき理由は、機械可読性が低く、データベース化や自動集計などに支障をきたすことである。xlsxはスプレッドシートであって、入力フォームの典型例であるDictionary型のデータ構造{名前:□□□□, 年齢:□□歳, 住所:□□県 ...}との対応関係が定義されているわけではなく、対応付けを人間の解釈に頼っている。例えば入力フォームでは、ラベルの右に入力欄がある場合と、ラベルの下に入力欄がある場合があるが、そのどちらかはまちまちであり人の解釈に頼っている(下記例では空いている方のセルと読めるが、行政用の申請書では下記のレベルの単純なルールでは済まない)。

スクリーンショット 2020-09-29 215332

入力フォームの解釈ならまだマシなほうで、見た目のレイアウトをするためだけに意味のないスペースが入っていて電子的検索を邪魔することもザラにある。「男・女(該当する方を○で囲む)」と書かれ図形挿入機能で○を付けさせるような入力欄となると、自動処理を作るのでさえ生半可な手間では済まない。少なくともマクロやノーコードの類でそれを実現するのは困難で、無理にやったとしてもバッドノウハウの塊になるだけである。こんなやりかたを放置していては生産性は大きく下がってしまう。

Excel方眼紙を代替するフォーマット

Excel方眼紙の弊害を回避して機械可読性を高めるには、
1. 先にデータ構造=入力項目を定義する
2. その項目定義を、紙やWebサイトの上にレイアウトする
という情報からなるフォーマットを定義すればよい。機械のほうはデータ構造を読み、人間はレイアウトされた情報を読めばよい。下図ではJSON風の記法だが、XMLでも何でもよい。既にXSLTという規格があり、XMLをHTMLに変換してCSSでレイアウトすることは(サポートするブラウザは少ないとは言え)可能だが、紙のメディアへの印刷が前提であることを考えるとSVGをビューとし、XMLやJSONのデータ構造と対応付けを行うのが良いだろう。

スクリーンショット 2020-09-29 220907

データ構造側がJSONやXMLなど既存ライブラリで処理できるようになっていれば、自動集計機能やバックエンドとなる別システムの接続は容易に組むことができる。

加えてフロントエンド側でも利益があり、(Excelマクロでもできるが)入力値の妥当性チェックもできるようになるし、Excelではできないこととして、レイアウトが切り離されていなるので書類の文面を模したグリッドをやめて別のレイアウトで表示させることも容易になる。特に一問一答式で入力のほうがやりやすいという人も多く、国勢調査のWeb入力は一問一答式になっていたので、アクセシビリティの面でもこの形式があるほうがよいだろう。

入力欄編集用・閲覧記入用アプリの開発

フォーマットだけ定義されていても使えなければしょうがない。そのため、入力欄編集用および閲覧記入用のアプリも新規に開発する必要がある。アプリの開発は大変なように思えるが、このアプリはそれほど難易度が高いわけではない。私でも1人年あれば十分にモックを作るところまで行けるだろう。特に編集機能もフルのSVGではなく方眼紙ベースでの編集としSVG規格の一部しか使わないなら開発はより容易であろう。

フォーマットを定めたということは誰が開発してもいいということであり、OSSでリファレンスアプリを組むとよいだろう(これにバグがあっても国の責任ではない)。Excel方眼紙はどうしてもプロプライエタリなアプリ、Microsoftという私企業のアプリに依存しているという批判を免れないが、この形式であればそのような批判は躱せる。

また、専用アプリに暗号化機能をつけてもよいだろう。例えば、国の側で公開鍵サーバを用意し、各自治体はそこに公開鍵を登録して、提出用ファイルとして暗号化済みファイルを作成(または送信)することが出来るようになれば望ましい。これは、ほぼザルであるにも関わらず広く行われているパスワード付zipファイル送信(PPAP)に比べ遥かに安全性が高いうえ、設計を間違えなければ遥かに簡便な操作で作ることが出来る。

なぜファイルフォーマットから先に整備すべきか

工程表において他の全ての具体的なデジタル化に先駆けて行うべきものである。なぜファイルフォーマットから先に整備すべきなのか。

①陳腐化しにくいから

フォーマットの整備を先にすべき第一の理由は、システムは陳腐化し技術的負債になる恐れがあるが、ファイルフォーマットはそうではないという点である。

システムは陳腐化しやすい。例えば、1990年頃はNEC PC-9801シリーズ一択に近かったが、2000年頃にはWindowsに置き換わり陳腐化した。開発言語も流行はしばしば変わり、特にWebの開発はこの10年でもフレームワークの流行は頻繁に変わった。維持にコストがかけられなければメンテナンスにもリプレースにも大金がかかる「技術的負債」と呼ばれる重荷になりかねない。

だが、システムが変わってもやりたいことは一緒だ。住所、氏名、年齢、性別を書けというのはデジタル化以前から変わっていない。もっと一般的にすれば「項目名があり、それに対応する入力欄がある」というデータ構造――Excel方眼紙でやりたいこと――は業務に関わらず不変である。データ構造を定義するフォーマットは不変・普遍であり、例えばカンマ区切りデータ(CSV)はありとあらゆるシステムや言語で1972年から相変わらず使われている。Excel方眼紙もxlsxだけで数えても10年を超えた。Excelも役所の窓口仕事、申請書記入は来世紀でもやっているだろうからフォーマットを定める意味はある。

②システム全てに関わる基層だから

このファイルフォーマットは行政処理のありとあらゆるところで使われるExcel方眼紙の代替だけに、あらゆるところで使われることを想定している。今後行政向けのシステムを開発していくうえで、このファイルフォーマットを前提にできるかできないかで全然違うものができるし、あったほうが良い。

このようなアイデアを開陳すると、Excel方眼紙なんかやめてWebにしよう?という意見も聞かれるが、Excel方眼紙はWeb化になじまないところで使われ続けている。デジタル化されていたとしても、1週間以内に提出してほしい書類を急遽作成するとか、年に1~2通しかないが記録の義務があるような書類(例えば中小企業の新規雇用など)は入力用フロントエンドをいちいち発注していられない。そういった部分ではExcelでファイルか紙面での提出が普通に行われているし、機械可読性の高いこのファイルフォーマットを整備すれば閲覧記入アプリをWebアプリとして実装することも容易であり、お役所用のCMSにそれを実装しておけば、一種のノーコード的に追加発注なしクライアント側だけでWeb入力欄を作成するようなものを作るのも容易になるだろう(それでいいならgoogle formなどすでに類似品があるが、特に行政となると個人情報保護の観点からデータの扱いに審査が必要であったりと外注のハードルが高い)。

また、ファイルフォーマットが決まっていれば、それでフロントエンド側のインターフェースの仕様を固定しやすく、それによって弱結合化しやすくなるのでシステムを分割して置き換えることが容易になり、技術的負債化を防ぐ効果さえあると考える。

③単年度予算主義に合うから

第三の理由は、お役所の予算のつけ方にあっているということである。ファイルフォーマットはきちんと定義できればメンテナンスの必要性は低い。少なくとも、そのコストはシステム維持やアプリ維持に比べて大幅に低いし、その結果として、お役所の好む単年度予算にフィットする。フォーマットのアップデートがしたければまた単年度の予算で組めばよいし、一度成立してしまえば政府がオブザーバーであるコンソーシアム的なところに投げてしまうこともできる。最悪、新フォーマットが使われないことがあったとしても、単年度の予算をドブに捨てただけであり、失敗したシステム開発が技術的負債と化して延々とコストを要求するような心配はしなくてよい。

ただ、このような状況にするには、機械可読なフォーマットを定義して(ここまで国の責任)、アプリはサードパーティ(リファレンスはOSS)で入力欄編集用・閲覧記入アプリを組む(これにバグがあっても国の責任ではない)体制にする必要はある。

追加のフォーマット

ついでに言えば、レイアウトや印刷用のスタイリングもある程度自動でできると好ましい。空白などを適当に調整してくれると楽であるし、目の不自由な方、高齢者などに読みやすいスタイリングをプリセットとして持っておくとバリアフリーの役にも立つだろう。

加えて、プリセットのスタイリングを使えるのであれば、ファイルからOCR用のヒントを作成することも容易であり、紙で提出してもらってもスキャンすれば自動的にある程度入力欄が埋まる、ということにもしやすいだろう。

スクリーンショット 2020-09-29 221052

加えて、オントロジー(ある種の辞書)を整備しておき、氏名や年齢など頻出する入力欄はオントロジーをたどれるようにしておくと、ユーザがアプリに登録しておいた情報を自動入力できる機能の作成や、入力欄の多国語化なども容易にできるようになるだろう。

Excel方眼紙がなくなっていない理由を考えよ

ここまでも少しずつ書いたが、Excel方眼紙がなくなっていないのは相応の理由がある。Web化するにもシステム発注をするほど量をさばかない案件は数多くある。「紙1枚に収める必要はない」と言っても、行政はデジタルに疎い人のために窓口を開けざるを得ないし、その現場では紙1枚に全部を収めないと管理が難しい(窓口でホチキス留めなど愚も愚)。デジタル入力と紙の入力で同じ内容の別レイアウトを作成するのも管理コストが上がる。デジタル化しようにもデータの安全性やトレーサビリティなどで安易に他の業者に外注できない。そのあたりの事情でExcel方眼紙がはびこっているわけで、なくそうと思えば相応の手当は必要になると考える。





この記事が気に入ったら、サポートをしてみませんか?
気軽にクリエイターの支援と、記事のオススメができます!
ツイッターだとまとまりが悪いが、本ブログ(https://crossacross.org/ky/)に書くには雑多すぎるという内容を中心に書きます。