Как стать автором
Обновить

Разработка архитектуры нового приложения для пассажиров Uber

Время на прочтение14 мин
Количество просмотров35K
Всего голосов 29: ↑26 и ↓3+23
Комментарии21

Комментарии 21

это технически очень сложный проект с миллионными инвестициями и сотнями тысяч человекочасов разработки в месяц
Чем занимаются все эти люди, если и в старой и в новой версии нельзя ввести точный адрес назначения, указав начало названия улицы, дополнить его автокомплитом, а затем дописать в конце номер дома? Сколько человеко-лет разработки на это нужно?
Все ли разработчики убера живут на улицах и не используют точный адрес места назначения?
Адреса на скринах вида 1455 Market St как бы намекают, как разработчики привыкли вводить адреса, и, вероятно, считают такой вариант единственно возможным. Та же «проблема» и в гугл-мапс.

В Uber ввод адреса начинается с номера дома.

Uber что-то в последних версиях так намудрил с интерфейсом что вообще не понятно как вызвать такси на адрес. Теперь либо по GPS либо никак?
Там он при заказе просит уточнить ваше местоположение и там точно можно поставить указатель на то место, где вы находитесь.
Если у меня выключен GPS и он мне показывает карту мира и больше ничего мне заказывать в любую точку и там уточнять?
Мне собственно вообще не понятно как тут заказать хотя бы куда-нибудь. И кому вообще помешал инпут для ввода адреса.
Скриншоты
image
image
Надо вначале указать в «Where to» финальный адрес, тогда появятся сразу 2 инпут бокса, где можно будет текстом указать любой начальный.
Но судя по скриншотам, у вас «Where to» отсутствует вообще, это конечно фэйл Убера.
Новую версию, как пользователь, я вообще пока не понял:
И по дизайну она стала грязнее (инвертированный статусбар) и висящий постоянно блог с Invite кодом мешает.

Как разработчика — удивлял всегда долгий запуск приолжения с нуля (на Android по крайней мере).

Надо было видеть матерящегося водителя Uber у которого аппликация на Samsung Galaxy падала каждую минуту (месяц назад), в итоге мы «летали» по городу и счёт получился в 3 раза больше, чем у такси. К чести Uber вину признал и деньги вернул, но осадок остался. Кстати, через пару дней после этого (скорее всего просто совпадение) Uber выпустил обновление, где такие «полёты» они якобы должны распозновать и денег изначально не брать.
в текущем состоянии содержит более 3000 строк из-за большого количества возложенный на него обязанностей: бизнес-логика, манипуляция данными, проверка данных, сетевая логика, логика маршрутизации и т.д.

Ну так и немудрено, что если все свалить в одну кучу, то станет тяжело поддерживать. При чем здесь MVC?
Люди не умеют готовить яблочный MVC (какая, к чёрту, бизнес и сетевая логика в контроллере ПРЕДСТАВЛЕНИЯ?) и городят потом massive view controller вместо реализации active model. Кстати, в тексте даже есть ссылка на перевод статьи про архитектурные шаблоны (на которую ссылается и автор оригинала), и там в комментариях уже указывали на эту ошибку новичков.
Отвратительное приложение, настолько стало бесить(и качество сервиса в том числе), что вернулся к яндекс.такси.
Про адреса уже писали выше, крайне неудобно вбивать. Очень неудобно заказывать такси не в текущее местоположение, а для другого человека. Ну и как во всех приложениях — нет возможности заказать несколько машин, приходится пользоваться разными сервисами. Ну и навигация оставляет желать лучшего, в последнее время очень часто пытается круги наматывать.
хех где-то пользуются навигацией убера, у нас все таксисты на это забили и используют вейз, ведь для убера всё равно главное только начало и конец пути, а вейз довольно хорошо работает и иногда даже помогает пробки обьехать
а статья может и написано хорошо, но она ни как не коррелирует с реальным миром качество разработки ужастное, баги лезут переодически, на винфоне он у меня вообще не заработал, походу апи поменялся, а приложение не обновили и он не давал залогиниться ругаясь на версию, но новой версии не было.
Интересно а в какой момент вы решили что «приложение типа uber» — это нечто настолкьо же успешное как и убер? Настолько же отказоустойчивое, быстрое, неглючное и вообще юзерфрендли?

ИМХО если кто то приходит с запросом сделать «приложение типа убер» — ему нужно нечто вроде «местечкового такси», или например «служба доставки мелких грузов по екб»
Или еще что либо.

Т.е. по факту людям нужно посреднеческое приложение с геолокацией. ФСЬО!
Архитектура-шмитектура. Запустил условный «шлюбер» — вызвал проститутку. Зачем столько заморочек? Да еще и масштабируемый по всему миру.

ИМХО вы не умеете слушать своих клиентов, и понимать бизнес.

п.с. ну или я чего то не понимаю конечно
Как я уже говорил: «Что только не придумаешь ради одного xib»
Я думал у них такое глючное приложение только под винфон, оказывается на всех платформах. Удивительно низкое качество приложения. Даже локализация с ошибками.
в текущем состоянии содержит более 3000 строк из-за большого количества возложенный на него обязанностей


Странно, у меня в программах есть модули больше 10 тысяч строк (вот посмотрел — 13746) и это не является какой-либо существенной проблемой. Естественно — всё максимально вычищено, структурировано, модель mvp, в целом, выдержана. И я не считаю себя каким-то гением.

Язык — Delphi + asm вставки.
Текущая надежность такова, что у меня 100% ANR после каждого заказа! Что бы посмотреть, что с заказом приходится принудительно убивать приложение!
Это ужасно! Более жуткого приложения я не видел.
1. качаем приложение, запускаем, попадаем на страницу аутентификации, где предлагают ввести номер телефона, и показывают код моей страны. Когда я тапаю на поле для ввода, код моей страны чудесным образом меняется на US. Ищем мою страну в длинющем списке…
2. Вводим номер телефона, меня приветствуют и предлагают ввести пароль, пароль который принимается на сайте тут не принимается.
3. Пробуем восстановить пароль — требуют email, вводим email — говорят, что этот email не связан с эти телефоном.
4. Ок, идем на сайт, в профиль, пытаемся там висать телефон — болт — там поле телефона не редактируемо.
5. Идем на телефон — пробуем зайти при помощи аккаунта facebook — выскаивает страница где отображены все мои актуальные данные, включая телефон, нжимаем далее — требует пароль, пароль не принимается.
6. Идем на сайт пробем менять пароль, пароль меняется через подтверждение на email, идем в пункт 1 — все по кругу.
7. Идем на сайт в поисках связи с поддержкой — везде написанно — воспользуйтесь помощью в приложении.
Занавес.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий