Правила русского языка для Айфона

С первого же дня сайт «Зерулс» хорошо работал и отображался на Айфоне (скриншот в старой заметке). Но хорошо — не безупречно: вёрстка параграфов не была специально заточена под маленький экран, и, главное, всё работало медленно, потому что мобильный интернет тормозной. Опять же, за интернет надо каждый раз платить, да и где-то он вообще не ловит.

Теперь — так:

Правила русского языка для Айфона

Всё до мелочей продумано и оптимизировано под использование на телефоне. Все параграфы полностью перевёрстаны и переоформлены так, чтобы идеально смотреться на экране. Каждая анимация переделана по 100 раз и теперь выглядит идеально. Всё работает очень быстро, гладко и чётко. Безо всякого интернета.

Приложение называется «Правила русского языка». См. также страницу у меня в портфолио со скриншотами и описанием.

Мы сделали это с Шуриком Бабаевым. Дизайн делал я, а программировал он (а ещё мы использовали некоторые наработки Романа Парпалака для сайта). Про процесс разработки я рассчитываю ещё написать подробно, но не могу не отметить, что Шурик — мегакрутой. Он даже не поленился повторить фирменную крутилку с сайта, в которую превращается лупа от поиска! Правда, толком увидят её лишь пользователи старых айфонов, на которых прога успевает её показать. Короче, если вам нужно сделать программу под Айфон, пишите Шурику — alex@touchdev.ru.

Много сил было потрачено на то, чтобы даже на Айфонах первого поколения с джейлбрейком, на которых тормозит вообще всё, программа работала с нормальной скоростью. Мы верим, что быстрые программы — это классно, а медленные — это отстой.

Цена до Нового года составляет бакс, а потом вырастет до трёх. Все нормальные ребята покупают программу себе, детям, жёнам, мужьям, любимым девушкам, парням, мамам и папам, братьям, сёстрам, друзьям и врагам, сотрудникам всех отделов, секретарю и водителю. Кстати, тем, кто был готов купить за 3 доллара и больше, предлагаю дождаться Нового года. Жадинам напомню, что уродские учебники (которые пылятся на полке из-за того, что в них нет умного поиска) стоят дороже.

И ещё: все дизайнеры должны купить себе приложение хотя бы для того, чтобы посмотреть, как надо делать приложения для Айфонов (99,9% всех приложений делают криворукие уроды). Ну и, конечно, все дизайнеры должны знать правила тоже.

Дальше
30 комментариев
MyFreeWeb 2010

Про 99,9% не согласен, конечно, дерьма много, но им никто не заставляет пользоваться. Утром меня разбуди — назову офиченно красивые приложения: Twitterrific, Icebird, Weet, Friends, Articles, On this day, Groceries, Take Five, Things, Simplenote, Meebo, Calcbot, Convertbot, Pastebot, Definition, Momento, Droplr, Color Stream, Expenditure, Delibar, Reeder…

Хотя… это примерно 1%.

mimiton 2010

Купил. ;-)

Илья Бирман 2010

Круто :-) Пишите, чё как.

m4rr 2010

Готов заплатить доллар Яндекс.Деньгами или кинуть на телефон тому, кто сделает Gift app в Айтюнс-сторе для меня.

Илья Бирман 2010

А почему так сложно?

m4rr 2010

Как я понимаю, мою карту нельзя привязать к старому американскому аккаунту.

Илья Бирман 2010

Так сделайте русский акаунт на другую почту.

VV 2010

Купил с удовольствием. Радует ваша скромность. Хочется поддержки айпада — всем нормальным ребятам необходимо вдумчиво изучать правила на большом, хорошем экране.

m4rr 2010

Разве не будет проблем с синхронизацией купленного в разных аккаунтах?

Илья Бирман 2010

У меня два акаунта и нету никаких проблем. Но я не буду вам ничего обещать, а то вдруг у вас будут проблемы, а я окажусь виноват :-)

Женя Бакст 2010

Во-первых, поздравляю с почином!
Во-вторых, мне всегда казалось лоховством, когда скриншоты с верхней панелькой (там где часы, оператор, батарея и т. д.)
Нет?

Илья Бирман 2010

В смысле? А чё, надо замазывать их что ли? Эплы-то, как я посмотрю, ваще лошары! :-)

Женя Бакст 2010

Не-не, я имею в виду те скриншоты, которые в апсторе в описании программы.

Юрко 2010

Интересно, неужели только одного меня бесит «мигание» интерактивного поиска? Сделайте, будьте добры, возможность его отключить, как в гугле.

