めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

12月8日にAppleStore 銀座で行われた「Inspired to Code」に参加してきました

12月8日にAppleStore 銀座で行われた「Inspired to Code」に参加してきました。 Flaskの小川秀子氏(Flaskトーク@AppleStore銀座)、堀内敬子(@)氏が登壇され、FitPortの開発についてお話いただきました。

参加してみた感想

Flaskのアプリは、PopWeightも使っていて、iOS8に切り替えたときにすぐに入れたアプリがFitPortでした。 シンプルで使いやすく、長く使えるアプリが多いと思います。プッシュ通知でガンガンくるアプリじゃなく、そこに静かにたたずんでいて、欠かせない存在なアプリが持ち味だと思います。

Flaskのことは、よくよく見てみたら2012年ぐらいから知っていて(Flaskが出来る前なんですけれど)、PopWeightの無料化も嬉しかったです(人に勧めやすくなった)。女性二人で作っていると知ったときは、おう〜、と思ったんですが、別におかしな事じゃないか、と思った事を覚えています。なので、今回のトークは、なんだか地道に応援?していた人が、メジャーデビュー?したような感じでした。

改めて思うのは、貪欲で、「作りたい!」という気持ちにあふれていること。だからこそ、storyboardも使えるようなデザイナーであり、storyboardでデザインしてもらえる土台を作れるんじゃないかな?と感じました

f:id:d4-1977:20141208185746j:plain

導入

  • Apple Store Ginza 12年目
  • Apple Store App
  • 無料
  • 今回のイベントは、後日、Podcast で配信する予定

Flask

  • 2人は元々別の会社の人
  • 2010年頃にTwitterで堀内さんが、「iOSアプリを創りたい!」と言ったのに返事したのがきっかけ
  • 堀内さんが創りたいと思ったのは、「触れるデバイスなのが面白い」
  • 小川さんが創りたいと思ったのは、デバイスとして面白い、これからも使いたいと感じたから
    • Web のデザインがだいぶ固まってきていたので、世界中の人と一緒に創っていきたい!と思ったから

Flaskのアプリ

  • Flask は、7つのアプリをだしている
  • FitPort について詳しく説明

FitPort

  • Health ケアの内容をもっと素敵に表示するアプリ
  • Health Kit の発表に興奮した!
    • これまで散らばっていたデーターをまとめて表示できるようになるので興奮した
    • 気軽に使えるフィットネスのアプリが欲しい!と思った
  • Health Kitが提供されるその日に提供しようと考えた
    • 2ヶ月しかなかった
    • Health Kit の先行者メリットを狙った
    • Flask だから出来るのでは?と考えた
    • 二人で色々と言い合う土壌も出来てきていた
  • 開発までで、色々とデザインしていた
    • 10〜20種類ぐらい表示されいた
    • デザインを出すと、小川さんが「それは本当に見せたいもの?」とツッコミを入れてくれる
    • 小川さんからすると、作っているといいかも!と思うけれど、実際に触ってみると違ったりしたので、堀内さんに言っていたら、大切なところが、大きく表示されて、これだ!と思った
    • 堀内さんも、突き抜けた!と思った
  • 白背景で作っていたが、申請当日に黒背景にした
    • 白背景の方が売れる、と思ってた。今までテーマの販売などでも、白背景の方が好調だった
    • でも、堀内さんが我慢できなくなって黒背景にした
  • 堀内さんがStoryBoard の作業を担当している
    • AutoLayoutも堀内さん担当
    • エンジニア担当のことが多いが、デザイナーに触ってもらうのがベストだと思う
    • 作業の分担が出来るので、StoryBoardをデザイナーが担当するのはオススメ
    • StoryBoardのプロトタイプは、エンジニアが作る(だいたい3日ぐらい)
    • 要素の色や、太さなどはStoryBoardで変更可能にして作る
      • デザイナーが試行錯誤しながら作ることができる
      • 作業分担にもなる
    • 作業中の疑問は、疑問発生時に話して解決する
      • 作業比率は、エンジニア7割、デザイナー3割
      • FitPortは、エンジニア4割、デザイナー6割
      • iPhone6の対応もあったので
      • StoryBoardに慣れてきたのもあり、調整し放題だっため
      • 納得できるまでデザイナーが調整できた
  • Flask の場合
    • 二人でこだわるポイントについて開発できた

リリース後

  • 9to5Macで紹介された
  • Health Kit のリリース後に、Health Kit とともに紹介された
  • 英国でヒット

Whyヒットしたのか?

  • チャレンジ
    • Health Kit への挑戦
  • タイミング
    • Health Kit のリリースと同時
  • UIのこだわり
    • Health Kit をよりよく出来るUIへのこだわり
    • AppStore や、めざましテレビで紹介されたりした

