ROADTO みちログ

ひとのみちのブログ。大阪でiOSアプリの道を歩くフリーランス。

WWDC2016セッションメモ「Platforms State of the Union」

WWDC2016セッションを見たメモです。
文中の画像やコードは公開情報から引用しています。
正確で詳しい内容をお求めの方は一次情報の確認をおすすめします。

Platforms State of the Union

Platforms State of the Union - WWDC 2016 - Videos - Apple Developer

iMessage

f:id:hitonomichi:20160622110403p:plain
MSConversation
MSSession
MSMessage

日本も対応。
スタンプを送ってそれに追加イメージして送るなんていう画像コミュニケーションができる。

SiriKit

f:id:hitonomichi:20160622110408p:plain
車、料理など手が離せないことに向いてる。
ただし、出来ることは限られている。
f:id:hitonomichi:20160622110413p:plain

Swift

短く簡単に書けるようになった。

Swift Praygrounds

シェアもできるよ。

Xcode

色のパレットが表示できるようになったよ。 イメージのイメージが表示できるようになったよ。

感想

プラットフォーム全体の状態がよくわかりました。

WWDC2016セッションメモシリーズはこちら

WWDC2016 カテゴリーの記事一覧 - ROADTO みちログ

Road to シェアオフィスの話

f:id:hitonomichi:20160601225727j:plain

今日から少し環境が変わりました。

初めてオフィスと言える場所を借りました。
シェアオフィスです。
場所はグランフロント大阪内のとあるところ。

 
シェアオフィスっていっても、仕切りなしのフリーアドレスなところなので、コワーキングやもっと言えばフードコートみたいな感じ。
一国一城の主とは全然違います。
 
わかりやすくシェアオフィスと表現しますが、正しくはベンチャーが切磋琢磨する空間を提供して大阪を盛り上げようというコンセプトな場所。
毎月数回、朝勉強会があったり、調子はどうか聞いてくれる制度もあったりで、刺激は間違いなくある環境です。
 

経緯は縁

経緯ですが、今回新しくサービス立ち上げプロジェクトがあって、チーム組んでやる必要があり、その拠点として場所を探していました。
 
そんな折にウズウズという起業家勉強会で出会った方がシェアオフィスの話を教えてくれて、すぐ見に行って、程なく契約へ。
 
少し話はズレますが、人の縁とは広がっていくもので。
iPhoneL♡VE部から始まり、その縁で作ったアプリの縁で新サービスのプロジェクトが立ち上がり、
別で、たまたま同じ職場同じプロジェクトという縁で、いろんなタイミングが合って力を貸してくれる人と、
また別の縁でたまたま懇親会で同じテーブルになった方が紹介してくれたオフィスを借り、
それら全く違うところにあった縁がひとつになって仕事が進むという、なんだか不思議な素晴らしいことになってます。
 
話を戻して。
 
今まで家でやってたので通勤時間ゼロでした。
それが毎日3時間持ってかれるのでそこをどう使うか。。
あと今までなかった賃料と交通費とご飯代という固定費をどう考えるか。。

 
運動と情報と刺激とで元は取れると思ってますが。果たして。
 

つまり契約しただけ

ま、契約しただけで、何かを成すのはこれからだし、自分でも大きな事とは捉えてないけど、
後から振り返ったらもしかしたら節目の一つなのかもと思い書き残しておきましょう。
 
私との打ち合わせはグランフロント大阪へお越しください(・∀・)

フリーランスアプリ開発者が2016年1月〜3月に通った道

f:id:hitonomichi:20160104004403p:plain
関西・大阪在住、フリーランスアプリ開発者の私@hitonomichi2016年1月〜3月の活動まとめです。
前回の活動まとめから3ヶ月経ったので自分自身での振り返りがてら、
3ヶ月間の総括をします。
フリーランスな自分は成果をアピールしないと世間的に死んでしまいますので。
え?しない?
そう。
ごめん。

お仕事のお問い合わせはこちらから。
f:id:hitonomichi:20160410090308p:plainROADTO Webページ

トピック

2016年1月〜3月に通った道

  1. セキュア認証アプリ
  2. 研究機関の診断アプリ
  3. 店舗集客アプリ
  4. BLE連携アプリ
  5. try!Swiftに参加

それではいってみましょう(σ・∀・)σ
順不同です。

1. セキュア認証アプリ

常駐対応のAppStoreアプリ案件。
公開鍵・秘密鍵生成、暗号化・復号化でiOS・Web連動して認証する機能の一部を実装。

公開鍵と秘密鍵を生成してKeyChainに保存する、
SHA-256でハッシュ、
RSAの公開鍵(Public Key)で暗号化、秘密鍵(Private Key)で復号、
なんていうセキュリティなことをやってました。
おかげで暗号化周りにちょっと詳しくなりました。

2. 研究機関の診断アプリ

研究機関内専用iPadアプリ。
受託案件。
音声を録音する機能を使います。
特別難しい技術は使わなかったけれど、 iPadアプリはすぐにメモリが逼迫するのでちょっと神経使います。
研究機関の診断アプリは継続してお仕事頂戴してる企業様からの案件です。
リピート頂きいつもありがとうございます!

3. 店舗集客アプリ

AppStore向けアプリの受託案件。
2016年前半リリース予定。
大阪ミナミ地域の店舗集客アプリ。
去年作ったバルイベントアメホリバル®」アプリに続き、iBeaconを搭載しています。
iBeaconとはBLEを発信する発信機みたいなもので、近くにいるとお知らせしてくれます。
もうじきリリースになる予定です。

アメホリバルアプリについてはこちら。 hitonomichi.hatenablog.com

4. BLE連携アプリ

AppStore向けアプリの受託案件。
目下絶賛開発中。
BLE機器をリアル世界で有用なものに昇華していくプロジェクトをすすめています。
前述のiBeaconもそうですがBLEを扱うことが増えてきて嬉しい!
つながるって素敵!つながるって楽しい!

5. try!Swiftに参加

「try!Swift」というカンファレンスに参加。
SwiftというのはiPhoneアプリを作る時に使うプログラム言語です。
Swift欲を掻き立ててくれて、ケツを叩かれて、自分にとってとても有効なイベントでした。
hitonomichi.hatenablog.com

総括

前回の総括でのプランからどうだったか。

受託案件中心にしたいと言っていたけど?

ほぼほぼ受託に。
案件も途切れることなく頂いていて、新規のお問い合わせも継続して頂いています。

  • 新規案件お問い合わせ数 10件
  • 新規案件につながったのは 3件

ブログの開発実績とWebを見て頂きご連絡頂くことが多いです。
継続して頑張ります。

iPhone+何かをしたいと言っていたけど?

iBeaconの案件もあり、BLEアイテムを使う案件もありで良い感じ。
リアルとネットをつなげることができて、これが有用なものであればこれ幸いです。
頑張ります。

一人からの脱却と変化と言っていたけど?

徐々に声をかけ始めています。
おかげで少し進展。
苦手なところを手伝ってもらうことからが良い気がしています。
仕事がないと回せないのでそこは努力。

2016年4月〜6月への道しるべ

これからについて。

iPhone+何か

変わらず引き続きで。
iBeaconが成熟してきた感。
種類が増えたし、世の中にiBeaconを使用したモデルケースも増えてきました。
BLEも少しわかってきたし、引き続き勉強しつつ頑張ります。

一人からの脱却と変化

仕事とって誰かと一緒にやるところからかなぁ。
Win-Winでやれる状況にしたいです。

おわりに

完全に受託になって朝早く起きる必要がなくなってしまい、また寒い時期というのもあって、朝型が崩れてます。
暖かくなるので戻していきたいところ。
邪魔がいないし一日を有効に使いたいですね。

