LINUX.ORG.RU
ФорумTalks

[gui] Есть ли реализации UI с пользовательскими пометками?

 


0

0

Скажем, в окне приложения есть прогресс-бар, что-то очень долго выполняется. Пользователю надо отойти, он кликает на него правой кнопкой около 90%, в появляющемся меню выбирает «добавить метку», затем «уведомить при достижении» -> «сообщением по jabber», кладет телефон в карман и идет по своим делам. Часа через 2, когда индикатор выполнения доходит до 90%, то пользователь уведомляется посредством выбранного сервиса. При этом само приложение может не знать ни про 90%, ни про жаббер, ни вообще про существование метки - все это делает возможным тулкит, связывая приложение с сервисом меток и уведомлений (реализованных в виде плагина или отдельного приложения)

Другой пример: аудиопроигрыватель играет длинную лекцию, отобразил на экране slider-bar с текущей позицией. В лекции начался интересный момент, к которому следовало бы вернуться позднее. Пользователь кликает на него правой кнопкой в этом месте, в появляющемся меню выбирает «добавить метку», «создать закладку»: тулкит берет данные тайтла и текущего положения слайдера и отдает плагину-менеджеру закладок. При следуюшем запуске в этом месте слайдера появится флаг с созданной меткой. При этом само приложение-проигрыватель может не знать ни про метку, ни про лекцию, ни про менеджер закладок.

Реализовано ли это хоть где-то? Это неного может напомнить пламбинг из Plan9, но может есть более распространенные реализации?

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

А чё, нормально, было бы удобно, особенно для transmission, и других закачек. Или во время установки. Но как это прикрутить к инсталлятору — хз.

guest043265
()

Иногда мне кажется, что EmStudio и wyldrodney — одно лицо.

Ты вот скажи, как by design такие метки сохранять между разными состояниями одной программы?

Gary ★★★★★
()

Доставило. Хотя отправка СМС мне кажется уж слишком, но вообще - доставило. Пора уже открывать список доставляющих предложений по UI :)

theos ★★★
()
Ответ на: комментарий от Gary

EmStudio

Так вот кого мне ТС напоминает...

GotF ★★★★★
()
Ответ на: комментарий от Gary

>сохранять между разными состояниями одной программы?

Для чего? Оборвалась процедура - сбросилась устаревшая метка. Хотя это частный случай.

wxw ★★★★★
()

Тупняк и ненужно.

GotF ★★★★★
()
Ответ на: комментарий от Lighting

> В Трансмишне есть замечательная функция «Выполнить после завершения всех закачек».

И отлично! Так как через предложение в топике это не реализуешь, пусть будет. Это перпендикулярные фичи. Одно другому не мешает.

guest043265
()

Хорошая идея. Какой нибудь программой(шпионской?) которая из консоли отслеживает изменения статуса окон с Иксах.

darkshvein ☆☆
()

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

Alex_A_V ★★
()
Ответ на: комментарий от guest043265

>особенно для transmission

он в dbus сообщает. потом кажись у него еще json есть. в целом идея прикольная, но слишком специфичная.

Deleted
()
Ответ на: комментарий от Lighting

> Ну и дерьмо. Открой для себя Cron и DBus.

Дабы узнать время срабатывания, надо как минимум заюзать еще libastral, а для коммуникации между dbus и планировался, куда же без него?

simple_best_world_web_master
() автор топика
Ответ на: комментарий от guest043265

> А чё, нормально, было бы удобно, особенно для transmission, и других закачек. Или во время установки. Но как это прикрутить к инсталлятору — хз.

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

simple_best_world_web_master
() автор топика
Ответ на: комментарий от Gary

> Ты вот скажи, как by design такие метки сохранять между разными состояниями одной программы?

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

simple_best_world_web_master
() автор топика
Ответ на: комментарий от theos

> Доставило. Хотя отправка СМС мне кажется уж слишком, но вообще - доставило.

Вообще-то я писал про жаббер, который неплохо работает на телефонах и полностью заменяет смс.

Пора уже открывать список доставляющих предложений по UI :)

