拡張現実ピタゴラ装置(intangibleな部分)をiPadで表現する

この記事は FUN Advent Calendar の13日目の記事です

adventar.org

昨日は @_manohito でした。

自己紹介

  • あつや / @n_atmark
  • 知能システムコース 3年
  • Swiftが好き
  • 今年は某未来携帯プロジェクトのプロジェクトリーダーをやってます
  • システムソフトウェア研配属になりました

拡張現実ピタゴラ装置 とは

まずピタゴラ装置に関してですが、NHK教育で放送されている ピタゴラスイッチ をご存知の方は多いのではないでしょうか?

ピタゴラ装置こと、ルーブ・ゴールドバーグ・マシン(Rube Goldberg Machine)という、いくつもの仕掛けを連鎖的に作動させ、最終的に何らかの作業を実行する物を指します。
youtu.be

公立はこだて未来大学では、1年次の必修科目「情報表現基礎1」でこちらのピタゴラ装置を作成します。

しかし、ただのピタゴラ装置ではなく 拡張現実 ピタゴラ装置という名前にもあるように、 コンピュータプログラムや電子工作を用いて現実と非現実の境界があいまいになるような作品制作を行います。

講義のページはこちら: 拡張現実ピタゴラ装置 - 迎山和司研究室

www.youtube.com

大学の講義では、PC上でProcessingを用いてintangible(無形)の部分を表現しているのですが、 今回はその部分をiPadで動かそうと思います。

環境

  • Xcode (>= 8.3)
  • Swift 3.x ※ 使用ライブラリがSwift4に対応していないため
  • iPad (>= iOS 10.0)

今回使う技術

  • Swift
    • iPad上でアプリを動かしたいので,Swiftを用います
  • ProcessingKit
    • Processingライクな構文を用いて、iOS上でビジュアル表現ができるライブラリ
  • simple-tween
    • アニメーションの中間フレームを補うためのライブラリ

作ったもの

おそらく先に作ったものを見た方が早いですね。 youtu.be

github.com

現実世界のボールがiPadの裏に入るのと同時に、画面上でアニメーションが再生され、 アニメーション上のボールが画面外に出るタイミングで、実世界のボールが画面外に転がるようになっています。

手順

1. Carthage経由でライブラリをダウンロード

github "natmark/ProcessingKit" ~> 0.4.0
github "natmark/simple-tween" ~> 0.0.1

Carthageの使い方については、こちらが詳しいと思います qiita.com

2. ProcessingViewを継承したPitagoraViewを作成

gist.github.com

3. それぞれのSceneの中身を記載

gist.github.com

PitagoraViewを拡張する形で各シーンの中身を書いています。 simple-tweenによって各シーンの実行時間を管理しており、tween.positionの値が0.0から1.0まで変化したときに 次のシーンを再生するようになっています。

今回はこのtween.positionの値を使ってアニメーションを行うために、lerpという関数を用意しました。 Linear Interpolate (線形補間)の略で、minとmaxを指定すると、tween.positionの割合に応じて値を返してくれます。 gist.github.com

本当にやりたかったこと

当初tangibleとintangibleのつなぎこみの部分(センサーを使ったボールの判定・サーボモータを使ったボールの送出)をArduinoと接続してやろうと思ったのですが、時間が全然取れなくてintangible部分しかできませんでした...

手を動かす前にArduino側のUSB Type-AオスとiPad側のLightning端子を繋ぐための、USB Type-Aメス⇄Lightningケーブルを手に入れることができませんでした...

ArduinoiPad間のシリアル通信自体はできそうなので、時間があればもう少し取り組んでみたいです...

www.youtube.com

終わりに

iPadを使うことで、タッチディスプレイをはじめとしたリッチな機能が使えるようになり、 しかもPCに比べ配置場所に融通が効くのでPCより向いてるんじゃないかな?
と考えて今回の記事を書きました。

せっかく良さげなライブラリもあったので...

今回の記事では、現実と非現実の境界の部分をあまり触れられませんでしたが、 Arduinoとの連携ができるようになれば表現の幅も広がりそうですね。

明日は@Zer0ypさんです!

mixi就業型インターン「Dive into mixi GROUP」に参加してきました!

f:id:n_atmark:20171106010916p:plain:w200

2017/9/4〜2017/9/22 の期間で、株式会社ミクシィの就業型インターン「Dive into mixi GROUP」に参加してきました!

