SlideShare a Scribd company logo
Copyright © 2016. All rights reserved.
2016年8月20日
ハンズラボ株式会社
東急ハンズのPOSから学んだ、業
務iOSアプリの向き合い方
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
自己紹介
1
名前 |> Yusuke Kuroiwa (きんちゃん。)
所属 |> ハンズラボ株式会社
担当 |> iPad POSアプリケーション開発・導入・設置・運用
iOSに関わること全般担当
@wa_kinchan
@wakinchan
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
アジェンダ
1. 東急ハンズのPOS概要
2. HandsPOSの技術面
3. 実運用から学んだ理想と現実
2
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
POSってなに?
3
 Point of Sales
 「いつ・どの商品が・どんな価格で・いくつ売れたか」
https://ja.wikipedia.org/wiki/販売時点情報管理
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
POSの主な機能
4
 お客様が購入するものから売上金額を計算する
 主に四則演算を用いて行う
 税金や、割引の計算の切り上げ、切り捨て、四捨五入
 売上金額とお預かり金額から決済しておつりを返す
 現金、クレジットカード、電子マネー、金券
 売上高計算や在庫更新のための販売情報を提供する
 売上金額を集約して売上高を計算
 販売商品の在庫消込
売上登録
情報提供
決済
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
POSを自社開発する理由
5
 レジをお客様とのコミュニケーションの場にするため
 シンプルで使いやすいPOSにするため
 機能追加、改修を容易にするため
 新規出店や繁忙期に柔軟に対応するため
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
旧POS
6
POS
 旧POS
 一般的なPOS
 自動釣銭機連動
 バーコードスキャナ連動
自動釣銭釣札機 バーコードスキャナ
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
東急ハンズのPOSレジ概要
7
自動釣銭釣札機 バーコードスキャナ
POS
 HandsPOS
 機能はそのままでシンプルに
 操作性を飛躍的に向上
 自動釣銭機連動
 バーコードスキャナ連動
レシートプリンタ
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
店舗に導入済みのPOS
8
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
キッティングの風景
9
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
東急ハンズについて
10
 売上高:948億円(2016年3月度)
 店舗数 : 81店舗 (ハンズカフェ除く)
 レジ台数 : 800台 (繁忙期900台)
 商品件数 : 100万件
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
iPad
11
POS カスタマーディスプレイ
iPad Air 2 iPad Air 2
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
HandsPOS特徴
12
 マスタダウンロード (商品データ、従業員データ) 保持
 売上、返品、データ連携
 取引内容のカスタマディスプレイ表示
 ハンズクラブカード(ポイントカード)システムとの連携
データ
外部連携
表示
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
アジェンダ
1. 東急ハンズのPOS概要
2. HandsPOSの技術面
3. 実運用から学んだ理想と現実
13
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
開発環境
14
 Swift 2.2
 Swift 1.2の時から実装
 Swiftのコミュニティ活発
 フレームワーク豊富
 言語仕様の恩恵(Optional Type, Emun, Protocol)
 buddybuild (CI)
 Carthage, CocoaPods
 SwiftLint
 Sketch
 GitHub
 Slack
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
frameworks
15
Realm
aws-sdk-ios
Multipeer
Connectivity
SwiftTask
SwiftBond
 iOS間通信
 マスタデータのCRUD、取引データのCRUD
 Cognito、Lambda、S3、SNS
 Promise
 Binding
ObjectMapper  Mapping
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
frameworks
16
Starscream
 WebSocket Client
 レシートプリンタ(Windows)のサービスと会話
 TLS/WSS support
 ping-poing
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
アジェンダ
1. 東急ハンズのPOS概要
2. HandsPOSの技術面
3. 実運用から学んだ理想と現実
17
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
無線LANの問題
18
 ネットワークがブチブチ切断
 レシートプリンタに命令が不達
 レシート出力不可
 おつりが出金不可
 突然アクセスポイントが不調になりレジが使用不可
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
無線LANの問題解決策
19
 無線がだめなら有線
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
有線接続
20
 無線接続の1.5 ~5倍くらい高速化
 パケット・ロス、遅延を抑止
 有線はDHCPで稼働
 有線、無線両方のインターフェースで動作
 en0 ipv4 10.xxx.yy.aaa (up) (running)
 en2 ipv4 10.xxx.yy.bbb (up) (running)
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
iOSを運用する上での課題
21
 ソフトウェアアップデート通知の表示を抑止
 MDMからのアプリ配布(アップデート)を強制化
 アプリがバックグランド状態でのRealmの書き込み
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
HandsPOSは進化し続けます
22
 カスタマーディスプレイの有効活用
 カメラでポイントカード付与
 おすすめ商品サジェスト機能
 電子レシート
 店員に配っているiPod touchとの連携
 先に商品だけスキャンしてレジと連携
 クレジットならその場で決済
 Apple Pay
無断転載・複製を禁ず。Copyright © 2016. All rights reserved.
まとめ
23
 ハンズラボでは、iOSをとことん使いこなしてます
 今までにないレジを開発
 これからも進化
 実運用で出てきた業務要件を応えるために、技術を駆使して解決
Copyright © 2016 All rights reserved.24
ハンズラボでは絶賛採用強化中です!!!
Copyright © 2016 All rights reserved.25
ハンズラボでは絶賛採用強化中です!!!
Copyright © 2016 All rights reserved.
iOSエンジニア募集中!!!ほか職種もあるよ
iOSエンジニア
Webアプリエンジニア
AWSインフラエンジニア
Copyright © 2016. All rights reserved.
ハンズラボ 採用
ハンズラボ Wantedly

More Related Content

What's hot

Bluemix_API_Possibility
Bluemix_API_PossibilityBluemix_API_Possibility
Bluemix_API_Possibility
Harada Kazuki
 
IBM bluemix api connect によるAPIエコノミーの実現 20170426
IBM bluemix api connect によるAPIエコノミーの実現 20170426 IBM bluemix api connect によるAPIエコノミーの実現 20170426
IBM bluemix api connect によるAPIエコノミーの実現 20170426
Tsuyoshi Hirayama
 
SoftLayerで始めるデジタルマーケティング
SoftLayerで始めるデジタルマーケティングSoftLayerで始めるデジタルマーケティング
SoftLayerで始めるデジタルマーケティング
Kohei Nishikawa
 
Watson iot blockchain api concept 20160728
Watson iot blockchain api concept 20160728Watson iot blockchain api concept 20160728
Watson iot blockchain api concept 20160728
Tsuyoshi Hirayama
 
2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向
Kimihiko Kitase
 
reinvent2015 ctn osaki
reinvent2015 ctn osakireinvent2015 ctn osaki
reinvent2015 ctn osaki
充博 大崎
 
タイムカード打刻チャットボット「ごえもん」誕生話 
タイムカード打刻チャットボット「ごえもん」誕生話 タイムカード打刻チャットボット「ごえもん」誕生話 
タイムカード打刻チャットボット「ごえもん」誕生話 
典子 松本
 
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
Rikitake Oohashi
 
SORACOM UG 関西 | SORACOMと、Sigfoxと、私
SORACOM UG 関西 | SORACOMと、Sigfoxと、私SORACOM UG 関西 | SORACOMと、Sigfoxと、私
SORACOM UG 関西 | SORACOMと、Sigfoxと、私
SORACOM,INC
 
StrongLoopでサクっと始めるAPIエコノミー
StrongLoopでサクっと始めるAPIエコノミーStrongLoopでサクっと始めるAPIエコノミー
StrongLoopでサクっと始めるAPIエコノミー
YUSUKE MORIZUMI
 
