;)
  thinkIT.ru — первый IT-портал города  
 
 
Первый IT-портал города
 
 
Почта:
Пароль:
    Забыли пароль?
  Башковитый чувак



4G Лого
4G Лого

Рубрика: soft

21
XMinder – напоминания человеческим языком

XMinder – напоминания человеческим языком


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

Автор: xeon | Добавлено: 22 Января, 2010 | Много комментариев | Просмотров: 844
А зачем?

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

Так что часто есть задачи быстрого и удобного добавления напоминаний. Осталось всего лишь найти нужную программу. А вот здесь возникают сложности. Есть много программ, но они или сложные или с нечеловеческим интерфейсом. Мне не нужны категории, периодичности, флажки и пометки, и куча других настроек, я хочу подобные простые вещи добавлять с клавиатуры. Это быстро и удобно. Outlook 2010 – отличная программа, но добавление новой задачи – это 2 клика, ввод названия, 10 табов и ввод даты в 2х отдельных полях в формате чч:мм. Ага, конечно. Если мне нужно через 5 минут, то это нужно еще и знать текущее время. В общем, Outlook – это не для быстрого добавления задач. И после поиска достойной программы, я решил написать свою, самую удобную. И назвал её XMinder.


XMinder – формат напоминаний.

Основное требование к программе – быстрый и простой ввод даты напоминания и его текста. И все это реализовано в одном поле ввода без всяких кнопок, выподающих списков, флажков и прочих сложностей.

Конечно, программа должна понимать фразу «через 5 минут», а еще лучше «через 5 м». Нет, много букв и пробелов. Может быть «ч5м»? Уже лучше! А еще лучше так: «ч5м выключить пельмени». Идем дальше и добавляем «через час», «через полчаса» или «через 1 час 30 минут». А можно проще: «ч1ч30м» или «ч1:30».

В реальных задачах часто нужно еще указывать точное время, поэтому такая возможность есть и в XMinder. «в 15 часов 30 минут», «в15ч30м», «в15:30», «в16:00» или проще «в16». Вообще замечательно, только неудобно вечером оставлять себе напоминания на утро. Так и появилась конструкция «завтра» - эквивалентно 00:00 завтрашнего дня. «завтра утром» - 7:00 завтрашнего дня. «завтра вечером» - 20:00 завтрашнего дня. А можно еще проще «утром взять на работу фильмы». Конечно, работает и «завтра в 15:00» или чуть проще «завтрав15».

Таким образом, любое напоминание должно начинаться с блока описания времени. Это может быть относительное указание времени («через») или точное («в», «завтра», «утром», «вечером»). После задания времени может следовать текст комментария, который будет отображен в заданное время.


Описание интерфейса и основных функций XMinder.

Программа после запуска сворачивается в системный трей и доступна из меню или с помощью горячих клавиш. Для добавления нового напоминания достаточно нажать Ctrl+Shift+X или дважды кликнуть по значку в трее. Enter завершает ввод напоминания, Esc – отменяет.


Вы можете просматривать список активных напоминаний и удалять выбранные.


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


При откладывании достаточно указать новую дату, текущее название напоминания автоматически переносится.


Если на момент возникновения напоминания компьютер был выключен, то оно будет воспроизведено при старте XMinder.

XMinder может устанавливаться в автозагрузку и раз в неделю проверять наличие обновлений.

Для работы требуется Windows 2000/XP и выше, а также Microsoft .Net Framework 2.0

Программу можно взять здесь:

http://xminder.heliohost.org/XMinderUpdates/xminder1.2.5.msi

Жду ваших предложений, замечаний и просто комментариев.

XMinder – технические детали реализации.

Самой интересной частью программы является движок распознавания ввода. Написан он был за один вечер с целью узнать, можно ли такую штуку реализовать на LL(n)-грамматике или нет. Оказалось, что можно :) Я использую генератор компиляторов (compiler compiler) COCO/R для C# с предпросмотром на 1 лексему вперед, так что моя грамматика равносильна LL(2). Грамматикой описываются допустимые входные данные, часть проверок выполняется в управляющем модуле.

Часть грамматики:

XMinder = TimeType [Comment].

