SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
ARISTEAのこと めとべや東京 #6
tmyt
自己紹介
tmyt
最近会社員のようなことをしているようです
Universal Appsがつらい
かえりたい
Microsoft MVP for Windows Platform Development Jan.2014-Dec.2014
 長い
某むらさき
なんかAristeaのはなしして
あっ、はい
ABOUT Aristeaについて
ARISTEA IS…
Aristea(ありすてあ, ありすてー, ありすてぃ)
Windows 8.1向けのTwitterクライアント
Windows ストアを起動したときに見たことがあるかも
こんなことができます
UserStream
画像のサムネイル表示
Youtubeもサムネイル表示
メモリが許す限りのフィルタカラム
プッシュ通知
サポートされているサムネイル
一覧HatenaFotolife
MovaPic
TwitPic
Yfrog
TweetPhoto
Plixi
Twipl
Photozou
TwipplePhoto
MobyPicture
Flickr
Owly
Twittie
Instgram
Twitgoo
Picplz
Lockerz
Lightbox
My365
Pikubo
Gyazo
Viame
Pckles
Mstrin
• Pinterest
• Youtube
• Vimeo
• Vineco
• Yabumicc
• Imgly
• Dropbox
• PicTwitter
• .PNG, .GIF .JPG
• Youtube
• Vimeo
• Vineco
• PicTwitter(GIFアニメ)
HISTORY なんで作ったの
リリースまでの経緯
2月中旬ごろ: 開発を思い立つ
3月中旬ごろ: Alpha版がリリースされる
4月中旬ごろ: Beta版がリリースされる
5月下旬ごろ: 最初のRTM版がリリースされる
裏話
13/12中旬ごろ X240を注文する
14/1月中旬ごろ X240が到着する
1月末ごろ X240の液晶が壊れる
1月末ごろ 初期不良を訴えるも修理対応になる
2月中旬ごろ あまりにも暇なのでAristeaの開発に着手
2月中旬ごろ 修理の進捗を問い合わせると部品欠品で保留中
2月下旬ごろ 相変わらず保留なのでぶちきれて交換させる
2月下旬ごろ 交換品の構成が間違っているので再度交換させる
3月中旬ごろ 交換品到着、しかし初期不良再度交換させる
3月中旬ごろ Aristea Alphaがリリースされる
4月中旬ごろ Aristea Betaがリリースされる
4月下旬ごろ 交換品到着、ようやく使えるものが到着
5月下旬ごろ Aristea Release 1 がリリースされる
だいたいこいつのせい
DESIGN 考えていること
ARISTEAの目指したところ
メトロを尊重したすっきりとした見た目
マルチアカウントをマルチカラムで俯瞰的に扱う
UserStreamを中心としてフィルタを使用した複数のビュー
将来を見据えた再利用性の高いコード
見た目についての考え
テーマカラーは水色
背景はグレー
アクセントはマゼンタ
これらをもとにしてhue360を参考にして色を決めたり。
複数のカラムをよさげに扱いた
い
UserStreamとRESTを混ぜて扱いたい
 よくある発想
それを複数のカラムでいい感じにしたい
こういう感じにしたい
Subject<T>
UserStream
IObservable<T>
REST (Home Timeline)
IObservable<T>
REST (Mentions Timeline)
IObservable<T>
ObservableCollection<T
>
CollectionViewSource
CollectionViewSource
CollectionViewSource
CollectionViewSource
CollectionViewSource
TECHNOLOGY 実装について
UIに関するはなし
Flyoutをほぼ自作しています
 Windows 8.1からはSettingsFlyoutクラスが追加されたのでこれを利用することでFlyoutを簡単
に実装できます
 ですがFlyoutを出した状態で別アプリを操作すると消えます
 これはあまりにも不便ですので自作しましょう
Panelを自作しています
 コントロールをいい感じに並べるにはPanelを自作しましょう
 作ったものはGithubで公開しています!
セマンティックズームを自前対応させてみました
 意外と簡単です
自作FLYOUT
どこでつかっているのか?
自作FLYOUT
どこでつかっているのか?
 このあたりでした
