Pull to refresh

Comments 45

Вот почему программисты не должны писать тексты.
не могли бы Вы как-то пояснить столь категоричное высказывание?
Минусов нахапал заслуженно, но история хорошая и пост то мне понравился.
Я на самом деле имел ввиду структуру текста похожую на код.
При начале описания про POI, автор увлекается повествованием и совсем забывает о читателе. Очень сложно читать тест, где через слово повторяется POI, POI, POI. Но это ведь не переменная, её можно и опустить.
Нужно вычитывать текст перед публикацией.
Или к примеру «Также я получал от друзей и коллег просьбы рассказать о разработке приложения Шереметьево и теперь, когда Аплана разрешила рассказать о разработке этого приложения...»

Прмичем с середины текста всё становится нормально.

Вот и всё — ненужно злится, всем хардкод!
Открою страшную тайну: тексты для программерских книг пишут программисты, а не Донцова.
Вот я бы поспорил. Все книги проходят через копирайторов и редакторов. Не все же умеют писать грамотный текст.
они еще иногда через переводчиков проходят :(
Насчёт «религиозных чувств Китая»
Если мне не изменяет память, то есть группа стран, в которых в приложениях запрещено упоминать алкоголь. Совсем. У вас во Fridays упомянут Jack Daniels.

А в Китае под таким же запретом фейсбук. Причём если даже в приложений его не будет, а на скриншотах останется, то приложение развернут.
Мы тоже (хотя и не сразу) подумали об упоминании алкоголя в POI, но формулировка «религиозные чувства» смутило. Я сам подумал что возможно кого то смутило иконка POI использованная для категории «Верующим». Возможно смутило что для этой категории использована христианская символика для обозначения этой категории. С другой стороны, какую еще можно иконку использовать для этой категории? Тем более там только POI с христианской атрибутикой.
Не нравятся мне интернет сервисы аэропортов в России. Вообще не нравятся.
В прошлом году купил билеты в Канаду на сайте аэропорта Внуково. Специально искал билеты, не требующие никакой визы, кроме канадской. В итоге $1700 просто выкинул в корзину, когда меня сняли с рейса из-за отсутствия шенгена. Никто не посчитал нужным уведомить клиента о необходимости транзитной визы на этом маршруте (хотя на всех других четко прописано «Необходима транзитная виза»).
Деньги так и не вышло вернуть.
А мне сами аэропорты не нравятся.
а в каком транзитном аэропорту требовался шенген?
летел через цюрих и женеву в ванкувер. Вроде как и там, и там нужен был. А может только в цюрихе.
А чего гадать то? В аэропортах по всему миру есть разделение на внутренние и международные терминалы. Так что для перелета из Цюриха в Женеву нужно выйти из международного терминала и зайти во внутренний. Для выхода из международного терминала, собственно, и нужно пройти таможню — никаких сюрпризов здесь нет. Сюрпризы бывают в некоторых странах (в частности, насколько я помню, США), в которых даже для чисто транзитного международного рейса (влетел из одной страны, вылетел в третью) нужно проходить таможенный контроль и иметь визу.
Проблема в том, что на сайте для этого маршрута нет пометки «Требуется транзитная виза».
Попробуйте сами проложить маршрут Москва-Цюрих-Женева-Ванкувер на сайте аэропорта Внуково.
А теперь попробуйте любые другие дальние иностранные маршруты. Где нужна виза — там везде стоят пометки.
Нет, я согласен с Вами, что раз есть подобное поле, оно должно быть правильно заполнено. Я к тому, что не только Внуково должно проверять данные о рейсах (никто не спорит, что они должны), но и Вы сами — деньги то немалые. И вот как раз в данном случае можно даже не копать Орбитсы, Каяки и Тревелосити: для того, чтобы совершить внутренний рейс 100% нужно выйти из транзитной зоны.

А вообще, конечно, больше всего виновата авиакомпания, которая зарегистрировала Вас на рейс из Москвы не удостоверившись в наличии визы — странно, что они не пересадили Вас на какой-нибудь более приемлемый для Вас маршрут.
Именно так, виноваты продавцы билетов. Только доказать это никак не получится, а сколько я им в техподдержку об этой проблеме не писал, так ничего и не исправили.
В России великолепно перекладывают обязанности продавцов на покупателей.
Странно. Аэропорт же вроде нейтральная зона, а самолет это вообще территория той страны, которой принадлежит самолет? Это обыгрывалось в фильме «Терминал».
Нейтральная зона начинается только после прохождения таможенного и паспортного контроля при вылете, и соответственно, до их прохождения по прилету.
Открою секрет: аэропорты не продают билеты. Билеты продают авиакомпании — напрямую или через GDS (global dustribution system)
в данном случае (сайт аэропорта Внуково) — это компания «VIP сервис». Но Аэропорт Внуково-то должен был как то удостовериться в правильной работе сервиса, который вставляют на главную страницу?
Вряд ли: во-первых все возможные комбинации маршрутов не проверишь, во-вторых условия перелета пишут авиакомпании. В данном случае сложный стыковочный рейс надо было покупать в агентстве, где живой человек нашел бы всю информацию и разъяснил. Онлайн-билеты — для простых или проверенных маршрутов :)
Печальная история, сам боялся однажды так попасть.
Но в данном случае это ответственность авиакомпании, а не аэропорта, если вы покупаете билет из точки А в точку Б, а не два отдельных билета разных компаний из А в Т и из Т в Б.
В общем, лучше всего мучать представителей авиакомпаний по таким вопросам.
Легко читается, мгновенно откладывается. Спасибо.
Красивая design map. В какой софтинке такое можно нарисовать?
Наш проектировщик пользуются профессиональным редакторами (Photoshop, Corel Draw). А мне больше нравятся проекты попроще, такие как готовые шаблоны (осторожно 90 мб), готовые иконки с бесплатной лицензией , а также Blend + SketchFlow и готовые шаблоны в Power Point . Иногда Expression Encoder а иногда просто карандаш и бумага. :)
Пользовался несколько раз этим приложением. С точки зрения пользователя всё просто отлично и очень удобно сделано. Спасибо!
… После удаления вторичного тайла с рабочего стола, без запуска приложения нет возможности узнать, был ли удален тайл, соответственно отписать пользователя…

