Статьи

ньюKAMIKAZE - Думки смертників

  1. Конічіва, шановний!
  2. На прохання трудящих
  3. Годинникар XXI століття
  4. З почином, шановний!
  5. Fight for the bytes!
  6. ... тепер ще й фітнес-трекер!

Конічіва, шановний!

За час вашої відсутності ми тут геть чого понаписували:

... і ще трохи про Pebble. Власне, з тих пір, як я півтора місяці тому випустив п'ятого оновлення свого циферблата , Роботи над ним завершилися. Все працює, всіх влаштовує, чого ще колупатися?

коли були анонсовані кольорові Pebble Time і з'явилася ця чудова стаття , Я спробував розфарбувати свій циферблат, але навіть в фотошопі нічого пристойного не добився. Простіше з нуля зробити повністю кольоровий циферблат.

Також пару тижнів назад натрапив на цей матеріал . Відтворив ті кроки, що радив автор і в підсумку зараз мій циферблат щодня викачують більше 150 разів, а загальна кількість завантажень становить 2500. З тих пір, як почалася реклама мого циферблата, я отримав всього лише два мейла від користувачів, що мене дуже радує. Відсутність скарг від населення - найкраща нагорода, самі розумієте. У першому з них була пропозиція, а в другому - скарга, мовляв, погода не працює. Власне не працювала погода і у мене, так що я на 100% був упевнений, що це неполадки з боку сервісу openweathermap, від якого циферблат отримує дані. Через поїздки а Хаапсалу , Перевірити напевно я зміг це лише в суботу ввечері. І ось тепер уявіть: я повний суші і пива заходжу на сайт CloudPebble і мені вискакує таке ...

І ось тепер уявіть: я повний суші і пива заходжу на сайт CloudPebble і мені вискакує таке

Не роблячи різких рухів, я двічі перечитав текст, а потім заповнив форму за посиланням. Слабо віруючи в таку халяву, я пішов шукати інформацію в інтернеті. Ніяких офіційних анонсів, тільки тема на reddit, створена такими ж щасливчиками, як я, і невелика стаття , Написана по цій темі. Як показує обговорення і мій власний приклад, годинник скоріше видаються рандомно, а не за реальну активність. Щож, спасибо больше компанії Pebble за таку безпрецедентну акцію!

Розмірковував: Lentyay

На прохання трудящих

Циферблатні хроніки. Як досить швидко з'ясувалося, попередня версія мого циферблата мала одну серйозну недоробку: при повному відключенні standby-екрану, погода оновлювалася раз в секунду, що пекельно швидко саджало батарею телефону і "наїдається" великий трафік. Сам тужився пару днів, але нічого нормально працюючого не спричинив. В результаті рішення знайшов tmnhy, за що йому величезне спасибі. Таким чином годинник оновилися до версії 1.03

Отримав пару прохань від користувачів, які планую реалізувати на наступному тижні:

  • реалізувати відображення температури, як за Цельсієм, так і за Фаренгейтом
  • зробити версію циферблата на датському (переклади графіки і сторінки налаштувань вже підготував, справа за малим)

Розмірковував: Lentyay

Годинникар XXI століття

Розповім, як йдуть справи з моїм циферблатом для Pebble, якому я присвятив чимало часу в останні три тижні. Отже, з моменту релізу (22 дні тому) він був викачаний більше 600 разів, сам циферблат я оновлював двічі і двічі сторінку налаштувань. Крім того, за підсумками розробки я написав статтю на Хабре, де в коментарях отримав пару слушних порад.

Тепер докладніше і з деталями. Перший же відгук, отриманий через пару годин після релізу повідомляв мені, що ... я переплутав AM і PM в 12-годинний версії. Я швиденько пофиксил цю справу, випустивши версію 1.01. Потім було багато різних експериментів (наприклад, використання графіки з прозорим фоном). Крім того, мені порекомендували статтю щодо оптимізації з якої я використовував пару прикладів. Як не дивно, код став компактніше, але ось кількість споживаної пам'яті зросла, а не навпаки.

Версія 1.02 була випущена вчора. У ній повністю перероблений механізм відключення standby-екрану. Власне, в прикладі з якого я брав код на C, такої опції не було, там була можливість відключення автоматичного повернення до standby-екрану. У себе ж я змінив її опис на сторінці налаштувань, але не змінив суть. Вчора ця недоробка була виправлена.

