My Perfect Twitter Client
среда, 21.07.2010, 18:44 “We are not perfect. Phones are not perfect. We all know that. But we want to make our users happy.” Steve Jobs
Автор фото: Jorge Quinteros
Трудно жить перфекционисту в неидеальном мире. Нас, маководов, Apple совсем разбаловала. Просто хорошо для нас уже недостаточно. Надо, чтобы было идеально. Good enough is not perfect. Другие говорят, что мы фанаты. Мы действительно в большинстве своём очень трепетно относимся к продукции Apple. Тем не менее, настоящий маковод — это не тот, кто одобряет и безоговорочно покупает всё, что делает Apple. Настоящий маковод никогда не скажет, что продукция Apple идеальна. Настоящий маковд будет больно пинать и критиковать Apple за каждый непродуманный шаг и мельчайший недочёт в её продукции и решениях и не перестанет это делать до тех пор, пока эти недостатки не исправят. Любят обычно не за что-то, любят вопреки.
Настоящий маковод обычно знает всё о продукте, может перечислить все его недостатки для себя и для кого-то другого, учитывая различные варианты использования очередного творения Apple, лучше, чем кто-либо из её активных противников. И, тем не менее, продолжает ими пользоваться, если может эти недостатки терпеть, потому что знает, что для него нет ничего лучше.
Так и у меня с iPhone. Я знаю, что этот телефон неидеален, но всё равно люблю его. Я просто не могу пользоваться другими телефонами. Моя планка ожиданий слишком завышена, и ни один из них до неё и близко не дотягивает. То же самое касается и Твиттер-клиентов. Мне всё равно, что, по мнению многих, любой Твиттер-клиент из App Store будет сильно лучше любого клиента для платформы Android, а любой Твиттер-клиент для Мака несомненно лучше существующих приложений для Windows. Я хочу совершенства. Я понимаю, что это сделать очень трудно, что у разных людей не будет двух одинаковых мнений об идеальном Твиттер-клиенте для iPhone. Тем не менее, я хочу описать, как я это себе представляю. Сразу оговорюсь, что я не разработчик, я очень смутно представляю, как устроены программы изнутри. Я не дизайнер интерфейсов и вообще не дизайнер. Я обычный пользователь, возможно, немножко более требовательный и капризный.
Сколько людей, столько и мнений. Как удовлетворить всех, если каждый из нас хочет разного, и представления о красоте, минимализме, необходимых функциях, удачных и неудачных решениях интерфейса у нас тоже разные? Что делать, если решения, которые были актуальны сегодня, становятся неактуальными завтра? Над вещами с правильным дизайном время не властно. Иногда, чтобы разработать такой дизайн, требуются годы. Иногда случается озарение, и самое правильное решение приходит мгновенно.
Маленькое чёрное платье
Приведу пример из мира моды. В 1926 году Коко Шанель опубликовала дизайн маленького чёрного платья в американском Vogue. Оно было длиной до щиколотки, прямое, украшенное всего лишь несколькими диагональными линиями. Шанель хотела сделать эту модель предназначенной для длительного пользования, универсальной, доступной для самого широкого рынка и нейтрального цвета. С тех пор прошло много лет. Всё новые дизайнеры два раза в год стараются нас удивить чем-то оригинальным, а маленькое чёрное платье не стареет, и его можно встретить в гардеробе каждой женщины.
Я не нашла изображения оригинального маленького чёрного платья Шанель. На картинке слева прекрасная Одри Хепберн в маленьком чёрном платье от Givenchy, а справа не менее прекрасная Анджелина Джоли в платье от St. John.
В чём секрет же секрет такого успеха этого платья? Оно удивительно универсально. За внешней простотой скрываются бесконечные возможности. Это платье можно сочетать с самыми разными вещами. В зависимости от аксессуаров его можно надеть на работу, в гости и на самый торжественный приём. Чёрный цвет стройнит, представляет фигуру в выигрышном свете и идёт всем женщинам без исключений. Разработчикам программ есть чему поучиться.
Приложение должно быть простым и универсальным, внешне предельно минималистичным. Процитирую Джонатана Айва: “If something doesn’t need to be there it's not there.” Убрать все функции подальше и не пугать пользователей. Лишние функции вообще отбросить, оставить только самое главное. Лучше пусть приложение умеет делать что-то одно, но делает это идеально, чем пытается делать массу всего, но получается посредственно.
Иконка приложения
![]()
Людей встречают по одёжке, а приложение по иконке. Чтобы понять, как делать хорошие иконки, можно обратиться к иконкам приложений, которые выпускает сама Apple. Все они достойны похвалы. Как нам достичь подобного уровня? Иконка программы должна быть настолько хороша, чтобы пользователям хотелось держать приложение на первом экране хотя бы только ради этой самой красивой иконки, а Apple показывала ваше приложение в своей рекламе. Иконка должна быть внешне красивой, при этом минималистичной, не перегруженной ненужными деталями и надписями. С помощью неё должно быть легко идентифицировать, что это за приложение, и найти его в любом месте экрана с первого взгляда, куда бы вы его не поместили. Картинка не должна быть блеклой. Она должна хорошо смотреться не только на чёрном фоне, но и на стандартном фоне с каплями и темно-сером фоне папок в iOS 4. Иконка должна быть достаточно контрастной, чтобы даже люди с неидеальным зрением могли её заметить. Например, мне очень нравится приложение Calcbot от замечательных Tapbots, создателей Weightbot, Convertbot и Pastebot, которые я считаю одними из самых удачных по дизайну приложений в App Store. Тем не менее, тёмно-серая иконка на тёмно-сером фоне папки, куда вполне логично сложить всех ботов, выглядит не очень контрастно. Её плохо видно.
![]()
Насколько мне нравится дизайн самого Tweetie, настолько мне не нравится его иконка. Я понимаю, что дизайн там очень на любителя, и есть много людей, которым она нравится. Я явно не вхожу в их число. Если не можешь сделать сам хорошо, найми хорошего дизайнера, посоветуйся с друзьями, которые обладают хорошим вкусом, но сделай так, как надо.
Если это приложение компании, то иконка должна вызывать чёткие ассоциации с брендом компании. В этом плане мне очень нравятся иконки Mint, Evernote, Facebook. Кроме того, они очень нравятся самой Apple, которая часто их показывает в рекламах iPhone, iPod Touch и iPad. Поверьте мне, для вашего приложения не может быть ничего лучше, чем бесплатная реклама от Apple, особенно если ваше приложение платное, и вы на нём зарабатываете деньги.
Ещё лучше, если у вашего сервиса есть какой-то символ, который позволит легко выделить ваше приложение среди других. Например, слоник-Evernote и голубой воробушек Ollie в Twitterrific. Возможно, я глупая сентиментальная девочка, и многим взрослым людям это неинтересно и неважно, но я обожаю обоих. Мне кажется, что у Twitterrific как для десктопа, так и для iPhone самые удачные иконки из всех, которые я когда-либо видела.
У Tweetie в её новой версии как официального клиента под названием “Twitter for iPhone” отвратительная иконка. Она не ассоциируется с Твиттером как компанией, продуктом, сервисом. Вместо этого она вызывает стойкие ассоциации с одноразовыми эккаунтами спаммеров в Твиттере, которые даже не удосужились сменить стандартную аватарку. Это неправильно, так быть не должно.
Обновление версий
Продолжая критиковать существующие Твиттер-клиенты, несколько слов об апдейтах. Новые версии программы не должны лишать пользователей привычного функционала, особенно если пользователи уже заплатили за данное приложение. Так было в случае Tweetie, когда она вдруг стала “Twitter for iPhone”, и Twitterrific, когда вышла его третья версия. Если разработчик всё же принял решение переписать программу с нуля, полностью поменять её дизайн и пересмотреть концепции интерфейса и всей системы взаимодействия с программой, то апдейт нужно выпускать отдельной версией, которая не будет удалять предыдущую более функциональную версию при установке. Иначе это расстраивает пользователей, и они уходят к конкурентам, которые не позволяют себе такого хамства. Самое интересное, что при переходе с первой версии Tweetie на вторую, новая версия не удаляла существующую, и можно было одновременно пользоваться обоими приложениями. Правда, в App Store Tweetie первой и второй версии были представлены, как разные программы, и обе были платные. Я уверена, что был какой-то способ сделать также и при выходе третьей версии, но Твиттер, новый хозяин приложения, не потрудился так сделать.
Жесты
С первых же минут работы с мультитач-трекпадом на маке, вы забываете, что с компьютером можно взаимодействовать как-то иначе. Вы пытаетесь водить по столу за десктопом, у которого есть только клавиатура и мышь. С первых же минут работы с iPhone вам хочется водить по экрану компьютера, холодильника, телевизора…
Жесты настолько глубоко вошли в мою жизнь, что стали практически рефлексами. Я их делаю автоматически, не задумываясь. Поэтому мне очень нравятся приложения, которые самым активным образом эти жесты используют. Несомненно, в этом деле новатором был разработчик Tweetie Лорен Брихтер. Решения, которые он придумал, работая над второй версией программы, стали де-факто стандартом интерфейса во многих приложениях. Например, потянуть ленту вниз для обновления, пролистывание ленты вверх-вниз в режиме просмотра твитов, директ-сообщения в виде отдельных разговоров, как в приложениях iChat на маке и Messages на iPhone, двойной щелчок для просмотра всего разговора, потянуть сообщение вниз, чтобы увидеть твит, на который отвечаешь, функциональное меню, которое скрывается за клавиатурой, свайп (горизонтальное движение) вправо по твиту, который показывает быстрое меню действий с твитом в виде пиктограмм.
Я так привыкла к этим приятным мелочам, что мне кажется, они должны быть стандартом взаимодействия в твиттер-клиентах, и я разочаровываюсь каждый раз, когда оказывается, что это не так. Ни Twitterrific, ни Echofon не поддерживают жесты в том виде, который я знаю, и который мне кажется естественным. Вместо этого меня заставляют нажимать на кнопки, вызывать контекстное меню и читать подписи к возможным вариантам действий. После продуманности и лаконичности Tweetie мне это кажется диким. Мой идеальный твиттер-клиент должен обязательно поддерживать жесты. Необязательно они должны быть такие, как в Tweetie. Я не против новых удачных решений в интерфейсе. Но жесты необходимы, как и клавиатурные сокращения (горячие клавиши) при работе с десктопными программами, потому что они позволяют значительно ускорить все операции по взаимодействию пользователя с интерфейсом.
Функционал
Мне многого не нужно. В этом плане Tweetie для меня почти идеальный клиент. Приложение должно поддерживать всю функциональность веб-интерфейса и давать пользователю новые возможности в виде гео-тэггинга его твитов, поддержки сервисов сокращения ссылок и загрузки изображений, отправки статей в Instapaper, ReadItLater и сохранение твитов в Birdfeed.
Я не могу представить, кому может понадобиться отправлять твит по e-mail, когда есть Твиттер, но Twitterrific продолжает мне это упорно предлагать каждый раз в контекстном меню. Часть таких функций лучше сделать опциональной и настраиваемой. Если кто-то не пользуется Instapaper, ReadItLater, Birdfeed, не отправляет твиты по e-mail, то не надо их каждый раз об этом спрашивать. Функционала должно быть изначально мало, чтобы он не пугал самого неопытного пользователя. Дополнительные функции для ценителей дожны включаться в настройках.
Push-уведомления и синхронизация прочитанных твитов
Очень многим пользователям нравится Echofon, потому что он умеет синхронизировать твиты между своей десктопной версией, плагином Firefox и клиентом для iPhone. Кроме того, он умеет присылать push-уведомления и позволяет настраивать, в каких случаях это делать. Многие ругали Лорена Брихтера за то, что он не реализовал эти функции в Tweetie. На что Лорен ответил, что, по его мнению, этот функционал должен обеспечиваться сервисом, а не клиентом, и я с ним согласна. Как я это себе представляю? Насколько я понимаю, сам твит — это не только текст сообщения, который мы видим. В твите записана информация о том кто, а в случае реплая и кому его отправил, на какой твит это ответ, во сколько написан твит, информация о геолокации и, возможно, другие данные. Я считаю, что Твиттер может сделать ещё одну характеристику твита, такую как значение прочитан он, или нет, и её отдавать клиенту. Желательно, чтобы это всё работало, как почта IMAP, когда данные о прочитанных, написанных и отправленных сообщениях передаются на все клиенты, т.е. будет неважно, прочитали ли вы этот твит на маке, iPhone, iPod Touch или iPad. При синхронизации клиент будет обмениваться с сервисом этой информацией и обновлять её на всех устройствах. Желательно, чтобы при этом клиент можно было настроить автоматически переходить на последнее непрочитанное сообщение, а не только запоминать текущую позицию или переходит к самому новому твиту.
Кроме того, было бы неплохо, если бы сообщения отмечались прочитанными сразу во всех лентах. Например, Tweetie сейчас есть общая лента и лента упоминаний (mentions). Если я прочитываю ответы в общей ленте, они остаются непрочитанными в ленте упоминаний. Хотя, если честно, я не знаю, как это можно сделать. Было намного проще, когда лента называлась просто ответами. Они по умолчанию показываются в общей ленте, и их легко отмечать прочитанными. Потом лента ответов превратилась в ленту упоминаний. Там теперь есть твиты от людей, за которыми вы не следите и которые, соответственно не отображаются в общей ленте. Если даже ответы от людей за которыми вы следите, будут помечаться прочтёнными, непонятно что делать с упоминаниями вас в Твиттере.
Я не фанат push-уведомлений в рамках Твиттер клиента. Мне не нужно знать о каждом новом сообщении в ту же секунду, когда оно было написано. Всё это очень отвлекает. Мне больше нравится открывать клиент самой и читать сообщения, когда у меня на это есть время. В постоянной веренице звонков и e-mail сообщений на работе мне только push-уведомлений из Твиттера для полного счастья не хватало. Поэтому я спокойно могу обойтись без push-уведомлений в моём идеальном Твиттер-клиенте. Тем не менее, «если звёзды зажигаются, значит это кому-то нужно, значит, кто-то хочет, чтобы они были». Если пользователям нужен push в Твиттере, эту функцию должен поддерживать сам Твиттер и присылать push-уведомления клиентам. Я слабо представляю, насколько это трудно реализовать. Учитывая то, что сервис до сих пор полностью нестабилен и периодически испытывает трудности во время важных мероприятий и большого наплыва сообщений, может быть, что сделать это технически не представляется возможным. Если бы Твиттер реализовал эту функцию, было бы замечательно.
Стоит сразу сказать, что концепция IMAP-синхронизации сообщений несколько противоречит концепции push-уведомлений, по крайней мере, в том виде, как это сейчас происходит с почтой. Например, push-уведомления почты MobileMe никак не изменяются на iPhone, даже если я эти письма уже прочитала на Маке или через веб-интерфейс. Страдает концепция синхронизации информации на всех устройствах. Если бы можно было реализовать это как-то иначе, чтобы push-уведомления тоже периодически обновлялись, было бы вообще замечательно.
Оформление

