Pull to refresh
0
0
Send message

Мои правила дизайна хорошего интерфейса

Reading time4 min
Views100K
image

В этой статье я привожу примеры основных принципов или концепций, которыми руководствуюсь при проектировании десктопных интерфейсов. Не планирую выступать новатором или поучителем, но с радостью поделюсь набором установок, который помогает мне в работе.
Читать дальше →
Total votes 59: ↑55 and ↓4+51
Comments27

Аргументы против использования фрагментов в Android

Reading time10 min
Views34K
Недавно я выступал на конференции Droidcon в Париже с докладом (оригинал на французском), в котором рассматривал проблемы, возникшие у нас в Square при работе с фрагментами и возможности полного отказа от фрагментов.

В 2011-м мы решили использовать фрагменты по следующим причинам:

  • Тогда мы ещё не поддерживали планшеты, но знали, что когда-нибудь будем. Фрагменты помогают создавать адаптивный пользовательский интерфейс, и потому казались хорошим выбором.
  • Фрагменты являются контроллерами представлений, они содержат куски бизнес-логики, которые могут быть протестированы.
  • API фрагментов предоставляет возможность работы с backstack'ом (в общих чертах это выглядит так же, как и работа со стэком Activity, но при этом вы остаётесь в рамках одной Activity).
  • Так как фрагменты построены на обычных представлениях (views), а представления могут быть анимированы средствами Android-фреймворка, то фрагменты могли в теории дать нам возможность использовать более интересные переходы между экранами.
  • Google рекомендовал фрагменты к использованию, а мы хотели сделать наш код как можно более стандартным.

С 2011-го года много воды утекло, и мы нашли варианты получше.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments15

Модернизация мыши — добавление наклонов колеса, замена электроники

Reading time6 min
Views31K
image

В моих руках побывало много мышей, но самые удобные корпуса для меня всего два — «Oklick Hunter» и «DeathAdder».
«DeathAdder» появился у меня, ещё в далеком 2006 году. Служил мне верой и правдой несколько лет, потом были разные мыши, последние годы пользовался «Хантером», вернее W-mouse в корпусе «Хантера», а DeathAdder пылился в коробке.
Для меня, основной недостаток DeathAdder, маленькое количество дополнительных кнопок и отсутствие наклонов колеса. На наклоны колеса, при работе в windows, у меня назначены Copy / paste. Это очень удобно. В игре наклон колеса вправо, я использую как обнаружение целей, т.е. указательный палец постоянно «тремолит» колесо вправо. Я к этому очень привык и мышь без наклонов колеса для себя не мыслю.
Поэтому идея переделать колесо в DeathAdder мне не давала покоя. Несколько раз разбирал его, прикидывал и собирал обратно т.к. затея казалась нереальной…
Но как говорится глаза бояться, а руки делают — примерно полгода назад, стал более активно продумывать варианты и все же решился на переделку…
Осторожно, трафик! много фотографий
Читать дальше →
Total votes 32: ↑31 and ↓1+30
Comments54

Простейшая 3D игра на libGDX под Android в 200 строк кода

Reading time12 min
Views72K
Я преподаю в IT школе Samsung программирование под Android для школьников. Программа обучения охватывает множество разнообразных тем. В числе прочих предусмотрен один урок, знакомящий учеников с основами 3D-графики под Android. Стандартный учебный материал этого урока показался мне очень бесполезным по нескольким причинам:
  1. Используется голый OpenGL, а поскольку на практике в программировании игр чаще всего используются готовые движки, то это мало полезно для школьников в контексте их собственных проектов. Кто-то может возразить, что увидеть в деле чистый OpenGL полезно для понимания основ, но здесь вступает в дело 2-й недостаток.
  2. Урок очень непонятный. У типичного школьника, пусть и разбирающегося в программировании, нет достаточной базы, чтобы понимать многое из того, что описано в уроке (например матрицы многие пройдут только уже в ВУЗе).
  3. В конце урока мы приходим к результату — отрисовка 3-х треугольников средствами OpenGL. Это настолько далеко от реальной 3D-игры, что легко может отбить интерес у школьника.