Logic of blockchain and quantum computing on ibm cloud platform
Logic of blockchain and quantum computing on ibm cloud platformLogic of blockchain and quantum computing on ibm cloud platform
Logic of blockchain and quantum computing on ibm cloud platform
Tsuyoshi Hirayama
 
Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02
Hiroaki Komine
 
AWS re:Inforce 2019 re:Cap LT
AWS re:Inforce 2019 re:Cap LTAWS re:Inforce 2019 re:Cap LT
AWS re:Inforce 2019 re:Cap LT
Hiroki Moriya
 
ノンコーディングでも!ここまでできるkintone
ノンコーディングでも!ここまでできるkintoneノンコーディングでも!ここまでできるkintone
ノンコーディングでも!ここまでできるkintone
典子 松本
 
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
ISAO_Corp
 
Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11
YUSUKE MORIZUMI
 
Ibm cloud and watson iot 20160616
Ibm cloud and watson iot 20160616Ibm cloud and watson iot 20160616
Ibm cloud and watson iot 20160616
Tsuyoshi Hirayama
 
webエンジニアがIoTにハマるわけ
webエンジニアがIoTにハマるわけwebエンジニアがIoTにハマるわけ
webエンジニアがIoTにハマるわけ
Eiji Yokota
 
JAWS DAYS 2016 The Next Cloud
JAWS DAYS 2016 The Next CloudJAWS DAYS 2016 The Next Cloud
JAWS DAYS 2016 The Next Cloud
晋也 古渡
 
OSC名古屋2014 使えるクラウド SoftLayer
OSC名古屋2014 使えるクラウド SoftLayerOSC名古屋2014 使えるクラウド SoftLayer
OSC名古屋2014 使えるクラウド SoftLayer
Maho Takara
 

What's hot (20)

Bluemix_API_Possibility
Bluemix_API_PossibilityBluemix_API_Possibility
Bluemix_API_Possibility
 
IBM bluemix api connect によるAPIエコノミーの実現 20170426
IBM bluemix api connect によるAPIエコノミーの実現 20170426 IBM bluemix api connect によるAPIエコノミーの実現 20170426
IBM bluemix api connect によるAPIエコノミーの実現 20170426
 
SoftLayerで始めるデジタルマーケティング
SoftLayerで始めるデジタルマーケティングSoftLayerで始めるデジタルマーケティング
SoftLayerで始めるデジタルマーケティング
 
Watson iot blockchain api concept 20160728
Watson iot blockchain api concept 20160728Watson iot blockchain api concept 20160728
Watson iot blockchain api concept 20160728
 
2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向2016年冬 IBMクラウド最新動向
2016年冬 IBMクラウド最新動向
 
reinvent2015 ctn osaki
reinvent2015 ctn osakireinvent2015 ctn osaki
reinvent2015 ctn osaki
 
タイムカード打刻チャットボット「ごえもん」誕生話 
タイムカード打刻チャットボット「ごえもん」誕生話 タイムカード打刻チャットボット「ごえもん」誕生話 
タイムカード打刻チャットボット「ごえもん」誕生話 
 
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
モバイルファースト時代のクラウドネイティブアーキテクチャ JAWS DAYS 2015
 
SORACOM UG 関西 | SORACOMと、Sigfoxと、私
SORACOM UG 関西 | SORACOMと、Sigfoxと、私SORACOM UG 関西 | SORACOMと、Sigfoxと、私
SORACOM UG 関西 | SORACOMと、Sigfoxと、私
 
StrongLoopでサクっと始めるAPIエコノミー
StrongLoopでサクっと始めるAPIエコノミーStrongLoopでサクっと始めるAPIエコノミー
StrongLoopでサクっと始めるAPIエコノミー
 
Logic of blockchain and quantum computing on ibm cloud platform
Logic of blockchain and quantum computing on ibm cloud platformLogic of blockchain and quantum computing on ibm cloud platform
Logic of blockchain and quantum computing on ibm cloud platform
 
Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02Watson API トレーニング 20160716 rev02
Watson API トレーニング 20160716 rev02
 
