Pull to refresh
1
0
Send message

Очередь событий в карточной игре + основы Angular

Reading time8 min
Views24K
Доброго дня, новички, сегодня мы попытаемся переделать нашу игрушку, разучивая основы новых для нас «технологий»:

  • AngularJS
  • DataBoom

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

Ну а во второй части с помощью DataBoom создадим замечательную очередь событий, как в оригинальной игре (напоминаю, что делаем по образу и подобию HeartStone). Забегая вперед скажу, что в следующий раз мы вообще избавимся от php сервера, и полностью перейдем на Databoom, но это уже совсем другая статья…

image

Читать дальше →

36 на Fronttalks. Доклад о том, о чём нигде не рассказывают

Reading time3 min
Views31K
Привет, я фронтенд-разработчик из Яндекс.Карт. Год назад я сделал странное — на фронтенд-конференции Fronttalks в Екатеринбурге рассказал доклад на совершенно не техническую тему. Программный комитет конференции сильно рисковал, когда ставил меня в программу — разве кому-то интересно слушать о глубоко личных переживаниях рядового верстальщика из Яндекса? К счастью, тема моего рассказа оказалась близка многим слушателям и доклад оказался одним из самых популярных за историю конференции.

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



В этом году состоится третья по счёту конференция для фронтенд-разработчиков FrontTalks. На этот раз я не докладчик, а один из организаторов, и теперь у меня самого есть возможность «рисковать» и составлять программу конференции так, чтобы вам было интересно. Ниже расскажу немного о том, что у нас получилось.
Читать дальше →

Немного о реализации головоломки «Кубики сома» (Swift & SceneKit)

Reading time4 min
Views9.5K
Около года назад я заметил, что в мобильных магазинах нет головоломки Пита Хейна «Soma Cubes», придуманной еще в 1933 году. Желание попробовать написать игру под iOS давно сверлило воспаленный мозг и я наконец решился, тем более что, дизайна особо не требовалось (нарисовать кубик в Blender не в счет). В головоломке 7 элементов из кубиков, из которых собираются другие разнообразные фигуры (Википедия).

Требования, сразу предъявленные к игре, сводились к двум пунктам:
1. Не использовать в разработке сторонние фреймворки.
2. Для управления фигурами и сценой не должны использоваться кнопки — только Recognizers.

По п.2 я подразумеваю, что сценарий, когда надо выделить объект и потом нажимать на кнопки управления, не подходит.
Подробности

Совместное редактирование. Часть 2

Reading time10 min
Views20K


Добрый день! Недавно мы начали цикл статей о совместном редактировании. В первой статье я рассказал о задаче неблокирующего редактирования и возможных подходах к его реализации. Напомню, что в итоге в качестве алгоритма мы выбрали Operation Transformation (OT). Также был анонсирован рассказ о его клиент-серверном варианте, и сегодня я освещу подробности его работы. Кроме того, вы узнаете, почему отмена в OT работает иначе и чем грозит столкновение с суровой реальностью.

Дальше вас ждет много алгоритмов и диаграмм. Думаю, вам будет интересно.
Читать дальше →

Совместное редактирование. Часть 1

Reading time9 min
Views44K
Добрый день. Последний год я занимаюсь в проекте «МойОфис» вопросами совместного редактирования (collaboration). Оглядываясь назад, могу констатировать, что это непростая и очень интересная задача. Поэтому я хотел бы подробно рассказать о ней и дать ответы на следующие вопросы:

  1. Какие существуют подходы к обеспечению совместного редактирования?
  2. Насколько они сложны в реализации?
  3. Можно ли взять готовую библиотеку и использовать ее в своем проекте?
  4. Можно ли вести разработку без оглядки на совместное редактирование?



Для того чтобы подробно и аргументированно ответить на них, необходимо написать довольно много материала, поэтому статей будет несколько, присаживайтесь поудобнее, мы начинаем.
Читать дальше →

Дайджест продуктового дизайна, август 2015

Reading time10 min
Views13K
Уже пять лет я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-июль 2015.

Дайджест продуктового дизайна, август 2015
Читать дальше →

Когда стоит привлекать бизнес-аналитика в проект

Reading time3 min
Views5.7K


