お仕事・制作日記

言ノ葉(ことのば)、公開ッ!

このたび「言ノ葉(ことのば)」というコンテンツを公開しました。
たびのと言ノ葉

コンセプト

ちょっぴり弱気な心を刺激

悔しいとき・悲しいとき・寂しいとき・悩んだとき・もっと強くなりたいとき、気分が憂鬱になったりすることは誰にでもあると思います。そんなちょっぴり弱気な思考がこびりついてしまったときは、そこから逃れるように友達と遊んだり、漫画や映画を観たり、音楽を聞いたり、ゲームをしたり、お酒を飲んだりして、気持ちを切り替えます。それでもどうにもならないけど誰かに相談するほどでもないと思ったとき、そんなときに誰かにとっての「ハッとした言葉・名言・格言」は、あなたを前向きにしてくれるでしょう。
また、とにかくテンションあげたいとき、誰かにとっての「ハッとした言葉・名言・格言」はあなたを奮い立たせてくれるに違いありません。

たびのと言ノ葉では、そんな「ハッとした言葉・名言・格言」を集めました。
ぜひ、お気に入りの言ノ葉と出会ってください。

いわゆる名言集

言ってしまえば「名言集」ですが、こだわったことなど、ここからは制作視点をご紹介します。

思考の切り抜き

アイデアのはじまり

  • 本を読んだり、映画を観たり、音楽を聞いたりする中で、胸に突き刺さる名言に出会うと心が震える。そんな体験を胸に刻んだはずが、そのほとんどを忘れている。それはもったいないからメモしていきたい。
  • 名言だけをピックアップした書籍はよくあるが、あまり好きではない。その言葉を発した前後関係や、その言葉の背景を知りたいからだ。作品でいえば、そのセリフを発するに至るまでの経緯をすべて知りたいのだ。
  • でも、そんなこだわりは抜きにして名言は目に入りやすい。
  • 同じ人の言う羅列は、すぐにお腹いっぱいになってしまう。
  • 名言って、著名人でなくても、身の回りの会話にあったりもする。

大体こんな感じで始まって、実際に「名言集」でググると要件を満たしているコンテンツは確かに存在している。以上。となればよかったが、それらは、どうにもこうにも使いづらい。やれることが多すぎる。見づらい。などなど改善の余地が多分にある。自分仕様で新たに作り込める、と判断。
しかも内容がシンプルなので、一日で仕組みは作れるんじゃないかと思った。

とりあえず要件をざっくり洗い出す

前提として、たびのとのサービス内で作る。たびのとではログインシステムを導入しているので、あわよくば活かしたいと考えた。

  • 名言はランダムで表示
  • 気になった名言は保存できる
  • 保存した名言は解除できる
  • 気になる名言を登録できる
  • 登録した名言を編集できる
  • 登録した名言を削除できる
  • 投稿の敷居を低くするため、ログインしていなくても登録できるようにする
  • 最低限の入力で登録できるようにし、必要以上の情報はあとから追加できるよう入力エリアだけ用意しておく
  • キーワード検索で、いろいろサマれるようにする
  • 気になった名言をSNSで共有できるようにする
  • 関連商品を紹介する(Amazonアソシエイトを利用する)

さらに入力フォームの要件を考える

  • 必須項目は2つ。名言と(誰の発言or(誰の作品or作品名))
  • 西暦は数字のみで、入力はセレクトで用意する
  • type=text の値は、サジェスト機能を導入する(サジェスト用DBリストを別途用意)
  • サジェストで選択した場合は、あらかじめ持っている固定情報を自動補填する

入力フォームの要件はすべて満たすのは難しいとしても、まぁ一日やればできるだろうと思いつきミニ・プロジェクトをスタートさせる。

プロダクション・ノート

2015年10月19日(8h)

いきなり本デザインを考える。シンプルであることを第一優先に考え、ページ表示速度に配慮し画像は使わない前提で考えたので、そんなに苦労することはないだろうと判断。そしてコンテンツタイトルとロゴを考える。