それと一緒に外出の機会が激減しています。
外に出るように心がけないと滅入ってしまいますね。
健康第一。

案件状態は周りの皆様からのご縁のおかげで安定しています。
先のお話も頂いていてありがたいことです。
引き続き精進していく所存でございます。

皆様どうぞ今春もよろしくお願いいたします。

お仕事のお問い合わせはこちらからどうぞ。
f:id:hitonomichi:20160410090308p:plainROADTO Webページ

過去の道

Swift2の何回も調べてるちょっとしたこと

Swift2でなんども調べてるちょっとしたことを書きます。

タイマー

let timer = NSTimer.scheduledTimerWithTimeInterval(1.0,
                                                   target: self, 
                                                   selector: #selector(methodName:), 
                                                   userInfo: nil, 
                                                   repeats: true)

遅延実行

//1秒遅延
let delayTime = dispatch_time(DISPATCH_TIME_NOW, Int64(1.0 * Double(NSEC_PER_SEC)))
dispatch_after(delayTime, dispatch_get_main_queue(), {
    // 遅延する処理
})

非同期実行

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
    // 非同期処理
    dispatch_async(dispatch_get_main_queue()) {
        // メインスレッド処理
    }
}

セマフォ

// 同時実行可能数 = 1
let semaphore = dispatch_semaphore_create(1)
// ここで待つ
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
// 処理が終わったことを通知
dispatch_semaphore_signal(semaphore)

非同期を同期的にする。

// 同時実行可能数 = 0
let semaphore = dispatch_semaphore_create(0)
// 非同期処理 ※DISPATCH_QUEUE_PRIORITY_BACKGROUNDを使うこと
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)) {
    // 処理が終わったことを通知
    dispatch_semaphore_signal(semaphore)
}
// ここで待つ
while dispatch_semaphore_wait(semaphore, DISPATCH_TIME_NOW) != 0 {
    // 10秒間外部からのメソッド実行要求を受け付ける
    NSRunLoop.currentRunLoop().runMode(NSDefaultRunLoopMode, beforeDate: NSDate(timeIntervalSinceNow: 10))
}

画面サイズ

//画面幅
let width = UIScreen.mainScreen().bounds.size.width
//画面高さ
let height = UIScreen.mainScreen().bounds.size.height

アニメーション

UIView.animateWithDuration(1.0, delay: 3.0, options: .CurveEaseInOut, animations: { () -> Void in
    // アニメーション処理
}, completion: { (finished: Bool) -> Void in
    // アニメーション完了後の処理
})

Swiftのカンファレンス「try!Swift」に参加した感想

f:id:hitonomichi:20160302094846j:plain
2016年の3/2〜3/4に開催された「try!Swiftというカンファレンスに参加してきました。
今の思いを残しておきます。

フリーランスな私はもちろん自腹で行ってきました。
行き帰りは夜行バスで。若者満載のね。かわいそう自分。

カンファレンスの概要

SwiftというのはiPhoneアプリを作る時に使うプログラム言語です。
対象レベルとしては内容からいくと上級者向けでしょうかね。

最後にあった発表によると、
参加者536人。そのうち海外からは147人!
インタータショナル!

ちなみにセッションもほとんど英語でした。

チケットは3日間で$300ほど。

会場

会場は渋谷のサイバーエージェント社。
渋谷マークシティにあります。

会場の設備

最高でした。

5つのスクリーン。素晴らしい。
一番後ろからの眺めがこんな感じ。
f:id:hitonomichi:20160304143111j:plain

一人一個のレシーバーで同時通訳。
しかも日本語→英語、英語→日本語のふたつのチャンネルあり。
素晴らしい。

朝食がスタバ。 コーヒーやジュースがスタバ。
f:id:hitonomichi:20160302085707j:plain
美味しくてボリュームのあるランチがあり、
外に出る必要まったく無し。
コンビニ行く必要まったく無し。
素晴らしい。