Поэтому я решил подготовить свой урок, описывающий основы использования libGDX под Android, а раз я все равно готовлю этот материал, заодно разместить его здесь — на хабре. В этом уроке мы сделаем наипростейшую 3D игру под Android, скриншот которой вы можете видеть во вступлении к статье. Итак, интересующиеся, добро пожаловать под кат.

Читать дальше →
Total votes 24: ↑24 and ↓0+24
Comments4

Архитектурный дизайн мобильных приложений

Reading time9 min
Views98K
Признак плохого дизайна №1:
Наличие объекта-«бога» с именем, содержащим «Manager», «Processor» или «API»


Ведущий iOS-разработчик Redmadrobot Егор BepTep Тафланиди — о том, как добиться стройного архитектурного дизайна мобильного приложения, используя классические шаблоны проектирования и логическое разделение исходного кода на модули.

Читать дальше →
Total votes 43: ↑33 and ↓10+23
Comments26

Gradle: управляя зависимостями

Reading time10 min
Views132K
Управление зависимостями – одна из наиболее важных функций в арсенале систем сборки. С приходом Gradle в качестве основной системы сборки Android-проектов в части управления зависимостями произошёл существенный сдвиг, закончилась эпоха ручного копирования JAR-файлов и долгих танцев с бубном вокруг сбоящих конфигураций проекта.



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

Внимание много текста и изображений
Total votes 22: ↑20 and ↓2+18
Comments60

Как оформлять коммиты, чтобы потом не было больно

Reading time3 min
Views105K
Несколько дней назад David Demaree, главный по Typekit в Adobe, издал крутую книжку "git для людей". Чтобы привлечь к ней внимание, он опубликовал выжимку самой, на мой взгляд, интересной главы — как оформлять коммиты чтобы и волки были целы, и овцы сыты, и песец не пришел. А я за эти выходные подготовил выжимку из выжимки — сокращенный и адаптированный перевод, чтобы можно было быстро прочитать и добавить в копилку своего опыта самое ценное.
Читать дальше →
Total votes 48: ↑44 and ↓4+40
Comments32

43 полезных сервиса для управления проектами. Без эпитетов

Reading time13 min
Views692K
Дано: собственные и аутсорс-проекты, некоторые участники работают удаленно.

Требуется: необходимо быстро назначать задачи исполнителям, планировать спринты, трекать выполнение и статусы, визуализировать процессы и делиться результатами с заказчиками.

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

Изначально сервисов было более 100, но постепенно список сокращался, и мы остановили наш выбор на трех, удовлетворяющих вместе наши нужды лучше всего: Jira, Slack и GanttPro. Но, если вдруг эти сервисы не помогут вам в планировании задач и работы с командой, делюсь с вами полным списком:

Процесс поиска очень часто усложняется тем, что все сервисы, как один, пишут «Лучший сервис, помогающий превратить ваши идеи в реальность и реализовать ваши проекты. Сегодня.». Так, а что вы делаете-то? Поэтому в этом списке без лишних эпитетов, только что какой сервис умеет. :)




Читать дальше →
Total votes 38: ↑32 and ↓6+26
Comments46

Цвет в дизайне

Reading time4 min
Views73K
Нет надобности расписывать, как важен цвет в дизайне. Удачное цветовое решение — это уже половина успеха проекта. В помощь развивающимся дизайнерам — немного теории цветового круга и подборка ссылок на полезные ресурсы.



Базовый цветовой круг пригодится в выборе наиболее подходящего сочетания цвета (или поможет гармонично совместить между собой определенные оттенки). Он изображает базовые и известные еще со школы правила смешивания основных цветов: красного, синего и желтого. Если смешать красный и желтый — получится оранжевый, синий и желтый дадут зеленый, а красный с синим — фиолетовый. Оранжевый, зеленый и фиолетовый — это вторичные цвета. Третичные цвета, как красно-фиолетовый и фиолетово-синий, получены от смешивания основных с вторичными.