小川さん

  • プログラムは簡単に入れるようになってきた
  • アプリ開発は、プログラムよりも難しいところがある
  • 社会人になって、プログラム以外のことを学ぶことが増えた

    • デザインや、システムの裏側にあること
    • プログラムは手段
  • FitPort のアニメーションについて

    • アニメーションの方法にこだわりがある
    • 画面の切り替えについてこだわっている
    • デザインラフでは見えてこないけれど、実際に作るときに反映したもの

堀内さん

  • 想像力、観察力、発想の転換が大切
  • AppStore にはたくさんのアプリがある
    • たいていある
    • その人のこだわりを持つことで、違いが生まれる

質疑応答

二人で作っていてよかったと思えるのはどこですか?

  • だんだん、アプリ作りに費やす時間がふえてきたのでFlaskをつくった
  • 歯に衣着せぬ感じでモノが言い合えるのがよい

フリーランスでやる方法もあったと思うが、会社にしたのはなぜか?

  • Flask を設立する前は、フリーランスになってからだった
  • AppStore に載せるときに、会社名か開発者名しか載せられないので、二人の名前にしたかったので、会社設立した

普段何を見ているのか?

  • いいアプリ知りたかったら、アメリカのAppStoreを見る
  • アプリ以外なら、ドリブル、Pinterestを見たりする

StoryBoardをデザイナーが操作するメリットは?

  • 今までも触っていたが、今回初めてだいぶStoryBoardで設定できるようにした
  • 今までも触ってもらっていたのが大きい
  • Xcode6からAutoLayoutが進化していて使いやすくなっていた
  • デザイナーなら、自分でいじりたいハズ!

体重記録 PopWeight

体重記録 PopWeight

  • Flask LLP
  • ヘルスケア/フィットネス
  • 無料

FitPort ヘルス&フィットネスダッシュボード

FitPort ヘルス&フィットネスダッシュボード

  • Flask LLP
  • ヘルスケア/フィットネス
  • ¥200

池袋で【Swift】iOS・iPhone勉強会「4年前のカメラアプリをSwiftで書きなおした」に行ってきた

自己紹介、会社紹介

  • 株式会社トルクス 代表取締役 山田 宏道
  • B2Bが多い
  • Tech Garden School で教えている
    • schoo で話したりした

FrameCamera 2.1

  • カメラ上にフレームをスワイプで切り替えて撮影できる
  • 2009年にiPhone3GSを手に入れて、2009年末に開発
  • 2010年3月にリリース
  • Twitter投稿対応
  • 2010年9月にiOS4対応
    • iPhone4には未対応
    • こないだまでAppStoreでも配信されているぐらいに、動いていた
  • 気づいたら4年放置...
  • ARCもないので、メモリ管理は自分で。AVFoundation?Storyboard?CollectionView?

2014年夏

  • 6月にSwiftが登場
  • 勉強をかねてバージョンアップ
  • 2014年9月スタート
    • 実質2人日ぐらいで動いた
    • 6人日弱で申請
    • 新機能?に助けられた

開発方針

  • 機能はそのまま
  • iOS7対応
  • StoryBoardを採用
  • カメラの上にフレームを表示する
    • これまで
    • AVFoundation + CollectionView

結論!

ヘッダーファイルがない!

  • プロジェクトがスッキリ
  • 教えやすい
  • C / C++ になれていると違和感
  • ソースの見通しが悪くならないように気をつけるようになる
    • Xcode の機能をきちんと使わないといけない

クラス宣言は直感的

  • 他言語にありがちなので、すぐ理解できた

enumは結構違う

  • NS_ENUMとは使い勝手が違う
  • 値とイコールではない
    • toRaw()、fromRaw()
  • Obj-C -> Swiftの自動変換が素晴らしい
    • 知らなかった...
    • 逆はない

Obj-Cとの連携は簡単

  • SwiftのプロジェクトにObj-Cのコードやライブラリを追加するのは簡単
  • ProjectName-Bridding-Header.h を作成しプロジェクトに追加する

Optionlどうなの?

  • Swift最大の問題児
  • Swift
    • 変数にnilを入れられない
    • 型が違うと自動で変換してくれない

Optionl:1

var ngName: String  = nil // NG!
var ngName: String? = nil // OK!
var ngName: Opitonal<String> = nil // OK!

Optional:2

var myName:String? = "test" var upper = myName.uppercaseString // NG!

OptionalをUnwrapする

var upper = myName?.uppercaseString // OK!

Optional:3

if(myName != nil){
  var upper = myName!.uppercaseString
}
var upper = myName?.uppercaseString

Optional:4

Optionl宣言面倒!への対応

var myName: String! = "test"
var lower = myName.lowercaseString

Implicitly Unwrapped Optional

Optional:まとめ

  • 面倒だけれど、高速化、実行時の安全と思って対応
  • ソースの段階で、nilをチェックしてくれる役目
    • Xcodeが教えてくれる