TimeType = TimeInGeneral

| Future [TimeInGeneral]

| ("через" | "ч") TimeVia (. offset = true; .)

.

TimeInGeneral = ["в"] number (. hour = t.val; offset = false; .) [TimeIn]

| TimeInShort

.

Future= ("завтра" | "з") (. isTomorrow=true; .)

.

Программа написана на C# 2.0 + Winforms. Несмотря на то, что C# приложения могут работать под Linux и Mac, и я знаю что и как делать, XMinder работает только под Windows. Я использую Win32API функции для работы с горячими клавишами, и отображением окна с напоминанием. Раньше использовал также для воспроизведения звуков. Если будет большой интерес – подумаю о кросплатформенной версии.

Кстати, мне интересно, насколько стойкий код получился после прохода XMinder обфускатором и можно ли за небольшое время получить компилируемый исходный код. Если есть желающие попробовать – буду раз посмотреть результаты. Сборка не подписана.

Теги: soft, идея | Оценка: (9)

Комментарии:

Брэд Питт Брэд Питт | 22 Января 12:08ссылка сюда
Скачал, поставил, попробовал — не доволен.

Описание классное, задумка супер, но:
- Обед в час — ошибка формата напоминания
- В книжный в 14-30 — ошибка формата напоминания
- Встреча в 15:00 — ошибка формата напоминания

Может у меня чё-то не установлено на компьютере?
it 3.0 it 3.0 | 22 Января 13:08ссылка сюдаответ на
так написано, сначала описание времени, а потом событие/комментарий,
т.е. нужно так:
в 13 обед
в 14:30 в книжный
в 15 встреча
xeon xeon | 22 Января 13:12ссылка сюдаответ на
Я подумаю насчет возможности комментария как до, так и после блока со временем. Тут есть ряд сложностей из-за технологии разбора, но есть идеи :)
а "14-30" сделать легко :)
iNik iNik | 22 Января 12:14ссылка сюда
вот мне такой программки не хватает! Поскольку я почти 20 часов за компьютером – компьютер же мне удобнее всего использовать в качестве напоминалки и иногда будильника. В данный момент я использую Alarm Clock. Причем выбор мой пал на эту софтину из-за того, что может ноут из спящего режима вывести и включить будильник (с песенкой из медиатеки). Но! в качестве простой напоминалки Alarm Clock использовать не получится, поскольку на то, что бы поставить быстрое напоминание, мне придется потратить времени больше чем.... Ну много в общем :) Один раз вечером будильник поставить – нормально, а вот постоянно пользоваться нельзя.

А еще мне очень нравится идея и формат задания заданий в XMinder! Офигенно понравился. Что может быть логичнее и проще, чем написать "через n минут сделать что-то".

Короче, если будет сборка под MacOS с удовольствием буду пользовать!
it 3.0 it 3.0 | 22 Января 13:08ссылка сюдаответ на
Спасибо,
тоже жду сборку под ОС Х
я тебе и так могу напоминать и список задач составить :)
Saint Saint | 22 Января 13:41ссылка сюдаответ на
=)))))))))))
it 3.0 it 3.0 | 22 Января 16:15ссылка сюдаответ на
договорились, жду напоминаний в виде смс :)
список того о чем напоминать и за сколько вышлю по почте.
like_a like_a | 22 Января 12:41ссылка сюда
Спасибо, xeon, за то что поделился с нами своей разработкой. Если когда-нибудь понадобиться подобный функционал - буду пользоваться.
al_gov al_gov | 22 Января 17:01ссылка сюда
Спасибо, буду пользоваться и тестировать.
Сразу несколько пожеланий:
1) расширить список быстрых клавиш - добавить вызов активных напоминаний;
2) дать возможность пользователю решать, что считать "утром", что "вечером";
3) добавить события "послезавтра" ("пз"), а также дни недели - "понедельник" ("пн") и т.д.;
4) возможность выбора пользовательского звукового файла в качестве напоминания (а то этот пугает :-)) и установки громкости звука напоминания, независимой от установленных положений регуляторов громкости.
xeon xeon | 22 Января 20:59ссылка сюдаответ на
1. Хорошо, сделаю Ctrl+Shift+R. Возможно, в будущем сделаю возможность настройки этого.
2. Да, было в планах, но не на первую публичную версию. В следующей добавлю.
3. Да, это несложно, хотя возможно придется подумать в сторону 2х "в". Например, "в понедельник в 19:30".
4. Только если это будет wav. Раньше я играл mp3 системными средствами. Но на некоторых машинах при установленном ffdshow появлялись иконки в трее от ffdshow и потом не исчезали до закрытия xminder, хотя я везде хэндлы закрывал. Опять же, это решение с win32api и библиотекой winmm для воспроизведения звука не кросплатформенное. Насчет mp3 нужно будет искать.
Я всё же задумался о MacOs версии.
al_gov al_gov | 22 Января 22:48ссылка сюдаответ на
3. а зачем "два в"? можно ведь просто "пн в 19:30", по аналогии с "завтра в 19:30".
4. вполне устроит wav.