「名言」「格言」ってカタイ印象がある。そして名言と思わずとも「ハッとさせれられた言葉」(それがのちに名言になるが)も集めたい。

「言ノ葉」に決まるまでの過程は、「ことば」「コトバ」「言場」「言の場」「ことのは」「コトノハ」「ことのば」、そして「言ノ葉」となった。

そしてそれっぽいフォントをピックアップしてロゴとページデザインを作る。

2015年10月20日(8h)

デザインに納得がいかない。もっとシンプルにしたい。そこで思い切ってコンテンツロゴを外す。ページを開いたファーストビューのほとんどに名言を表示させることにした。ひとつのページでできることが多すぎる(*1)。それをどう表現するか、一旦保留にしてプログラムに入る。

*1) 一ページでできるアクションは、「ほかのランダムを表示」「お気に入り登録/削除」「登録情報の編集」「LINE共有」「Twitter共有」「Facebook共有」「新規投稿」「投稿リスト」「ログインしていない場合のログイン」。

2015年10月21日(6h)

サジェスト用のテーブルと登録用のテーブルを準備。だがしかし、いろんな可能性(とくに海外の人の表記ゆれや情報過不足など)を考えているうちに、一日で収拾できる自体ではないことを悟る。まずは最低限のサニタイズ処理だけ施して、DBに登録することにフォーカスして実装を進める。ひさしぶりコーダーズ・ハイのトランス状態になって、あらよあらよと構築してゆく。

2015年10月22日(8h)

想定した仕様での実装を実現するには少なくとも60時間くらいは必要だと判断。実態は100時間くらいかかるかもしれない。ちょっと現実的ではないので、要件を見直すことにした。
入力時のやさしさケアは諦めた。大きなところでは、サジェストはしない(それに伴い検索機能は作らない)ことにしたためサジェスト用のテーブルは削除。また、登録した情報は編集はできるが削除はできない(誰かがお気に入りにしてるかもしれないことを踏まえると、削除フラグを作って、お気に入り登録された場合に云々・・・と、削除した情報は完全削除すべきではないのか、など考え出すと、どんどん複雑な仕様になっていくため)ことにした。
あとは優先度を付けて実装を進めることにした。

2015年10月23日(3h)

別件でほとんど時間を作ることができなかったが、必要最低限は抑えたカタチでプロト完成。うん、悪くない。実際にいろんな言ノ葉を読むにつれ、自分自身が刺激されてる。

2015年10月24日(5h)

SNSボタンを設置して、アフィリエイト広告(Googleアドセンス)を導入して、リソースはすべて本番に公開。最終チェックをする。

公開。

コンテンツの中身をまとめると、名言の「ランダム表示」「お気に入り保存」「共有」「発信」。
2015年10月25日。なんとか公開できた。とりあえず致命的なバグは今のところ見つかっていない。
あとはまずは名言を量産したい。

そして、これをアプリ化したいと思ってます!とはいえネイティブは作ったことがないので一緒に作ってくれるデザイナーとプログラマー、緊急募集です(笑)。広告モデルのレベニューシェアでどうでしょう?

たびのと言ノ葉

たびのと言ノ葉
たびのと言ノ葉

最近の記事

インタラクションデザイン

5年くらい前に購入した書籍「インタラクションデザイン」。この書籍内ではたくさんの事例が紹介されている。残念ながらその多くは現在閲覧することができなくなっていた・・・

デザイン

Advanced Custom Fields 名前を変更して、データも反映させる

WordPressを自作する上でもはや欠かせないプラグインの一つが、「Advanced Custom Fields」。 名前を変更しようと思って、Wor・・・

WordPress

配列の重複を削除する