DelegateはProtocol

無理にStringを使わない

  • 慣れている方を使った方がいい
    • Dictionaryだと型が決まってしまう
    • NSDictionay、NSArrayをそのまま使う方が便利

単語や演算子間のスペースが超重要

  • = の前後にスペースをあけないとエラーになった(Xcode 6.0.1あたり)

Xcodeは旧バージョンを残す

  • Xcodeの名前を書き換えて旧バージョンを残す
  • Swiftのバージョンがあがるとビルドが出来ないことがある

アップできなかった

  • Xcode 6.1でビルドして申請しようとしたらアップ出来なかった
  • 例) Xcode6.1が怖い利理由
  • Xcodeが変わるとSwiftが変わる

スクリーンショット準備が大変

  • 画面サイズが増えた
  • 多言語になると、もっと増える

おすすめ検索方法

  • Googleの検索時に、期間指定をするといい

質疑応答

参考にした書籍、ドキュメントは?

  • 9月なのでAppleの情報
  • 問題は、Swiftのバージョンがあがると、動かない
  • iBooksは、どんどん更新されるので、助かった
  • WWDCの情報も古くなっていく

Optionalの「?」「!」は、なんて呼ぶ?

  • ググりづらい
  • wrapの..、unwrapの...と心の中で呼んでいる
  • 記号が意味を持つのは好きじゃない

学習コストは?

  • Swiftは書きやすい。他の言語をしている方には、慣れやすいのでは
  • 今後は、Swiftだし
  • 2.0とかで、Optionalもよくなるんじゃないかな?と思います
  • ヘッダーがないのは楽
  • SDKについて知っているかが、工数では大きく影響が出る

感想

  • 結局は、Optional型に悩む
  • SDKの知識や、SDKを調べるのは変わりがない
  • Storyboardについてはどうなんだろう?

「働かないで、働く。ー For Your Life's Workー」#twdw2014 に参加しました

11月20日に渋谷ヒカリエで開催された「働かないで、働く。ー For Your Life's Workー」に参加してきました。

f:id:d4-1977:20141124113931j:plain

冒頭

  • Evernote知っている人」
    • 多い?
  • 「働いている人」
    • 多い?
  • 「働いていない人」
    • いるみたい。学生さん?
  • 上野さんは、「働かないで、働く。」というタイトルがあまり好きじゃなかったらしい

Evernote のサービスについて

  • 上野さんから
  • 1億人を超えるユーザー
  • 11拠点

3つの商品

  • 無料
  • 有料
  • 企業向け

物販

  • 日頃の生活をよくするのが目的
  • アナログとデジタルを対局として考えない
  • Their life’s work
  • だれもが生涯をかけて成し遂げたいシゴトがある
  • Workの意味が英語と日本語では異なる
  • 新しい武器展
    • となりでやっていた

f:id:d4-1977:20141124113936j:plain

Evernoteでのシゴト

  • フロアーをぶち抜きで、立って話す
  • 1回で15〜30分ぐらいで終わる
  • 壁はホワイトボート
  • 毎日、ケータリングがある
    • 「おーいお茶」がある。冷蔵庫は、お茶だらけ
  • 世界のどこのオフィスで働いてよい
    • 交通費は会社持ち
  • 休暇日数に制限がない
  • 必要な備品は自動販売機
  • 月1回のハウスクリーニング
    • 自宅をハウスクリーニング
    • シゴトに集中してもらうため
  • 電気自動車のリース
  • Work From Home
    • 「WFH」
    • 日によっては家の方がいい、と思うときに。信頼関係
  • 日本は、12〜3人ぐらい
  • よくパーティーをする
    • 金曜日は、17時ぐらいから飲んでいいような…
    • 上野さんは、夕方ぐらいでも飲んでいる?

セッション全体について

大石さん

  • ピンタレスト
  • コミュニティマネージャー

佐藤さん

セッション

今村さん

  • Evernote のパートナーマネージャー
  • フィルがお茶好きなので「おーいお茶」
    • 「IT 応援(ITOEN)」
  • 課外活動としてZENHACK
  • 「DAY GIG」「NIGHT GIG」。Jazz 用語。夜はJazz ドラマー
  • WARNER MUSIC で働いてたら、他社とプロ契約したら、怒られた
    • 11年やっていた。
    • ドラマーをしてたら、サンプラーの登場
  • その日、その場所で、反応してドラムを叩くのは、人間にしか出来ない → 「感動」
  • 機械にシゴトを奪われる。泥臭くて、非合理的なところは奪われない
  • 子供が出来て、二足のわらじを履けなくなった
  • 1年で東証一部上場会社執行役員
    • 2年目で多額の損失。事業失敗。お金がどんどん燃えていく感じ
    • ヒットしなければ意味がない
    • やっていたのはゲーム事業ファミコンも持っていた事がないのに。
  • 反省。「好き」「得意」事をしていなかった。判断できない