Денис 2010
  1. Почему цвет кнопок на верхней панельке отличается от цвета самой панельки и от цвета кнопки «Отменить»?
  2. И клеточки на иконке не заменены на полоски, как в тетрадках для русского языка?
Andrew Marcus 2010

Илья, ваша программа оказалась последней вещью, на которую хватило моей бывшей зарплатной карты ;-)

Николай Гурьянов 2010

Скачал. Мне всё нравится. Спасибо.

Николай Гурьянов 2010

Потайная ссылка therules.ru вверху мне тоже нравится. Ей стоит уделить отдельный комментарий.

Отто 2010

А у меня нет аппстора, и вообще, в Молдове с этим проблемы; можно подождать, пока взломают?

Павел Малинников 2010

Ребята, вы молодцы, но все-таки, чтобы попасть в 0,1% по-настоящему крутых приложений, нужно, чтобы программа не закрывалась аварийно от действий пользователя.

Я случайно начал набирать буквы для поиска в то время, когда шел предыдущий и апп вылетел. Достаточно воспроизводимо.

Вот логи с айфона (3g):
%%
Mon Dec 20 07:07:44 iPhone-Name TheRules[1828] <Error>: -[_NSThreadPerformInfo paragraph]: unrecognized selector sent to instance 0x53d4780

Mon Dec 20 07:07:45 iPhone-Name TheRules[1828] <Error>: *** Terminating app due to uncaught exception ’NSInvalidArgumentException’, reason: ’-[_NSThreadPerformInfo paragraph]: unrecognized selector sent to instance 0x53d4780’
*** Call stack at first throw:
(
0 CoreFoundation 0x3759dc7b __exceptionPreprocess + 114
1 libobjc.A.dylib 0x32d9bee8 objc_exception_throw + 40
2 CoreFoundation 0x3759f3e3 -[NSObject(NSObject) doesNotRecognizeSelector:] + 98
3 CoreFoundation 0x37544467 ___forwarding___ + 506
4 CoreFoundation 0x37544220 _CF_forwarding_prep_0 + 48
5 TheRules 0x0003fc67 0x0 + 261223
6 UIKit 0x35959d8c -[UISectionRowData refreshWithSection:tableView:tableViewRowData:] + 2880
7 UIKit 0x359591c0 -[UITableViewRowData numberOfRows] + 116
8 UIKit 0x359589fc -[UITableView noteNumberOfRowsChanged] + 120
9 UIKit 0x359583b4 -[UITableView reloadData] + 768
10 CoreFoundation 0x37538f79 -[NSObject(NSObject) performSelector:withObject:] + 24
11 Foundation 0x35171e6d __NSThreadPerformPerform + 272
12 CoreFoundation 0x375518d1 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
13 CoreFoundation 0x37521ecd __CFRunLoopDoSources0 + 384
14 CoreFoundation 0x375216f9 __CFRunLoopRun + 264
15 CoreFoundation 0x3752150b CFRunLoopRunSpecific + 226
16 CoreFoundation 0x37521419 CFRunLoopRunInMode + 60
17 GraphicsServices 0x33e76d24 GSEventRunModal + 196
18 UIKit 0x3591d57c -[UIApplication _run] + 588
19 UIKit 0x3591a558 UIApplicationMain + 972
20 TheRules 0x0002e379 0x0 + 189305
21 TheRules 0x0002e30c 0x0 + 189196
)

Mon Dec 20 07:07:45 iPhone-Name UIKitApplication:ru.therules.ios.TheRulesApp[0x4d07][1828] <Notice>: terminate called after throwing an instance of ’

Mon Dec 20 07:07:45 iPhone-Name UIKitApplication:ru.therules.ios.TheRulesApp[0x4d07][1828] <Notice>: NSException’

Mon Dec 20 07:07:48 iPhone-Name ReportCrash[1831] <Notice>: Formulating crash report for process TheRules[1828]

Mon Dec 20 07:07:49 iPhone-Name com.apple.launchd[1] (UIKitApplication:ru.therules.ios.TheRulesApp[0x4d07][1828]) <Warning>: (UIKitApplication:ru.therules.ios.TheRulesApp[0x4d07]) Job appears to have crashed: Abort trap

Mon Dec 20 07:07:49 iPhone-Name SpringBoard[24] <Warning>: Application ’Правила’ exited abnormally with signal 6: Abort trap

Mon Dec 20 07:07:50 iPhone-Name ReportCrash[1831] <Error>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/TheRules_2010-12-20-070746_iPhone-Name.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0