充電コーナーも用意してもらいました。
f:id:hitonomichi:20160302131305j:plain

セッション

細かい内容についてはこれから復習です。
ちゃんとやりますよ。やりますとも。

セッションについてざっくり良かったところ。

  • 勉強するポイントとキーワードが拾えた。
  • ライブラリ活動に興味を持てた。
  • Swiftらしい書き方が掴めた。

一人でやってると見えない掴みにくい部分が見えました。
セッションがシングルスレッドなのはよかったです。
休憩時間に共通の話ができて知見の共有がしやすいと感じました。

セッション以外

今回もたくさん初めましてやいつも見てますをして、出会いがたくさんでした。
エンジニアとしての横のつながりができました。
この道がまたどこかでつながることが楽しみです。

大阪に住んでいると、東京の勉強会にそうそう行けない。
今回ほどの大きなカンファレンスでないとなかなか参加しづらいので、
そういう意味でもありがたかったです。

不満点

唯一苦言を呈すなら、自分の勉強不足・知識不足。
善処します。。

それ以外は本当に「無し」です。
当初チケットが高いなんて話がありましたが私は全く感じませんでした。
満足です。

謝辞

本当に至れり尽くせりで過ごしやすかったです。
国外から来られた皆様、スピーカーの皆様、書き起こしの皆様、運営の皆様、お話して頂いた皆様、本当にありがとうございました。

感想

正直、自分には難易度が高かったです。
言語自体が好き、言語が趣味な方には遠く及ばないなとまた痛感しました。
ほんとすごい。尊敬。

それはそれとして、この機を自分にどう活かすか。

私の仕事はモノづくりで、言語は道具。
道具を正しく使いたい、道具が強力になったら良い、という思いから参加しました。
英語が上手に〜、言語をもっと深く〜、と言ってもキリがないので、直接仕事に関わるセッションをピックアップして復習します。
キーワード与えてもらえてそこから知識を広げていけるので、最初から一人でやるよりもずっと有効なはず。

それにしても、あっという間の3日間でした〜。
1日目の早朝に渋谷に着いて、帰りのバスに乗るまで、一切の観光無し。
お土産も買えませんでした。
ほとんど写真撮ってないなー。
またもあったら参加したい。・・・新幹線で。

AutoLayoutを使っているUIViewをアニメーションする方法

AutoLayoutを使っているUIViewのアニメーション。
制約を更新してlayoutIfNeededを呼ぶ。

- (void)move {
    self.constraintViewY.constant = 100;
    [UIView animateWithDuration:0.5f
                          delay:0.0 
                        options:UIViewAnimationOptionCurveEaseInOut 
                     animations:^ {
                         [self.view layoutIfNeeded];
                     } completion:nil];
}

知らないと知らないよね。

フリーランスアプリ開発者が2015年後半に通った道

f:id:hitonomichi:20160104004403p:plain
関西・大阪在住、フリーランスアプリ開発者の私@hitonomichiの半年間の活動まとめです。
前回の活動まとめから半年経ったので自分自身での振り返りがてら、
半年間の総括をします。
フリーランスな自分は表向きな成果をアピールしないと世間的に死んでしまいますので。
え?しない?
そう。
ごめん。
お仕事のお問い合わせはこちらから。
ROADTO

前回の活動まとめはこちら。
hitonomichi.hatenablog.com

トピック

2015年後半に通った道

  1. AlermWeatherのアップデート
  2. iBeacon機能搭載イベント用アプリの改善
  3. イベント用テンプレートアプリの改善
  4. 研究機関の診断アプリ その1
  5. 研究機関の診断アプリ その2
  6. 研究機関の診断アプリ その3
  7. アメホリバルアプリ
  8. 既存某アプリの認証機能拡張
  9. 店舗集客アプリ
  10. BLE連携アプリ
  11. ジャンル特化した簡易SNSアプリ
  12. 飲食店向け注文・決済アプリ

