オープンセミナー岡山に行ってきました。
今回は、テーマが『フロントエンドとサーバサイド』であったためか、
参加者が例年より多かったような気がします。
セッションの内容ですが、以下の順番でした。
- 1.パソコンは私たちのもう1つの目-見やすく、聞きやすいWebページづくりにぜひご協力を!
- スピーカー:毛並 みけ
- 2.ソフトウェアエンジニアの目指す道〜フロントエンドとサーバーサイドを超えて
- スピーカー:倉貫 義人
- 3.実践 大都会式 プロトタイピング&フロントエンド2014
- スピーカー:前川 昌幸 & 久保木 博
- 4.オープンで柔軟なクラウドプラットフォーム ”Microsoft Azure“
- スピーカー:井上 大輔
- 5.明日からできる、デザイン脳!
- スピーカー:秋葉 ちひろ
- 6.ベンチャーのサービス開発におけるフロントエンドとサーバサイドの間
- スピーカー:大場 光一郎
パソコンは私たちのもう1つの目-見やすく、聞きやすいWebページづくりにぜひご協力を!
毛並みけさんは視覚障害者で、普通にPCを使いこなしているように見えたので最初気付きませんでしたが、音声機能を使ってPCの操作をしていました。その立場で、どういうウェブサイトが視覚障害者とってイライラするか、優しいかを、音声ブラウザを使って紹介してくださいました。
悪い例のサイトは
- 文章を画像で作ったものを貼付けただけのもの
- 『こちら』にだけリンクを貼付けたもの(『詳細はこちら』にして!)
- 本文にたどり着かないもの(メニュー、サイドバーの内容をずっと読まれてしまう)
などがありました。文章を画像で作っているパターンは論外ですが、『こちら』とメニューがだらだら長いパターンは結構やってしまっているかもしれません…。
逆に、いいサイトの場合は
- サイトの一番最初に本文へのアンカーリンクがある
- 目次が先頭にある
などでした。例として、岡山市のサイトを紹介されていましたが、一番上に本文へのリンクがあり、たしかにこれならすぐ本文にいけてユーザービリティが高いなと思わされました。
感想は、文章構造を意識してサイトは作っているものの、視覚障害者への配慮ができていただろうか?と考えるとまだまだできていなかったなと思わされました。html5勉強会などをしていても、「見え方としては別に変わらないからいいんじゃないの?」という意見とかもあったのですが、やっぱりマークアップの順番は大事であると思わされました。
それにしても、昨今のAJAXによるサイトとかの場合、どのようになるのかが気になります。turbolinkとかでページを切り替えた場合など、音声ブラウザだとどうなるんだろうか…。
「サイトは技術を見せる場所じゃなくて情報をわかりやすく見せる場所です」と言われていたのを、肝に命じようと思います。
ソフトウェアエンジニアの目指す道〜フロントエンドとサーバーサイドを超えて
倉貫さんは株式会社ソニックガーデンの社長で、近々、本が出版される模様です。
「納品」をなくせばうまくいく ソフトウェア業界の“常識”を変えるビジネスモデル
プログラマっていらなくなるの?ソフトウェアエンジニアってどういう職業なの?という内容でしたが、とても面白かったです。
昨今のソフトウェア開発では分業が進んでいったが、その結果どうなってしまったか。
いい?こととして、
- コストの最適化
- 人員の配分がしやすくなった
- 品質が均質化した(安定とは違う)
悪いこととして、
- 部分最適
- モチベーションの低下
- 成長意欲の奪取
などがあげられていました。
しかし、本来のソフトウェア開発に求められるものは、お客さんの問題を解決するところにあります。
ソフトウェア開発は製造業ではなく、問題解決の手段を提供するものであり、それは、
- 再現性のないもの
- ナレッジワーク
- コンサルタントや医者のようなプロフェッショナルサービス
であると言われました。ここは、皆がうなずいてた部分だと思います。
「プロフェッショナルなサービスは、分業できるかといわれると、できない。研修医を100人集めても、難病を治せない。腕利きの名医が1人いなければならない。それはシステム開発も同じである。小規模な会社のほうが有利に働く」
たしかにその通りであり、おそらくプログラマはそれをわかっているんだけれど、一般的な認識だとそうでないと思うので、そこの認識を直していかなければならないと思いました。
あとの話はソニックガーデン ギルドの話(ソニックガーデン自身が大規模になるとサービスを提供できなくなるので、同じ志を持つ人・会社を増やしていくビジネスモデル)でした。
感想は、「人を増やしたらなんとかならんの?」みたいな認識の人はまだ大勢いるので、そこの認識を変えていく活動をしないといけないと特に感じました。よくあるソフトウェア業界をよくしていくには?的な本は、本来読んでもらいたい人が読まない、ということが多いと思います。倉貫さんの本がベストセラーになって、世間の認識が変わってきてくれたら嬉しいので、もう一度宣伝しときます。
もちろん、自分たちが変えていく、という志は持ち続けて、腕を磨き続けていきたいです。
実践 大都会式 プロトタイピング&フロントエンド2014
大都会勢の前川 昌幸さん & 久保木 博さんが、2人でプロトタイピングしてみた過程を話すという内容でした。
SNS経由でログインして、体重計測をするアプリを作ってみたということでしたが、
- ペーパープロトタイピングを行う
- 動きがないとわからないのでPOPというツールで動きを再現してみる
- 作り込んでいく
という感じだったかなと記憶してます(このときあんまりメモってなかった)。たしかSketch3も使ってました。
サーバサイドは前川さん、クライアントサイドは久保木さんが担当で、Node.jsを使い、デザインはbootstrapを使って、テンプレートエンジンにjade、JavaScript MVCにAngularJSを使ってました。このあたりで、クライアント側の技術としてsassの紹介や、AngularJSの話もありました。Tipsとして、
- DNSの問い合わせの調整は大事
- css spriteはどの程度までやるか(30kbまで)
- DataUrlはどの程度までなら効果的か(大きくても数kbまで)
- minifyは思ったほどは効果ないよ(やってやった感はある)
- 自動化にはgruntやgulpを使ってた(慣れれば怖くない)
という話があり、前川さんが設定したgruntを久保木さんが使って便利だったそうです。
感想としては、やっぱりペーパープロトタイピングは大事だなという点。そして、アプリを作るには気持ちよい動作が大事になってくるので、その導線を確認するためにPOPを使って確認など、プロトタイピングをする手法も進化してるなぁと思いました。Sketch3はすごくよさそうだったので買いたいけれど結構な値段がしますね…。7,800円。gruntやgulpはやってみたい感じありますが、RubyistはMiddlemanがあるから、そこらへんも比較してみたいなと思いました。
オープンで柔軟なクラウドプラットフォーム ”Microsoft Azure“
Microsoftの井上さんの発表でした。Windows Azureの機能紹介でしたが、メチャクチャ多機能なので、ポイントを絞りながらの説明でした。
いきなり感想ですが、驚いたのがスピードです。スケールアップに2秒、スケールアウトとスケールアップに3秒など、まさに脅威のスピードでした。サポートしている言語環境も多く、まさに死角なし。よく比べられるAWSやGAEとの比較しての強みなどだと、IAASではなくPAASとしてスタートしているので、そちらのほうが強いということでした。ただ、IAASの機能もかなりパワーアップしているとのことでした。
Webサイトという機能の説明がありましたが、スケールアウトして4台のサーバがある状態でも、1つのソースコードを修正すれば、全てのサーバに反映されるなど、コード反映の手間もかからずにとても強力だと思いました。また、Visual Studio Onlineで、オンライン編集もできるというのがすごかったです。
明日からできる、デザイン脳!
一番聞きたいと思っていたセッションだったのが、秋葉ちひろさんのセッションでした。ちひろさんはシャープハッカソンでチームになったことがありますが、あれからどんどん実力と名声をあげていってすごいなーと…。セッションの内容もとても面白かったです。
このセッションを聞いたら即デザインができるわけではないよと断った上で、じゃあどういうことに気をつければいいか、どういうふうに言えばデザイナーに伝わるか、サンプルアプリを作るとしてデザインするとしたら、普段の心がけ、という感じでした。
サンプルアプリは歯科衛生士さんが、患者の予約を受ける用のアプリで、データは名前と生年月日と、以前にいつ来てどういう処置を受けたか、というものですが、ただ情報をそのまま出すのではく、見やすく加工したらどう変わるかや、見せるときの基本テクニックとかでした。余白をとること、情報のグルーピングをするなど。
感想ですが、ちょうど、ノンデザイナー・デザインブックを読み終わったばかりの自分としては、あー納得、ということが多かったです。ちょっとした心がけで使い勝手はすごく変わるというのは説得力ありました。特に、アプリだと、見た目だけではなく、『人が使う』ことを想定するデザインが大事で、本当に知りたい情報は何か、見やすいように加工するだけで全然変わるというのを目の当たりにして、まだまだ配慮が欠けてたなと実感しました。プログラマ脳というか、機械脳になっていると、機能にフォーカスしてしまい、使う人の目線を考えることができず、トイレの「流す」を「便器洗浄」にしてしまうという例の紹介がめっちゃ面白かったです。
ベンチャーのサービス開発におけるフロントエンドとサーバサイドの間
クラウドワークスのCTOの大場さんの発表でした。
クラウドワークスのサービスの紹介と、サービスが使いやすくなるための改善としてどういう取り組みをしているか、そしてバックエンドで使ってるツール・サービスの話など、実践的で面白い内容でした。
コミュニケーションはChatworkで行い、課題管理はRedMine、コード管理はGitHub、CIはSEMAPHORE、サーバはAWSを使っているようでした。SEMAPHOREは初めて聞きましたが、昨今はCIサービスの群雄割拠時代で、どれも結構いいらしいんですが、値段が安かったのと要件を満たしてたのでSEMAPHOREにしたそうです。CIはJenkinsを使うこともあったけれど、Jenkinsはサービスが成長してくるとテストが遅くなっていって、Jenkinsのお守りが大変になってくる。サービスの提供ペースは変えたくないのに、Jenkinsが足かせになってくるのは本末転倒だから、外部サービスにしたという話は、弊社のことも考えるとたしかになーと思いました。Jenkinsは、Jenkins職人がいないと辛いものがあるので(弊社はカズさんがいるからマジ助かってる)、人数が少ないところだと尚更後々辛くなりそうだなと思います。いや、Jenkinsは悪くないんだけれど。
そして、サービスの改善は、ユーザーの声を大事にするという点と、インターンの人たちの毒されていない目でサービスの悪いところを指摘してもらうというものでしたが、ここの指摘されている点が自分たちの作っているものにも当てはまりそうで、すごくためになりました。改善せな!と思わされました。そのときに大場さんが「機械脳になりすぎて便器洗浄したい系男子って感じ」と言って、大爆笑をさらっていました。さすがでした。
感想としては、日常の業務の中に改善するところを取り入れておくというのが非常に大事だなと思いました。日常に取り入れられていないと、後回しになって結局やらないというパターンになってしまい、どんどんユーザー体験が悪いものになっていってしまうんじゃないかなと思いました。改善は、あればいい、じゃなくて、やらなければならない。優先順位の高いものとして日常に取り入れるようにしていかないとダメだなと思ったので、チーム内でも話し合っていきたいと思いました。
この後は、岡山では恒例の座・スタジアムで懇親会となりましたが、人数めっちゃ多くて混雑してましたが、とても楽しかったです。LTも盛り上がっててよかったです。やっぱり人がLTしてるのを見ると、自分も何かネタ作ってやっておけばよかった…とか考えてしまうので、今度はなにかしらネタを作っておかなければ…。