Читать дальше →
Total votes 31: ↑25 and ↓6+19
Comments10

Фреймворк для создания ботов для Telegram

Reading time6 min
Views62K
Так уж вышло, что род моей деятельности тесно переплетен с созданием ботов для Telegram. Писать я их начал сразу после появления Telegram Bot API, тогда никаких инструментов для этого не было. Пришлось самому писать библиотеку для работы с API, о чем я частично уже рассказывал в своей предыдущей статье. С течением времени библиотека несколько раз была переписана и в итоге обросла разными фишками. В статье я постараюсь рассказать о том, как с ее помощью писать ботов.



Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments11

Потрясающая коллекция бесплатных шрифтов за 2014 год

Reading time1 min
Views123K
Привет, Хабр! Многие уже знают о моей страсти к попытке собрать самое лучше, что может быть полезно для веб-разработчиков или веб дизайнеров. И шрифты — не исключение. Программное обеспечение для работы со шрифтами постоянно развивается. Количество дизайнеров желающих опробовать себя в типографике растет с каждый днем. А сегодня я хочу представить вам их наработки — 30 потрясающих бесплатных шрифтов, которые мне удалось собрать за последний год.

Polar



Polar

Читать дальше →
Total votes 76: ↑68 and ↓8+60
Comments23

Лучшие бесплатные коллекции векторных иконок

Reading time2 min
Views338K
Привет, Хабр! Сегодня я хочу представить вам огромную коллекцию из 51 набора бесплатных векторных иконок. Да, есть потрясающие ресурсы Flaticon или Iconfinder, но бывают случаи, когда необходима именно группа иконок в едином стилистическом оформлении. Определиться с выбором, вам поможет эта подборка. Я старался собрать не как можно больше, а действительно самое лучшее.

Среди веб-разработчиков существует много споров о том, что лучше: иконочный шрифт или SVG спрайты? Четкого ответа на этот вопрос нет. Каждый выбирает свое. Данные наборы иконок вас неограничиывают в выборе, поскольку представлены в различных форматах: @font-face, SVG, EPS, AI, PSD, Sketch.

В целом данная подборка содержит более 10 000 иконок, охватывающих множество категорий: интерфейсы, технологии, наука, спорт, маркетинг, среда, транспорт и тд. Полые, заполненные, цветные, во Flat, Material, Elegant, Cartoon, Hand drawing стилях.

Responsive Icons (100 иконок, PSD, AI, EPS, SVG)


Responsive Icons

Читать дальше →
Total votes 91: ↑82 and ↓9+73
Comments23

Светодиодные лампы — стоит ли игра свеч?

Reading time5 min
Views115K
image

Читая публикации alexeynadezhin задумался — а не перейти ли мне дома на светодиодное освещение? Как всегда, к вопросу решил подойти скрупулёзно, досконально изучить все тонкости. В итоге пришёл к интересным выводам.
Читать дальше →
Total votes 45: ↑41 and ↓4+37
Comments187

Общие принципы в создании мобильных приложений для начинающего UX/UI-дизайнера

Reading time3 min
Views66K


Привет! После предыдущих моих постов мне часто писали ребята, которые начинают изучать тему UI/UX. Это так классно, спасибо вам! И в этой статье я делюсь принципами, которые будут интересны и полезны новичку.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments23

Оптимизация Android-игр, созданных на Unity для платформы Intel: пример из жизни

Reading time6 min
Views22K
Unity – это один из самых популярных игровых движков для мобильных платформ (Android и iOS). Множество разработчиков используют его для создания и выпуска игр. До того, как Unity поддерживал Android-устройства, построенные на платформе Intel, игры приходилось исполнять в эмуляторе, который заменял низкоуровневый ARM-код на x86-код. В результате некоторые игры, которые изначально не были рассчитаны на платформу x86, в эмуляторе не запускались, либо имели проблемы с производительностью. Сегодня, с ростом присутствия процессоров от Intel в мобильной среде, многие разработчики заинтересованы в поддержке Android-устройств, основанных на архитектуре x86. Разработчики хотят знать, как оптимизировать игры для такого оборудования.