Dive into mixi GROUPとは!

「Dive into mixi GROUP」では、世界累計4,000万人以上の利用者を誇る国内トップシェアのゲーム開発から、スタートアップフェーズのサービス、現在開発中の新規サービスまで、現場社員とともにサービス開発・業務体験ができます。 http://pr.mixi.co.jp/entry/2017/05/19/dive_into_mixi_GROUP

自分はこの「Dive into mixi GROUP」で、「YYC」アプリにiOSインターンとして3週間お世話になってきました!

YYC

www.yyc.co.jp YYCは株式会社Diverseが提供している日本最大級のマッチングサイトで、17周年を迎える老舗のオンラインマッチングサービスです。

今回、このYYCというサービスのiOSインターンさせていただきました。

実は現在YYC iOSアプリはストアに2バージョン上がってて、インターンの時はちょうどリニューアル中でした。 リニューアル版の方でインターンさせていただくことに!

やったこと

機能実装を通して、テスト周りを多く勉強させてもらいました! もともとインターン前の面談で、メンターとしてKuniwak さんがついてくださると聞いていて、 だったらテストについてとことんやりたい!と希望させてもらいました。

実際にTestableな設計だったり、テストケースの選び方だったり、UIテストのデザインパターンまで業務を通して教えてもらえました!

収穫したこと

テストをガンガン書かせてもらう中で、Testableな設計を学べたのはよかったです。Appleが提唱しているMVCSmalltalk MVCの違いも、インターンが終わってから理解できました。デバッギングに関しても、Instrumentsの使い方やLLDBについて講習会を開いていただき、大きなスキルアップができました!

実際に自分が作っているProcessingKitというライブラリでも、開発初期に動作が重くてメモリリークしてるんじゃないか?って思うことがあって、インターンの際に教えてもらったInstrumentsツールを使ってリーク箇所探し出せたので、すごく良い経験でした! github.com

インターン中のイベント

インターン期間中に、人事の方がいろいろイベントをセッティングしてくださいました! f:id:n_atmark:20171106160501j:plain

インターン生懇親会や、新入社員歓迎会、XFLAGスタジオの講演会、ランチ交流会などなど とにかくイベントが多くて、「朝きて仕事して帰るだけ」っていう日はほとんどなかった気がします!

また、週に1回他のインターン生と「今週やったこと・来週やること・週末の予定」を話し合うスクラムミーティングのような 時間がありました。
mixiのいろいろあるサービスの中で、他のサービスでインターンしている別の学生のことも知ることができて、なかなか面白かったです!

おまけ

f:id:n_atmark:20171106154645j:plain

開発環境がすごく快適でした...!椅子がメッチャタカイ椅子らしい...!
ディスプレイも何枚でも(?)借りれるそうです!

おまけ2

f:id:n_atmark:20171106154922j:plain f:id:n_atmark:20171106154913j:plain

パントリーも種類豊富で、コーヒーとか紅茶とかおこげスープとか無料で飲めるとのこと!

個人的に生姜のスープともずくスープがお気に入りでした。

おまけ3

f:id:n_atmark:20171106155158j:plain

オフィス内におしゃれなカフェもあって、格安で美味しいコーヒーが飲めるそうです...!
毎日通いたくなる☕️

さいごに

f:id:n_atmark:20171106155655j:plain f:id:n_atmark:20171106155706j:plain

最終日に終了証書いただきました...! こういうの嬉しい!

レッドリドラのぬいぐるみももらえました! インターン楽しかったです!ありがとうございました!

CyberAgent就業型インターン「エンジニアJOB」に参加してきました!

f:id:n_atmark:20171022011229p:plain

2017/8/7〜2017/9/1 の期間で、株式会社サイバーエージェントの就業型インターン「エンジニアJOB」に参加してきました!

僕の参加したエンジニアJOBは、メンターの元で「アドテク、ゲーム、メディア、インフラ、ラボ、スタートアップ等」 サイバーエージェントグループの様々な部署で実務に携われるインターンとなってます!

今回はこの「エンジニアJOB」インターンに参加して、「AWA」のサービスに携わらせていただきました!

AWA

f:id:n_atmark:20171022011736p:plainf:id:n_atmark:20171022011749p:plain

AWAは2015年5月にサービスを開始したサブスクリプション型の音楽配信サービスで、 世界最大規模の4,000万曲を配信しています。