AWS re:Inforce 2019 re:Cap LT
AWS re:Inforce 2019 re:Cap LTAWS re:Inforce 2019 re:Cap LT
AWS re:Inforce 2019 re:Cap LT
 
ノンコーディングでも!ここまでできるkintone
ノンコーディングでも!ここまでできるkintoneノンコーディングでも!ここまでできるkintone
ノンコーディングでも!ここまでできるkintone
 
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
20180119 AI で業務効率化 ~B To Employee ではじめる Chat Bot~
 
Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11Mobile cloudnight 2015/11/11
Mobile cloudnight 2015/11/11
 
Ibm cloud and watson iot 20160616
Ibm cloud and watson iot 20160616Ibm cloud and watson iot 20160616
Ibm cloud and watson iot 20160616
 
webエンジニアがIoTにハマるわけ
webエンジニアがIoTにハマるわけwebエンジニアがIoTにハマるわけ
webエンジニアがIoTにハマるわけ
 
JAWS DAYS 2016 The Next Cloud
JAWS DAYS 2016 The Next CloudJAWS DAYS 2016 The Next Cloud
JAWS DAYS 2016 The Next Cloud
 
OSC名古屋2014 使えるクラウド SoftLayer
OSC名古屋2014 使えるクラウド SoftLayerOSC名古屋2014 使えるクラウド SoftLayer
OSC名古屋2014 使えるクラウド SoftLayer
 

Viewers also liked

AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
Keisuke Nishitani
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
Terui Masashi
 
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
Yotaro Fujii
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
真吾 吉田
 
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォームAWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
Hiroki Takeda
 
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
Keigo Suda
 
あのアニメのOp,edっぽいアニメーションを実装する話
あのアニメのOp,edっぽいアニメーションを実装する話あのアニメのOp,edっぽいアニメーションを実装する話
あのアニメのOp,edっぽいアニメーションを実装する話
Kenji Tanaka
 
AWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システムAWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システム
Masayuki Kato
 
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
Keisuke Kadoyama
 
Swift で JavaScript 始めませんか? #iOSDC
Swift で JavaScript 始めませんか? #iOSDCSwift で JavaScript 始めませんか? #iOSDC
Swift で JavaScript 始めませんか? #iOSDC
Tomohiro Kumagai
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
Natasha Murashev
 
日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた
崇之 清水
 
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Piro Shiki
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
Keisuke Nishitani
 
10 Good Reasons - NetApp AltaVault
10 Good Reasons - NetApp AltaVault10 Good Reasons - NetApp AltaVault
10 Good Reasons - NetApp AltaVault
NetAppUK
 
Can social media change health behavior?
Can social media change health behavior?Can social media change health behavior?
Can social media change health behavior?
Iris Thiele Isip-Tan
 
Workshop: Docker on Elastic Beanstalk
Workshop: Docker on Elastic BeanstalkWorkshop: Docker on Elastic Beanstalk
Workshop: Docker on Elastic Beanstalk
輝 子安
 
H2O x mrubyで人はどれだけ幸せになれるのか
H2O x mrubyで人はどれだけ幸せになれるのかH2O x mrubyで人はどれだけ幸せになれるのか
H2O x mrubyで人はどれだけ幸せになれるのか
Ichito Nagata
 
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigiReact Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
Yukiya Nakagawa
 

Viewers also liked (20)

AWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべことAWSでアプリ開発するなら 知っておくべこと
AWSでアプリ開発するなら 知っておくべこと
 
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのことDevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
DevOpsとか言う前にAWSエンジニアに知ってほしいアプリケーションのこと
 
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
JAWS DAYS 2017「サーバーレスが切り拓く Eightのリアルタイム大規模データ分析」
 
サーバーレスの今とこれから
サーバーレスの今とこれからサーバーレスの今とこれから
サーバーレスの今とこれから
 
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォームAWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
AWSマネージドサービスをフル活用したヘルスケアIoTプラットフォーム
 
スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話スマートファクトリーを支えるIoTインフラをつくった話
スマートファクトリーを支えるIoTインフラをつくった話
 
あのアニメのOp,edっぽいアニメーションを実装する話
あのアニメのOp,edっぽいアニメーションを実装する話あのアニメのOp,edっぽいアニメーションを実装する話
あのアニメのOp,edっぽいアニメーションを実装する話
 
AWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システムAWSで始めるサーバレスな RESTful API システム
AWSで始めるサーバレスな RESTful API システム
 
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
[JAWS DAYS 2017 ワークショップ] 不安で夜眠れないAWSアカウント管理者に送る処方箋という名のハンズオン
 
Swift で JavaScript 始めませんか? #iOSDC
Swift で JavaScript 始めませんか? #iOSDCSwift で JavaScript 始めませんか? #iOSDC
Swift で JavaScript 始めませんか? #iOSDC
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 
日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた日本語でおk AI スピーカーを作ってみた
日本語でおk AI スピーカーを作ってみた
 
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
Steamで同人ゲームをリリースする ~パブリッシャーになって検証してみた~
 
Tune Up AWS Lambda
Tune Up AWS LambdaTune Up AWS Lambda
Tune Up AWS Lambda
 
10 Good Reasons - NetApp AltaVault
10 Good Reasons - NetApp AltaVault10 Good Reasons - NetApp AltaVault
10 Good Reasons - NetApp AltaVault
 
Can social media change health behavior?
Can social media change health behavior?Can social media change health behavior?
Can social media change health behavior?
 
Workshop: Docker on Elastic Beanstalk
Workshop: Docker on Elastic BeanstalkWorkshop: Docker on Elastic Beanstalk
Workshop: Docker on Elastic Beanstalk
 
H2O x mrubyで人はどれだけ幸せになれるのか
H2O x mrubyで人はどれだけ幸せになれるのかH2O x mrubyで人はどれだけ幸せになれるのか
H2O x mrubyで人はどれだけ幸せになれるのか
 
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigiReact Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか #DroidKaigi
 

Similar to 20160820 iOSDC Lunch Session「東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方」

C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
 
IPv6 アプリケーション開発入門
IPv6 アプリケーション開発入門IPv6 アプリケーション開発入門
IPv6 アプリケーション開発入門
v6app
 
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
Tomoki Hasegawa
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
Yoshito Tabuchi
 
Stargazer Meetup #1
Stargazer Meetup #1Stargazer Meetup #1
Stargazer Meetup #1
Tomoki Hasegawa
 
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
feedtailor
 
嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch
hIDDENxv
 
ガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧めガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧めHiroshi Tokumaru
 
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
Tech Summit 2016
 
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
Tech Summit 2016
 
ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10
Yasuharu Suzuki
 
Tango開発事例
Tango開発事例Tango開発事例
Tango開発事例
Kazuma Sonoda
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
Serverworks Co.,Ltd.
 
Html5minute #5
Html5minute #5Html5minute #5
Html5minute #5
Misaki Shibata
 
ジェスチャ認識・物体形状取得がもたらす新たな未来
ジェスチャ認識・物体形状取得がもたらす新たな未来ジェスチャ認識・物体形状取得がもたらす新たな未来
ジェスチャ認識・物体形状取得がもたらす新たな未来
Kaoru NAKAMURA
 
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方
Mori Ken
 
ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)
aitc_jp
 
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
Toshihiko Yamakami
 
初めてのRxSwift
初めてのRxSwift初めてのRxSwift
初めてのRxSwift
Ivan Luque
 
AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法
yuki0211s
 

Similar to 20160820 iOSDC Lunch Session「東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方」 (20)

C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
 