А вот возможно так, чтобы при прикреплении тайла, занести информацию (uri) о нем в Isolated Storage. Потом перед показом Toast-а или сообщения на тайле, проверить (обязательно через мютекс) по тому самому uri прикреплен ли тайл все еще или нет?
Проблема в том что в WP7 в свернутом приложении нет возможности перехватить и обработать любой тип нотификации, ни Tile ни Toast. А Raw нотификация так и вовсе не приходит в свернутое приложение. Соответственно если пользователь открепляет вторичный тайл узнать об этом событии можно только после того как пользователь запустит приложение. К примеру, если все таки придет Toast нотификация после удаления тайла и пользователь заметит и тапнет по нему, приложение запустится и отпишет его от дальнейших оповещений. Вот такой вот компромисс.
Понятно.
Кстати большое спасибо за WPExtensions. Использую для моего приложения Bitshark. Только при использовании в паре с PhoneThemeManager, возникла проблема и пришлось немного изменить код AdvancedApplicationBar.
Вам спасибо! У меня никак не получается найти красивое API для решения одной серьезной баги с производительностью. Получается кривое решение что в начала на каждой странице необходимо отключить обработку AppBar в NavigateTo а после завершения в Load включать обратно что бы все работало корректно. Если обойду эту проблему выложу новую версию в публичный доступ :).
> Почему Windows Phone?

Прочитал несколько абзацев но так и не увидел причин, кроме того, что «легко разрабатывать» и «у меня и директора WP», то есть в общем сильно субъективные причины по выбору платформы. Да, еще заметил вскользь упоминание, что не от вас зависел выбор. Это было требование заказчика или как? Мое мнение, что этим приложением вы потенциально охватываете уж очень не большую аудиторию для первой версии приложения. Процент владельцев WP мал по сравнению с iOS и Android. Не логичней было начать разработку приложения под одну из этих платформ, тем самым позволить большему проценту пассажиров использовать приложение?
Конечно же Вы правы. Но проблема в том что мы заранее знали что у нас неизбежно будут изменения. И мы изначально знали что будем писать серверную часть и утилиты конвертирования данных на .NET. В конечном итоге именно так все и получилось. Мы вносили очень много изменений и эти изменения не давались бы так дешево на других платформах, хотя бы потому, что у нас в прямом смысле этого слова, для моделей у нас использовалась единственная сборка для всех проектов.