Неплохо было бы, если бы идеальный Твиттер-клиент поддерживал темы оформления. Желательно, чтобы их было две: чёрный и белый вариант, кому что больше нравится, как это сделано в Twitterrific. Летом на ярком солнце удобнее чёрный вариант, так экран меньше бликует. Хотя мне лично намного больше нравятся светлое оформление как самого Twitterrific, так и Tweetie. Я очень люблю белый цвет.
Приятный внешний вид важен для приложения не меньше, чем для человека. Красивый лаконичный дизайн, минималистичные иконки, большие автарки, правильный шрифт и регулируемый размер шрифта очень важны для положительного восприятия приложения.
* * *
Разве я прошу многого? Кто-нибудь, пожалуйста, сделайте правильный Твиттер-клиент! Или давайте все вместе пинать Лорена Брихтера и всю Твиттер-команду, чтобы они довели до ума Tweetie, потому что сил нет больше терпеть неправильное поведение приложения, а ещё хуже привыкать к другой программе.
20 комментариев | | Опубликовано в
Twitter,
Задумалась
Apple,
Echofon,
Tweetie,
Twitter,
Twitter for iPhone,
Twitterrific,
iPhone,
push 

Reader Comments (20)
Во всём согласен, кроме пункта про хранение прочитанных твитов в самом Твиттере.
Тви и так постоянно падает. Эта штука просто убьет твиттер! Ты же знаешь, откуда руки растут у разработчиков твиттера (вспомни то время, когда все ждали твита с очень большим номером, потому что эти клинические идиоты выбрали int вместо long).
Десктопный Твити идеален (:
@MyFreeWeb
Именно поэтому я и не представляю, как разработчики смогут эту функцию организовать, если даже сейчас, чтобы сервис хоть как-то функционировал под давлением, им приходится периодически урезать часть функционала. Куда уж им добавлять новый?
Про эту ситуацию прекрасно помню. Трудно у них в Твиттере, видимо, или с головой, или с руками. Не могли нормальный сервис сразу спроектировать, а мы теперь должны мучаться. :) Повторюсь, что я далека от написаний веб-приложений, но, по-моему, за то время, что он падает, уже можно было бы нанять хороших веб-архитекторов и переписать весь сервис с нуля.
По поводу прочитанных сообщений, мне кажется, не должно быть это уж так сильно сложно. Я не говорю про Gmail с их огромными ресурсами. Но есть же много менее крупных почтовых сервисов, которые умеют это делать. Например, по субъективным ощущениям, MobileMe сильно меньше Gmail будет по количеству пользователей, а тут вам и IMAP, и push, и оно даже иногда работает. :))
Пришёл бы кто-нибудь с техническими знаниями и рассказал бы, насколько это реально сделать в комментариях!
Хвалю. Очень правильное описание твиттер-клиента. Единственное, с чем я не согласен, как веб-разработчик — дополнения со стороны сервера. Реализовать push со стороны сервера непросто, особенно для клиентов в России и других "отстающих" странах (нужен реальный IP, который операторы не дают или дают дорого), а если бы даже был IP, то твиттер тупо бы тормозил и не успевал, посылая тысячи уведомлений в секунду. По сути это тоже самое, что и синхронизация - таблица многие-к-одному или наоборот (неважно), где для каждого пользователя надо указывать прочитанные твиты (или наоборот), но в масштабах твиттера это будет слишком много. Тут вся проблема в масштабах. Пользовалось бы твиттером 10-5000 человек, подобное может быть и имело бы смысл, да и была бы возможность реализовать. Но надо учитывать огромность твиттера.
Добавила в раздел об апдейтах несколько слов:
@ArtIMen
А как на счёт IMAP-подобных уведомлений о прочитанных сообщениях? Это было бы слишком сложно? Если бы было что-то подобное для синхронизации прочитанных сообщений во всех клиентах, я бы была очень рада. Поддержка push-уведомлений в Твиттере для меня не критична.
@Arwy
По сути IMAP, RSS (для примера) и Twitter, в плане уведомлений никак не отличаются. Сами протоколы уведомлений не поддерживают, но они по запросу могут сказать, появилось ли что-нибудь новое с момента последнего обновления (по крайней мере эту информацию можно узнать). Соответственно клиенты периодически должны запрашивать сервер насчет обновлений и уже на стороне клиента выводить уведомления, что сейчас и происходит.
Кстати, насчет тормозов Twitter - вся проблема в том, что он не предполагался для подобных масштабов и писался на нераспространенном Ruby (это значит, что им мало кто может помочь) в качестве эксперимента. В целом, ограничение в 140 символов прекрасно со стороны производительности, и я думаю, Twitter пытаются оптимизировать, но тут просто не хватает мощностей. У Яндекса (который кажется не такой популярный) 8 дата-центров, в каждом тысячи серверов. У Твиттера меньше. Гораздо меньше. А чтобы купить и ввести в строй столько серверов, нужно море денег и времени. У Яндекса не так давно был обзор строительства дата-центра, можно найти в их блоге, если интересно.
Я попытаюсь вкратце сказать, что на наш общий взгляд не так в Twitter for iPhone (так сказать, to do лист):
— Исправить иконку
— Синхронизовать прочитанность сообщения в ленте и реплаях (это очень просто, потому что у сообщений общий ID)
— Убрать задержку перед появлением клавиатуры при написании нового твита
— Сделать настраиваемость сервисов
— Добавить хотя бы ещё одну тему оформления
— Добавить пуш как опцию
— Сделать адекватное обновление версий
Каждый feature request из этого списка действительно технически просто реализован командой твити. Сложность заключается в том, что они едва ли займутся именно этими пунктами (несмотря на обилие критики в интернете), а команде, начинающей разработку с нуля, понадобится немало усилий для того, чтобы догнать уже существующую версию twitter for iphone.
Хотел бы я заняться подобной разработкой. Нужно только время распланировать =)
@ArtIMen, @Budd
Расскажите, если не трудно, как именно синхронизировать прочитанные твиты между клиентами. Tweetie уже давно (со второй версии) умеет запоминать, на каком твите вы остановились, но она никак не умеет синхронизировать эту информацию с десктопной версией. Что-то подобное сделано в Echofon, но как именно, я не знаю. Насколько я поняла, они этог делают через собственные сервера. В отзывах пишут, что работает это не всегда хорошо. За неименеем лучшего и такой вариант подойдёт, но, по-хорошему, это должен реализовать сам Твиттер. Если уж совсем трудно присваивать каждому твиту категорию прочитан/непрочитан, то, возможно, в профиле пользователя где-то можно хранить ID последнего прочитанного сообщения и обмениваться этой информацией с клиентами.
Я читала статьи про архитектуру Твиттера и других сервисов, мне это очень интересно, хотя я не все технические тонкости понимаю. Про дата-центры Яндекса обязательно почитаю в свободное время.
@Budd
Буду только рада, если ты сможешь подобное сделать. Есть у меня ещё надежда на Tabpots. Они в своём блоге писали, что уже давно работают на Твиттер-клиентом. Спрашивали, стоит ли выпускать его в свете того, что Tweetie стала официальным Твиттер-клиентом. Многие пользователи их очень просили в комментариях, и они обещали сделать. Многие очень ждут их Twibot'а, потому что у них обычно очень красивые, оригинальные и удобные интерфейсы.
Ещё вспомнила, что мне не нравится в Tweetie. Я ленту читаю достаточно редко, потому что в последнее время очень занята. По умолчанию Tweetie грузит последние 200 твитов, а их за это время могли написать намного больше. Обычно я предпочитаю читать ленту с последнего непрочитанного твита, и подыматься вверх к более новым, чтобы иметь представление о том, что происходит. По-умолчанию Tweetie делает так:
* сверху грузит самые новые 200 твитов;
* показывает разрыв, если на него нажать, то загрузятся ещё 200 твитов;
* показывает ранее загруженные твиты.
Нормально читать ленту сверху вниз не получается. Если читать сверху и нажимать на кнопочку More (разрыв), то приложение нормально загружает твиты и оставляет тебя в том месте, до которого ты дочитал. Если читать снизу вверх, при загрузке следующих 200 твитов, Tweetie тебя отправляет к верхнему загруженному твиту (не в самое начало ленты, а именно к первому из этих 200 загруженных), вместо того, чтобы сохранить положение. Кроме того, то ли из-за сбоев в сервисе, то ли из-за проблемы в самом клиенте, Tweetie часто не может загрузить эти твиты, если читать снизу вверх, причём нормально загружает, если читать сверху вниз. Это неправильно. Twitterrific это делает лучше. Не могу передать как, но он более правильно обновляет ленту.
И ещё одно пожелание. Мне бы очень хотелось, чтобы ссылки открывались из общей ленты твитов. Сейчас, чтобы открыть ссылку или картинку, как в Tweetie, так и в Twitterrific, надо сначала перейти в режим отображения одного твита, а потом уже открывается ссылка.
В последнее время пробую использовать ноую версию Twitterrific. Как же замечательно там реализована отправка сообщений в Instapaper! Если вы не видели, обязательно попробуйте. Там такой красивый бумажный самолётик вылетает! Если у вас ещё нет эккаунта в Instapaper, обязательно заведите его. Это очень полезная вещь.
Arwy,
я согласен с Лореном, что синхронизация должна быть реализована самим Твиттером. И да это достаточно трудоемкая задача, не в плане реализации, а в плане ресурсов. Самый простой вариант — это сохранять идентификатор последнего прочитанного твита, но при таком подходе не удастся синхронизировать общую ленту с лентой упоминаний и списками (за что все буду обязательно пинать команду Твиттера, мол делали делали и не доделали). И если хранить сам идентификатор не сложно (одно число на одного пользователя), то проблема конкретно в том, что клиент должен после каждого прочитанного твита отправлять на сервер твитера идентификатор этого твита, что вызовет большую нагрузку. Если же отправлять этот идентификатор скажем, когда мы будем получать новую порцию твитов, то будет погрешность величина которой зависит от скорости чтения пользователя.
Кстати, даже Гугль с его в мощностями пока не реализовал в Баззе полноценной синхронизации прочитанных сообщений.
Было бы здорово если бы Твиттер стал распределенным, как почта, к примеру. Тогда бы нагрузка значительно уменьшилось и распределилась бы по разным компаниям.
@Pavel Druzyak
Спасибо большое за комментарий. Получается, что сделать это можно, но работать оно будет не до конца, а если будет работать так, как надо, то сам Твиттер может не выдержать такой нагрузки. Печально, но мы как-нибудь переживём.
Что значит «Твиттер стал распределённым, как почта, к примеру»? Между кем/чем он должен что-то распределять? Нагрузку по разным датацентрам? Или чтобы было несколько Твиттер-провайдеров?
Несколько Твиттер-провайдеров, что повлечет за собой и распределение по датацентрам. Суть в том, чтобы создать некий Твиттер-протокол, который даст возможность крупным игрокам вступить в игру. Чтобы как и с почтой можно было зарегестрироваться на одном из серверов, но это тебя никак не ограничивало. Ведь писать почту мы можем любому, у кого есть электронный адрес, и неважно, где он его получил.
Эти многие — такие же религиозные фанаты Apple, как и вы? Видимо, да. Ведь это утверждение очень далеко от действительности. Выбор твиттер-клиентов для Андроид огромен. Возможно даже больше такового для iPhone.
И среди них присутствуют действительно качественные: Twicca, Touiteur, Tweetcaster, Twitter for Android и многие другие. Да, возможно лучшие образцы для клиентов для iPhone превосходят их. Но говорить, что они хуже ЛЮБОГО (еще и сильно) твиттер-клиента для iPhone просто глупо.
@Pavel Druzyak
Идея очень интересная, но вряд ли осуществится в обозримом будущем. Мне кажется, Твиттер-команда хочет развивать это как отдельный сервис и постепенно построить из него маленький, а может даже и большой Гугл. Они не так давно сделали (точнее купили) поиск, прикрутили хеш-теги для поиска информации, продвигают рекламные (promoted) твиты. Очень маловероятно, что они до конца откроют протокол и отдадут его другим компаниям.
@Roman
Вы имеете право считать, как угодно, но я себя религиозным фанатиком Apple не считаю. Наоборот, всегда стараюсь быть по возможности объективной. Мне уже сказали, что это предложение построено не лучшим образом. Я не знаю, как выразить эту мысль, чтобы никого не обидеть. Это не моё мнение. Я бы с радостью сама протестировала все вышеуказанные Твиттер-клиенты для Андроида, но у меня под рукой нет этого телефона и не предвидится его появление в обозримом будущем. Чтобы не быть голословной, такое мнение я слышала от двоих людей, которых считаю достаточно беспристрастными и объективными. Во-первых, это Оля Шагалова (@olyapka в Твиттере), редактор MForum, во-вторых, это Влад Гороховский (@b166ar), автор и главный редактор MacOSWorld.ru. Оба пользуются iPhone с первых версий, хорошо знакомы с рынком мобильных телефонов и приложений для них. По долгу работы Оля тестирует разные телефоны. В последнее время она особенно активно использует несколько разных Andoid-телефонов, плюс у неё есть iPhone. Влад какое-то время назад продал iPhone, и сейчас его основной телефон HTC на платформе Android. Оба сказали, что есть много моментов, когда Андроид им нравится больше iOS, но по части твиттер-клиентов ему ещё очень далеко до программ в App Store. Влад мне говорил, что ему вообще Android нравится сильно больше iPhone, но Tweetie очень не хватает. Если хотите пообщаться на эту тему, любезно вас приглашаю поговорить с ними.
@Arwy
Думаю можно было сделать некие отчисление за использование протокола. Вобщем найти компромисс. Но мне также кажется что Твитер-команда на это не пойдет, а зря.
Я пользовался первой версией Твити и до сих пор очень ее люблю. Очень жаль, что она, так же как и Birdfeed, перестанет работать после того, как Твиттер разберется со своими проблемами и будет работать только с программами, понимающими oAuth. Первая версия заслуженно получила Apple Design Award: простая, красивая, удобная, такая программа получилась бы у Apple. А еще твиты можно было читать в «шариках», как в настольной версии.
Потом вышли вторые версии Твити и Твиттеррифика.
Твити — простая и понятная на первый взгляд, вмещает в себя новаторские, но нестандартные и спорные интерфейсные решения.
Панель вкладок, например, хоть и похожа стандартную, работает совершенно иначе. Она может исчезать с экрана, а вместо нее появляется другая, служащая уже для навигации по профилю.
Проведя пальцем по верхней панели, можно вернуться к самому верхнему уровню навигации, но это лишь заплатка для настоящей проблемы: твити позволяет заходить очень далеко по стеку навигации, а возвратиться наверх кликнув иконку в панели вкладок невозможно, так как та исчезла. Кроме того, заплатку практически невозможно обнаружить, кроме как узнать о ней от кого-то.
Иконки, скрывающиеся под твитом, если провести по нему пальцем, сокращают количество переходов по стеку навигации, но идут вразрез с тем, что обычно происходит в iOS при использовании такого жеста: удаление информации.
Часто во второй версии попытки открыть ссылку через кнопку под твитом приводили к тому, что Твити вылетала, заодно забывая последний прочитанный мной твит — очень неприятно. В третьей кнопка для ссылок переехала направо, а на ее месте оказался ретвит, заставив переучиваться к новому расположению, очень неудобному, если держишь телефон в правой руке.
Второй Твиттеррифик стал большим экспериментом с нестандартными интерфейсами, плодом ожесточенной конкуренции с Твити. Шло соперничество за количество функций, но интерфейсы радикально отличались друг от друга. В итоге получилась программа, подходящая для активных пользователей Твиттера, но слишком сложная для новичков.
Я пользовался то Твити, то Твиттеррификом, никак не мог выбрать, какая же программа мне нравится больше. Что-то нравилось больше в одной, что-то — в другой.
Третья версия Твити незначительно изменилась. Новая иконка мне тоже нравится меньше, чем старая. Тим Ван Дамм отлично написал, почему она такая, я с ним согласен. Замена второй версии третьей совсем не случайна, ведь так Твиттер сразу же получил всех пользователей самого распространенного клиента.
Третий Твиттеррифик, напротив, ничем не похож на своего предшественника.
Iconfactory начали работу над интерфейсом с нуля, отбросив все ненужное, оставив минимум, лишь то, что активно используется 80% пользователей. Так и получаются хорошие интерфейсы. Постепенно его возможности растут, но каждая новая функция, попадающая в программу, тщательно продумана.
В последней версии (1.1) двойной и тройной тап по твиту на айфоне показывают цепочку ответов и добавляют его в избранное — это к вопросу о жестах.
Мне очень нравится то, что получилось в итоге, и, по-моему, третий Твиттеррифик ближе всего к идеальному Твиттер-клиенту.
Ребята из Iconfactory слушают отзывы пользователей, поэтому обязательно напиши им про личные сообщения в виде «бесед». Чем больше людей дадут знать, что эта функция нужна, тем больше вероятность того, что она появится.
* * *
О синхронизации прочитанных твитов:
Твиттеру действительно очень тяжело сейчас, и такая функция серьезно бы увеличила нагрузку. Однако дело еще в том, что вряд ли такая фунцкия будет нужна большинству пользователей твиттера, которые не читают сообщения нигде кроме одной программы или сайта.
О push-уведомлениях:
А ты не пробовала пользоваться стронними сервисами предоставляющими push-уведомления для упоминаний и личных сообщений?
Привет, Антон!
Огромное спасибо за отзыв. Мне было очень интересно узнать твоё мнение. Когда я его прочитала, посмотрела на это с другой стороны и могу сказать, что согласна с тобой. Я сейчас пользуюсь Твиттеррификом, очень скучаю периодически по Твити, но мне этим приложением не хочется пользоваться из вредности.
Я видела программы для push-уведомлений в App Store, но никогда ими не пользовалась. Может, ты что-нибудь порекомендуешь?
@Arwy
Прошу извинить за задержку, но я всё-таки уже рассказывал, как это сделать:
Нужна очень большая база данных, чтобы учитывать все прочитанные твиты, а все клиенты должны её поддерживать. Просто для этого нужны мощности. Большие мощности. Простой расчёт - 100.000.000 пользователей (Википедия) * ~50 твитов в ленте в день (собственные наблюдения) = 5.000.000.000 связей в день. Даже если взыть лишь 1/10 пользователей, то выйдет 500 миллионов связей в день. Каждая связь должна учитываться. Поток данных сравним с некоторыми исследовательскими лабораториями, но там редко бывает много запросов на чтение постоянно, а в Твиттер каждый пользователь (10.000.000 в рассчётах) будет периодически запрашивать новенькое. Ну это чересчур большие объёмы.
Самое забавное - после многочисленных попыток я так и не смог понять, зачем этот Твиттер вообще нужен. Почему так много шума? Что этот сервис дает полезного?
Пока ничего, кроме удовлетворения желания получать свои маленькие 15 минут славы, я не нашел... Ничего полезного, ничего интересного. Может быть, я просто не могу добраться до каких-то функций? Не знаю.
Наверное, мне это просто не нужно.
@Lostsolo
У меня благодаря Твиттеру появилось много друзей в он-лайне, которые постепенно становятся друзьями и в обычной жизни, что очень радует. Мне встречаемся, общаемся, обмениваемся информацией, помогаем друг другу. Сначала я тоже не понимала, зачем мне это нужно. Теперь мне этот сервис очень нравится, и я не представляю, чтобы без него делала. Кроме того, иногда всё-таки хочется свои законные 15 минут славы. :)