Тепер про сторінку налаштувань. З нею все простіше, так як я можу оновлювати її в будь-який момент, незалежно від циферблата. На момент релізу для коректного відображення погоди користувачеві треба було десь знайти ID свого міста openweathermap.org і ввести його в налаштуваннях. Мені самому ця система не подобалася, до того ж пару раз користувачі мене питали де їм взяти цей ID. Однозначно це треба було міняти. Оптимальним варіантом мені здалося поле введення, яке пропонує варіанти в залежності від тексту, що вводиться (як в пошуковику Джуджла). Я спробував кілька скриптів для цього і зупинився на jQuery-Autocomplete . Сподобалося, що він не тягне з собою нічого зайвого (як, наприклад, популярний Select2 ). Також я помістив весь список міст в базу даних. Тут з'ясувалося два цікавих моменти: 1) в різних країнах існували міста з однаковими назвами та 2) у деяких міст (по всій видимості досить великих) було по кілька ID, прив'язаних до різних координатах. Для вирішення першої проблеми треба було додати позначення країни. Максимально компактним і наочним рішенням мені здалися прапори перед назвою міста. Щоб звести до мінімуму кількість запитів до сервера (кількість яких і так зросла через динамічного списку), я цілеспрямовано шукав прапори-спрайт і знайшов відмінний варіант. Єдине, що я змінив - це стиснув зображення прапорів через TinyPNG. Що з цього вийшло, можна подивитися тут .

З другої проблемою було складніше. Не хотілося відлякувати користувачів якимись зайвими опціями або координатами. У підсумку я просто "відтяв" все зайві варіанти через GROUP BY в SQL-запиті. Так, рішення компромісне і має свої мінуси. Наприклад, якщо в одній країні є два міста з однаковою назвою, то буде показаний тільки один з них. Проте, нічого кращого я поки не придумав.

Плани на майбутнє? Ну з нинішнім циферблатом вже мало чого можна зробити. Єдине, що ще хочеться реалізувати - позиціонування на основі GPS і пошук міста виходячи з цього. А ще є ідея іншого циферблата, набагато більш простого.

Розмірковував: Lentyay

З почином, шановний!

Ось і здужаємо я своє перше додаток-циферблат для Pebble. Так, такі-сякі циферблати я робив і раніше, але там відсоток моєї участі був зведений до мінімуму. В даному ж випадку це цілком можна назвати повноцінною розробкою. Почалося все з двох статей ( перша і друга ), Де докладно описувалося створення циферблату. Ще цінніше було те, що до статей додавалися вихідні робочого циферблата. Судячи зі статей, нічого особливо складного в цій справі немає і я вирішив спробувати. Попередньо я зв'язався з автором цих статей, людиною під ніком tmnhy і запропонував співавторство в новому проекті: мої ідея і графіка, його - код. Автор виявився людиною вельми комунікабельним і погодився на мою пропозицію.

Мені завжди подобалися годинник з перевертаються цифрами-пластинками, так популярні в Америці. Кілька років тому я навіть подумував купити смартфон HTC тільки через те, що годинник там були зроблені саме в такому стилі. Зупинило лише те, що адекватних телефонів у HTC тоді не було. У будь-якому випадку, саме такий циферблат я і хотів зробити.

Всю розробку я вів в спеціальному онлайн-сервісі від творців годин, CloudPebble . Чесно скажу, його функціональність не просто вразила мене, а прямо-таки приємно шокувала. Весь код пишеться в редакторі зі зручною підсвічуванням і автозаповненням. Вся графіка додається через спеціальний менеджер ресурсів. Компілюється все теж в CloudPebble, при цьому додаток миттєво завантажується в наші дні - зручніше просто бути не може. Також можна завантажити відкомпільований файл на комп'ютер або зробити скріншот циферблата. Наскільки я зрозумів, скріншот знімається реально на моєму годиннику, а не на якомусь емуляторі на сервері, так як якщо в останню секунду змінити на годиннику циферблат, то скріншот буде знято вже з нього. Ще однією приємністю CloudPebble є інтеграція з GitHub, ніж я теж з радістю скористався.

Левову частку часу у мене зайняло малювання графіки. Першими я, звичайно ж, намалював сам годинник. Оформлення календаря теж народилося досить швидко. У міру відтворення графіки, я відразу ж додавав її в проект і мав де треба. Досить несподівано для мене, циферблат придбав легкий наліт стімпанковості. Індикатори батареї і з'єднання Bluetooth я вже навмисно робив в цьому стилі. Тільки оформлення блоку погоди мені ніяк не давалося. На якийсь час я залишив його і відволікся на веб-інтерфейс для налаштування циферблата. По суті, це звичайна веб-сторінка, адреса якої прописаний в налаштуваннях циферблата і яка приймає і віддає назад в циферблат якісь змінні. Сторінка не забрали багато часу, так як ніякої адаптивності і мультібраузерності тут не було потрібно. З метою оптимізації я мініфіціровал весь CSS і JS і включив їх в код сторінки. Таким чином, єдиний підключається файл на цій сторінці - це jQuery.

