четверг, 29 декабря 2011 г.

SmallNote 2.7.2

Очередное обновление SmallNote в линейке версий 2.7. В данном обновлении работы велись сразу в двух направлениях: добавление удобства при работе с вложениями + исправление замеченных досадных ошибок.

В данной версии улучишлась поддержка Drag'n'Drop - появились настройки для вытаскивания записи извне SmallNote. Теперь можно настроить так, чтобы выкладывалось не только одно текстовое сообщение SmallNote, но сразу само сообщение со всеми вложениями. также, есть вомзожность упаковать все файлы (текст сообщения + вложения) в архив .zip.

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

Немного улучшилась работа с вставкой скриншотов: в настройках появилась возможность как задать шаблон для названия вставляемого скриншота, так и указать формат изображения. Пока что предлагается один из трёх основных форматов - BMP, JPG и PNG.

Отдельная работа была проведена по повышению стабильности в работе SmalNote: отловлены неприятные ошибки, из-за которых нарушалась работа в программе. На сохранение данных эти ошибки не влияли, но доставляли значительные неудобства при работе с SmallNote. В частности, для тех пользователей, у кого накопилось большое число записей, функция быстрого переключения между записями (F8 либо сред. кнопка мыши по закладкам) стабильно проводила к появлению ошибки доступа до области памяти.

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

С наступающим Новым Годом!

четверг, 15 сентября 2011 г.

SmallNote 2.7.1.165


SmallNote обновлена до новой версии. В этом небольшом обновлении я акцентировал внимание на возможности вставки скриншотов и файлов из буфера обмена. Также, добавилась возможность удалить отдельную строку в списке истории по записи.

К сожалению, после обновления обнаружил, что на некоторых машинах из-за особенности работы консольной 7z.exe обновление может не пройти нормальным образом. Если у Вас после обновления выдастся windows-окошко с ошибкой "Не могу запустить SmallNote.exe", прошу Вас загрузить установщик и установить SmallNote. Папку инсталлер определит корректно. Для себя я записал переработать систему обновления.

Благодаря системе отправки отчётов об ошибках EurekaLog, я уже начал собирать сообщения об ошибках по предыдущей версии. Благодарю всех, кто принимает посильное участие в нахождении ошибок! Отправка по e-mail таких отчётов отлично помогает находить сложные ошибки.

В ближайшей новой версии (2.7.2) я включу файл справки по SmallNote, пока только на русском языке.

понедельник, 15 августа 2011 г.

SmallNote 2.7.0.163

Опубликована новая версия SmallNote. В данной версии акцент сделан на введении новой функции прикрепления файлов к записям. Добавить файл можно как простым перетаскиванием файла в окно записи, так и через выпадающее меню у кнопки "Вложения" на панели инструментов.

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

К сожалению, при разработке предыдущей версии я допустил ошибку в коде автообновления, в результате система автообновления распакует архив с новой версией на папку выше установленного SmallNote. Другими словами, если SmallNote установлен в папку C:\Program Files\SmallNote, то функция автообновления намусорит файлами и папками в C:\Program Files. Потому для обновления SmallNote до последней версии рекомендую использовать установщик. Ну или после автообновления вручную перебросить созданные папки и файлы из C:\Program Files\ в C:\Program files\SmallNote

Также, в данной версии с панели инструментов убраны некоторые дублирующиеся и малоиспользуемые кнопки (Скрыть до перезапуска, Поверх всех окон, Автоуменьшение окна). Поправлены всякие-разные неприятные ошибки при первом запуске SmallNote, также отловлены неудобные глюки в интерфейсе. Стабильность и предсказуемость программы значительно повысилась.

Алексеев Александр здорово помог мне при тестировании бета-версии SmallNote 2.7, многие из его предложений будут реализованы в ближайших версиях программы. К примеру, когда Александр узнал о моём желании создать клиент-серверную архитектуру, он предложил в качестве хранилища использовать Amazon S3. Подробнее о работе с этим хранилищем из среды Delphi можно узнать в русскоязычном журнале Blaize Pascal, выпуски №2 (апрель 2011) и №5 (июль 2011).

Также, благодаря обзору Александра в будущих версиях будет изменён способ отрисовки закладок, стили можно будет "посмотреть" до их применения, иконки в программе будут заменены на интуитивно понятные и более симпатичные, будет улучшен механизм Drag'n'Drop. Ну и многое другое! :)

четверг, 16 июня 2011 г.

Доработан основной сайт http://www.antoon-inc.com/

Наконец-то доработал новый интерфейс сайта, сайт разработан на движке Joomla версии 1.6. Пока что сделаны базовые возможности: поддержка двух языков (в 1.6 эта возможность стала встроенной, не нужно устанавливать и подпиливать JoomFish), переброска новостей со старого сайта, заведение информации по некоторым программам. В ближайшее время окончательно будет перенесена информация со старого сайта.

Также, для каждого проекта запустил сервис обратной связи: для русскоязычных пользователей - на базе Reformal.ru, для остальных - на базе Idea.informer.com. Мне эти сервисы показались очень удачными.

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