Evernote

  • Innovative Company
  • 馬車馬のように考える

シゴトの三弾活用

  • to do:義務
  • not to do:裁量
  • want to do:ライフワーク

  • Past:後悔
  • Now:集中、即興
  • Future:心配、計画

Skill:能力の話

  • 成長の制限
  • 「進化 = ワープ」だよ!
  • 突然出来るようになる

Financial:お金の話

  • BS|PL
  • 診断:収支
  • どれだけリスク

やりたいこと

やりたいことを言わないとできない

What is Work?

ワクワク

仕事とは

志事

質問1

  • お金は、いきたお金を使いたい

質問2

  • ロジカルとアートは相性がいい(MITの石井さん)
  • ロジックをマジックに
  • 実際に見て、感じて、触ってみることが大切

上野美香さん

  • マーケティング、広報担当
  • 3年前100->700万
  • フリーミアムモデル
    • 前例のない事だらけ
    • 製品がいいとお金を払ってくれる
  • コンシューマーからエンタープライズ領域へ
  • クラウドサービスから、本気で物販
  • アンバサダー制度
    • 日本では調整が色々と大変だった

f:id:d4-1977:20141124113941j:plain

Evernote DAYS 2014

  • 協賛企業や、ユーザーと
  • 日本だけでやった

世界から学ぶ、世界に教える

  • DAYSだとブラジルのチームが聞いて、やってみることになった
  • 多国籍
  • やるべきこと/今やらなくていいこと
    • プライオリティが下がると、なくなったりする。割り切る
  • 自分の専門分野をもつこと

いままでの仕事

  • 大学は心理学
  • SEをしたりしてた
  • Neotaey
  • IR(VeriSign
    • 合理性、整合性、倫理性
    • IRは必ずトラッキングがはいる
    • CEO、CFOとの仕事
  • ITmedia
    • 上場のお手伝い
  • SixApart
    • 広報に近いお仕事
  • Twitter
    • 仕事のきっかけはランチ
    • 無料ウェブサービスのマーケティング
    • 日本はイベント大好き

フリーランス

  • 肩書きで説明しない
  • 7ヶ月、何もしない
  • プロフェッショナルとして対価をもらう
  • 「出来る事」と「好きな事」
    • 「好きな事」によっていくこと幸せかも?
  • 会社に戻れないという誤解
  • 仕事/趣味

本業/副業

  • 報酬の有無にかかわらず好きなことをする
  • 自分がコミットできること
  • 人にとっていい影響がある事
  • 変化していく事
  • 自分で選び、作り上げる
  • 体験を自らデザインし、発信する

大石さん

  • wantedly
  • Open Network Lab
  • DeNA 2012年
  • 働くこと = 創ること
  • 創ること
    • インターネット

「オトナ」になってからの働き方

  • Wantedly
    • 仲さんに「何やりたい?」って聞かれて「クリエイティブディレクター」と応えた
    • 何が出来るのか?何がやりたいか?がわからない

DeNA

  • ソーシャルゲーム
  • 3ヶ月に一度は移動
  • 売れているタイトルは30人ぐらい
  • アメリカにいるのに、アメリカ人がいない

Pinterest

  • 2月から。2人目
  • 好きで得意なことで結果を出し続けないと死ぬ

Pinterest での働き方

  • Pinternational Team
  • ダジャレが好きなので、Pin とつく
  • 多様な働き方をしている
  • 効率的に働くには、情報の蓄積と非同期型コミュニケーション
  • 基本会えない
    • リアルタイムは重要だけれど、100%いいことじゃない。
    • 「ねえ」と呼びかけることと、チャットで呼びかけるのは同じ

Pinterst の企業文化

f:id:d4-1977:20141124113945j:plain

  • Knit
    • 組織を編む
  • Make-a-thon
  • エンジニアがえらいとかじゃなくて、編み込む組織

「好きで得意なこと」をもっと

質問:Wantedly でのインターンのきっかけは?

佐藤さん

  • ワーク・ライフバランス的なこと
  • ワイフワークとのつきあい方

仕事 vs プライベート をやめませんか?

  • 人はだれでも2つの円グラフを持っている
    • 気持ちの配分
    • 時間の配分
    • この2つが、気持ちの配分の通り時間の配分ができたら自由で幸せ
  • 会社に8時間という
  • モヤモヤしているときは、可視化
    • 2つの円グラフにギャップがある

ライフワークってなんだろう?

わたしが取り組むべきこと

心底やりたいこと

  • 強みになったら、旅に出る
  • 自分の成長機械を奪っているのは、過去の自分
  • 別な領域に
  • 配分のズレ、モヤモヤを認識することが大切