iPhoneAndroid用にアプリがあり、CarPlayやAppleTVにも対応しています。

なぜAWAのプロダクトでインターン

f:id:n_atmark:20171022013711j:plain

僕の趣味の1つがライブ参戦で、普段からYoutubeなどで音楽を聞くことが多く、音楽配信系のアプリを何個か入れてます。
AWAもそのうちの1つで(さっき確認したら、2015年の6月から使っていたみたいです)、 UIの綺麗さだったりとかアニソン/ボカロが収録されてたりとか、(当時は)無料でフル尺が聞けたりとか 結構好きなアプリの1つでした。

実はSpotifyも招待コードが必要だった先行時期から触っていて、聞きたいアーティストによって両方使ったりしてたのですが、 AWAが料金体系を見直してフル尺が聞けなくなってからSpotifyに浮気していました。

自分がユーザとして使っているアプリに携われる。というだけでも十分な理由ですが、「AWAがどういうプロセスを経て 今のようなサービス体系になったのか」を聞いてみたくて今回のインターンを選びました。 (実はインターン始まる前にこの話は聞かせてもらいました)

AWAでやったこ

iOSチームでAWAのサービス開発に携わらせてもらいました。

  • 新機能の開発
  • 機能改修
  • バグ修正
  • ビルド速度の向上(調査)

など、GitHubのissueベースで業務を担当させてもらいました。

f:id:n_atmark:20171022014845p:plain

よかったこ

プロダクトにガンガンコミットできました。短いインターン期間ながら、スピード感を持って業務に取り組めたので良かったです。
実務に携わることで、環境や仕事内容を知ることができ、将来の見通しを持つことができました。

課題だと思ったこ

自分の「巻き込む力」がまだまだ足りないと感じることがありました。

チーム開発を行う上で、デザイナーやプロダクトオーナーと議論することは、プロダクトの方向性を決めるために必要不可欠で、インターンといえど、その部分に力を注げなかったのは課題だと感じました。

また、コードレビューで指摘される点がコピペに起因するものが多く、もう少し気を使えるようにならないといけないと感じました。

メンターさんからも「自走できるエンジニア」を目指して頑張って欲しい。と言っていただき、自分の行動を振り返りながら次の行動に繋げられるようになるべきだと思いました。

収穫できたこ

AWAiOSチームでは週1で「コミット振り返り」という時間を設けて、1週間で発生したコミットをチームメンバー全員で確認する作業を行なっていました。
プルリクエストの段階でコードレビューしていないメンバーの目も入ることで、全員がコードに責任を持つことができ、開発を共通認識 できるため、すごく参考になりました。

実際に、僕が出したプルリクエストでマージされたものが、コミット振り返りの段階で別のエンジニアから指摘が入りリバートした事例もあったため、コードの品質を担保するのに有効な手段だと感じています。

インターン中の出来事

f:id:n_atmark:20171022020630p:plain f:id:n_atmark:20171022020635p:plain

インターン期間中に約16時間の緊急メンテナンスを伴う障害が発生しました。 サービス開始して2年経つAWAですが、この規模の大規模メンテナンスは初めてだそうです。 サブスクリプション型のサービスのため、メンテナンスでサービスを止めてしまうことはもちろん致命傷で、 ユーザからの反響も大きかったのを覚えています。

ただ、障害が起きて終わりという対応ではなく、次に同じような障害が起きないような対策や、 仮に起きてしまった場合に障害を軽減するような取り組みを、かなり細かいレベルで考えていたのが印象的でした。
障害から得た教訓を大事にしているところも参考にしたいと思いました。

まとめ

  • AWAでのインターンはチーム開発におけるチームワークが如何に大切なのかが分かりました
  • コード品質がすごく高く感じました!
  • インターン期間中に大規模障害が発生したのは貴重な経験でした

f:id:n_atmark:20171022015223j:plain 最終日には、社員みなさんに集まっていただいて集合写真を撮っていただいたり、 f:id:n_atmark:20171022015234j:plain 寄せ書きまで書いてもらえました!

人事の方にお願いして、iOSインターン生 + iOSエンジニアの呑み会も開いてもらえました! f:id:n_atmark:20171022022501j:plain 手のバツ印はXcodeポーズらしいです!

インターンとても楽しかったです!!! 🎉