И отдельное спасибо Александру за бета-тестирование! Многие предложения по программе будут включены в TODO по SmallNote.

пятница, 3 июня 2011 г.

Очень интересные картографические ресурсы (ВоВ)

Всем, кому нравится иногда полазать по картам Гугл, рекомендую заглянуть на следующие два ресурса:
Фотографии совсем свеженькие, выложены сравнительно недавно. Как сказал знакомый, который дал мне ссылки на ресурсы, фотографии настолько чёткие, что по ним при желании и при нужных знаниях можно    получить ответы на какие-то вопросы, которые до сих пор считаются военными секретами.

    вторник, 17 мая 2011 г.

    SmallNote 2.7 - предварительный анонс

    Если звёзды будут также благоволить мне, то в ближайшее время будет выложена новая версия SmallNote - версия 2.7.

    Из новых возможностей программы я хотел бы отдельно отметить возможность прикрепления файлов к заметкам. Файлы можно будет быстро открыть на редактирование и по ним будет вестись история изменений, как и для заметок.

    Также, к функциям программы добавилось автоматическое распознавание ссылок и открытие ссылок в браузере по умолчанию. Полностью добавилась поддержка Unicode - раньше могли быть проблемы при перезагрузке программы, Unicode-символы превращались в знаки вопросов.

    Из исправлений стоит отметить застарелую проблему с закрытием закладок стиля Win3.1: при нажатии на крестик закладка могла либо просто не закрыться (крестик оставался вдавленным), либо закрывалась с ошибкой. Проблема была связана с конфликтом с функцией Drag'n'Drop: когда пользователь жал на крестик, срабатывала данная функция и закрытие прерывалось.

    Текущая версия будет переходной к клиент-серверной версии SmallNote. Данная версия пока не умеет синхронизировать записи с сервером, да и пока что у меня нет чёткой структуры серверной части (ведь мне хочется потом продавать серверную часть, ы-хыхыхы). Но уже сейчас надёжность и скорость отклика программы значительно улучшились.

    суббота, 19 марта 2011 г.

    Dragon Age 2 - дождался!

    10 марта с большущей помпой был анонсирован выход Dragon Age 2 в России. Количество Epic-роликов просто зашкаливало, фотки со скриншотами выкладывались пачками, всё было вкусно и красиво. И именно этого я и ждал! :)

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

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

    Неплохой перевод на русский язык позволил жить в игровом мире как в родном. Да, были забавные ошибки дублирования вроде исправления "на лету" ("А сейчас, молодой паланкин... блин, не туда глянул... А сейчас, молодой паладин..."), но они были именно забавными. Движок заставлял "говорить" персонажей даже в момент произношения этих левых фраз. У меня вначале сложилось впечатление, что так и должно быть - Алистер просто оговорился и сам себя поправлял.

    Судя по отзывам на форумах, от Dragon Age 2 нужно ждать усиления по всем позициям: общение с персонажами стало менее предсказуемым, окружающий мир отзывается практически как в реальности, графика стала ещё лучше и красивше. Основной недостаток - EA Games отказалась делать русское дублирование персонажей, всё общение будет на английском с русскими субтитрами. Так что не ищите полностью русифицированную версию на просторах Интернета, не найдёте ничего хорошего.

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

    Жду, жду зарплату! Куплю себе коробочную версию, поставлю коробочку рядом с Warcraft III TFT и King's Bounty: Принцесса в доспехах.

    четверг, 17 марта 2011 г.

    О подсказках в программе

    Подсказки в программе нужны. Они играют в программе роль информационных указателей на дороге: без них доехать до места назначения становится очень сложно. Если, конечно, у Вас не Ё-мобиль с установленным ГЛОНАСС + GPS навигатором  :)

    Что я понимаю под подсказками? Да любой вспомогательное сообщение, которое даёт пользователю возможность быстрее освоиться в программе. Будь то поле Hint для Delphi-компонент, помощник типа собачки в поиске Windows или короткое светопредставление со свистелками и перделками перед появлением Новой Возможности Программы. Главное - чтобы пользователь увидел эту подсказку.

    Что же значит - пользователь увидел подсказку? На самом деле, не всё так просто. Одно время ACDSee грешила показом окошка "Знаете ли Вы, что...". Это окно меня выводило из себя: мало того, что оно показывалось поверх всей программы, так ещё никак сразу не удавалось поставить галочку "Не показывать при старте". И что самое главное - меня совершенно не интересовало, знаю или не знаю я чего-то. Мне нужно было посмотреть картинку, а не читать текст.

    Через некоторое время я заметил, что пользователи при открытии ACDSee просто нажимали крестик в окне "Знаете ли Вы, что..." и продолжали работу. Им не было интересно, что ACDSee им написала. Им хотелось похвастаться фотками, где они отдыхали в Турции. Они закрывали это окно уже на автомате - просто привычка, "так работает программа". Некоторые пользователи настолько привыкли к такому поведению ACDSee, что им было непривычно, когда я ставил галочку "Не показывать при старте" и ACDsee при перезапуске сразу открывало фотографию. "Верстай всё взад как было", говорили они мне, и я верстал.

    Позже ради интереса я почитал подсказки в этом окошке и даже нашёл для себя кое-что интересное, но мы с моими клиентами уже давно были привязаны к IrfanView, так что это открытие никак не повлияло на отношение к ACDSee. Для себя же я сделал один вывод: пользователи не видели этих подсказок. Конечно же, подсказки могли быть для них очень полезными и нужными. Но абсолютное большинство пользователей не желало учиться в таком принудительном порядке.

    Так что же нужно сделать, чтобы пользователь увидел, прочёл подсказку и начал её применять? Как мне кажется, есть несколько критериев, которые могут значительно помочь в этой проблеме.

    Первое. Показывать подсказку нужно вовремя, то есть тогда, когда пользователь сам ждёт помощи. К примеру, когда пользователь начинает прокручивать список картинок в ACDSee, можно показать ему, где можно настроить размер этих мини-картинок. Или показать на инструмент выравнивания цвета, если пользователь выделил картинку с преобладанием тёмных цветов.

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

    Третье. Подсказка должна быть видна. Чем неудобна подсказка в статусной панели - тем, что туда пользователи смотрят только если им сказать, что там есть подсказка. В любом другом случае текста в статусной панели они не увидят. Подсказка должна привлечь внимание, чтобы пользователь обратил на неё внимание и смог понять, что программа пытается помочь.

    Четвёртое. Пишите короткий и ясный текст в подсказке. Если в Вашей подсказке больше 20 слов - это плохая подсказка. Чтобы почитать, пользователь откроет справку к Вашей программе. Исключение могут составлять только очень важные элементы интерфейса. Например, Самая Важная Кнопка.

    И, наконец, Пятое. Подсказка должна быть информативной. Если Вы в подсказке дублируете название элемента управления, то данная подсказка будет только мешать. Но если Вы пишете в комментарии какую-то полезную информацию по работе элемента управления (см. подсказку к кнопке Пуск у Windows), то это хорошая, годная подсказка.

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

    понедельник, 31 января 2011 г.

    Перевод программы на другие языки

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

    Чаще всего поддерживается два языка - национальный и английский. С чем же разработчикам придётся столкнуться при реализации поддержки языков?

    Главная проблема - затрата времени и ненужных (на взгляд разработчика) усилий. С одной стороны, разработчик прав, если считает эти усилия ненужными:  новых возможностей после внедрения такой поддержки не добавится, а ведь так хочется добавить ещё и калькулятор, и систему напоминания, и чтобы кофе варил. Планов - громадное количество! А вместо этого силы уходят на поиск правильного перевода своих фраз.

    Чтобы сэкономить силы, можно воспользоваться переводчиками вида translate.ru / translate.google.com: создал словарь для русского перевода, вписал его в поле перевода и  - вуаля! - получился перевод. Только потом не удивляйтесь, что ваша программа будет, мягко говоря, непопулярной у заграничных пользователей: машинный перевод в 95% случаев требует серьёзной доработки напильником. Да, односложные фразы вроде "Отмена" или "Вид программы" онлайн-служба переведёт правильно. Но если Вы попробуете оставить без изменений перевод длинных предложений, то в итоге иностранцы вместо "Настройка вида программы" прочтут "Появляются программы".

    Настоятельно рекомендуется использовать словари. Будет это электронный словарь, большая книжка на полке или жена, окончившая филологический факультет - неважно. Главное, что у Вас есть источник различных вариантов перевода. Он крайне пригодится Вам для передачи нюансов перевода. К примеру, слово "Купить" обычно переводится как "Buy", но слово "Приобрести" лучше  перевести как "Purchase". И вот этот самый пюрщейз лучше и писать на завлекающем баннере в программе. Для иностранцев понятней и привычней.

    Другой пример. Платная программа - Shareware Application, но Платная подписка - Subscription Fee, а не Paid Subscription, как предлагает переводчик Google. Просто потому, что англоговорящие пользователи привыкли к слову Fee при оплате подписки.

    Кроме словарей, рекомендуется посещать англоговорящие сайты и читать английские статьи. Если не можете читать MSDN в оригинале  - попробуйте, например, раз в неделю просматривать  какие-нибудь буржуйские новости. Беседа в чате с иностранцами тоже подойдёт, но там Вы скорее получите навыки сленгового разговора, а сленг в программе использовать нельзя.

    Зачем это нужно? Да чтобы просто понять психологию потенциальных клиентов. Они такие же люди, как и мы с вами, только они приучены в отличие от нас тратиться на лицензионное ПО. А Вы ведь любите, когда тратятся на разработанное Вами лицензионное ПО. Так почему бы не подать это самое ПО клиенту на блюдечке с отлично переведённым интерфейсом? Но сделать грамотный перевод без знания менталитета крайне сложно.

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