詳細を明かせない案件ばっかりですが、仕方ない。 それではいってみましょう(σ・∀・)σ 順不同です。

1. AlermWeatherのアップデート

ROADTOブランドのAppStoreアプリ。
目覚ましアラームを止めると同時に天気予報を確認できる早楽アプリです。
iOS9への移行にともなうアップデートでした。
ATSの対応と言語設定の「ja」から「ja-JP」への変更。

2. iBeacon機能搭載イベント用アプリの改善

常駐対応のAppStoreアプリ案件。
以前iBeacon機能をつけたイベント用アプリの改善。

3. イベント用テンプレートアプリの改善

常駐対応のAppStoreアプリ案件。
Push通知機能追加とジオフェンシング機能追加。

ジオフェンシングというのは、ある場所から特定の範囲に入った/出たを監視して何かすることです。
家から100mの範囲に入ったら奥様にメール通知する、とかに使える技術です。
位置情報系は楽しいので好きですね。

4. 研究機関の診断アプリ その1

研究機関内専用iPadアプリ。
受託案件。
内容は内緒。
既存アプリの機能改善。
ブラッシュアップは使われているってことなのでモチベーションも上がりますね。

5. 研究機関の診断アプリ その2

研究機関内専用iPadアプリ。
受託案件。
内容は内緒。
音声を扱う案件。音声を録音、再生。
音声波形の可視化なんかもやりました。
変わり種は調査が大変だけどわかってくるとパズルがはまっていく感じで楽しいです。

6. 研究機関の診断アプリ その3

研究機関内専用iPadアプリ。
受託案件。
問題に回答してもらい、採点して、結果はサーバへ送信。
内容は内緒。
点つなぎのような手書き機能が特殊で、点の曖昧判定部分が苦労しました。
実現方法の模索が大変でした。 3つの方法を実際組んでみて、実現できたものを採用しました。
あと一歩というところまでいけたけど要求を満たすまでいかずボツになった案も。。
泣く泣く次の案へ、というのも良い思い出です。。

研究機関の診断アプリシリーズは継続してお仕事頂戴してる企業様からの案件です。
リピート頂きいつもありがとうございます!

7. アメホリバルアプリ

共同開発のAppStoreアプリ。@tinpayさんと一緒につくってます。
毎年秋に開催される、大阪ミナミのアメ村/堀江のイベント、「アメホリバル®」の公式アプリです。
今年はiBeacon機能を搭載!
参加店にiBeaconを置いてもらって、近くのお店を教えてくれる機能を導入しました。
アプリだけでは何も出来ない、イベントの運営側、参加店のご協力あって初めて成立するということが身に沁みました。

hitonomichi.hatenablog.com

8. 既存某アプリの認証機能拡張

常駐対応での既存AppStoreアプリ機能拡張。
UITouch(指紋認証)を利用した認証機能の作成。
内容は内緒ですが、誰もが知っているアレのアレに使う機能。
Javaエンジニアの頃やってた大規模開発みたいに、たくさんの設計書の作成が大変な案件でした。
懐かしい感覚でした。。

9. 店舗集客アプリ

AppStore向けアプリの受託案件。
2016年前半リリース予定。
ある地域の店舗集客アプリ。
アメホリバルアプリで使用した機能をテンプレートとして利用し、
データ構造と連携サーバとデザインだけ変更し作成しました。

アメホリバルアプリの形式はよくある形で、他にも流用できると思います。
リストとマップで一覧表示でき、検索機能、絞り込み機能もあります。
一覧から選択して詳細画面で詳しい情報を見ます。
データと画像はサーバにあります。
はじめからアプリを作成するより安価で開発できますし、デザインのカスタマイズも可能ですので、ご入用の際はご連絡ください。

実績とまでいかないけれど取り組んだ案件

ここからはまだ開発中だったり動いてるけど構想途中だったりするもの。

