さて、先ほど電子書籍の表紙作成用サービスをひっそりとリリースしました。名前ははめぴくっ!です。
何ができるかというと……
- 破滅派で出しているKindle本のサイズにあった電子書籍の表紙が作れる
- Webフォントが使える
というものです。目的としては、「表紙画像をまったく作れない人」がとりあえず電子書籍の表紙用画像を手に入れられることですね。
いまのところ、フォーマットは2つ。
「破滅派」と思いっきり入ってしまうので、他の用途では使えなかったりするのですが、そのうちバリエーションを増やすかもしれません。
今後の狙い
はじめはやる気に燃えていたので、それこそ「PhotoshopぐらいすごいWebアプリ作るぞ!」と思っていたのですが、Canvaというサイトが僕の作ったものの1万倍ぐらいすごかったので、一気にやる気を失いました。
このCanva、すごいサービスですね。日本語フォントが壊滅的という点を除けばほぼパーフェクトです。
追記:2019年4月5日 日本語対応始まったようです。ブックカバー作成サービスもあるそうです。
いままで何個か表紙を作ってきて思うのですが、テンプレデザインとか貸しポジを使ってしまうと、いかにも「借りてきました」という雰囲気が漂ってしまいます。やはりオリジナルの素材やイラストがいいと思うので、今後はそちらに注力していく予定です。
たとえば、最近佐川恭一さんという作家さんの小説『シュトラーパゼムの穏やかな午後』を破滅派から出したのですが、イラストレーターさんに頼んで色々書いてもらったりしました。やはり作品の内容に即したイラストの方が満足度高いですし、いいものができると思うんですよね。
Webアプリの機能としては、文字が載せられて、Webフォントが使えれば十分かと。あとはイラストレーターや写真家とのマッチングが必要だと思っています。
技術的な狙い
今回はいわゆるMEANスタック(MongoDB, Express, Angular, Nginx)で作ってみました。このうちいままで使っていたものはNginxだけだったので、かなり苦戦しました。文学フリマに参加したり、オフィスを引っ越ししたりで忙しかったので、のべ一ヶ月ぐらいかかりましたよ。
一番の肝はWP-APIを利用して、WordPressアカウントによるログインを利用しているところ。ユーザー情報はWordPressのものを利用し、画像に関する情報だけを取り扱っています。
なぜMEANスタックにしたかというと……
1. 飽きた
最近同じことばっかりやって飽きたというのが一点。
2. PHP以外の資産を利用したかった
もう一点は積極的な理由で、NodeだとPhantomJSというヘッドレスブラウザ(スクリーンショット撮るのに使う)が利用しやすいからです。プログラミング言語には、その言語自体の質や特徴とは別に、文化圏みたいなのが存在します。NodeはJSのテストツールが豊富なので、PageresのようなPhantomJS拡張みたいなライブラリが豊富でした。まあ、僕がnode 0.12.7で開発しているうちに、いつの間にか4系がリリースされてたんですけどね。
たとえば、いま作ろうと思っているものに文章の難易度推定器があるのですが、PHPで頑張って作るよりも、PythonあたりでNLTK使った方が明らかに楽なわけです。
そうした必要な機能要件をうまく切り分けて、APIによる通信を行えるようチャレンジしたかったわけですね。
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)
3. WP-APIをちゃんと使いたかった
WP-APIというのはWordPressにREST APIが実装されるされると言われつつ、なかなかコアに採用されなかった機能なのですが、要するに上で挙げたような「外部とのAPI通信を容易にする」という機能です。
で、サンプル記事とか見ても、「WordPressの情報がJSONで表示できる!」みたいな「だからなに?」というものが多いです。基本的には「外部のサイト・アプリからWordPressの情報を認証つきで利用する」というのが肝だと思うんですよね。「ログインしてみました!」という記事も菱川さんのが一つだけありますが、がっつり「こういうサイト作ったよ!」というのがなかったりします。
去年のWordCampでも、WP-APIをプラグインとして作っているAutomatticの開発者が「まだ実例があんまりなくて困ってる」と言っていましたね。WordPressと連携しているスマホアプリって、現状では単にFeedを表示するだけのWebViewラッパーが多いと思います。
そんなわけで、「ほんとにできるんかいな?」という疑念を解消すべく、まずはやってみました。本音を言うと、この「はめぴくっ!」でWordPress連携が必要だったかというと、別になくてもよかったのですが、近々作ろうと思っている破滅派スマホアプリのための練習台としました。ハマったポイントとかはまた後日記事にでもしようと思います。
次はmonacaあたりを利用して、破滅派のSNS機能を重視したアプリ(Facebookのメッセンジャーとtwitterを足して2で割ったようなやつ)の開発に着手したいと思います。2系で大きく変わると言われているAngular 1系を採用したのも、monacaがAngularベースだからだったりします。ここらへんの取り組みについて、興味のある方は質問したり、応援したりしてください。勉強会もやりたいなと思っているのですが、来る人がいるのか疑問です。
*
ちなみに、このはめぴくっ!ですが、Safariだとうまく画像がダウンロードできなかったりします。理由はよくわかりません……そのうち直しますので、ご愛嬌ということでここはひとつ多めに見てやってください。おしまい。
[429] [429] Client error: `POST https://webservices.amazon.co.jp/paapi5/getitems` resulted in a `429 Too Many Requests` response: {"__type":"com.amazon.paapi5#TooManyRequestsException","Errors":[{"Code":"TooManyRequests","Message":"The request was de (truncated...)