В этом материале мы покажем, какой производительности можно добиться, разрабатывая Android-приложения, рассчитанные на платформу x86, поделимся советами по оптимизации игр на примере Hero Sky: Epic Guild Wars.


Игра Hero Sky: Epic Guild Wars
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments6

Миссия невыполнима: геолокация на Android без сжирания батарейки

Reading time10 min
Views79K
Пользователь: это невозможно, GPS съест батарейку
Джуниор: это возможно, используй Geofences
Сеньор: есть варианты и получше

image
На картинке сначала в одну, а потом в другую сторону одновременно с одним человеком «прогулялись» 6 одинаковых телефонов. Но какой разный результат!
Читать дальше →
Total votes 44: ↑41 and ↓3+38
Comments12

Почему менеджеры задач не делают нас продуктивными

Reading time9 min
Views25K
Здравствуйте! Если вы подводили итоги за прошедший год, то, возможно, обнаружили, что что-то осталось невыполненным. То же самое и у меня. Поэтому я поставил задачу основательно разобраться с причинами, которые мешают мне продуктивно работать.

Для начала я решил проанализировать недостатки различных менеджеров задач и создать своё приложение. Но не очередной менеджер задач — таких приложений уже очень много. Новая программа должна помогать правильно планировать работу и не утонуть в море задач.

Как должно работать это приложение?

Узнать и обсудить
Total votes 9: ↑9 and ↓0+9
Comments7

Android IDE Template Format

Reading time10 min
Views18K

В процессе создания новых приложений очень часто приходится писать однотипный код и воспроизводить уже проверенные временем структуры классов. IDE (в частности Android Studio) облегчает во многом задачи, связанные с созданием новых компонентов для приложения. Список шаблонных Aсtivity растет с каждой новой версией SDK Tools. Но что если нужно создать свой собственный шаблон? Для одного файла это легко, но что делать, если нужно создать шаблон с созданием нескольких файлов? Зная возможности IDE, это вполне реализуемо, ведь Activity создается вместе с файлом разметки, да и фрагмент к ней добавить можно. Однако описание такой функциональности найдено не было, потому пришлось искать решение для данной возможности самостоятельно.

Под катом хочу рассказать вам о том, как эта возможность реализуется в Android Studio.
Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments5

Лучшие светодиодные лампы 2015 года

Reading time4 min
Views100K
На сайте lamptest.ru я публикую результаты измерений параметров светодиодных ламп. Цифр там немало и многим сложно в них разобраться. Всё чаще я слышу вопрос — «так какая лампочка самая лучшая»? Хороших ламп много и я решил регулярно публиковать списки лучших ламп.



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

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments69

SmartTV* — как создать небезопасное устройство в современном мире

Reading time10 min
Views27K
* — в статье пойдет речь только про Samsung SmartTV

image
Изображение с mnn.com

«Please be aware that if your spoken words include personal or other sensitive information, that information will be among the data captured and transmitted to a third party.»

Соглашение о конфиденциальности Samsung SmartTV (до февраля 2015 года)

The telescreen received and transmitted simultaneously. Any sound that Winston made, above the level of a very low whisper, would be picked up by it; moreover, so long as he remained within the field of vision which the metal plate commanded, he could be seen as well as heard. There was of course no way of knowing whether you were being watched at any given moment. How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.

«1984» — роман-антиутопия Джорджа Оруэлла, изданный в 1949 году

Вступление


Буквально на прошлой неделе прошла конференция ZeroNights, про которую мы так много писали на Хабре (еще не опубликован финальный отчет, надо дописать). И кроме всего прочего, там я прочитал доклад про Samsung SmartTV, рассказав, что может быть, если при проектировании подобных мультимедийных платформ руководствоваться интуитивно наиболее близкими и легкими решениями (раскроем эту тему это очень подробно). Формат повествования был выбран хронологический, т.е. как я и что смотрел и как прорабатывал решение, будь бы я инженером подобного устройства.
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments20

Information

Rating
Does not participate
Registered
Activity