К вопросу об электронных журналах
Дата публикации: 23/11/2010С тех пор, как у меня появился iPad, я отслеживаю новинки в области электронных версий традиционных журналов. И постепенно вижу, что многие из известных изданий начали создавать и продавать такие версии. Причем встречаются как полностью написанные с нуля приложения для просмотра журналов, так и некоторые уже устоявшиеся платформы. По крайней мере, я уже видел несколько журналов, использующих одну и ту же концепцию и интерфейс внутри себя.
Новый подход к созданию электронных журналов, в отличие от традиционных web-страничек, подразумевают полноценную верстку, а также появление новых интерактивных элементов. Речь идет, конечно, в первую очередь о возможности встраивать видео, аудио и небольшие программы. Другая особенность электронной верстки, замеченная мной почти во всех приложениях, заключается в том, что странички статей автоматически переверстываются при изменении ориентации планшета. При это переверстка осуществляется очень грамотно и искренне вызывает восхищение. В частности, если в портретном режиме страница сверстана в две колонки, то при изменении ориентации она переверстывается в три колонки с сохранением ширины самой колонки. При этом обычно изменяется и расположение иллюстраций, но выглядит все очень здорово.
Не пойми опция
Дата публикации: 24/01/2010Есть что-то в компьютерных программах такое, что чувство перфекционизма заставляет их изучать подробно. Не у всех это, конечно, есть, но сегодня я о частностях. Уж слишком много нынче в программах опций, а особенно в профессиональных. Ну ладно профессионал - ему, наверно, это все действительно нужно, правда сомневаюсь что действительно все, но зачем это нужно мне? Нынче программы стали такими сложными, что пытаются охватить все и всех. И вроде как пользуюсь программой и делаю то, что мне нужно, но вот те возможности, что в ней есть, но которыми я не пользуюсь, где-то внутри не дают покоя. А что если там есть для меня что-то важное? И ведь не на пустом месте такие подозрения - бывало, и не раз, что в общем-то в известной до дыр программе вдруг находилась какая-то опция, которой именно тебе-то и не хватало. Недавно открыл такую в HomeSite, программе нынче изрядно устаревшей и официально не поддерживаемой уже сколько времени... но аналогов-то нет!
А времени на все не хватает, и вроде да, хочется тебе изучить досконально программу и сказать саму себе, что вот мол теперь ты действительно ее знаешь и готов при помощи нее творить чудеса. Подход вроде как при чтении книги, когда начинаешь с обложки и заканчиваешь на последней странице словом "конец". Но здесь он не очень работает - понимаешь, что изучить-то можно, но также ясно понимаешь, что нужно тебе будет из этих знаний только пресловутые 20% возможностей. А время потрачено и его не вернуть... и что получается? Нужно менять парадигму использования, заменяя удобный инструмент на быстрый результат. Не самый лучший результат, но быстрый. Только вот удовлетворения в душе нет - мозг требует ясности и четких причинно-следственных связей.
И тратишь время на очередную программу, которая тебе и понадобится, быть может, один раз, но если программист писал и старался, то, наверно, делал это не зря? Быть может, он и смог бы объяснить, зачем встроил столько опций в программу, но мне как пользователю это неудобно. Оттого и ищу программы простые и ясные. С легким и удобным интерфейсом, который помогает, а не мешает мне делать работу. Но, быть может, это нужно только мне одному?
К вопросу о вдохновении при написании текстов
Дата публикации: 13/12/2009Если Вы периодически пишете достаточно длинные тексты - быть может, только у себя в блоге, а быть может, постоянно печатаетесь в журнале - то знаете, что очень важно в этот момент сконцентрироваться. Чтобы мысль свободно облекалась в предложения и абзацы, а внимание не рассеивалось. И если раньше писатель пользовался только бумагой и пером (чуть позже - блокнотом и ручкой), то в современном мире вся творческая работа по большей части делается с использованием компьютеров.
Пожаловаться сегодня на отсутствие текстовых редакторов определенно нельзя. Их все можно разделить на две большие группы, которые сложились исторически. Назовем их условно как редакторы для программистов и офисные текстовые процессоры. Для первых важна скорость написания кода, и множество функций в подобных программах направлены именно на ускорение процесса кодирования: быстрые клавиши, подсветка синтаксиса, автоматическое дополнение, повторное использование фрагментов кода и т.п. Для второй группы, классическим представителем которой является Microsoft Word, важна в первую очередь визуальная составляющая документа, а также работа с разнообразными данными в пределах документа - изображениями, таблицами, диаграммами и т.п. Другими словами, несмотря на то, что и та, и другая группы предназначены для работы с текстом, они не являются взаимозаменяемыми - каждая из них решает свою задачу.
Дилемма программиста
Дата публикации: 01/11/2009Изучение практически любого языка программирования начинается с написания хрестоматийной программы "Hello, World!", но следует признать, что в современном мире программирования этого уже давно недостаточно. Настоящее таково, что собственно язык программирования - это всего лишь небольшая часть тех знаний, которые нужно приобрести, чтобы написать работающую программу. Язык программирования нынче - это некое связующее звено между концептуально чистой идеей и API платформы.
Классический BASIC, который позиционировался как язык для обучения программированию, не был предназначен для написания полнофункциональных программ. Хотя некоторые и пытались его использовать для этих целей, но концептуально он для этого не подходил. Множество современных языков программирования, которые продолжают появляться до сих пор, связаны с определенным мировоззрением их авторов на решение той или иной задачи. Точно также, как наш с вами язык общения влияет на образ наших мыслей, так и у программиста, долго использующего один язык программирования, вырабатывается определенный способ мышления. Это приводит к тому, что хорошо знакомый язык программирования стараются приспособить для решения проблем, к которым он, скажем так, не совсем приспособлен. Или, говоря с технической точки зрения, требует написания гораздо большего количество кода, чем на другом более подходящем языке.
Поиск программы и скриншоты
Дата публикации: 30/01/2009По-моему, самая главная кнопка на сайтах поддержки программ - это кнопка для просмотра скриншотов. А вторая главная кнопка - для скачивания этой программы! Часто, увидев интерфейс программы в нескольких характерных режимах, уже можно составить о ней определенное мнение. Это же замечание, кстати, относится и к различным обзорам программ в сети и журналах. Зачастую по скриншоту можно судить о качестве программы, т.к. если авторы программы действительно ей пользуются, то интерфейс, как правило, оптимизируется под основную задачу.
Я уже раньше говорил о том, насколько внешне перегружены функциями современные программы. Даже небольшая утилитка, предназначенная для выполнения одной простой задачи, часто содержит целую кучу подменю и сложное окно настройки. Понятно, что API операционной системы зачастую позволяет очень легко встроить некие возможности в собственную программу, но далеко не всегда это нужно делать.
Скажем, простая программа по перекодированию текста из одной кодировки в другую, которая иногда требуется. В 99% случаев нужно перекодировать содержимое буфера обмена, и для идеального интерфейса достаточно большого текстового окна, куда можно вставить скопированный текст, и два ниспадающих списка для выбора исходной и нужной кодировки. Еще более улучшить интерфейс такой программы можно путем добавления функции автоопределения исходной кодировки. При попытках же найти подобные утилиты в сети видишь слишком усложненные программы, да еще и требующие отдельных библиотек размером в несколько мегабайт.
Об этом я очередной раз задумался, когда искал вчера программу для чтения RSS-каналов. И вот интересно, а что если сделать специальный поисковик программ, который бы представлял результаты поиска исключительно в виде скриншотов? Хотя подобную функциональность можно частично воспроизвести посредством поиска картинок, но для этого все же нужно знать точное имя программы.
О Пальмах...
Дата публикации: 13/01/2009На днях, в рамках только что прошедшей выставки "CES-2009", компания Palm представила свой новый смартфон под названием "palm pre" на базе новой операционной системы "webOS". В общем, еще одна попытка ответить Apple от в свое время легендарной компании. Характеристики устройства в общем-то вполне предсказуемы и, кому интересно, могут посмотреть их на официальной страничке.
Вызывает интерес новая операционная система "webOS", т.к. подробной информации по ней почти нет. Известно, что в качестве ядра там используется Linux, но все остальное непонятно. Является ли данная операционка совместимой со старым API "Palm OS" или полностью самостоятельна? Если последнее, то куда девать сообщество разработчиков умеющих писать под "Palm OS"? Или там, быть может, есть какой-нибудь режим эмуляции для запуска старых приложений? Неизвестно!
Само устройство еще реально не продается и будет выпущено "Palm, Inc.", наверное, через пару месяцев, хотя я не думаю, что это сильно изменит расстановку сил на рынке. В свое время компания Palm запустила революционный наладонный компьютер, который включал в себя множество инновационных идей, начиная с того факта, что КПК не должен обеспечивать всю функциональность большого компьютера и заканчивая использованием чувствительного экрана и граффити. На данный же момент операционная система "Palm OS" скорее мертва, чем жива. В очередной битве победила Microsoft, хотя с точки зрения удобства для пользователя и внутреннего устройства операционка от Palm была более совершенна.
Впрочем, это уже в прошлом и последними удачными выпущенными моделями, как мне кажется, были КПК серии "Tungsten", а затем начался спад. Последовавшие затем смартфоны "Palm Treo" немного подправили дело, но не сильно. Когда компания выпустила версию "Palm Treo" под управлением "Windows Mobile", то она потеряла свой единственный козырь - операционную систему и стала соревноваться на поле производителей КПК/смартфонов на базе "Windows Mobile". А здесь "Palm Treo" на фоне других игроков выглядел далеко не так хорошо, тем более учитывая нестандартный размер экрана 320x320 пикселов, что означало невозможность запуска многих уже написанных под "Windows Mobile" программ.
Новый смартфон выглядит достаточно симпатично, но он будет соревноваться скорее на поле других убийц iPhone, к которым можно отнести "Nokia Tube" опять же со своей операционкой и модели от Samsung и HTC на базе все той же "Windows Mobile". Также на повестке дня имеется открытая мобильная платформа "Google Android", которую могут поддержать сразу несколько производителей.
И тем не менее, все вышеперечисленные модели по отношению к iPhone выглядят глубоко вторичными. Да, возможно, кое-что сделано получше, но концептуально ведь почти все то же самое. И очень важно понять, что для iPhonе изначально разрабатывалась операционная система, заточенная под управление пальцами, а в старые операционки типа "Symbian" или "Windows Mobile" эта возможность добавлялась как дополнение. И, несмотря на тот же эффектный вид оболочки "Touch Flo" от HTC, на уровне системы все равно вылезает все та же медленная и неудобная "Windows Mobile". Возможно, что в новой операционной системе "webOS" действительно сделано что-то более грамотно, но оценить это будет возможно только после появления достаточного набора сторонних приложений, а вот с этим могут быть проблемы.
У меня же по-прежнему уже пятый год замечательно работает "Palm Tungsten T3" и служит большей частью как органайзер да иногда используется для чтения книг. Хотя я постепенно и подумываю заменить его на что-нибудь более современное, тем не менее, со своими задачи он вполне справляется. Нужно будет только его еще научить синхронизироваться по Bluetooth с MacBook.
Интуитивно непонятный интерфейс
Дата публикации: 05/12/2008Люди используют для выполнения своей работы множество различных устройств и систем. После появления компьютеров, большую часть времени мы посвящаем взаимодействию с интерфейсами программ. И однажды был придумал термин "интуитивно понятный интерфейс"...
Но что называть словом "интуитивный"? Большинство интерфейсов строятся на метафорах, т.е. на использовании уже знакомых объектов и приемов. Именно по этой причине иконки рисуются похожими на реальные предметы. Но метафоры далеко не всегда и далеко не для всех понятий можно использовать. Скажем, изображение лупы может означать как функцию поиска, так и функцию предварительного просмотра перед печатью. И, в случае, когда подходящей метафоры нет или она неоднозначна приходится, либо использовать костыли в виде всплывающих подсказок, либо придумывать новые образы, отсутствующие в реальном мире.
Как только появляется что-то новое и незнакомое, то вся интуитивность пропадает - требуется обучение и далее появляется такое понятие как кривая обучения напрямую связанная с качеством интерфейса. Чем более сложен интерфейс, тем дольше его осваивать и тем меньше людей доберется до финишной прямой, а значит многие будут обречены неэффективно пользоваться программой.
Но каким должен быть интерфейс сложным или простым? Ответ далеко не такой простой и зависит от сложности решаемой задачи. Интерфейс, в первую очередь, должен быть адекватен решаемой задаче! Проблемы возникают в тот момент, когда мы либо чересчур усложняем задачу, либо чересчур упрощаем. Усложнение обычно встречается гораздо чаще.
Если не знаешь с какого конца взяться...
Дата публикации: 17/11/2008Каждый из нас постоянно решает какие-то вопросы. Часть из них достаточно простые и не требуют предварительного планирования, другие более сложные и их уже нужно хорошенько продумать. Самое же сложное это большие проекты, рассчитанные на несколько недель или месяцев.
В начале такого проекта все может казаться понятным, но по мере его реализации всплывают некоторые аспекты, которые не были заранее продуманы. И вот решение таких, возникающих в процессе работы, проблем способно существенно увеличить сроки его выполнения или вовсе сорвать проект. Для уменьшения риска возникновения таких непредвиденных проблем, требуется тщательно спланировать работу.
Попробуем максимально подробно описать все шаги решения проблемы, разбивая ее на все меньшие и меньшие части. Разбивать требуется до той степени детализации, когда решение части становится тривиальным и нет никаких двусмысленностей. Минимальная часть должна быть такой, чтобы ее можно было легко сделать за пару часов. При этом, очень важно не полагаться на различные "умолчания" и ощущение того, что "вы знаете как это сделать". Опишите максимально подробно и эти самые "умолчания". Для просмотра полного текста заметки, перейдите по ссылке.
Идея: виртуальный анимированный секретарь
Дата публикации: 12/11/2008В продолжение моей недавней заметки по поводу информирования пользователя о появлении новых функций и в частности об использовании анимированных персонажей. Я тут подумал, что модные сейчас виджеты позволяют быстро получать интересующую информацию будучи один раз настроенными, но при этом каждый виджет является независимым. А что если взять анимированного персонажа и наделить его функциями секретаря, чтобы он аккумулировал в себе всю интересующую нас информацию и сам бы решал когда ее нам предоставить?
Разумеется, сразу возникает ряд вопросов по поводу алгоритма действия такого секретаря, а также того как именно подавать информацию. Мне кажется, что информация должна подаваться ненавязчиво и в виде анимации. Например, в случае прихода нового письма в руках (или лапах) персонажа возникает конвертик. Я специально хочу отметить тот факт, что данное действие должно быть ненавязчивым, т.к. я в любое время могу самостоятельно проверить почту. Кроме того, в случае возникновения некоего события, анимироваться должно только самое главное из них и следующее должно обрабатываться и отображаться не ранее чем будет обработано наиболее важное событие.
У меня есть также идеи по поводу алгоритма, который должен использоваться для реализации такого поведения. Во-первых, каждая задача должна иметь определенную важность, что позволит организовать вышеописанный алгоритм с показом наиболее важного события. Во-вторых, нужно заложить возможность, что некоторая подготовленная информация может устаревать и тогда она должна без сожаления выкидываться не будучи обработанной. К таким событиям можно отнести устаревание критических новостей. В-третьих, алгоритм может предусматривать анализ текущей занятости пользователя и самостоятельно решать в какой момент его стоит отвлекать и какую именно информацию ему предоставить. Анализ занятости можно провести по типам запущенных приложений или частоте ввода информации на клавиатуре или еще как-нибудь. Это также можно продумать и настраивать поведение "секретаря" на уровне профилей.
Разумеется, идею такого уровня нужно реализовывать на уровне всей системы и, быть может, на уровне распознавания голосовых команд. При этом очень важно сделать качественную и приятную анимацию для всех важных типов данных. Кроме виртуального персонажа на мониторе компьютера можно подумать о трансляции персонажа на дополнительные устройства, подключаемые к компьютеру. Можно даже сделать это на уровне фигурки, которая принимает определенные команды - наподобие кролика "Nabaztag", который поднимает ушки, когда приходит новая почта.
А может быть это уже сделано?
Дата публикации: 06/11/2008Часто внимательное чтение документации открывает глаза на очень удобные вещи, которые уже реализованы в программе, но найти их достаточно сложно. А ведь это может оказаться той самой нужной именно Вам возможностью. Если касаться темы создания удобного дизайна, то вопрос как познакомить пользователя с доступными ему возможностями далеко не такой праздный.
Все современные более или менее серьезные программы достаточны сложны, чтобы знать абсолютно все доступные в них команды. И, разумеется, далеко не все сразу обращаются к справке. Да и зачем обращаться к справке, если мы не испытываем проблемы? А при выходе новых версий, многие ли читают полный список изменений? На поверку оказывается что сразу видны 2-3 крупных эффектных изменения, а более мелкие доработки оказываются незамеченными.
Я знаю несколько способов, которыми пытаются познакомить пользователя с новинками, но идеальных вариантов все равно нет. Разумеется, все нижеперечисленные приемы не отменяют полную и хорошо продуманную справку.
- Совет дня
- При каждом запуске показывается очередной совет из предопределенного списка и многое зависит от того насколько хорошо составлен этот список. В любом случае, через некоторое время, эти напоминания надоедают и они отключаются. Мне кажется, что при достаточно хорошей идее, страдает ее реализация. Практически все "советы дня" показываются в виде модального диалогового окна, т.е. мешают основной работе, а вот если их реализовать как небольшую выделенную область в рамках самой программы... в этом случае эффект может быть более явным.
- Мультипликационный помощник
- В ряде случаев, бывает полезным отслеживать текущие действия пользователя и на основании их предлагать полезные в данном контексте советы, скажем по использованию быстрых клавиш. Именно так появился первый анимированный помощник Microsoft Bob, который постепенно превратился во всем знакомого персонального помощника в Microsoft Office. К сожалению, искусственный интеллект подобных помощников часто оставляет желать лучшего, тем не менее это один из путей куда следует двигаться, но уже на уровне всей операционной системы.
- Примеры
- Хорошим тоном для сложных программ, особенно языков программирования или моделирующих графических программ является создание примеров, показывающих как использовать новые возможности. Не пренебрегайте ими при знакомстве с новой программой.
- Сайт поддержки
- В некотором роде это продолжение примеров по использованию возможностей пакета, но в отличие от статических примеров, информация на сайте может легко обновляться и дополняться. Ну и, кроме того, вокруг каждого такого сайта складывается профессиональное сообщество. Разработчики программ это понимают и уделяют таким сайтам много внимания. Классические примеры это обучающие уроки по работе с PhotoShop на сайте Adobe или сайт поддержки пользователей пакета Microsoft Office от одноименной компании.
- Изменение интерфейса
- Полное переосмысление концепции работы с программой и коренная переделка интерфейса. Это самый сложный путь и часто далеко не однозначный, но именно этим путем пошла Microsoft в последней версии своего офисного пакета. При таком подходе пытаются сделать так, чтобы нужные функции, включая новые, были доступны именно в тот момент, когда в этом есть необходимость. У меня лично есть ряд претензий к тому, как именно был изменен интерфейс офиса и я их могу обосновать, но об этом как-нибудь в следующий раз. Пока я хочу привести данный интерфейс просто в качестве примера.
Идеальных же вариантов по-прежнему не существует и вряд ли в ближайшее время будет найден такой, хотя отдельные подвижки в области интерфейсов происходят. По этой причине, если Вы хотите повысить эффективность работы в своей основной программе - то посвящайте хотя бы 15 минут в день на поиск и изучение новых возможностей. Это обязательно окупится появлением свободного времени в будущем - главное не лениться!