potatotipsでPUSH通知の許可UIに関して発表してきました
potatotips #26 (iOS/Android開発Tips共有会) - connpass で発表して参りました。運営スタッフの方や会場提供のSupershipさんありがとうございました。
発表資料
Twitterの反応
続きを読むpush通知の話
— かぺぺ (@shizshizc919) 2016, 2月 17
・唐突系
・事前説明系
・事前説明+擬似アラート
・通知許可許可系
通知の意味を伝えないと、みんなOFFにされちゃうという気がしてる😰
若者達は通知OFF慣れしてそう
#potatotips
Herokuと一緒に使う画像クラウドサービスまとめ
Herokuには画像が保存が出来ないのでS3や他のクラウドサービスに画像を保存する必要があります。選択肢を調査してみたのでまとめました。他におすすめがありましたら、よかったら教えて下さい。
Cloudinary - Cloud image service, upload, storage & CDN
とても良さそうなサービスだが、メールアドレスに対して画像アップロード空間が割り当てられるので、サービス毎に画像のアップ先を分けるためにはメールアドレスを切り直さないと行けない点が少し違和感がある。
実際に Can I use multiple ‘clouds’ on a single account? – Cloudinary Support では、別のアカウントを取得することを推奨している。
imgix • Real-time image processing and image CDN
自動でデバイスに合わせた画像を配信したり、最適なフォーマットを自動選択する機能は最高だと思いました。しかし、従量課金制なのが辛いかなと思いました。
Blitline - Image processing in the cloud
月額課金+使用時間課金です。機能は普通だと思いました。時間課金だから計算が難しいですが、そこそこ値段を高く感じた。
FilePreviews
サイトがシンプルでいい感じです。月額課金+ファイルアップロード単位の従量課金でした。従量課金制は、やはり少しだけ抵抗を感じる。
Kraken Image Optimizer · Kraken.io
画像の自動軽量化などが特徴のようです。月額制課金+追加GB従量課金のようです。
File Management for Images, Videos & more - Upload, Store, Process, & Deliver
シンプル&月額課金です。Cloudinaryに比べて機能は少ないですが、アプリ毎に画像のアップロード領域を区切れるメリットが有ります。
JavaScript Monitoring
特化
JavaScript Error Tracking from TrackJS
汎用
JavaScript Error Monitoring - Bugsnag
Sentry: Track exceptions with modern error logging for JavaScript, Python, Ruby, Java, and Node.js
Rollbar - Error Tracking Software for Ruby, Python, JavaScript, more
パフォーマンスモニタ付き
Real User Monitoring and JavaScript Error Tracking | Atatus
JavaScript errors page: Examining errors over time | New Relic Documentation
番外編
iOSページスクロールライブラリの考察
触ってみたライブラリ
GitHub - goktugyil/EZSwipeController
使い方が難しそうだった
GitHub - hirohisa/PageController
ページタブまでついてくる奴は使いにくいかも
GitHub - kitasuke/PagingMenuController
ページタブまでついてくる奴は使いにくいかも
GitHub - mamaral/MAPageViewController
Objective-Cなのがちょっと気になる
GitHub - mindsnacks/MSPageViewController
Storyboardを見に行くのがユニーク
GitHub - DavdRoman/DRPageScrollView
Objective-Cなのがちょっと気になる
GitHub - jhurt/GBPageControl
良さそう
まとめ
もう少しシンプルで、画面を全てロードせずUICollectionView風に扱えるライブラリがほしいと思った。
Heroku Redis の初期設定はメモリMAX時にエラーとなる
以下の様なエラーが発生した。
Redis::CommandError
OOM command not allowed when used memory > 'maxmemory'.
次の資料によると、Heroku Redis の初期設定はメモリMAX時にエラーとなるようだ。
Heroku Redis は初期設定で利用してはならない - ボクココ
Timeoutの初期設定は加わったようだ。今見ると300となっている。
$ heroku redis:info
=== redis-acute (REDIS_URL)
Plan Hobby Dev
Status available
Created 2016-01-18 05:52 UTC
Version 3.0.5
Timeout 300
Maxmemory noeviction
$ Maxmemory policy for redis-acute (REDIS_URL) set to allkeys-lru.
allkeys-lru evict keys trying to remove the less recently used keys first.
$ heroku redis:maxmemory --policy allkeys-lru
=== redis-acute (REDIS_URL)
Plan Hobby Dev
Status available
Created 2016-01-18 05:52 UTC
Version 3.0.5
Timeout 300
Maxmemory allkeys-lru
iOSの画面に対してURLを割り振って、自由に画面を表示する
使用場面
Rails風なRoutesをiOSに実装したい。そのRoutesを使用して newsapp://articles/1234 のようなURLSchemeを上手く処理したい。
そして、UINavigationControllerに対して[HomeViewController, ArticleViewController]のような構造な上に起動したタイミングでArticleViewControllerを表示したい。
また、新規登録時に利用規約画面を出しつつも、その下にはちゃんと目的のArticleViewControllerが表示されるようにしたい。
必要な構成
- ViewControllerの表示構造を制御できる層
- URLSchemeを解釈する機能
- 解釈したパラメータをViewControllerに渡す機能
- 解釈したパスから構造を決定する機能
必要な機能
- Routerを作成
- ViewControllerの生成
- ViewControllerのキャッシュ
- パスに対する画面構造の生成
結論
やってみたけど、実装は出来ました。一般化・ライブラリ化は、システムに深く根付きすぎていて分離できず、現段階では難しそうでした。