わざわざ自作する理由
 アプリの切り替えで閉じてほしくない
 AttachedFlyoutのようにFlyoutの外側タップで閉じてほしくない
 結論として、IsLightDissmissEnabledを設定できないのでFlyout使いづらい
セマンティックズームのはなし
セマンティックズームをサポートするには
 ListView もしくは GridView を使ってデータを表示します
 または、ISemanticZoomInformation を実装します
ISEMANTICZOOMINFORMATION !?
ISEMANTICZOOMINFORMATION
Communicates the info needed for a view to serve as one of the two possible views
(ZoomedOutView orZoomedInView) of a SemanticZoom.
SemanticZoom の選択可能な 2 つのビュー ( ZoomedOutView または ZoomedInView)
のどちらかの働きをするビューに必要な情報を通信します。
結局最低限必要なこと
セマンティックズームに対応したコントロールを作るには
 ISemanticZoomInformationを実装したクラス
 メンバはとりあえず全部空実装でOK
 簡単
ちゃんとやる場合
 MakeVisible を実装してあげる
 これでちゃんとビュー間が同期される
 MakeVisible するときに情報が足りない場合
 StartViewChangeFrom とかを実装する
思いのほか簡単
TWITTERの闇のはなし
Twitter APIの設計が非常にあかん
 特に最近だとextended_entities まわりがあかん
 具体的には複数枚の画像添付のことです
最近だとサロゲートペア地雷も
 𩹉とか渡󠄀辺󠄀とか🐑🔥🍖とか
 Twitterは内部的に文字数で計算
 これらの文字は1文字バイトなので.NETでString.Length 読むとはまる
 StringInfo.LengthInTextElements を使いましょう
WINRTの闇
Q.ほげほげしたいなー
A.それC++でできるよ!
WINRTがつらぽよなところ
画像にテキストを描画するには?
 それDirect2D(SharpDX)でできるよ!とか言い出すところ
IMEの状態を取得するには?
 それC++でTextServiceFramework API叩けばいいよ!とか言い出すところ
まとめると
 なんか変なことしたいっていうとそれC++でできるよ!って言い出すところ
PUSHNOTIFICATION
意外と簡単に作れるPushNotification
サーバはNodeJSで簡単に書けます
クライアントはWinRTさんが面倒みてくれるので簡単
プッシュ通知の仕組み
引用: Windows Phone 8.1の新しい通知API
BEYOND これから
今後の展望
バグ修正
 3件積んでいてもうしわけない…
プッシュ通知の安定稼働
 1週間ぐらいで実は再起動しています。。。
WINDOWS PHONE をサポートします
AristeaはUniversal AppとしてWindows Phoneをサポートします
12月ごろを予定してはおりますが…
ハワイに行く際にはぜひご利用ください
WINDOWS PHONEをサポートするにあ
たって
SettingsFlyoutを共通化
CharmコントロールをWindows Phoneに実装
SETTINGSFLYOUTの共有
CHARMコントロールを実装
CHARMコントロールを実装
ContentControl化されてるのでそのうち公開します!
Q&A なんかありますか

Más contenido relacionado

Destacado

Aristeaのコード補完
Aristeaのコード補完Aristeaのコード補完
Aristeaのコード補完Yutaka Tsumori
 
せっけーのおはなし
せっけーのおはなしせっけーのおはなし
せっけーのおはなしYutaka Tsumori
 
Community Open Day 沖縄
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄Yutaka Tsumori
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないためにYutaka Tsumori
 
Samba4でADしよう!
Samba4でADしよう!Samba4でADしよう!
Samba4でADしよう!Yutaka Tsumori
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠Sho Okada
 

Destacado (9)

Wpdd lt
Wpdd ltWpdd lt
Wpdd lt
 
Aristeaのコード補完
Aristeaのコード補完Aristeaのコード補完
Aristeaのコード補完
 
よくわかるMPNS
よくわかるMPNSよくわかるMPNS
よくわかるMPNS
 