配列の場合 /** * 配列の重複を削除する * * @param {array} ary* * @return {array} 処理後のary・・・

JavaScript

MAMP を 5.7 から 6.2 にアップデートした

5年以上前と比べると、アップデートが簡単で驚く。とくに記事にするまでもないと思いつつ、一応備忘録。 インストールすると、既存のディレクトリはそのままに別・・・

MAMP

Briefly unavailable for scheduled maintenance. Check back in a minute. → . maintenance を削除

プラグインを更新中に、誤って、違うページにアクセスしまいました。すると、管理画面だけでなく、公開中のすべての画面が「briefly unavailable f・・・

WordPress

GulpでERRが出てテンパった → gyp: No Xcode or CLT version detected! → PostCSS plugin autoprefixer requires PostCSS 8

Gulp。いつもは正常に動いている環境をそのままコピーして再利用するようにしている。そうすることで、案件ごとに毎回環境作りをする手間を省くことができ、何よりG・・・

制作効率化

ビジネス前提ワークシート

書籍「LEAN UX リーン思考によるユーザエクスペリエンス・デザイン」から抜粋。 「前提の宣言」「MVPの作成」「実験の実行」「フィードバックとリサー・・・

知識編

リーン思考のUXデザイン

LEAN UX は、コラボレーションと部門/領域横断的な手法によって、製品の本質を素早く明らかにするための実践的手法であり、これによって文書への過度な依存を減・・・

知識編

ES6(ES2015)の主な変更点

オブジェクト指向 クラス定義 JavaScriptは厳密にはクラスがない、プロトタイプベースのオブジェクト指向言語。ES6でclass構文が導入さ・・・

JavaScript

JavaScriptスタイルガイド

書籍「メンテナブルJavaScript」と Google JavaScript Style Guide 和訳 を参考に自分なりのJavaScriptスタイルガ・・・

JavaScript

人気の記事

WP_Queryを使って絞り込み検索するのにコレは便利!

めっちゃ参考になるページを見つけた。 絞り込みをするたびに色々ググっていたが、これがあればほとんどのことが解決できそうな気がする。 参考: これは便利!Word・・・

WordPress

overflowをautoにした要素のスクロール位置を変更する → scrollTop scrollLeft

まずはサンプル。 これは、overflowをautoにした要素のスクロール位置を変更するサンプルです。 これは、overflowをautoにした要素のスクロ・・・

JavaScript

http://localhost:8888/ → http://localhost/

http://localhost:8888/ での参照ではなく、http://localhost/ で参照できるようにします。 MAMPの設定を変更する M・・・

MAMP

iframeの高さを自動調整する

iframeで呼び出した際、iframe自体はスクロールさせずに高さを取得してiframe全体を表示させます。 サンプル:iframeの高さを自動調整するデモ・・・

JavaScript

イラストレーターでレイヤーごとにPNGで書き出す

【2020年07月13日】 macOS Catalina(10.15.5) / Adobe iLLustrator 2020(24.2.1) にて動作確認済・・・

Illustorator

アーカイブページでカスタムフィールドやタクソノミーで絞り込みした状態でリスト表示する

<?php $args = array( 'paged' => 1, 'posts_per_page' => 20, 'post・・・

WordPress

WordPressのカテゴリー一覧ページでカテゴリー名とスラッグを取得する → get_queried_object()

やりたいこと カテゴリー一覧ページで、そのカテゴリー一覧ページに属する記事一覧を取得するためにループさせるのとは別に、タイトルやカテゴリー別にデザインを変・・・

WordPress

カウントアップ、カウントダウンするJavaScript

ポイントを使ったり、増やしたりしたときに、結果のポイント数に差し替えるのではなくて、カウントアップしたり、カウントダウンして動的に動かそうと思って作ってみた。・・・

JavaScript

MAMPの日時(タイムゾーン)を変更する

MAMPを使用していて、日時の情報を制御しようとしたとき、取得している日時が日本時間ではないことに気がついた。 時差を計算してPHPでプログラミングしていたが、・・・

MAMP

管理画面のカスタム投稿一覧で並び順を変更する

WordPressの管理画面。「投稿」や「固定ページ」の一覧は、公開日順に並んでいる。ところが、カスタム投稿を追加した場合、公開順ではなく名前順に並んでいること・・・

WordPress

運用情報お仕事・制作日記言ノ葉(ことのば)、公開ッ! | シンプルシンプルデザイン