IPv6 アプリケーション開発入門
IPv6 アプリケーション開発入門IPv6 アプリケーション開発入門
IPv6 アプリケーション開発入門
 
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
 
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッションC# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
C# を使い倒す!クロス プラットフォーム アプリ開発とクラウド連携の新潮流 - Xamarin セッション
 
Stargazer Meetup #1
Stargazer Meetup #1Stargazer Meetup #1
Stargazer Meetup #1
 
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
第2回 近JASA セミナー 「組み込みの世界に影響を与える エンタープライズiOS」
 
嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch嗚呼、素晴らしき哉 MonoTouch
嗚呼、素晴らしき哉 MonoTouch
 
ガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧めガラケーで楽しむオレJSの勧め
ガラケーで楽しむオレJSの勧め
 
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
 
App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的App005 xamarin と_azure_で、超効率的
App005 xamarin と_azure_で、超効率的
 
ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10
 
Tango開発事例
Tango開発事例Tango開発事例
Tango開発事例
 
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
2013年08月 夏サミ2013-A5「DevOpsってどうなのよ?」
 
Html5minute #5
Html5minute #5Html5minute #5
Html5minute #5
 
ジェスチャ認識・物体形状取得がもたらす新たな未来
ジェスチャ認識・物体形状取得がもたらす新たな未来ジェスチャ認識・物体形状取得がもたらす新たな未来
ジェスチャ認識・物体形状取得がもたらす新たな未来
 
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方
 
ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)ITフォーラム2020 AITC(6)
ITフォーラム2020 AITC(6)
 
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
ロボット・ソフトウェア開発環境ROSとは何か? (in Japanese)
 
初めてのRxSwift
初めてのRxSwift初めてのRxSwift
初めてのRxSwift
 
AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法AWS Mobile SDK利用時のテスト手法
AWS Mobile SDK利用時のテスト手法
 