По сути мы бы до сих пор разрабатывали если бы взяли за основу другую платформу. Здесь мы изначально рассчитывали на единственное разрешение экрана в 800x480 и фрагментация андроида не позволило бы быстро прорабатывать и менять UI. И боюсь разжечь холивар, но XCode и язык Object-c не так удобны как VS + Resharper c C#.

Теперь когда функционал стабилизировался и заказчик доволен получившимся результатам мы можем с гораздо меньшими затратами по ресурсам и времени портировать приложение на другие платформы.

А если ещё воспользоваться возможностями xamarin…
На самом деле я один из самых больших поклонников mono и активно использую в «домашней» разработке http://habrahabr.ru/post/158481/ даже из своего кормана потратился по 400$ на monodroid и monotouch и регулярно обновляю лицензию.
Но все же при всей «крутости» платформы надо признать что у него есть ряд недостатков.

Во первых для того что бы писать на mono необходимо также быть хорошо знакомым с нативной разработкой на целевой платформе.

Во вторых нужна команда таких же фанатиков как и ты сам. А в жизни получается так что те кто хорошо знакомы с object-c и java не хотят связываться с C# и .NET. А те кто хорошо знают C# и XAML не хотят связываться с особенностями разработки UI Android и IPhone, даже если перешли с этих платформ на .NET

Ну и в третьих в моно продуктах периодически бывают досадные баги и приходится просто сидеть и ждать пока их исправят в следующей версии. Хотя этот пункт и не особо актуален но все же бывает.
> А те кто хорошо знают C# и XAML не хотят связываться с особенностями разработки UI Android и IPhone, даже если перешли с этих платформ на .NET

Золотые слова. Но ничего, были же ASP.net, winforms. Ощущения примерно те же.

>Ну и в третьих в моно продуктах периодически бывают досадные баги и приходится просто сидеть и ждать пока их исправят в следующей версии. Хотя этот пункт и не особо актуален но все же бывает.
Согласен, бывают. Но в основном в тех местах, где они имитируют дот нетные классы. Я им постил баг с DataTime, когда он по-русски выдавал «15 сентябрь» а в приложений использовал уже платформенный класс и все работало отлично. Так что не всегда надо ждать
Это первое приложение на WP, которое у меня вылетело :) После перезагрузки проблема исчезла. Такое было впервые и фиг знает, что это было.
Мы используем BugSense для баг-репортов и уже поймали несколько очень редко возникающих и трудновоспроизводимых крешей которые уже исправили и после тестов выложим исправленную версию. Надеюсь этим апдейтом покроем этот баг тоже :)
Вот бы поподробнее о багах :)
Без проблем. Возможно мне они приелись, но если есть вопросы, буду рад ответить. :)
Вопрос собственно один: что это за трудноуловимые баги такие?
В принципе ошибки достаточно типовые и местами глупые и связаны были в основном с качеством кода. К примеру один раз была ошибка из за предположения что один метод всегда выполнится раньше другого метода в асинхронном коде. (По сути они так и выполнялись ранее, но для повышения производительности были распараллеленны). Несмотря на то что ошибку можно было быстро исправить, например, добавив мьютекс, обычно я не исправлял эту ошибку добавлением такого хака, а рефакторил таким образом что бы убрать такую зависимость.

Надо отдать должно терпению нашего менеджера и временами даже директора, которые хоть и были недовольны что я в очередной раз затягиваю сдачу своей задачи и в очередной раз переписываю очередной кусок кода, все же с терпением относились к склонности к перфекционизму. Взамен последующие изменения требований не приводили к тому что проект рассыпался и на их внедрение не надо было тратить намного больше времени. И исправление багов не приводило к появлению новых в других местах в проекте.

Конечно были и совсем детские и простые баги. Например из за некорректного формата Url в POI, попытка открытия сайта во внешнем браузере для этого POI приводило к исключению в Launcher-е.
А на чем вы рисовали отношения между скринами?
Их рисовал наш проектировщик. Он рисует такие карты в Photoshop, Corel или Illustrator по ситуации.
Sign up to leave a comment.

Articles