Еще раз спасибо.
xeon xeon | 25 Января 19:52ссылка сюдаответ на
Обновил до версии 1.2.6.
Добавлена возможность изменять время "утром" и "вечером", использовать другой звук напоминания. Добавлена горячая клавиша вызова списка напоминаний.

http://xminder.heliohost.org/XMinderUpdates/xminder1.2.6.msi
Dan Dan | 23 Января 13:33ссылка сюда
Классно! Давно ждал чего-нибудь такого на thinkIT'е!
Анонимность Серая Анонимность Серая | 23 Января 23:49ссылка сюда
Почитать man at не судьба?
xeon xeon | 24 Января 00:42ссылка сюдаответ на
Молодец, а теперь возьми пирожок с полочки. И прежде, чем вставлять такие комменты, почитай статью внимательно.
А если серьезно: давай, приведи мне в синтаксисе команды at задание "через 5 минут перезвонить".
И еще если ты считаешь, что linux-unix самые лучшие системы - считай так дальше.
Дома на сервере у меня ubuntu, но лучшая ОС для меня - Win7 :)
al_gov al_gov | 24 Января 00:46ссылка сюдаответ на
at (по крайней мере в windows) не позволяет использовать её в режиме таймера - то есть "напомнить о чём-то ЧЕРЕЗ 5 минут". Ну и плюс синтаксис команды посложнее будет...
Преимущество программы xeon'a в максимальной простоте: что может быть проще команды "ч5м" ?

update: чуть-чуть опоздал с комментарием :-)
Анонимность Серая Анонимность Серая | 24 Января 14:15ссылка сюда
А можно ли ежедневное напоминание сделать?
xeon xeon | 24 Января 14:30ссылка сюдаответ на
Нет. Цель программы - текущие напоминания в самое ближайшее будущее.
Я активно пользуюсь Outlook для ежедневного/еженедельного планирования и Xminder для простых заметок из серии "не забыть сделать что-то через 5-15 минут".
Анонимность Серая Анонимность Серая | 25 Января 00:09ссылка сюда
для ежедневки использую ePim - Essential Pim. Ознакомьтесь, может что подчерпнете для себя.
xeon xeon | 25 Января 16:09ссылка сюдаответ на
Спасибо за программу. Попробовал. Outlook 2010 удобнее ведет список задач. 2007 не такой удобный как 2010. И синхронизация с КПК/телефоном выполняется автоматически в оба конца без моего участия.

Опять же, EPim PRO стоит $40 сейчас, outlook пусть и дороже, но всё же удобнее :)
Авторизуйтесь чтобы не быть Серой Анонимностью!
Играть в тетрис бесплатно он-лайн, без регистраций и смс =)
Тетрис на Thinkit.ru — Время играть в тетрис!

Играть в тетрис проще простого. Жмем на иконку и вперед.


Подпишись на thinkit.ru


Подпишись на наш RSS канал и читай thinkit.ru через твой любимый RSS-reader.


 

 
  CreativeCUBE - разработка и поддержка сайтовПроизводство и поддержка
cCube.ru
  При воровстве с этого сайта ссылка обязательна.
Copyright © 2008-2010 thinkit.ru
Связаться с нами