20160820 iOSDC Lunch Session「東急ハンズのPOSから学んだ、業務iOSアプリの向き合い方」

  • 1. Copyright © 2016. All rights reserved. 2016年8月20日 ハンズラボ株式会社 東急ハンズのPOSから学んだ、業 務iOSアプリの向き合い方
  • 2. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 自己紹介 1 名前 |> Yusuke Kuroiwa (きんちゃん。) 所属 |> ハンズラボ株式会社 担当 |> iPad POSアプリケーション開発・導入・設置・運用 iOSに関わること全般担当 @wa_kinchan @wakinchan
  • 3. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. アジェンダ 1. 東急ハンズのPOS概要 2. HandsPOSの技術面 3. 実運用から学んだ理想と現実 2
  • 4. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. POSってなに? 3  Point of Sales  「いつ・どの商品が・どんな価格で・いくつ売れたか」 https://ja.wikipedia.org/wiki/販売時点情報管理
  • 5. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. POSの主な機能 4  お客様が購入するものから売上金額を計算する  主に四則演算を用いて行う  税金や、割引の計算の切り上げ、切り捨て、四捨五入  売上金額とお預かり金額から決済しておつりを返す  現金、クレジットカード、電子マネー、金券  売上高計算や在庫更新のための販売情報を提供する  売上金額を集約して売上高を計算  販売商品の在庫消込 売上登録 情報提供 決済
  • 6. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. POSを自社開発する理由 5  レジをお客様とのコミュニケーションの場にするため  シンプルで使いやすいPOSにするため  機能追加、改修を容易にするため  新規出店や繁忙期に柔軟に対応するため
  • 7. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 旧POS 6 POS  旧POS  一般的なPOS  自動釣銭機連動  バーコードスキャナ連動 自動釣銭釣札機 バーコードスキャナ
  • 8. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 東急ハンズのPOSレジ概要 7 自動釣銭釣札機 バーコードスキャナ POS  HandsPOS  機能はそのままでシンプルに  操作性を飛躍的に向上  自動釣銭機連動  バーコードスキャナ連動 レシートプリンタ
  • 9. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 店舗に導入済みのPOS 8
  • 10. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. キッティングの風景 9
  • 11. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 東急ハンズについて 10  売上高:948億円(2016年3月度)  店舗数 : 81店舗 (ハンズカフェ除く)  レジ台数 : 800台 (繁忙期900台)  商品件数 : 100万件
  • 12. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. iPad 11 POS カスタマーディスプレイ iPad Air 2 iPad Air 2
  • 13. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. HandsPOS特徴 12  マスタダウンロード (商品データ、従業員データ) 保持  売上、返品、データ連携  取引内容のカスタマディスプレイ表示  ハンズクラブカード(ポイントカード)システムとの連携 データ 外部連携 表示
  • 14. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. アジェンダ 1. 東急ハンズのPOS概要 2. HandsPOSの技術面 3. 実運用から学んだ理想と現実 13
  • 15. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 開発環境 14  Swift 2.2  Swift 1.2の時から実装  Swiftのコミュニティ活発  フレームワーク豊富  言語仕様の恩恵(Optional Type, Emun, Protocol)  buddybuild (CI)  Carthage, CocoaPods  SwiftLint  Sketch  GitHub  Slack
  • 16. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. frameworks 15 Realm aws-sdk-ios Multipeer Connectivity SwiftTask SwiftBond  iOS間通信  マスタデータのCRUD、取引データのCRUD  Cognito、Lambda、S3、SNS  Promise  Binding ObjectMapper  Mapping
  • 17. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. frameworks 16 Starscream  WebSocket Client  レシートプリンタ(Windows)のサービスと会話  TLS/WSS support  ping-poing
  • 18. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. アジェンダ 1. 東急ハンズのPOS概要 2. HandsPOSの技術面 3. 実運用から学んだ理想と現実 17
  • 19. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 無線LANの問題 18  ネットワークがブチブチ切断  レシートプリンタに命令が不達  レシート出力不可  おつりが出金不可  突然アクセスポイントが不調になりレジが使用不可
  • 20. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 無線LANの問題解決策 19  無線がだめなら有線
  • 21. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. 有線接続 20  無線接続の1.5 ~5倍くらい高速化  パケット・ロス、遅延を抑止  有線はDHCPで稼働  有線、無線両方のインターフェースで動作  en0 ipv4 10.xxx.yy.aaa (up) (running)  en2 ipv4 10.xxx.yy.bbb (up) (running)
  • 22. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. iOSを運用する上での課題 21  ソフトウェアアップデート通知の表示を抑止  MDMからのアプリ配布(アップデート)を強制化  アプリがバックグランド状態でのRealmの書き込み
  • 23. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. HandsPOSは進化し続けます 22  カスタマーディスプレイの有効活用  カメラでポイントカード付与  おすすめ商品サジェスト機能  電子レシート  店員に配っているiPod touchとの連携  先に商品だけスキャンしてレジと連携  クレジットならその場で決済  Apple Pay
  • 24. 無断転載・複製を禁ず。Copyright © 2016. All rights reserved. まとめ 23  ハンズラボでは、iOSをとことん使いこなしてます  今までにないレジを開発  これからも進化  実運用で出てきた業務要件を応えるために、技術を駆使して解決
  • 25. Copyright © 2016 All rights reserved.24 ハンズラボでは絶賛採用強化中です!!!
  • 26. Copyright © 2016 All rights reserved.25 ハンズラボでは絶賛採用強化中です!!!
  • 27. Copyright © 2016 All rights reserved. iOSエンジニア募集中!!!ほか職種もあるよ iOSエンジニア Webアプリエンジニア AWSインフラエンジニア Copyright © 2016. All rights reserved. ハンズラボ 採用 ハンズラボ Wantedly