10. BLE連携アプリ

AppStore向けアプリの受託案件で開発中。リリースなどは未定。
内容は内緒です。
BLE機器をリアル世界で有用なものに昇華していくプロジェクトをすすめています。

11. ジャンル特化した簡易SNSアプリ

プロトタイプまでの作成段階なので世には出ていませんがAppStoreアプリの受託案件。
内容は内緒。
位置情報とあるキモになる技術を利用した簡易SNSのお話。
ジャンルに特化して既存のあのサイトを倒そう!と始まったプロジェクト。
振り返ってみると考え方のターニングポイントになった案件です。

12. 飲食店向け注文・決済アプリ

ROADTOのサービスとして企画しているアプリ。
飲食店向け決済アプリのプラットフォームの一つにならないか模索中。
あるWeb側エンジニアに賛同してもらって共同で企画しています。
仕様決めと設計まではやったのであとはこの世に産むだけ。簡単。ごめんなさい。見栄をはりました。本当は産むのが大変。

総括

前回の総括でのプランからどうだったか。

受託案件中心にしたいと言っていたけど?

少しずつ移行できてる。
案件も途切れることなく頂いていて、新規のお問い合わせも増えています。

  • 新規お問い合わせ数 9件
  • 新規にお会いした数 8件
  • 新規案件につながったのは 2件

Webを見て頂きご連絡頂くことが多いです。
継続して頑張ります。

iPhone+何かをしたいと言っていたけど?

iBeaconの案件は数件。
BLEをちょこっとやって、IoTもちょこっとかじってという感じで僅かだけど前進。まだこれから。

hitonomichi.hatenablog.com

AppStoreとかかわりたいと言っていたけど?

AlarmWeatherをちょこっとバージョンアップしただけ。
販売経路として捨てるわけにいかないので常に頭にあるんだけど努力不足でした、が、優先度低いから問題なし。

一人からの脱却と変化と言っていたけど?

完全に一人です。脱却なんて程遠いですね。

2016年前半への道しるべ

これからについて。

受託案件中心にしたい、というのは変わらず。

常駐は素晴らしいエンジニアと仕事できることがよくあるので、
良い刺激があって良いのですが、できれば受託の割合を増やしたいです。
表向きに出せる成果(ここ大事)になりやすいのが受託だからです。

iPhone+何か

これも変わらず引き続きで。
iBeaconは増えたし、BLEも取組中だし、この調子でリアルとネットを繋ぎにいきたいです。

一人からの脱却と変化

新しいサービスもそうだし、アプリ作成もそうだし、法人化する必要が出てきそう。
会社作って体制組むことを少し考えてます。

おわりに

アプリ作成だけの仕事の仕方から変化の時期に来てるのかなーという感覚。
新規のお話をもらったり、アプリ外の話をもらったりして、人を繋ぐ仕事もありだなーとか。
開発規模が大きい話や、抱えきれない数の案件数だったりしてお断りすることもあり、人雇うのもありだなーとか。
私はiOS専門でやってるんですが、WebやAndroidはできないの?ってかなりの確率で聞かれることもあり、協業できる人欲しいなーとか。
バランスの問題なので、浮力を失わないよう仕事しながら、先鋭的なところも取り入れてやっていきたいと思います。
早寝早起きは崩さずに。健康第一。

お仕事のお問い合わせはこちらから。
ROADTO

皆様どうぞ今年もよろしくお願いいたします。

自己紹介
メガネは売っていません
高浜 一道(たかはま かずみち)
大阪でiOSアプリの道を歩くフリーランス。
iPad・iPhoneとサーバを連携した、JSONやDBといったキーワードが出てくるツール系が多めです。
お仕事のご依頼やご連絡はこちらから。
お仕事ください!
Web : ROADTO
ML : k-takahama(a)roadto.jp

個人的なアカウントはこちら。
Tw : @hitonomichi
Fb : kazumichi.takahama