[JAM 1.1] Geo Champs (Mashpit Team)

710 views

Published on

Geo Champs

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
710
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

[JAM 1.1] Geo Champs (Mashpit Team)

  1. 1. Geo Champs – сервис о красивых людях<br />Mashpit Project<br />
  2. 2. Как это работает?<br />Если вы встречаете на улице или в заведении симпатичную девушки или молодого человека – вы фотографируете её или его на телефон и публикуете с указанием вашего местоположения в городе. <br />
  3. 3. Что это дает?<br />Постепенно формируется карта, на которой отображены области скопления красивых людей.<br />Появляется возможность присылать уведомление, если рядом красивый человек <br />Для каждого человека можно построить географический район в которомон проводит время<br />
  4. 4. Веб-интерфейс<br />
  5. 5. Мобильные клиенты<br />iPhone<br />WP7<br />Android через Flex<br />Symbian через Qt<br />Web<br />
  6. 6. WP7<br />Особенности разработки:<br />Новый UI – Metro + Panorama/Pivot<br />XAML based <br />Model-View-ViewModel<br />Ограничения платформы<br />
  7. 7. WP7<br />Что радует:<br />Silverlight & .Net Libraries<br />Хороший help<br />Отличный интсурментарий Blend/VS<br />Мобильный контролы<br />
  8. 8. WP7<br />Что разочаровывает:<br />Ограниченный эмулятор<br />Малое количество информации<br />
  9. 9. Camera Proxy<br />public classCameraProxy : ChooserBase<PhotoResult><br />privateChooserBase<PhotoResult> _camera;<br />if (useEmulation)<br />{<br />_camera = newCameraCaptureTask();<br />}<br />else<br />{<br />_camera = newCameraProxy("http://192.168.1.136:1688/", this);<br />}<br />_camera.Completed += CameraCompleted;<br />
  10. 10. Reactive Extensions Location Service<br />void StartStatusEmulation()<br />{<br />var statusEventsToObservable = EmulateStatusEvents().ToObservable();<br />var statusFromEventArgs = from s in statusEventsToObservable select s.Status;<br />statusFromEventArgs.Subscribe(InvokeStatusChanged);<br />}<br /> <br />yield return newGeoPositionStatusChangedEventArgs(EmulatedStatusValue);<br />voidInvokeStatusChanged(GeoPositionStatus status)<br />{<br />Deployment.Current.Dispatcher.BeginInvoke(() => StatusChanged(status));<br />}<br />
  11. 11. Android<br />Что радует:<br />Новенький Flex Hero SDK(preview)<br />PS -> Catalyst -> FB<br />SWC’s, Components, Controls<br />Eclipse (?)<br />TDD<br />Debugging(Emulators / Devices)<br />Data Binding <br />Community, Help, References<br />Android Guidelines<br />
  12. 12. Android<br />Что печально:<br />BUGS!!1 (mostly AIR runtime)<br />Slow Components<br />NEVER USE MX <br />Debugging on devices<br />Пока только Android<br />Мало оптимизированных контролов<br />
  13. 13. Кластеризация<br />До<br />После<br />
  14. 14. Кластеризация<br />«Тяжелая» кластеризация на стороне сервера, запускаемая по расписанию (QT-clustering)<br />«Легковесная» кластеризация на стороне клиентов (Canopies)<br />
  15. 15. Мультиплатформенная разработка<br />Разработка ведется на разных языках<br />Дублирование кода<br />Сложность одновременного развития и поддержки<br />Единство UI на всех платформах и NativeUIGuidelines<br />
  16. 16. Возможные решения<br />Native код<br />MonoDroid, MonoTouch<br />HTML5 мобильный клиент, PhoneGap<br />Necessitas (Qtдля Android)<br />
  17. 17. Спасибо за внимание<br />

×