Editor's Notes

  1. こんにちは、
  2. ・ハンズラボ株式会社で、東急ハンズのIT部門が分離した会社に所属 iOSに関わる全般を担当しています。
  3. 本日お話すること
  4. 日本語で、販売時点情報管理 商品名・価格・数量・日時などの販売実績情報を収集して 「いつ・どの商品が・どんな価格で・いくつ売れたか」 という売れ行き動向が経営者にとって把握しやすくする
  5. 8月25日からハンズメッセと呼ばれる、大感謝バーゲンがあります。 毎年年に一度この時期にやってるものです
  6. ごくごく一般的なPOSシステム スーパーや、小売店でよく見かける、物理キーがついてるものです。 なんか間違ったらピーってなってしまって店員さんを困らせてしまう 機能は豊富です 自動釣銭機釣札機に対応 お金を入れたら、自動で計算されたおつりが出てくる バーコードスキャナに対応 商品のバーコードや レシートについてるバーコードを印刷
  7. 画面はiPadに 旧レジの物理キーを全てなくして、ソフトウェアキーのみになります。 これによって、必要なボタンのみ表示されており、誤ったキーを押して、エラー音が鳴り響くこともなくなりました 周辺機器についてです。 自動釣銭機、レシートプリンタ、バーコードスキャナの3つがあります。 以前までのレジ同様、自動釣銭釣札機に対応しています。 自動釣銭機は、お客さんから預かった紙幣、硬貨を投入すれば、自動でおつりが計算されて、出金されます。 レシートプリンタは、会計が終了した際のレシート、両替の際に利用する両替レシートが印刷できます。 バーコードスキャナは、主に商品をスキャンする役割です。
  8. 実際に店舗で撮った写真のイメージです。 スペース的にかなりコンパクトになり、その分空いたスペースにものを置けるなどの店舗にとっては嬉しい形に。
  9. 繁忙期に増えたレジのキッティング風景 最近はほぼ委託を進めてますが、開発しつつこんな事もやってたり
  10. 35店舗
  11. 操作を行う部分は、iPad2枚のシンプルな構成になっています。 POSレジスタ側、お客様側が
  12. マスタダウンロードは、 awsにあるリソースをがさっと持ってきて Ojbectmapperでマッピングして、 Realmに書き込む ってのを毎朝プッシュ通知駆動で発動しています。 ハンズクラブカードシステムも
  13. 本日お話すること
  14. 開発着手段階からSwiftを選択していました この選択は間違っていなかったと思っています Swiftが出る前は、ObjectiveCをメインで開発することがスタンダードでした いまや、Swiftが主流になっています フレームワークの多さ コミュニティの活発さ GitHubを使っていて、開発メンバーは4人でそのうちデザイナーが1人、私含めコーダーが2人です。 Pullreqをフル活用して、コミュニケーションもGitHub上ですることも多々あります。
  15. AWSを利用してサーバレス実現 取引のアップロード、POS点検データの取得、POS初期設定データの取得など SwiftTask レシート印字、おつりの出金等、周辺機器とのやり取りの非同期処理に活用 Bond ViewのBinding モデルの変更監視
  16. 本日お話すること
  17. 無線LAN これが切れるんです。 ネットワークがブチブチと切れまして、ベンダーに問い合わせてもなかなか解決しない問題。 無線LANってもっと安定しているものでは?と思っていたのですが、現実はそうではありませんでした。 Baffaloや、Ciscoを使っており、店舗によって安定している店舗、不安定な店舗が見られていることから、他との環境でもあるのか。 いずれにしても無線LANが止まってしまっては、iPadとプリンタとの通信が出来なくなってしまい、業務が成り立ちません。
  18. デュアルインターフェースで駆動します、NICが2つ取れます このようにiPadを有線化して運用している
  19. ソフトウェア・アップデート通知の表示を アプリがバックグランド状態でも動作させるために音声を流したり、
  20. そんなわけでHandsPOSは進化をし続けます レシート不要ってお客様が多い レシートを出さないようにして、ハンズクラブアプリから見れるなど
  21. 今回紹介したフルに機能を使うための事例は一部ですが、