スカラシップスポンサー枠でiOSDCに参加してきました!(後編)

9/15(金)~9/17(日)の3日間、早稲田大学で開催されたiOSDC Japan2017に参加してきたので、そのまとめ記事(後編)になります!

 

前編はこちら↓

natmark.hateblo.jp

後編では、Day2+番外編という形で書いていこうと思います!

 

Day2

オープニング

f:id:n_atmark:20170921222835j:plain Day2でも例のスポンサー紹介が!!!
(例のスポンサー紹介の話は前編に書きました!)

Day2セッション

Day2は以下のセッションを聴きに行きました!

  • 新しい画像フォーマットHEIFを用いたiOSアプリの通信量削減
  • 結婚式を支えた技術 Firebaseを活用したサーバレスiOSアプリケーション開発
  • App Transport Securityは作れる
  • コード生成による静的なDependency Injection
  • iOSバイス3,500台を管理する、東急ハンズのデバイス管理手法とは
  • iOSエンジニアのためのNLP基礎
  • iOS人工知能(AI) -GPU並列演算の仕組みと機械学習
  • 詳解Objective-C
  • Introducing protobuf in Swift

2日目はギークトークが多かった気がしてます…!

個人的には@TamaObject12 さんの「新しい画像フォーマットHEIFを用いたiOSアプリの通信量削減」が興味深かったです!
HEIFというフォーマットについて知らなかったのでそれだけでも驚きでしたが、HEIFのエンコードがA10チップ積んだiOS端末でしかできないため、
iPhone48台でクラスタ組んでサイレントプッシュでエンコーディング&サーバアップロードを行う構築が奇抜すぎてめっちゃ笑いましたw

1回でいいからiPhoneクラスタやってみたい。

あと、@yhirose741さんの「詳解Objective-C」を聴きに行きました。

Objective-Cが恋しかったんです…。

そのセッションで紹介されていた「僕のかんがえた最強のObjective-C」というのがあるのですが…

#define let __auto_type const
#define var __auto_type

これはズルいでしょ…こんなの笑うしかないじゃない…

お昼ご飯

Day1とDay2ではランチも振舞われました!

f:id:n_atmark:20170919000849j:plain サンドウィッチ美味しかったです!余った分はおかわりOKだったので、たくさん食べました🌮 f:id:n_atmark:20170921184524j:plain

ブース&同人誌

f:id:n_atmark:20170921184713j:plain 企業のブース展示もありました!
実際にプロダクトのデモを見せてもらえたり、VRでオフィスツアーができるデバイスが置いてあったり、楽しかったです!!

f:id:n_atmark:20170921184807j:plain CyberAgentさんのブースでは、アンケートコーナーがあって自分もシール貼ってきました💪

f:id:n_atmark:20170921185224j:plain また、企業ブースに並んで@es_kumagaiさんによる同人誌即売会が行われていました!
(カンファレンスで同人誌売ってるの珍しい気がする!?)

f:id:n_atmark:20170921184604j:plain 自分も一冊購入させていただきました😊

Day2 LT

Day2もLTでお酒が振舞われました!

Day2のLTは@hironyticさんの
「地方在住iOSエンジニアの生存戦略」が 「めっちゃ分かる。。。」って感じでした。 speakerdeck.com 自分も北海道函館市在住で、情報のキャッチアップに苦戦しつつ文句言っててもしょうがないな…
って思うことが結構あるので、自分なりに工夫してたりします。
自分はconnpassに上がってる勉強会の資料とか目を通すようにしてます。swtwsも毎回楽しみです。

エンディング

エンディングで、参加者の投票によって選ばれたベストトーク賞の発表がありました!

f:id:n_atmark:20170921224221j:plain

おめでとうございます!

最後に実行委員長の@tomzohさんから
「iOSDC = 文化祭のような存在」になって欲しい! との言葉が!

iOSDCの中でも
・iOSDCのトークは「講義」ではなく「双方向コミュニケーション」
・リアクションは3割増し!
・質問・Ask the Speakerなどでフィードバック!
パックマンルール
・ブログを書くまでがiOSDC!
など、コミュニケーションを活発化させる仕組みがたくさんあり、 参加者も発表者もスタッフもスポンサーも一緒になって作るカンファレンスを身を持って実感できました!

すごく楽しかったので、自分も来年はCfP出したい!!

帰宅

