Как стать автором
Обновить
290
0
Игорь Афанасьев @afan

Директор по локализации, Evernote

Отправить сообщение

Знакомство с Interface Builder. Связи между объектами.

Время на прочтение11 мин
Количество просмотров25K
Кросспост из блога "Программирование на Python и
Objective-C под Mac OS и для iPhone / iPod Touch
"
Посвящено комментариям #1, #2 и #3 (оу, чёрт, hellraiser09 не читай последний)


Процесс создания любого приложения можно условно разделить на три этапа: создание интерфейса, непосредственное написание кода и отладка. В первой части своих статей я хочу познакомить вас с Interface Builder (далее просто IB) — средством для визуального создания и тестирования интерфейсов, входящей в состав SDK разработчика под Mac OS, на примере разработки интерфейса для iPhone. Способ создания интерфейса программ для Mac OS X сильно не отличается от приведенных ниже принципов, поэтому данное руководство можно использовать для разработки интерфейсов для «большой» Mac OS с некоторыми различиями, о которых я упомяну, когда придет время.

Читать дальше →
Всего голосов 4: ↑4 и ↓0+4
Комментарии24

Jabber-to-Evernote Gateway изнутри

Время на прочтение3 мин
Количество просмотров1.7K
Некоторое время назад я запустил бота для постинга в Evernote через джаббер и пообещал открыть исходный код, чтобы показать примеры работы с Evernote API и OAuth.

Код — в конце статьи, а для начала я расскажу о некоторых особенностях работы с Evernote.
Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии9

Jabber-to-Evernote Gateway

Время на прочтение1 мин
Количество просмотров934

Преамбула


Какое-то время назад я писал о способах публиковать Evernote-заметки через джаббер. Способов тогда нашлось два: крайне медленный и неудобный (jabber -> tweet.im -> twitter -> evernote) через твиттер и неработоспособный (поскольку публичных траспортов не нашлось) через smtp-транспорт.

После таких неутешительных выводов я собрался немного с мыслями и написал своего джаббер-бота для постинга заметок в Evernote — его и представляю сегодня общественности.

Использование


Бот живет по адресу xmpp:evernote@neko.im. Для того, чтобы получить справку по командам, достаточно отправить ему сообщение с произвольным текстом (и добавить в ростер, чтобы он светил он-лайн статус) или сообщение с текстом «help» после регистрации. Для авторизации бота используется OAuth (из соображений безопасности пришлось отказаться от регистрации по логину и паролю).

Добавлю только, что элементы синтаксиса можно комбинировать в произвольном порядке: "(( Заголовок )) [[ Блокнот ]] Текст заметки" или "[[ Блокнот ]] (( Заголовок )) Текст заметки" — кому как удобнее. Также бот позволяет отправлять и заметку без текста (при этом заголовок обязательно должен быть указан).

Баг-репорты, конечно же, очень приветствуются.

Приятного использования!

P.S. Если хабрасообществу интересно, позже могу рассказать про процесс разработки и выложить исходники на python в соответствующем блоге — тем, кто собирается работать с Evernote API (и особенно OAuth), может пригодиться, потому что я почти не нашел хороших примеров на эту тему.
Всего голосов 29: ↑28 и ↓1+27
Комментарии29

ENTrap — небольшая утилитка для Evernote

Время на прочтение2 мин
Количество просмотров673
Данный топик может быть полезен активным пользователям Evernote, пытающимся использовать его чуть более шире, чем просто для ведения базы заметок, в частности для ведения дел в стиле GTD. Страница проекта: http://code.google.com/p/entrap/
Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии2

Google App Engine и High load

Время на прочтение3 мин
Количество просмотров2.9K
Гаджет «Евровидение 2009», который мы, Sterno.ru, сделали для компании Google, оказался отличным опытом в тестировании App Engine и проверки того, на что способна эта технология. Теперь мы гораздо лучше понимаем, как работает «Движок приложений» при высоких нагрузках. Эта статья описывает сильные и слабые стороны Google App Engine, а также подводные камни, с которыми разработчики могут столкнуться в ходе ее использования.
Читать дальше →
Всего голосов 77: ↑67 и ↓10+57
Комментарии22

Jabber → Evernote

Время на прочтение2 мин
Количество просмотров1.1K

Преамбула


После того, как начал пользоваться Evernote, понял, чего мне всё-таки не хватает — возможности отсылать заметки через Jabber. И быстро, и лишних телодвижений не надо, и под рукой всегда. Поиск evernote-jabber-бота успехом не увенчался, поэтому я начал искать другие способы. Способов таких нашлось два…
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии25

