И вот это замечательный инструмент понадобился мне для разметки места под полки. Порывшись в ящиках и не найдя там уровня я вспомнил, что скорее всего я его оставил в городе и вешать полки придется «на глаз». Или «на айфон»?!
Конечно, ведь во многих смартфонах сейчас есть акселерометры и данный продукт яблочной компании в их числе. А если есть акселерометр, значит можно измерить ускорение свободного падения, вектор которого направлен строго перпендикулярно линии горизонта. Измерять абсолютную величину УСП для определения угла к горизонту, конечно, смысла нет. Но, к счастью, акселерометры измеряют не абсолютное значение, а его проекцию на одну из своих осей. Поэтому их обычно устанавливают в количестве трех штук – по одному на каждую ось нашего трехмерного (и на том спасибо) пространства. Так что в состоянии покоя показания акселерометра – значение проекции ускорения свободного падения, которое, соответственно, будет изменяться при наклоне датчика (в общем случае). Значит, техническая возможность измерить угол относительно горизонта есть. А как с реализацией?
Запускаю App Store, набираю «spirit level». Ага, да их тут пруд пруди! Однако, после установки десятка приложений стало ясно – там есть что улучшить. Почему-то, чтобы мерять вертикальные углы разработчики добавляли вторые колбы и шкалы каких-то неведомых приборов, калибровка у 90% приложений сводилась к “положите на эталонную поверхность и нажмите кнопку” – как и где я найду эталонную поверхность, если у меня нет уровня?! Где-то не отключался звук, где-то в самый ответственный момент гас экран, каким-то инструментом можно было измерить паралакс, в какой-то был встроен вероятор событийного потока. Но так, чтобы просто ровно полку повесить – нашлось всего пару приложений.
На тот момент у меня был перерыв в основном проекте и задача реализовать точный, удобный инструмент показалась мне интересной. Тем более, что я иногда пишу софт для пром. автоматики и пройти мимо возможности поработать с гироскопами и акселераторами я не смог.
В общем, в ожидании апрува основного проекта я взялся за Pocket Level. Удивительно, но среди iLevel-ов 3D и прочих Spirit Bubble Level было не занято такое подходящее название. На всякий случай, я решил посмотреть, не продается ли по такому случаю pocketlevel.com, а он свободен! Раз так – надо брать! И я взялся за работу, сформулировав перед этим основные требования к будущему приложению:
1. Максимально возможная на данном оборудовании точность измерений.
2. Измерение углов в любых положениях (горизонтально, вертикально и, скажем так, плашмя)
3. Максимально приближенный к реальности интерфейс – можно просто число вывести, но наглядность классического уровня очень упростит работу с приложением.
4. Сохранить наглядность при измерении любых углов, а не только углов в 0/90/180 градусов.
5. Звуковая индикация приближения к нулю.
6. Инструмент должен хорошо лежать в руке, никаких лишних переключателей.
Не стану углубляться в пучину кода, по этой части проблем и неразрешимых препятствий не было. Да и ноу-хау как таковых не пришлось выдумывать. Основная нагрузка пришлась на интерфейсные работы. На исходе третьей недели, продолжая ломать голову над компоновкой элементов управления, я очень хорошо понимал разработчиков, которые «тупо» воткнули три колбы и, как говорится, не парились. Я же принципиально не хотел городить ничего сверх одной колбы и как-либо переключать вид – инструмент должен быть монолитным.
Решение с вращающейся колбой показалось мне очень удачным. А металлический дизайн окончательно расставил все по своим местам. Осталось реализовать модуль калибровки. Надо сказать, что погрешность на четырех, доступных мне устройствах, составляла от 0,3% до 0,8%. Применительно к задаче это 1-2 см/м! Так что без калибровки уровень из iPhone довольно кривой. Пришлось вспоминать, как звали учителя математики и прочую тригонометрию. Я даже взял определитель матрицы 4х4! Не с первого раза, конечно… Чтобы убедится, что алгоритм калибровки интуитивно понятен, были проведены опыты над котом и другими членами семьи. Кот, кстати, единственный кто все понял и вообще не задавал вопросов.
И мне кажется, что получилось хорошо. По крайней мере, я уверен, что полностью реализовал возможности приложения. Один из тех редких случаев в моей практике, когда не хочется ни улучшить, ни добавить.
Цена: $0.99 [iTunes link]
Конкурс
У нас имеется 25 промо-кодов.
Докажи, что ты айМаньяк и у тебя дома есть ящик с инструментами. Пришли свое фото на [email protected].
Самым креативным мы вышлем код на бесплатное скачивание этой замечательной программы. Итоги подведем в 23:00 сегодня. Время есть, уважаемые столяры, маляры и плиточники 80 уровня.
Победители
Было прислано много фотографий инструментов. Однако в задании было сказано «Докажи, что ты айМаньяк», а не робот, управляемый механизм или дух Шекспира. Пока что только на одной фотографии имеется изображение живого человека в окружении инструментов и гаджетов.
Андрей Клыгин
Unknown получает код за креатив
Конкурс продолжается. Я надеюсь, что у любителей хозяйства креатива хватит на большее, чем просто сфотографировать ящик с плоскогубцами и отвертками…
69 комментариев
Форум →Отличная история. Коту привет.
Хороший layout текста :)
Я правильно понимаю, что для калибровки не требуется эталонная поверхность?
но как?
@raskladnoy, очень просто – если поставить уровень на измеряемую поверхность, а затем развернуть его на 180° то, в идеале (если уровень идеальный), он должен показать одинаковые по модулю значения, но с разным знаком. На деле же мы будем иметь что-то вроде +0,5°/-0,3°. Среднее (0,1°) будет реальным значением угла, а разница между средним и измеренными значениями – погрешность. Как-то так.
При любом углу обзора я вижу широко лыбящийся смайлик))
@look1d, а это – юзер-френдли интерфейс!
@Алексей, ну вот и я так решил :) Поэтому и отправил фоточку ;)
Сказок – много.
Уровней – ну тоже много, но можно и запостить…
не понимаю
“Докажи, что ты айМаньяк и у тебя дома есть ящик с инструментами”.
У меня разрыв шаблона. Я могу доказать, что я “ай-маньяк”, сфотографировав 3 айпада, 3 айфона, 2 эпл-ТВ, МакбукПро Ретина, МакбукЭйр 13 и Эйрпорт Экспресс.
Но “ЯЩИК С ИНСТРУМЕНТАМИ” !?!?!?!?! У меня в подъезде ремонт делает бригада таджиков, у них несколько сундуков с инструментами. Являются ли они “ай-маньяками” и нужен ли им “промо-код” приложения, если они пришлют свои фото?
@autokot, сорри. 5 айфонов (2G и 3G что валаются в ящике совсем позабыл, посчитал только 4, 4S и 5)
@autokot, Конечно, у ай-маньяков полно строительных программ установлено на айфонах: плоскогубцы, уровни, жидкие гвозди, перфоратор. Ты подойди к бригаде таджиков, пусть они со своего аккаунта тебе поставят на 5 iPhone xD
@autokot, а я бы установил и вывел на экран разные приложения подобные,положил в ящик все айфоны-айпады с этими прогами виднеющимися и сфоткал) Жаль только девайса у меня лишь два,не будет так масштабно и картинно.
@Mr_Jy, вот это действительно будут маньяки, которые пол дня будут со всей семьи, со всех углов квартиры собирать все гаджеты в коробку, чтобы сделать фото и получить в подарок 30 рублей. Да я заплачу больше, лишь бы этим не заниматься :)))
@autokot, дело не только в коде,дело в самой идее…эх вы.
@Mr_Jy, так по изначальной идее не нужны им фотки моих 13-ти устройств Apple. Им нужны фотки ящика с инструментами! Вот где здесь логика авторов конкурса????
@autokot, там же написано – “айманьяк” и “ящик инструментов”. Вот и обставьте это так,чтобы было видно и то и другое. Пример уже писал выше
@autokot, доказательство, что ты эту прогу будешь использовать по назначению, а именно – в стройке :) Только (ай-)маньяки используют айфон в качестве строительного уровня xD
@Whilser, у таких людей есть медицинские определения.
Вот мне интересно, кто использует iPhone в качестве строительного уровня? Джамшут на стройке? Между тем, в AppStore засилье подобных разнокалиберных приложений.
@Whilser, например, на съемках иногда использовали
@Whilser, есть такая профессия – геодезист…говорят там юзают ;)
@Mr_Jy, ну всмысле студенты к примеру юзают,при обучении или практиках
@Whilser, Да жесть же!!! Нет бы взять трехрублевый уровень, прочертить карандашем разметку и кинуть его небрежно за спину на бетон. Нет же, надо на пятый фон ставить “уровень” и белых перчатках производить замеры, предварительно завесив место измерения нежным бархатом…
Джентельмены, я приложение когда писал, прекрасно понимал, что их уже мильён. Но уж больно страшные большинство из них были, да и подход многих разработчиков к точности измерений меня неприятно удивил. И я не предлагаю это приложение использовать при строительных работах. Но, мне кажется, имея в телефоне такие полезные датчики, глупо отказываться от возможности их использовать. Бывает, надо что-нибудь в квартире ровно закрепить, ножки у стола подкрутить. Мне кажется, весьма полезный прибор, чтобы всегда быть под рукой.
@autokot,
Нормальный уровень стоит под 1000р. и в кармане его постоянно не поносишь. К тому же возникают ситуации, когда длинный уровень не влазит, а короткого нет. Вчера ставил окно, в узких местах уровень в ифоне здорово выручает.
@Whilser,
Уровень есть. Метровый, грязный. Лежит на балконе (в лучшем случае, чаще на даче), на балконе зима. А нужно прикинуть на глазок… Как-то так.
@direless, вот на глазок реальная тема.
@autokot, глазок калибруется “не очень”.
@Алексей, за 5 лет черчения инженерных чертежей, в т.ч. рамки со штампом, калибруется идеально!
Андроид – будет ? Порыл маркет – уровней море, НО. Нигде нет двойной калибровки по кривой плоскости. Есть тольк по референсной, что ВСЕГДА неудобно.
@direless, с андроидом такая проблема – не у всех девайсов есть гироскопы, а без них реализовать простую и понятную калибровку просто не возможно. Придется инструкцию с картинками на полстраницы писать, а кто их читать будет? Так что, пока нет желания.
C одной стороны, у Зелёного робота можно ограничить список девайсов, на которые ставится приложение, теми, у которых есть три гироскопа. С другой стороны, Зелёный робот должен умереть.
Поэтому, Автор, не делай приложение для него. Ни денег, ни удовольствия не получишь.
PS У меня есть маленький iPhone 3GS и маленькая отвёрточка. Но я очень их люблю!!! Есть ли шанс, чтобы мне просить жену достать г-зеркалку? :)
@Und,
Сам ты !!!!
Алексей
У дроида больше база пользователей. Совершенней устройства. Пошшупать соседний рынок, опять-же. Без датчиков положения – это такое уг, что даже не верится.
@direless, я не политический противник андроида и проект на маркете есть, еще один в планах. Хотя, на сопровождение ПО затраты, конечно, больше. Сейчас мне яндекс-маркет выдал 56 устройств с акселерометром+гироскоп. Так что да, надо подумать на эту тему.
Закину деньги на карту и куплю. Спасибо автору. В быту пригодится. А подобные приложения в маркете действительно мусор. А это выглядит нормально, и, судя по словам автора, неплохо скроено.
Айфон есть, хороший уровень в него лишним не будет :)
Инструмента тоже полно, полный ящик, но фоткать лень.
Так что автор ты меня уж прости, но на конкурс я забью и просто куплю приложение :)
@kkray, я, честно говоря, требованиям конкурса сам удивился – ну ладно сиськи сфоткать, но ящик инструментов?! Даже не буду думать об этом.
А у меня инструментов-целая сарайка! А у моего другана- морской контейнер во дворе стоит и инструмента за 30 лет накопилось… Мама не горюй. А вот что бы нам не сфоткать работы, сделанные своими руками? Слабо?
Совершенно не понимаю нытья на предмет ящика с инструментами. Тот человек у которого это вызывает вопросительную интонацию – явно не находится в той категории, кому это приложение реально полезно и нужно.
Даже интересно посмотреть на присланные фотографии, т.к. сам самоделкин со стажем, всегда очень сильно уважал и уважаю людей которые любят и умеют делать что-то руками. Сегодня тоже поучавствую в конкурсе, как с работы освобожусь )
Автор данной картинки походу слегка упорот…=)
Приобрел, спасибо.
Иногда нужно :)
Купил приложение. Что с калибровкой намудрили?
1-ый этап: пложил на поверхность
2-ой этап: повернуть телефон на 180 граудсов. Повернул… раз 20 уже поворачивал то с разной скоростью, то в разные стороны. Результата никакого. Калибровка застряла на 2-ом этапе.
Что делать?
@TAIFUN, отменить и повторить еще раз. Я, наверное, слишком строгую точность для определения угла поворота задал, хотя испытывал на четырех устройствах – сбоев не было. Немного ослаблю в следующей версии. Спасибо за комментарий.
@Алексей, я уже более двух десятков раз попробовал :) iPhone 4S
@TAIFUN, понятно. Я сейчас залью обновление и отправлю вам промокод (пришлите, пожалуйста, ваш емайл на [email protected]) если я не ошибаюсь, вы сможете испытать обновление до его аппрува модераторами App Store. Надеюсь, это решит проблему.
@Алексей, отправил :)
Поддержал интересную разработку! )
Я начинал вешать полочки еще по iPod, сейчас вешаю по iPad. )
Инновационный метод калибровки очень порадовал.
Заявлена поддержка iPad.
Я так понял, HD версия – вопрос времени.
Но!
У iPad кнопочки громкости с другой стороны.
Это значит что при калибровке он будет не ровно стоять на грани, а криво, опираясь одной стороной на кнопочки.
Если перевернуть девайс другой гранью (где нет кнопок), то калибровка, я так понял, не проходит.
Догадался подложить под грань Smartcover, так, чтобы кнопочки выходили за его пределы, а остальная грань лежала ровно.
Только так прошел калибровку, ну а измерять можно любой стороной.
Но думаю нужно отдельно сделать калибровку для iPad или добавить возможность калибровки любой стороной.
@MikeSP спасибо всем за поддержку!
Правда, я не указывал ipad в качестве доступных устройств, но после апрува он в списке оказался. Только я вас Mike не совсем понял с кнопочками – у меня вот ipad2 под рукой, так там все четыре грани ровно на стол встают. Кнопки не мешают. Это у третьего так?
@Алексей, вы правы – я слажал! ))
У меня такой же iPad – если ставить его ровно, кнопки не касаются поверхности вообще!
Просто у меня куча других телефонов, и на всех них кнопки громкости мешают! И мне показалось что на iPad они отклоняют на 0.4 градуса.
Простите!
Про iPad вообще – я лично искал версию уровня специально для iPad. Их гораздо меньше, чем для телефонов.
Остановился на Clinometr HD (с подобной калибровкой, но попроще).
Так что вы тоже можете добавить полную поддержку iPad с картинками.
Ах да, и еще!
Кнопочка выключения звука не выключает звук полностью! )
Выключается только звук приближения к нулю, а переход на 45 градусов продолжает озвучиваться! )
@MikeSP, со звуком так и задумывалось. Я решил, что щелкает он совсем тихо и если что это можно убавить стандартными средствами (как в любом приложении + -).
@Алексей, Понятно! )
У меня в настройках стоит галочка, чтобы регулировался только звук медиа, поэтому я не мог ими регулировать звук – он есть всегда.
Ну обычно измеряешь в положении Lock, так что проблем никаких нет.
В общем приятно, что вы сделали полезный, нужный и красивый инструмент, а не какую-нибудь фигню очередную.
И наверное очень интересно, когда приходится учитывать реальные физические параметры устройства.
Где победители то?)
Скоро всех объявлю. Терпение, пожалуйста ;) идет оформление поста.
Простой вопрос – Почему русский язык то не сделали :)
@sanya555, сделал русский и еще пять языков, но по глупости решил оставить добавление языков на потом, а когда приложение аппрувили (т.е. разрешили к публиации) выяснилось, что язык можно добавить только до аппрува. Сейчас новую версию выложил, добавил языки.
@Алексей,
куплю затестить :), подогнали гифт карту на 50 долларов, а тратить не на что, все что нужно уже давно куплено, хотя мог и сфоткать, свой набор ключей Craftsman
@sanya555, Спасибо, буду благодарен за отзывы и багрепорты на [email protected] или напрямую в АппСтор.
@Алексей, не могу купить почему то, вот что айтюнс выдает
http://s1.directupload.net/images/121025/ho6k6xtv.png
@sanya555, это, к сожалению, вопрос не в моей компетенции – такое бывает, как я понимаю, если каккие-то проблемы с аккаунтом или картой. В форумах по этому поводу рекомендуют, как и написано, обратиться в суппорт.
с телефона купилась :) пошел мерять
@sanya555, ага, крен имеет значение :)
На 99% фотографий нет айманьяка…
@Артур Малосиев, для этого надо поконретней мысли выражать,просили ящик-получите
@inferno3028, кстати, да
сфотографировал c помощью iPhone ящик с инструментом и iPad-ом, отправил с почтового ящика @me.com
Ну думаю, чем я не айманьяк! :)
А оказалось, себя любимого нужно было в окружении инструментов запечатлеть %)
чет не могу я откалибровать, раз 10 уже отменял, все так и висит на первом этапе :)
@sanya555, проблему с калибровкой я, надеюсь, исправил. Жду аппрува. Но я порекомендовал бы 1. Поднять / положить телефон на стол еще раз. 2. Поднять / положить телефон на другой стол. Там проблема в том, что я слишком жесткие критерии задал для определения состояния покоя и судя по всему шум сенсоров в некоторых девайсах превышает этот порог. Телефон ждет, пока его, наконец-то положат и перестанут теребить :)
Дасвидос.
Уже давно есть приложение более интересное – Clinometer, причем за те же деньги ;)
Нашли орфографическую ошибку в новости?
Выделите ее мышью и нажмите Ctrl+Enter.Как отменить подписку Apple Arcade
Что делать, если iPhone зависает во время входящих вызовов
Почему дублируются контакты на iPhone
Как перенести заметки из одной учетной записи Apple ID в другую?
Как удалить лишние адреса почты из Apple ID
Пропадают заметки на iPhone, что делать?
Почему некоторые треки в Apple Music серые и не воспроизводятся
Как на iPhone убрать виджет плеера на экране блокировки при подключении гарнитуры