Управление требованиями — неотъемлемая часть процесса разработки ПО. Преимущества наличия аналитика в проекте не всегда очевидны заказчику, но они неоценимы. Если иногда приходится переделывать функциональность, требования описаны частично, ни у кого нет четкого представления о конечном продукте и где можно взять актуальное описание требований, пора задуматься о привлечении бизнес-аналитика.

Однако очень часто в проекте нет выделенного бизнес-аналитика, и его обязанностями частично занимаются менеджер проекта или QA-менеджер. Такое совмещение иногда может навредить.

Дело в том, что у каждой роли — свои цели и области ответственности. Если PM или QA-менеджер вынужден, кроме основных обязанностей, брать на себя управление требованиями, из-за нехватки времени или квалификации в области бизнес-анализа что-то можно упустить. В результате может возникнуть неправильное понимание ожиданий заказчика, некорректная имплементация, неоправданные затраты времени и денег на переделывание функциональности и повторное тестирование. В итоге — срыв сроков и неудовлетворенный заказчик.

Конечно, такие проблемы возникают не во всех проектах, где нет выделенных бизнес-аналитиков. И в каждом случае нужно принимать во внимание множество факторов. Мы решили понять, какие индикаторы могут подсказать, что надо задуматься о привлечении бизнес-аналитика. Для этого сотрудники центра компетенции по бизнеc-анализу DataArt провели опрос ключевых менеджеров компании и получили наиболее распространенные признаки.
Читать дальше →

Разберем по косточкам крупные интернет-магазины и сделаем такой же на облачной платформе

Reading time3 min
Views7.3K
image Мегамозги, здравствуйте! Нашей платформе для создания магазинов Digistr.ru помогли владельцы Мегамозга — подарили нам тариф "Стартап", чтобы мы делились информацией о развитии своего проекта. Именно этим мы сейчас и займемся. Если первый блин пойдет комом, не судите строго, быстро исправимся уже в процессе работы.

Для знакомства, чтобы продемонстрировать текущий уровень развития, мы решили сделать демонстрационный интернет-магазин, который будет показывать максимум возможностей нашей платформы. Кроме этого, мы подробно расскажем, что и как работает в подобных магазинах на примере других известных проектов, а также расскажем, как это реализовано у нас.

Под катом расскажу подробнее о методике разработки.

Читать дальше →

Cколько инсталлов нужно для ТОП App Store

Reading time3 min
Views19K
Совсем недавно я уже писал о том, сколько нужно получить загрузок для ТОП-10 бесплатных игр App Store. Сегодня хочу продолжить эту тему и рассказать о более значительных рубежах в рейтингах онлайн-магазина от Apple, а также о том сколько органических инсталлов можно получить с самых высоких позиций. Мне правда, так и не удалось поднять на первое место общего ТОПа, но я был к этому очень близок, и помешала мне только компания Viber. В общем дело было так:

На 31 августа был запланирован релиз моей игры 1-2-3-4 Premium. В российском App Store она стала видна на день раньше в 21:00 по московскому времени, и тут же началась активная PR-кампания. В ТОП-10 игр удалось попасть уже к 14:00, и для этого, как и в прошлый раз мне понадобилось около 6000 загрузок, которые, правда, на этот раз удалось сделать менее чем за сутки, потратив около 500 долларов.

Читать дальше →

Интегрируем оплату через Paypal в web-приложение

Reading time21 min
Views75K
В данной статье рассмотрена интеграция разовых платежей, а также оплаты по подписке с помощью Paypal в веб-приложение. Примеры реализованы на PHP, но, в принципе, без особых проблем то же самое можно сделать с помощью других технологий. Данный метод выбран как компромисс между простотой и гибкостью. Это попытка написать руководство, которое поможет быстро разобраться в теме и интегрировать оплату через Paypal в свой проект.

Статья ориентирована в основном на тех, кто раньше с этой системой не работал. Знатоки Paypal вряд ли найдут здесь для себя что-то новое. Но, возможно, они укажут на недостатки данного метода или посоветуют, как можно было бы по-другому это реализовать.
Читать дальше →

Сколько загрузок нужно для ТОП-10 бесплатных игр App Store

Reading time2 min
Views14K
Наверняка многим разработчикам, чьи приложения давно не попадали на высокие места в рейтингах App Store, будет интересно узнать, сколько же загрузок нужно получить, чтобы туда попасть. Постараюсь ответить на этот вопрос в меру своих возможностей. Недавно мне удалось продвинуть свою игру в ТОП-10 бесплатных игр российского App Store, и я хочу рассказать о том, сколько же инсталлов для этого понадобилось.

К сожалению, совсем уж точный ответ не обещаю. Так получилось, что из-за досадного бага в игре не работала аналитика. Но и без этого можно приблизительно прикинуть, сколько же скачиваний нужно было для ТОП-10 в начале августа.



Как видно из скриншота выше, за первые 3 дня игра была получила 11000 инсталлов, но 6,5 тысяч из них пришлись на 3-й день. При этом игра попала на 7-е место в рейтинге бесплатных игр на iPhone в 17:00 1 августа. После этого никакого пиара уже не было, а учитывая, что приведенная статистика загрузок считается по тихоокеанскому времени, то как минимум половину, а скорее всего даже больше загрузок можно считать органическими. Также стоит учесть, что для 7-го места нужно больше инсталлов, чем для 10-го. С учетом всего этого можно сделать вывод, что в начале августа для ТОП-10 бесплатных игр нужно было порядка 6-7 тысяч загрузок за 3 дня.

Читать дальше →

Осенняя встреча Rambler.iOS

Reading time2 min
Views6.9K
image

Пришла осень, астрологи предсказали пору повышенной активности мобильных разработчиков — и 24 сентября мы готовы провести новую встречу Rambler.iOS, официально под номером четыре.
Читать дальше →

Вертикальные отступы между колонками с помощью Sass на примере bootstrap сетки

Reading time5 min
Views24K
Практически любой сайт не обходиться без блоков потоковых элементов, таких как: список новостей, товаров, фотографий галереи. Такие элементы в основном выводятся шаблонизатором в цикле, занимают равное число колонок и непредвиденное количество строк. Если такие элементы переходят на вторую строчку, то между ними нужно предусмотреть вертикальные отступы, что бы они не сжимались. Даже если на макете дизайнер для красоты вывел только один ряд, на верстке обязательно нужно предусмотреть увеличение числа таких элементов
Читать дальше →

Интенс, индикатор прокрутки (или жизнь после скроллбара)

Reading time4 min
Views31K
Месяц назад кто-то нашёл у меня на гитхабе незаконченный проект и выложил ссылку на него на Designer News. Внезапно я увидел, что на сайте проекта постоянно сидит по 50 человек, и мне даже пришлось срочно сбежать с работы чтоб экстренно выпилить хотя бы самые адовые баги. Этим проектом был интенс, UX-компонент заменяющий полосу прокрутки (скроллбар) на специальный индикатор, который подсвечивает прокручиваемую область текстурой. Выглядит это примерно так:


на сайте проекта можно поскроллить самостоятельно

Сообщества UX-экспертов и программистов отреагировали очень возбуждённо:
Не могу понять, почему мне это не нравится… — GrumpyUX Man @ layervault
Святые какашки, эта штука бесит — Thecoss @ reddit
Да я себе скорее установлю ПЕРДЯЩИЙ СКРОЛЛ http://theonion.github.io/fartscroll.js/ в качестве дефолтного, чем КОГДА-ЛИБО заменю мою полосу прокрутки на это. — Kyle Donmoyer @ layervault
Спасибо, не надо. Никогда не мог понять это желание поменять стандартные элементы интерфейса. Полоса прокрутки — это одна из тех вещей, которая просто работает. Она не мешается и легко даёт понять, насколько много контента. — madk @ reddit
Шта? — magenta_placenta @ reddit

Я не очень понял, что за проблему оно решает
— jineshshah36 @ reddit
(кто-то даже создал сабреддит Real Bad UX чтоб разместить там ссылку на этот проект)

Вместе с UX-экспертами, возбудился и я. Бесполезные проекты обычно никому не интересны, у меня есть пара таких. Но сейчас было очень непохоже — этот получился очень спорным, и такой движухи я ещё не видел. В течение следующих недель я попытался учесть основные комментарии и либо исправить что-то в самой библиотеке, либо добавить пояснения на сайте проекта. И одновременно выкладывал его на остальных ресурсах — градус фидбэка вроде бы стал смягчаться.