f:id:n_atmark:20170921230035j:plain スタッフの皆さんとハイタッチしながら退場! お疲れ様でした!!

番外編

グッズ!

f:id:n_atmark:20170921230409j:plain ノベルティが結構豊富で、企業ブースでもいろいろもらえました!

特に、 f:id:n_atmark:20170921230524j:plain 普段使いできるトートバッグ!おしゃれ〜〜!!

メンターさんと再開

iOSDCで元インターン先のメンターさんたちと再開できたのめっちゃ嬉しかったです。

ラーメン連れてってもらいました🍜

「あとむさん寝坊したんですか?」

自分のアプリを宣伝したら…

めっちゃ嬉しい

まさかのAndroid版開発決定…!?


以上、iOSDCレポでした!! 前後編に渡って見てくださった方ありがとうございます!

スカラシップスポンサー枠でiOSDCに参加してきました!(前編)

f:id:n_atmark:20170918201359j:plain

9/15(金)~9/17(日)の3日間、早稲田大学で開催されたiOSDC Japan2017に参加してきたので、そのまとめ記事(前編)になります!iwillblog!

iosdc.jp

  今回、Wantedlyさんが募集していた学生応援プログラムに採択され、スカラシップスポンサー枠で参加させていただきました!

www.wantedly.com

iOSDCとは

2016年から始まった、iOSと周辺技術を題材としたカンファレンスです。 今年は2日+前夜祭の2.5日で開催されました!

前夜祭

f:id:n_atmark:20170918202815j:plain

会場につくと、受付スタッフの方々が迎え入れしてくれました!

チケットを受付で提示して、ネームホルダーとTシャツとノベルティを受け取ります。 f:id:n_atmark:20170918230056j:plain

(ノベルティもめちゃくちゃおしゃれなので後で紹介します!)

f:id:n_atmark:20170918203424j:plain 受付を済ませたら、メイン会場へ!

実行委員長の @tomzoh さんの挨拶でiOSDC前夜祭開始!

前夜祭のタイムライン

前夜祭では

  • SiriKit and Me
  • Objective-C++を使ってMRCで快適に開発する
  • Swaggerで始めるAPI定義管理とコードジェネレート
  • 節子、それViewControllerやない…、FatViewControllerや…。

の4つのセッションが行われました!前夜祭から濃い内容で楽しかったです!

swagger-codegen がすでにSwift4対応してるのが驚きだったので、特に印象的でした

(全体のタイムテーブルはこちらから↓) iosdc.jp

Day1

Day1は朝10時からオープニング! 昨日、「朝一からきてくださいね〜」というアナウンスもあり、朝一から参加されてる方がほとんど!

www.youtube.com

そして、良さげなOPムービーと共にDay1開始!

 「なるほど、これを参加者の人たちに観て欲しかったんだな(ふむふむ)」

と思っていたら…
続いてスポンサー紹介の動画が…

ハッ!?(゜゜;)

www.youtube.com

なんとスポンサー紹介のナレーションが、エヴァミサトさんの声じゃないですか!運営さん頑張りすぎ!!!

来年は誰がナレーションなんだろう…(((o(゚∀゚)o)))

Day1セッション

自分は以下のセッションを聴きに行きました!

  • Auto Layoutのアルゴリズム
  • インタラクティブ画面遷移の実践的解説
  • Build high performance and maintainable UI library
  • RxSwiftのObservableとは何か
  • SwiftとKotlin
  • Xcode Source Editor Extensionの世界
  • はじめてのSwift Server API
  • Swiftで実装するHTML特殊文字の高速処理

2日目は特に @53ningen さんの「RxSwiftのObservableとは何か」が分かりやすくて、今までなんとなく使ってた部分が(ちょっと)理解できました!

@eduraaa さんの「SwiftとKotlin」も面白くて、今までKotlinはSwiftに似た言語ぐらいの温度感だったので、SwiftとKotlinの似てるところ、違うところが分かってKotlinに親近感が持てました◎ そのうちKotlin書いてみよっと😉

Day1 LT

f:id:n_atmark:20170919001913j:plain

お酒が振舞われて、LT会!

カンファレンスを下から見たり横から見たり、 英語圏TeXを「てふ」って呼ばないことに驚いたり、 IPAファイルの中身覗きたくなりました👍

Day1 懇親会

f:id:n_atmark:20170919002615j:plain 懇親会チケットもおしゃれ…!

