そしてついに、32進法の「アマゾン標準識別番号」誕生
そこで私、レベッカ・アレンは、コードへの影響を最小限に抑える「ASIN」を、10桁のISBNコードに替えてカタログのキーに使用することを提案した。すなわち、ISBN(商品が書籍であり、ISBNコードが付与されている場合)か、さもなければ「62進法の数字を表す別の10桁のシリアル番号」を使うという案だった。
この、アルファベット26文字それぞれの大文字小文字に10の数字を加えるという62進法のアイディアについては大きな反対の声があがった。「大文字と小文字の識別をしなければならない」ことの壁が高かったからだ。たとえば、「b000000000」と「B000000000」はまったく別の数字になる。
そこで私は反対意見を受け入れ、代わりに36進数(アルファベット26文字と数字10)で十分だろうという結論を出した。
さらに、キーに何かしらの「構造」が必要ではないかという議論が持ち上がった。たとえば、クレジットカード番号には数々の構造がある。ISBNもその点では同様だ。
だが私は文字列を細分化して、それぞれに別の意味を持たせることには反対だった。それによってアドレス可能なスペースが大きく減り、アマゾン経由で販売する商品の数が制限されてしまい、いずれまたもっと大きなコードベースで作り直さなければならなくなるからだ。
Getty Images
「こんなことをしなければいけないのは罪(A SIN)です」
だが、どうしても「特別な」ASINコードを作りたいという人々はなかなかあきらめなかった。そこで私は譲歩した。
彼らが求める特別なコードは「A」から始め、私はASINのカウンターを「B」から始めるのだ。私の案は、最終的にシェルの了解を得なければならなかった。シェルはコードを調べて、ISBNがひもづけられていたものをすべて「ASIN」なるものに変えてしまうというアイディアに難色を示した。
この案はさまざまな意味で危険を最小限に抑えるものだったが(文字列の長さと使える文字が同じという点では、ISBNは「正式なASIN」でもあった)、同時に多くのコードの書き換えが必要になり、ひとつ間違いが起きれば致命的だったからだ。
だが、ときにはユーモアが大いに役立ってくれるもので、私はこれを「Amazon Standard Identification Number(アマゾン標準識別番号)」という正式名称で提示すると同時に、「こんなことをしなければいけないのは罪(A SIN)です」とつけ加えて、当時カタログやシステム全体で使っていたISBNを皮肉った。
シェルとしばらく密に働いていた私は、彼と話す時に、アークサイン(ASIN)関数を引き合いに出すことを思いついた。数学好きでなければ面白くもないだろうが、シェルは面白がってくれた。そして提案を真剣に検討し、CTOとしての権限で承認した。それがなければ、このプロジェクトを進めることはできなかっただろう。
いま、ASINはどうなっているのか? たとえば、ブラッド・ストーンの最新著書、”Amazon Unbound: Jeff Bezos and the Invention of a Global Empire"を例に取ろう。