На своем творческом пути я изучил сотни мокапов и концепций, просмотрел сотни скриншотов и видел очень много интересных идей. Многие концепции, которые преподносятся как «уникальные и инновационные» были известны еще в середине 80х годов, только отрисованы в 1-битной графике без сглаживания, в результате чего смотрелись отвратительно, а такие фичи как «навигационные флажки» требовали слишком много ресурсов для работы. Или вот подсистема отрисовки из е17, если бы я увидел ее архитектуру на год раньше, то моего велосипедостроения наверняка бы и небыло. Еще одно красивое приложение - блендер, там тоже свой тулкит, причем достаточно привлекательный с точки зрения юзабилити, хотя и выглядящий странно.

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

simple_best_world_web_master
() автор топика
Ответ на: комментарий от wxw

> Для чего? Оборвалась процедура - сбросилась устаревшая метка. Хотя это частный случай.

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

simple_best_world_web_master
() автор топика
Ответ на: комментарий от Lighting

> В Трансмишне есть замечательная функция «Выполнить после завершения всех закачек».

А там есть функция «выполнить на 90% закачки»? А функция «выполнить на 95% закачки»?

simple_best_world_web_master
() автор топика
Ответ на: комментарий от guest043265

> Так как через предложение в топике это не реализуешь, пусть будет. Это перпендикулярные фичи. Одно другому не мешает.

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

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

simple_best_world_web_master
() автор топика
Ответ на: комментарий от Deleted

> он в dbus сообщает. потом кажись у него еще json есть. в целом идея прикольная, но слишком специфичная.

Если бы все приложения через dbus полностью работали, то и идея бы была не нужна, ее давно бы реализовали. Собственно, это пожалуй лучший путь к реализации, брокер сообщений нужен в любом случае

simple_best_world_web_master
() автор топика
Ответ на: комментарий от PolarFox

Свобода же, вдруг я это захочу? «я могу захотеть обмазаться зеленкой и выйти на улицу, листая плейбой» (ц)

simple_best_world_web_master
() автор топика

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

Это есть в Amarok2, правда на уровне самого приложения.

AX ★★★★★
()
Ответ на: комментарий от Lighting

>В Трансмишне есть замечательная функция «Выполнить после завершения всех закачек».

Настройка уведомлений в KTorrent смотрит на эту функцию, как на… :)

AX ★★★★★
()
Ответ на: комментарий от Lighting

>собирается

Ну ты понял. :)

Qt и собирается >5 часов, а GTK - от силы минут 10.


Это фича KDE, а не Qt. :) А Qt собирается долго совсем по другим причинам.

AX ★★★★★
()
Ответ на: комментарий от Lighting

ЛОЛШТО? QtGui собирается максимум в 1.5 раза дольше, чем GTK. Так же и QtCore относительно GLib. И я так и не понял, причем здесь какая-то функция KTorrent.

PayableOnDeath
()
Ответ на: комментарий от Lighting

>Почему же?

Потому что у меня на генте оно собиралось минимум час. Возможно, на современных, самых топовых компах оно и соберётся за 10 минут, но тогда и Qt там точно не 5 часов компилиться будет.

AX ★★★★★
()

>Другой пример: аудиопроигрыватель играет длинную лекцию, отобразил на экране slider-bar с текущей позицией. В лекции начался интересный момент, к которому следовало бы вернуться позднее. Пользователь кликает на него правой кнопкой в этом месте, в появляющемся меню выбирает «добавить метку», «создать закладку»: тулкит берет данные тайтла и текущего положения слайдера и отдает плагину-менеджеру закладок. При следуюшем запуске в этом месте слайдера появится флаг с созданной меткой.
Amarok же!

unikoid ★★★
()

Первая часть - хорошая и вполне реализуемая для существующих (Qt, GTK) тулкитов идея. Можно сделать в виде модуля.
Я думаю, что уведомление для долгих процессов (например, архивирования,
копирования больших объемов и т.п.) это удобная вещь, правда есть проблемка:
Во многих программах состояние прогрессбара не соответствует действительному состоянию процесса, например может показывать 100% и довольно долго «тупить» в этом месте.

Вторая часть - сложнее, нужны UUID для всех виджетов, чтобы при удалении/создании виджета сохранять состояние. Т.е. надо писать свой тулкит и свои приложения для него.

P.S. Посмотри на PlanB, там они много всякого напридумывали в плане gui:
http://www.lsub.org

ls-h ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.