NeverMap «Россия — родина слонов»

Время на прочтение1 мин
Количество просмотров808
Эта избитая фраза в заголовке неслучайна.
Хочу представить вам гео-сервис NeverMap для работы с заметками Evernote, чьим символом является слон. А для России сервис особенен тем, что построен на движке Яндекс.Карт, и показывает российские города как нельзя лучше.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии6

Быстрые знакомства на 10-й мини-конференции Startup Point в Москве (31 мая, 14:00)

Время на прочтение2 мин
Количество просмотров572
В ближайшее воскресенье (31 мая) в 14.00 начнется 10-ая встреча стартаперов (мини-конференция) Startup Point.
В этот раз местом встречи выбран клуб ArteFAQ, который находится совсем рядом с метро Пушкинская/Чеховская/Тверская (карта проезда)
В программу мини-конференции, наряду с уже традиционными форматами знакомства и общения стартаперов и инвесторов, добавлены и новые интересные идеи.
Прежде всего это два новых формата общения: SpeedNetworking и UnConference.

Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии17

Степан Пачиков: «Если у вас есть идея, в которой вы разбираетесь, можете развить ее в стартап»

Время на прочтение7 мин
Количество просмотров4.4K
13 мая лекцию для студентов специализации «Менеджмент в сфере интернет-технологий» Государственного университета управления прочитал Степан Пачиков, легендарный IT-аксакал, один из самых успешных стартапщиков СССР и всея Руси.

image

Главный архитектор Evernote и организатор, по крайней мере, двух успешных софтверных стартапов начал с полушутливого дисклеймера: «Профессиональным лектором я никогда не был, да и уже 25 лет не читал лекций. Поэтому ответственности за ущерб от применения полученных в ходе лекции знаний не несу». Ну а после предупреждения пояснил, о чем конкретно собирается рассказать: «Расскажу я сегодня о том, что важно для удачного стартапа. Свою лекцию я вначале хотел назвать «Что не нужно делать, чтобы не развалить фирму», но решил не вводить негатив в название. Конечно, я также расскажу и про свою нынешную компанию Evernote: грех не воспользоваться предоставленной возможностью бесплатно прорекламировать свое предприятие и свой продукт».
Читать дальше →
Всего голосов 63: ↑57 и ↓6+51
Комментарии21

Moblin 2.0 Beta: Новый пользовательский интерфейс

Время на прочтение1 мин
Количество просмотров1.3K
Сегодня был анонсирован выход бета-версии проекта Moblin 2.0, который, напомню, курируется компанией Intel и нацелен на создание идеальной операционной среды для нетбуков. В рамках этого проекта оптимизируют ядро с целью снижения энергопотребления, уменьшают время загрузки ОС, и разрабатывают более удобный интерфейс для экранов с малым разрешением. Именно новый интерфейс и стал главным нововведением беты. Разработан он с использованием библиотеки Clutter, разрабатываемой также Intel, и позволяющей сконцентрировать внимание на анимации и эстетической стороне дела при разработке графического интерфейса. Кроме того, проект Moblin полностью опирается на наработки Gnome Mobile (GLib, PulseAudio, Bluez, Telepathy & e.t.c. )

Всего голосов 50: ↑49 и ↓1+48
Комментарии80

Корявых интерфейсов пост

Время на прочтение3 мин
Количество просмотров1.2K
При работе с компьютерами, есть такие операции, которые приходится выполнять по 100500 раз в день. Например, переключаться между окнами, закрывать их и сворачивать. Переключать раскладку клавиатуры, переносить данные между приложениями…
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии24

Типографика и WPF — Рисуем красивый текст

Время на прочтение7 мин
Количество просмотров5K

Важно: этот подход устарел, теперь можно просто использовать DirectWrite и получать все плюшки OpenType. Пример конкретной реализации можно найти вот тут.



Введение


Как известно, в WPF есть достаточно мощная встроенная система типографики. К сожалению, эта система ориентирована в основном на работу с документами и, тем самым, все типографические изыски вроде поддержки OpenType невозможно использовать для какого-нибудь простого контрола вроде Label. Но, не смотря ни на что, есть все-таки возможность получить качественную отрисовку текста – просто нужно немного помучаться.
Читать дальше
Всего голосов 44: ↑34 и ↓10+24
Комментарии25

SMS, E-MAIL, Google Календарь, тайм менеджмент — при помощи голоса

Время на прочтение3 мин
Количество просмотров1.5K