Здесь я хочу рассказать, какие области применения у интенса, и попробую объяснить, как я себе представляю «жизнь после скроллбара». А также предлагаю читателям покритиковать этот проект, обсудить скроллинг вообще, UX вцелом, и целесообразность замены традиционных элементов в частности.
Читать дальше →

Wheel-indicator — плагин эмуляции touchstart при работе с трекпадами

Reading time4 min
Views4.7K
Инерционные устройства ввода — это такие устройства, как тачскрины, трекпады, magic mouse и пр., По своей работе трекпады и magic mouse напоминают тачскрины мобильных устройств, т.е. продолжают генерировать события мышинного колеса после того, как пользователь закончил жест. Но в отличие от оных у нас отсутствует нативное событие touchstart. Все, что мы имеем, это объект события wheel. Touchstart часто бывает необходим, чтоб комфортно реализовать работу так называемых fullpage-сайтов, где при скроллинге происходит переход между экранами. Примером такого сайта может послужить alfabank. На нем же присутствует проблема прокрутки двух экранов подряд при использовании magic mouse или трекпада (особенно на макбуках). Достаточно слабый жест скроллинга вниз прокручивает ко второму, а потом сразу к третьему экрану. Чтоб попасть на второй экран, приходится пользоваться скроллбаром. Именно такого рода проблемы мы попытались решить используя лишь объект события wheel.
Читать дальше →

Подготовка приложения для iOS 9

Reading time3 min
Views30K
9 сентября выйдет новый релиз iOS и OS X. Времени остается все меньше, и многие разработчики уже оптимизировали свои приложения для работы на новых ОС. Тем, кто этого ещё не сделал, предлагаю коротко рассмотреть, что необходимо для поддержки iOS 9.


Читать дальше →

Легко переходим на векторный формат картинок вместо нарезки под разные плотности экранов в Android 4.0+. Часть 1 из 2

Reading time4 min
Views36K


Обычно дизайн приложения рисуется в векторном редакторе (например, Sketch), но типичным форматом картинок в приложении под Android является растровый (как правило, PNG). При разработке приложения необходимо для каждого векторного изображения заниматься утомительной работой по изготовлению набора растровых картинок для разных плотностей экранов. Количество таких комплектов может доходить до шести по числу возможных плотностей: ldpi, mdpi, hdpi, xhdpi, xxhdpi, xxxhdpi (плотность xxxhdpi необходима только для иконки приложения). При верстке иногда приходится задать в разметке явные размеры для изображения, что может потребовать перемасштабирования растровой картинки, а это, в свою очередь, наверняка приведет к появлению артефактов. К тому же наличие нескольких комплектов картинок отрицательно сказывается на размере выходного apk.
Читать решение...

Как рестораны создают меню: 4 дизайн-техники

Reading time2 min
Views30K


В наши дни рестораны не только внедряют системы автоматизации и изучают посетителей с помощью Google, но и уделяют все больше внимания вопросам дизайна. Сегодня мы рассмотрим несколько подходов, которые применяются для того, чтобы создать более привлекательные меню (традиционные и, скажем, для просмотра на iPad).
Читать дальше →

SCADA и мобильники: оценка безопасности приложений, превращающих смартфон в пульт управления заводом

Reading time9 min
Views17K
image

Сегодня мобильные технологии – неотъемлемая часть нашей жизни, и иногда проникают туда, где их не следовало бы использовать. Удобство часто оказывается важнее безопасности. Сейчас можно отслеживать состояние АСУ ТП (автоматизированной системы управления технологическим процессом) или даже управлять ей с новенького смартфона на Android или iOS. Поищите “HMI” (человеко-машинный интерфейс), “SCADA” (система диспетчерского контроля и сбора данных) или “PLC” (программируемый логический контроллер) в магазине Google Play, и вы удивитесь количеству результатов. Более того, многие из этих приложений разработаны серьезными производителями: Siemens, GE, Omron и т. д., и обеспечивают доступ, контроль и управление HMI, PLC, DCS (распределенная система управления) и SCADA-системами в инфраструктуре АСУ ТП. Безопасны ли они? Может ли злоумышленник нанести вред, получив доступ к планшету инженера-технолога? Какие уязвимости существуют в этих приложениях? Какие векторы атак возможны?
Читать дальше →

Атрибуты свойств в Objective-C. Инструкция для начинающих

Reading time9 min
Views83K
image

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

Information

Rating
Does not participate
Registered
Activity