%%

Илья Бирман 2010

На имеющихся у нас дивайсах не воспроизводится. Большое спасибо за лог, будет чинить.

Андрей Богданов 2010

Купил, сейчас потестим. Отзыв оставлю уже в App Store)

Артём 2010

Всё круто, только я приложение не сразу нашёл в Апсторе. По запросу «правила русского языка» 0 результатов. По запросу «the rules» нет нужного. По запросу «правила» его нет в первоначальных suggest’ах, а в списке оно находится на неприметном 9 месте. Однозначно находится только по полному названию — Russian Language Rules. Апстор, если что, не российский.

Илья Бирман 2010

А какой стор?

Артём 2010

Эстонский.

Розенблат Сергей 2010

У меня на 3G не работает кнопка с крестиком очистки поля поиска. Несмотря на эту мелочь, приложением очень удобно пользоваться. Я рад покупке.

mimiton 2010

Приложение отлично находится по запросу Russian Rules. ;-) [US Store]
А вообще вот: http://appshopper.com/education/russian-language-rules

2 Илья Бирман
Очень нравится ваша с Шуриком работа. Спасибо!

Илья Бирман 2010

Спасибо :-) Несколько мелких улучшений уже в работе :-)

Семён Перепелица 2010

При переходе к параграфу по поиску «пол» (79) приходится много прокручивать до пункта с нужным правилом, а ещё появляется горизонтальная прокрутка. А в общем, мне нравится, спасибо :-)

Илья Бирман 2010

Да, мне это тоже не нравится, что долго крутить, но пока не знаю, как быть с этим.

А горизонтальная прокрутка — странно. Какой телефон и какая ОС?

Oleg Andreev 2010

Круто, спасибо! Цена слишком низкая =)

Илья Бирман 2010

Купи в новом году! :-)

А если серьёзно, то не удивительно, что ты готов за 7 баксов покупать: привык, что у вас столько засохший круассан стоит, оторвался от народа!.. Чё-то не получилось серьёзно :-)

Семён Перепелица 2010

У меня первый Айфон с последней доступной версией ОС 3.1.3.
Скриншот: http://habreffect.ru/files/d90/d71ff64ed/therules.jpg

!!Да, мне это тоже не нравится, что долго крутить, но пока не знаю, как быть с этим.!!
Если текст показывается как обычная ХТМЛ-страничка с помощью браузерного движка, то, наверное, можно использовать что-то типа внутристраничного якоря?

Илья Бирман 2010

Горизональный скролл отловил, думаю, поправим в следующем апдейте. А есть ещё параграфы, где такая фигня? Похоже, это баг Вебкита в старых Ай-ОСах.

Oleg Andreev 2010

=)

Кстати, свежайший круассан стоит меньше евро. Это в зажравшемся Париже. В других местах и по пол-евро.

chukchatel.livejournal.com 2010

Существует способ купить в аппсторе программу заранее ? И после появления телефона её установить ? (тф окажется в собственности после нового года)

Илья Бирман 2010

Конечно, апстору пофигу на наличие у вас телефона. Я вот для Айпада качаю всё хорошее бесплатное, хотя у меня его нет, просто вдруг потом станет платным :-)

Антон Вернигор 2010

9:41 на скриншотах — клёво :)

Илья Бирман 2010

Спасибо :-) Круто, что кто-то заметил :-)

Семён Перепелица 2010

Илья, я заметил горизонтальную прокрутку ещё в 26-м и 77-м.

Илья Бирман 2010

Спасибо. Пишите, если где ещё будет, в 79-м я уже починил локально :-)

chebur 2010

айфон 3гс.
набирал в поиске «кофе» быстро. программа застрелилась.
если набирать по буквам и ждать после ввода каждой буквы, пока пройдет поиск, все работает нормально

в остальном — отличная работа

Илья Бирман 2010

Пришлёте крашлог? Мы хотим это починить.

m4rr 2010

Гифты в Айтюнсе забавные :-) Получил себе Зерулс.

Сергей 2010

Илья, экран со справкой, когда в поле уже что-то введено, выглядит странно: две круглые кнопки с крестиком, расположенные очень близко друг к другу, смущают.

Кажется, что было бы лучше вообще скрыть поле поиска на этом экране, а кнопку «Закрыть» заменить на синюю кнопку «Done» или «Готово» (в русской версии интерфейса), все равно содержание экрана не соответствует тому, что указано в поле.

Мои книги