1日目の最後に懇親会がありました! f:id:n_atmark:20170921181106j:plain

パックマンルールという制度のおかげで、30人くらいの方とお話させていただけました!

Wantedlyのステッカー貼っていたので、「学生さんですか〜?」と話しかけていただけたのもよかったです…!!

そしてそして、インターンの時のメンターさんたちに話かけにいくと、皆さん覚えててくださったのがすごく嬉しかったです😂

あと、懇親会のご飯美味しかったです(写真撮り忘れ)
懇親会のビールも美味しかったらしいです(僕はビール飲めない)

そしてそして…

Day2も楽しむぞ〜!ということで、前編は以上になります。

後編ではDay2+番外編でブログ書かせていただきますので、ぜひそちらもご覧になっていただければ幸いです!

natmark.hateblo.jp

Wantedlyの短期インターンに行って来ました!

3/27-3/31の5日間、ウォンテッドリー株式会社(http://site.wantedly.com)にインターンに行ってきました!

2月にWantedlyにオフィス訪問に行った時に「春休み時間あったらインターンおいでよ!」と言っていただけたので、予定が空いていた3月最後の1週間だけインターンの申し込みをしたところ、快く受け入れていただけました。

Wantedlyでは WHYWHAT というキーワードを大事にされているので、それに沿ってインターン体験談を書いてみようと思います。

WHY

もともとWantedlyのサービス(https://www.wantedly.com/)をよく使っていて、Wantedlyの「シゴトでココロ踊ろう」という企業理念にすごく興味がありました。

Wantedlyに掲載されている企業のページを見ると、「面白そうだな!」とか、「楽しそうだな!」と思うことが自分自身たくさんあって、仕事に対して「楽しい!」と思えるようなプラットフォームを提供しているWantedlyに行って見たい!と思っていました。

WHAT

今回、Wantedly People(https://p.wantedly.com/)というアプリのiOSプロジェクトにジョインさせていただきました。

f:id:n_atmark:20170331232714j:plain

僕も愛用しているサービスで、カメラで名刺を撮影すると名刺を自動認識して、名刺に書かれている名前やメールアドレスなどの情報を自動で書き出してくれます。

さらに読み込んだ名刺の情報がWantedly上にアカウントのあるユーザの情報と一致すれば、Wantedly上のアカウントとの紐付けまで行ってくれます。

HOW

GitHubのissueベースで業務を経験させていただきました。

そういえば、WantedlyではGitHubでのコミュニケーションを積極的に行なっているそうです。ビジネス職の方もGitHubを使うというので驚きです。 www.wantedly.com

メンターさんに、対応してほしいissueを指示していただいたので、


GitHubのissueに実装の方針を記載

[WIP]でPRを作成。Reviewerにメンターさんを追加

実装をしてメンターさんにレビューを依頼

コードレビューしていただいた箇所で、修正必要箇所を修正して再commit&push


という手順で開発を進めました。

やったこと

新機能の追加や、パフォーマンスの改善といったことを行いました。

Wantedly PeopleではRxSwift + MVVMという設計が行われていて、 普段MVCでの開発ばかりだったので、ソースを理解するのにかなり苦戦しました。
Wantedly Peopleがたどり着いたアーキテクチャ // Speaker Deck

インターンの初日はRxSwiftの講習会からしていただけました。リアクティブプログラミングやアーキテクチャなどもしっかり勉強しないといけないなぁ…と実感しました。

感想

  • 今回、メンターの @shingt さんにすごく丁寧にコードレビューしていただけました。レビューの習慣は大事にしたいと思いました。

  • Issueの立て方やPRの作り方などもすごく勉強になりました。GitHubベースでプロジェクトが進むので、すごく作業しやすかったです。

  • 愛用しているWantedly Peopleのプロジェクトに携わることができて、貴重な体験ができました。

f:id:n_atmark:20170331235832p:plain

f:id:n_atmark:20170331235840p:plain

f:id:n_atmark:20170407185631p:plain

www.wantedly.com

あとがき

今回のインターン期間中、赤坂のカプセルホテルに泊まってました。

初めてのカプセルホテルだったのですが、圧倒的外国人率に驚きました。

3回くらい外国の方と英語で話す機会があって、ホテルに泊まっているだけで国際交流できてしまいました。笑

ネイティブの方と英語で話しができて、結構楽しかったのでまたカプセルホテル泊まってみようかなぁ…と思いました

三浦半島ハッカソンに参加してきました!

3/19・20に開催された三浦半島広域観光アイデアソン・ハッカソンに参加してきました。

三浦半島は神奈川県の4市1町(横須賀市葉山町鎌倉市、逗子市、三浦市)で構成されている半島です。 今回は「三浦半島の観光事業を創造する」というテーマでハッカソンを行いました。

僕がアルバイトさせていただいている、タイムカプセル株式会社が主催で、今回運営側のご厚意により函館の学生に対して交通費・宿舎の支援をしていただけました。

1日目

神奈川県横須賀市のコワーキングオフィス 16startupsが会場でした。 普段はシェアオフィスとして提供されている場所を貸し切ってのアイデアソン・ハッカソンでした。

f:id:n_atmark:20170324161836j:plain

事業計画部門・IT部門と2つの部門に分かれて、観光事業を盛り上げるサービスや取り組みを考えました。

横須賀フィールドサーベイ

三浦半島の観光資源を知るために、会場がある横須賀市にフィールドサーベイに出かけました。

f:id:n_atmark:20170324162048j:plain f:id:n_atmark:20170324162100j:plain

横須賀市は横須賀米軍基地があり、国際色豊かな土地柄です。 また、軍港としても有名な横須賀は、アメリカ海軍や海上自衛隊の戦艦を間近で見ることができたり、 日露戦争を戦い抜いた戦艦三笠が保存されていたりします。

お昼ご飯

f:id:n_atmark:20170324162434j:plain お昼ご飯は、横須賀海軍カレーを食べました。 横須賀のココイチには、地域限定メニューで海軍カレーが置いてあります。

牛肉入りカレーとサラダとドリンクのセットで900円くらいだったと思います。安いです。 ちなみに横須賀海軍カレーは、カレーとセットでサラダと牛乳がついてくる物のことを言うらしいです。

開発メンバー

f:id:n_atmark:20170324162923j:plain 今回未来大学の学生5人で参加しました。
自分 - iOS
M.Sさん - Android
K.Fさん - Android
A.Nさん - Design
Y.Nさん - Server
T.Sさん - Server
こんな感じの役割分担でした。
得意分野がみんなバラバラなので、APIサーバを立てながら iOS/Androidの両方に対応したアプリを作っていました。

夜食

f:id:n_atmark:20170324163449j:plain ハッカソン1日目の夜にピザを振舞ってもらいました。 地元のピザ屋さんのピザだそうです。おいしかったです。

限界集落で深夜開発

f:id:n_atmark:20170324163539j:plain 1日目の夜は谷戸という地域にある、古民家に泊まりました。 崖の上に住居が点在する谷戸地域では、空き家が多く限界集落となっています。

この建物は普段はタイムカプセルの谷戸オフィスとして実際に使われている場所で、古民家/空き家の再活用にも力を入れているそうです。

2日目

2日目はひたすら開発でした。 今回、Facebook連携のためにFacebook SDKを使おうとしたのですが、 iOS / Android共に上手く導入できずかなり苦戦。

github.com バージョン対応Swift3.0.xってなってるけど、closeされてないSwift3対応のissueがたくさんある…….

作ったもの

食須賀という、食事にフォーカスしたSNSを作りました。

地元の人にインタビューしたところ、「わざわざ美味しいお店の情報を食べログに書こうとは思わない。 でも、Facebookにはよく投稿する」という声をいただいたので、Facebookに投稿すると、自動的に食レポが溜まっていくというものを考えました。

f:id:n_atmark:20170324164445p:plain f:id:n_atmark:20170324164459p:plain f:id:n_atmark:20170324164505p:plain

Prott: ハコスカ
GitHub: HakoSuka-MiuraHack · GitHub

参加賞

f:id:n_atmark:20170324164714j:plain 横須賀軍港めぐりのペアチケットをいただきました! また、横須賀に行かねば。

まとめ

函館市も観光事業に力を入れているため、僕たち函館の学生にとって「観光事業を創造するハッカソン」というのは、函館でも活かせるテーマでした。 若い人たちも、地域の良いところを見つけて発信していく活動を積極的にしていくべきだと感じました。

記念撮影

f:id:n_atmark:20170324165032j:plain

f:id:n_atmark:20170324165039j:plain