Добрый день друзья! Мы хотим представить Вам наш сервис Вселисделал в том виде, над которым мы работали последние полгода. Делая пробный проект за 7 дней, мы и подумать не могли, что это станет ключевым направлением нашей компании. Много всего произошло за последнее время. Но вот итоговая версия запущена, просим судить и жаловать.

Коротко о том, что Вы теперь можете делать голосом, просто позвонив с телефона на бесплатный номер:
...подробнее
Всего голосов 43: ↑40 и ↓3+37
Комментарии70

Реализация С#, Javascript: функция форматирования для удобной локализации строк

Время на прочтение12 мин
Количество просмотров1.6K
Хабраюзер afan в своём топике Идея: функция форматирования для удобной локализации строк предложил интересную концепцию. Какой собственно я решил воспользоваться в своём движке.

И так,
реализация на C# через IFormatProvider и JavaScript через функцию String.wformat.
Всего голосов 8: ↑7 и ↓1+6
Комментарии16

Что на самом деле сделал Google

Время на прочтение3 мин
Количество просмотров2.3K
Я осознал. Только что. Наверное, я тормоз… но пока эта мысль нигде не озвучивалась.
Итак, пока все спорят, насколько хорош браузер Chrome, меряются тестами и ждут портов на Линукс и Мак, основная революция произойдет совсем не там.
Она кроется в маленькой незаметной кнопочке «создать ярлыки приложения».
Воспользовавшись этой функцией, вы получаете на рабочем столе или в главном меню ярлык на свой любимый сайт, который откроется без панели навигации и прочих ненужных элементов. Например, я первым делом создал такой ярлык для Google Reader. И удивился, насколько шустро он стал работать. Ну собственно, ничего удивительного. Наверняка для своих приложений Гугл оптимизировал JavaScript и собственный же движок.

Ну да суть не в этом. Что я получил? Я получил отличный, удобный, шустрый RSS-reader, который ничуть не уступает своим традиционным аналогам. Потом я наткнулся на забавную статью о том, как можно тем же способом получить неплохой калькулятор. А сколько уже небольших, приятных сервисов существует в сети? Тут и календари и текстовые редакторы и даже сложные графические приложения.
А теперь вспоминаем, какие основные особенности нового браузера от Google: оптимизация работы JavaScript (ускорение просто в разы!) и самостоятельные потоки для каждого окна. То есть одно кривое приложение не подвесит и не повалит остальные (сейчас может, но это исправят). В результате мы получаем… почти идеальную платформу для приложений.

Полная кросс-платформенность. HTML и JavaScript худо-бедно, но работают на любой операционной системе (где будет Google Chrome). Простота разработки и огромное количество готовых фреймворков. Огромное количество удобных бесплатных редакторов и сред разработки. Решение проблемы с обновлениями софта. Пользователь автоматически работает с самой последней версией. Замечательная обратная связь и статистика. Вы будете совершенно точно знать, какие функции вашей программы наиболее востребованы, оценивают ли пользователи ваши гениальные идеи или применяют приложение совершенно неожиданным способом. Кстати, не удивлюсь, если в Chrome встроен сборщик статистики, который отправляет много интересной информации в Корпорацию Зла Google. Но не удивлюсь и в том случае, если он туда не встроен. :)

Теперь следующий тонкий момент: браузер с открытым исходным кодом. Значит, наработками Google смогут воспользоваться и разработчики других, альтернативных браузеров. Даже великий и ужасный IE сможет включить аналогичные функции. И вот как раз это Google и надо. Зачем распространять свой браузер, если основную фичу можно продвинуть руками конкурентов. И пусть даже доля Chrome будет два процента, но если при этом все остальные браузеры станут поддерживать интернет-приложения, Google своего добьется.

А добьется он того, к чему стремится уже очень давно: повальной миграции пользователей на веб-приложения и сервисы. И кажется, на этот раз у него это получится. Да, серьезный софт, завязанный на сложные вычисления или требующий низкоуровневой работы с железом, никуда не денется. Но посмотрите сами на свой рабочий стол. Много там таких приложений? А сколько всяких мелких утилит для ежедневной работы? А ведь приличное их количество может работать через веб, ничуть не теряя функциональности.
К слову, никто не мешает делать ссылку и на локальную копию веб-сайта. И не удивляйтесь, если завтра ваша любимая программа X выйдет не в виде исполняемого файла, а в виде кучи HTML и JS кода, распакованного на ваш жесткий диск.

В общем, скоро мы окажемся в новом мире. Которым будет править не Microsoft, но Google.
Всего голосов 416: ↑325 и ↓91+234
Комментарии248

Информация

В рейтинге
Не участвует
Откуда
California, США
Дата рождения
Зарегистрирован
Активность