すまべん関西#18
すまべん関西#18すまべん関西#18
すまべん関西#18
 
せっけーのおはなし
せっけーのおはなしせっけーのおはなし
せっけーのおはなし
 
Community Open Day 沖縄
Community Open Day 沖縄Community Open Day 沖縄
Community Open Day 沖縄
 
未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために未来(あす)Xamlの1msに泣かないために
未来(あす)Xamlの1msに泣かないために
 
Samba4でADしよう!
Samba4でADしよう!Samba4でADしよう!
Samba4でADしよう!
 
WPF開発での陥りやすい罠
WPF開発での陥りやすい罠WPF開発での陥りやすい罠
WPF開発での陥りやすい罠
 

Más de Yutaka Tsumori

Windows phoneの新しい通知api
Windows phoneの新しい通知apiWindows phoneの新しい通知api
Windows phoneの新しい通知apiYutaka Tsumori
 
Twitter Client for ZSH
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSHYutaka Tsumori
 
AndroidではじめるJava
AndroidではじめるJavaAndroidではじめるJava
AndroidではじめるJavaYutaka Tsumori
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_likeYutaka Tsumori
 
某Music unなんとか
某Music unなんとか某Music unなんとか
某Music unなんとかYutaka Tsumori
 
Androidのおはなし++
Androidのおはなし++Androidのおはなし++
Androidのおはなし++Yutaka Tsumori
 
スマートフォン勉強会@九州
スマートフォン勉強会@九州スマートフォン勉強会@九州
スマートフォン勉強会@九州Yutaka Tsumori
 
Titanium mobileで遊んでみた
Titanium mobileで遊んでみたTitanium mobileで遊んでみた
Titanium mobileで遊んでみたYutaka Tsumori
 
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Yutaka Tsumori
 
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとYutaka Tsumori
 
Smartphone workshop kansai #9
Smartphone workshop kansai #9Smartphone workshop kansai #9
Smartphone workshop kansai #9Yutaka Tsumori
 
スマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LTスマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LTYutaka Tsumori
 

Más de Yutaka Tsumori (18)

Buri2019
Buri2019Buri2019
Buri2019
 
Setsな話
Setsな話Setsな話
Setsな話
 
XAMLで条件分岐
XAMLで条件分岐XAMLで条件分岐
XAMLで条件分岐
 
BuriKaigi2018
BuriKaigi2018BuriKaigi2018
BuriKaigi2018
 
Windows phoneの新しい通知api
Windows phoneの新しい通知apiWindows phoneの新しい通知api
Windows phoneの新しい通知api
 
Twitter Client for ZSH
Twitter Client for ZSHTwitter Client for ZSH
Twitter Client for ZSH
 
AndroidではじめるJava
AndroidではじめるJavaAndroidではじめるJava
AndroidではじめるJava
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_like
 
某Music unなんとか
某Music unなんとか某Music unなんとか
某Music unなんとか
 
たのアプLt
たのアプLtたのアプLt
たのアプLt
 
Androidのおはなし++
Androidのおはなし++Androidのおはなし++
Androidのおはなし++
 
スマートフォン勉強会@九州
スマートフォン勉強会@九州スマートフォン勉強会@九州
スマートフォン勉強会@九州
 
Titanium mobileで遊んでみた
Titanium mobileで遊んでみたTitanium mobileで遊んでみた
Titanium mobileで遊んでみた
 
Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!Windows Phone 7 “Mango” SDK最速情報!
Windows Phone 7 “Mango” SDK最速情報!
 
ぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんとぼくのかんがえたさいきょうのついったーくらいあんと
ぼくのかんがえたさいきょうのついったーくらいあんと
 
Smartphone workshop kansai #9
Smartphone workshop kansai #9Smartphone workshop kansai #9
Smartphone workshop kansai #9
 
Sumaben#11
Sumaben#11Sumaben#11
Sumaben#11
 
スマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LTスマートフォン勉強会@関西 #6 LT
スマートフォン勉強会@関西 #6 LT
 

Último

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (10)

Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

Aristeaのこと