Таким чином, єдиний підключається файл на цій сторінці - це jQuery

Fight for the bytes!

Закінчивши з цим, я повернувся до блоку погоди. Дизайн для нього ніби як склався, я домалював графіком, додав в проект і ... сталося непередбачене: я перевищив ліміт пам'яті на годиннику. Циферблат без помилок компілювався і завантажувався в годинник, де миттєво "падав". Треба було урізати графіком. Почав я з "економії на сірниках" і зрізав "різьблення" у індикатора батареї. Зараз замість цієї "різьблення" показаний індикатор Bluetooth, у якого буква B вилізла за екран. Візуально різниці з попереднім варіантом взагалі немає. Далі було саме трудомістке - центральний блок з датою і секундами. Я прибрав фонову картинку з колом і намалював його програмно. Тут з'ясувався один нюанс: для малювання кола задаються координати центру і радіус, таким чином, його розмір у пікселях завжди буде непарним і розташувати його строго по центру неможливо. Довелося трохи попередвігать все інше, так як старий коло мав парний розмір. З тієї ж причини індикатор секунд вже не вписувався в коло і його теж треба було перемальовувати. А це 60 спрайтів, якщо що ... Втім, якщо вже перемальовувати, то потрібно вичавити з цього по максимуму. У підсумку, все, що реально не змінюється в індикаторі секунд я переніс на фонову картинку, що дозволило помітно зменшити дозвіл спрайту. Множимо на 60 і виходить істотна економія, яка, в кінцевому підсумку, і дозволила мені вписатися в байтовий бюджет.

Остання проблема, яку мені довелося вирішити - назва міста в блоці погоди. Справа в тому, що туди містилося тільки не дуже довгу назву, а що робити з довгим? Пограти зі шрифтами я зрозумів, що це не вихід. В результаті викрутився так: якщо назва міста досить короткий, показується воно і температура, якщо довге - тільки температура.

В результаті викрутився так: якщо назва міста досить короткий, показується воно і температура, якщо довге - тільки температура

Коротше, циферблат готовий і опубліковано:

Tmnhy, який консультував мене протягом всієї розробки, від повноцінного співавторства відмовився, пославшись на незначну свою допомогу. Спірне питання, але справа його. У будь-якому випадку, я дуже вдячний йому за неоціненну допомогу.

Також у мене є деякі плани на майбутнє. Наприклад, зараз не дуже зручно реалізована настройка погоди: треба в інтернеті подивитися ID свого міста openweathermap.org і ввести його в поле в настройках. Не дуже зручно. є офіційний список , Але там 74 тисячі міст. Засовувати їх все в меню, що випадає - не варіант. Коротше, треба думати ... Ще хотілося б зробити можливість відображення календаря замість погоди. Словом - громаддя моє.

Розмірковував: Lentyay

... тепер ще й фітнес-трекер!

Всього 2 тижні пройшло з моменту виходу попередньої прошивки Pebble, як приспіла нова . На цей раз годинник отримали функціонал фітнес-трекера, для чого випущені 3 спеціальних додатки, пов'язаних з сервісами Jawbone, Misfit, Swim.com. Не сумніваюся, що пізніше список розшириться. Також з'явилася зручна функція швидкого запуску додатків (по довгому натисненню).

Крім того, виробники годинників знизили ціну на Pebble. Швидше за все, це було зроблено заради підвищення конкурентоспроможності з Motorola 360 і Apple Watch. Хоча останні, на мій погляд, абсолютно тут не конкуренти: в цих дорогущих годиннику немає нічого цікавого і інноваційного. Проте, нове ціноутворення Pebble поставило мене в безвихідь: $ 99 або € 129 або £ 99 за пластикову версію і $ 199 або € 229 або £ 179 за Pebble Steel. З яких таких, ціни в євро і фунтах майже вдвічі дорожче ???

З яких таких, ціни в євро і фунтах майже вдвічі дорожче

І останнє: минулого разу я жартував, яких ще датчиків напхано в цьому годиннику. відповідь знайшов тоді відразу ж: тільки 3-осьовий акселерометр і компас. Тобто все датчики вже "розблоковані" для програмістів і нічого нового не буде. Що ж, чим багаті, тим і раді.

Розмірковував: Lentyay

Все працює, всіх влаштовує, чого ще колупатися?
Плани на майбутнє?
Справа в тому, що туди містилося тільки не дуже довгу назву, а що робити з довгим?
З яких таких, ціни в євро і фунтах майже вдвічі дорожче ?

Новости