Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.06.28;
Скачать: CL | DM;

Вниз

«Интерфейс пользователя» → Инфоскроллер   Найти похожие ветки 

 
Kolan ©   (2009-04-16 22:21) [0]


*Пост в рамках не существующей конференции «Интерфейс пользователя».*

В этот раз говорить, в основном, буде не я. У меня пока плохо получается. :)


Стандартный скроллбар занимает часть окна, причем место это пропадает зря,
там можно что-нибудь отобразить. Инфоскроллер — это обычный cкроллбар на
котором размешена дополнительная информация.

Более подробное описание и пример смотрите на сайте Артёма Горбунова
(http://www.artgorbunov.ru/bb/ui/infoscroller/).

С того момента как я прочел про инфоскроллер я хотел реализовать эту идею,
но на Делфи так и не получилось. Руки такие... :)

Получилось только на haXe в одном из недавно сделанных проектов
(http://www.ksoftware.ru/wiki/ksino), но нам ведь это не интересно :)

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


 
Игорь Шевченко ©   (2009-04-16 22:27) [1]

Сделать можно и на Delphi, только один вопрос - а зачем ?


 
Kolan ©   (2009-04-16 22:32) [2]


> А зачем?

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


 
Rouse_ ©   (2009-04-16 22:34) [3]

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


 
Andy BitOff ©   (2009-04-16 22:38) [4]

> Kolan ©   (16.04.09 22:21) [0]

У меня в IDE D7 почти такой, не с картинками, но там выводится инфа по ошибка, поиску, закладкам и т.п. Castalia его создает.


 
Игорь Шевченко ©   (2009-04-16 22:39) [5]


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


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

А говоря проще - в Ms Office есть ? В Open Office есть ? Нету - значит нафиг не надо среднему пользователю, платить не будет и напрягаться не стоит.


 
Kolan ©   (2009-04-16 22:39) [6]

Rouse_, пожалуйста, покажите скрины. Если некуда выложить, пришлите мне на почту (kolan@ksoftware.ru).


 
@!!ex ©   (2009-04-16 22:42) [7]

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

По первой ссылке - такой инфоскорллер перестает быть функциональным на больших документах.. а на маленьких структуру и так видно.


 
Kolan ©   (2009-04-16 22:45) [8]

Еще примеры инфоскроллов
http://www.artgorbunov.ru/bb/soviet/20070920/


 
Kolan ©   (2009-04-16 22:48) [9]

@!!ex, в каждом конкретном случае, конечно, надо думать как его применить (если вообще стоит), но не имея тех. возможности можно думать сколько угодно.
КСИНО, про которую я говорил в [0], сделана на флеше по сути, там инфоскролл я просто нарисовал. А как в Делфи — не знаю.


 
Rouse_ ©   (2009-04-16 22:49) [10]

Скрины могу в понедельник выложить, впрочем могу собрать демку...
Общая идея какова:
Превью на скролле может дать пользователю просто некую визуализацию запрашиваемого текста.
У нас есть всего 20 пикселей при многостраничном (более 200 страниц) документе
Так зачем зажимать глаза пользователя и пытаться впихнуть эту визуализацию в 20 пикселей, если при подведении мышки к скролу можно выдвинуть в стороне от скрола некую превью-панель на которой будут видны ближайшие 4-8 страниц? Естественно оформить ее красиво и добавить некий экшен по клику на самом превью...


 
Kolan ©   (2009-04-16 22:51) [11]

Rouse_, и то и то, если можно :)

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


 
Rouse_ ©   (2009-04-16 22:53) [12]


> Инфоскролл тем и хорош, что его можно окинуть взглядом не
> делая ничего другого.

Согласен, но только в том случае когда обьем документа не велик


 
Kolan ©   (2009-04-16 22:55) [13]

Rouse_, ну спорить не буду, это бесполезно без конкретики.

Все-таки очень бы хотелось заострить внимание на реализации для Делфи, должны же быть не ленивые мастера :)


 
Игорь Шевченко ©   (2009-04-16 23:03) [14]

Вот в Visual Diff-ах всяких может и оправдано, а для остального остается вопрос - нафига ?

Rouse_ ©   (16.04.09 22:49) [10]


> Так зачем зажимать глаза пользователя и пытаться впихнуть
> эту визуализацию в 20 пикселей, если при подведении мышки
> к скролу можно выдвинуть в стороне от скрола некую превью-
> панель на которой будут видны ближайшие 4-8 страниц? Естественно
> оформить ее красиво и добавить некий экшен по клику на самом
> превью...


А может проще как в Adobe Reader-е сделать ? Они с документами всяко плотнее работают...


 
Rouse_ ©   (2009-04-16 23:05) [15]


> А может проще как в Adobe Reader-е сделать ? Они с документами
> всяко плотнее работают...

Я бы не сказал :)


 
Игорь Шевченко ©   (2009-04-16 23:07) [16]

Rouse_ ©   (16.04.09 23:05) [15]

Ну я твоего не видел, ничего сказать не могу. Но в том самом Reader-е по многстраничным документам навигация довольно удобная


 
Игорь Шевченко ©   (2009-04-16 23:12) [17]

Кстати, я может секрет открою, но для работы с многостраничными документами еще до компьютеров и инфосколлеров придумали оглавление.


 
Германн ©   (2009-04-17 00:45) [18]


> Игорь Шевченко ©   (16.04.09 23:12) [17]
>
> Кстати, я может секрет открою, но для работы с многостраничными
> документами еще до компьютеров и инфосколлеров придумали
> оглавление.

Вот кстати. Раньше datasheets в pdf-формате были практически без оглавлений. Я так к этому привык, что новые подобные документы с оглавлением мне жутко не понравились, ибо оглавление уменьшило ширину самого документа. А теперь настолько к нему привык, что раздражает уже отсутствие оглавления!


 
Noctis   (2009-04-17 08:41) [19]

Удалено модератором


 
Kolan ©   (2009-04-17 09:43) [20]


> для работы с многостраничными
> документами еще до компьютеров и инфосколлеров придумали
> оглавление.

Оглавление плохо тем, что оно разделено с содержанием во времени. Можно либо смотреть оглавление либо читать книгу.


 
Ega23 ©   (2009-04-17 10:08) [21]


> Можно либо смотреть оглавление либо читать книгу.


Можно его открыть в боковой панели и наступит щщастье.


 
Kolan ©   (2009-04-17 10:12) [22]

Ega23, в бумажной книге нельзя, к сожалению. :)


 
Ega23 ©   (2009-04-17 10:27) [23]


> Ega23, в бумажной книге нельзя, к сожалению. :)


Бумажную книгу в мониторе читать вообще неудобно.
Да и выглядеть это будет несколько экстравагантно.


 
b z   (2009-04-17 10:38) [24]


> Ms Office есть ?
В ворде есть, правда не такой как в [0], а на мой взгляд более удобный.


 
sniknik ©   (2009-04-17 10:41) [25]

> Ega23, в бумажной книге нельзя, к сожалению. :)
зато инфо скролбар в нее вставить раз плюнуть конечно...


 
@!!ex ©   (2009-04-17 10:44) [26]

> [25] sniknik ©   (17.04.09 10:41)

Вы не ходили на вотрую ссылку. там типа инструкция в подобном виде реализована(бумажная).


 
Anatoly Podgoretsky ©   (2009-04-17 11:38) [27]

> Kolan  (17.04.2009 10:12:22)  [22]

А мы про бумажные книги говорим?


 
Anatoly Podgoretsky ©   (2009-04-17 11:40) [28]

> b z  (17.04.2009 10:38:24)  [24]

В Ворде есть два интерфейса

1. боковая панель
2. web like интерфейс, который позволяет перейти к оглавлению, а с него сразу на субъект. Этим я пользуюсь чаще.


 
Kolan ©   (2009-04-17 15:53) [29]

Ладно, модифицирую вопрос. Есть ли у кого идеи как реализовать достаточно универсальный и удобный инфоскроллер (такой о котором я говорил в [0])?

Игорь, вот ты бы как бы решал такую задачу?


 
Игорь Шевченко ©   (2009-04-17 16:35) [30]


> Игорь, вот ты бы как бы решал такую задачу?


В первую очередь задался бы целесообразностью


 
@!!ex ©   (2009-04-17 16:45) [31]

> [29] Kolan ©   (17.04.09 15:53)

Про унивресальность забудь.
Понятно, что сам скроллер не может расставить метки, потому что просто не знает как анализировать данные.
Отсюда вывод:
делаем ему свойство Labels:array of TShape
Где
TShape = class
protected
 Position:TRect;
 PenColor:TColor;
 BrushColor:TColor;
public
 Procedure Draw(DC:HDC); virtual; abstract;  
end;

TShapeRect = class(TShape)
protected
public
 Constructor Create(Position:TRect);
 Procedure Draw(DC:HDC); override;
end;

И так далее.
Объект использующий инфоскроллер парсит данные и на их основе добавляет Shape в Labels. После чего вызывает функцию UpdateLabels, которая отрисовывает все шейпы на TBitMap, который в свою очередь используется в качестве фона для скроллера.


 
Kolan ©   (2009-04-17 16:45) [32]

Хорошо, задался. Теперь дальше (в техническом смысле)?


 
@!!ex ©   (2009-04-17 16:48) [33]

Хотелось бы отметить, что для удобства было бы не плохо сделать возможность использовать несколько Labels в рамках одного скроллера и переключаться между ними по мере необходимости.
Это удобно, если данные могут быть представлены в нескольких видах.
Пример:
Данные - набор строк с числами.

На инфоскроллере мы можем выделять самые большие числа, или построить график по числам или еще что-то.


 
Kolan ©   (2009-04-17 16:49) [34]

@!!ex, это я имел в виду, когда говорил об универсальности. То есть хочется, как-то давать инфоскроллу данные пригодные для отрисовки,тот кто эти данные подготавливает, пусть и думает о том, чтобы они имели смысл.


> TBitMap, который в свою очередь используется в качестве
> фона для скроллера

А как подсунуть битмап в качестве поля.


 
@!!ex ©   (2009-04-17 16:51) [35]

> [34] Kolan ©   (17.04.09 16:49)

Виндовому? вероятно никак. Свой писать.


 
Kolan ©   (2009-04-17 16:56) [36]

@!!ex, тогда как сделать так, чтобы можно было засунуть свой во все компоненты со скролом?
Типа хочешь стандартный — ничего не делай, хочешь инфо- — сделай то-то...


 
@!!ex ©   (2009-04-17 16:58) [37]

> [36] Kolan ©   (17.04.09 16:56)

Без изменения сорсов - никак. Попробовать наследовать и перекрыть стандартный скроллбар... Но я понятия не имею как это делать..
Сделать и надеятсья, что будущие компоненто писатели захоят использовать в своих разработках.


 
Kolan ©   (2009-04-17 17:03) [38]

Фразу надо дополнить:
Сделать и надеяться, что будущие компоненто-писатели захотят использовать в своих разработках довольно глупо.

Получается, что в Дельфи такое не сделаешь? Что скажут остальные? Выходит можно сделать только какое-то одноразовое решение, так?


 
Игорь Шевченко ©   (2009-04-17 17:13) [39]


> Получается, что в Дельфи такое не сделаешь?


Сделаешь. Только надо ли ?


 
@!!ex ©   (2009-04-17 17:15) [40]

> [38] Kolan ©   (17.04.09 17:03)

Да ладно? Почему глупо? Вы не используете сторонние компоненты? Наверно авторы этих компонентов идиоты, раз полагали что кто-то будет их использовать. ;)


 
Kolan ©   (2009-04-17 17:16) [41]

*Думает...*
— Надо! :)

Намекни, как?


 
clickmaker ©   (2009-04-17 17:24) [42]

гугли по словам ownerdraw scrollbar


 
@!!ex ©   (2009-04-17 17:25) [43]

> [39] Игорь Шевченко ©   (17.04.09 17:13)

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


 
Игорь Шевченко ©   (2009-04-17 17:34) [44]

@!!ex ©   (17.04.09 17:25) [43]


> Приходилось реализовывать инфоскроллеры для некоторых задач


Я вот не могу представить, где они могут быть нужны и зачем


 
Игорь Шевченко ©   (2009-04-17 17:35) [45]


> Намекни, как?


компонент написать


 
@!!ex ©   (2009-04-17 17:43) [46]

> [44] Игорь Шевченко ©   (17.04.09 17:34)

http://sol-online.org/content/infoscroll.png

Часть проекта над которым работаю последжние полгода.
Раскадровка ролика на движке игры.
Ввыводится информация о поведении объекта в течении всего времени сюжета.
В данном конкретном случае - камеры.


 
Игорь Шевченко ©   (2009-04-17 17:46) [47]

@!!ex ©   (17.04.09 17:43) [46]


> Раскадровка ролика на движке игры.
> Ввыводится информация о поведении объекта в течении всего
> времени сюжета.
> В данном конкретном случае - камеры.


Пример увидел, но это не то!

Двигая ползунок ты же не прокручиваешь основное окно.


 
@!!ex ©   (2009-04-17 17:50) [48]

> [47] Игорь Шевченко ©   (17.04.09 17:46)

Прокручиваешь. Все объекты двигаются по заданным траекториям. правда не в основном окне, а в окне просмотра...
В принципе согласен, что это ОЧЕНЬ частная реализация, но всеже это скролл с информацией. О котором идет речь, и он очень уместен. Обычный скролл в разы неудобней. Да даже не неудобней, а без такой реализации вообще работать нормально нельзя.. наощупь только...


 
Игорь Шевченко ©   (2009-04-17 17:56) [49]

@!!ex ©   (17.04.09 17:50) [48]


> В принципе согласен, что это ОЧЕНЬ частная реализация, но
> всеже это скролл с информацией. О котором идет речь, и он
> очень уместен. Обычный скролл в разы неудобней


никто не мешает в твоем случае, как мне кажется, поместить чуть ниже полоски с покадровым положением камеры (я верно понял ?) обычный скроллбар/трекбар и связать его с основным окном. Сдается мне, в твоем случае то, что рекламируется в этой ветке будет не удобно, так как ползунок будет заслонять положение камеры, а оно вроде как является информативным.

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


 
@!!ex ©   (2009-04-17 18:01) [50]

2.5 мегабайта.
http://sol-online.org/content/infoscroll.mp4

Не вижу на данном примере отличий от классического скролинга.


 
@!!ex ©   (2009-04-17 18:03) [51]

> [49] Игорь Шевченко ©   (17.04.09 17:56)

Ну так ведь не обязательно чтобы ползунок перекрывал информацию?
Сделать возможность поля вывода информации ббольше чем сам ползунок(как в моем случае).

Суть то все равно сводится к тому, что на полях скрола выводится доп инфа.

ПРидумать адекватной задачи, которая была бы удобно решаема с помощью классического скрола с доп. инфой я пока не могу, но ИМХО сама возможность такого вывода информации не лишняя.


 
Игорь Шевченко ©   (2009-04-17 18:22) [52]

@!!ex ©   (17.04.09 18:01) [50]


> http://sol-online.org/content/infoscroll.mp4


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

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

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


 
@!!ex ©   (2009-04-17 20:30) [53]

> [52] Игорь Шевченко ©   (17.04.09 18:22)

Согласен. Тут я не прав. Моя разработка действительно значительно ближе к TrackBar"у чем к Скроллу...


 
TUser ©   (2009-04-17 22:24) [54]


> Игорь Шевченко ©   (16.04.09 22:27) [1]
>
> Сделать можно и на Delphi, только один вопрос - а зачем
> ?

полезно, если документ имеет четкие "виидмые метки": таблица, графики

в остальных случаях проще букмарки, как у адоб ридера, имхо


 
Игорь Шевченко ©   (2009-04-17 22:28) [55]

TUser ©   (17.04.09 22:24) [54]


> полезно, если документ имеет четкие "виидмые метки": таблица,
>  графики


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

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


 
TUser ©   (2009-04-18 08:17) [56]

Пользователь работает с этим документом, и помнит, что где-то у него таблица. Ему надо быстро передвинуть бегунок туда.


 
@!!ex ©   (2009-04-18 08:53) [57]

> [55] Игорь Шевченко ©   (17.04.09 22:28)

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


 
Anatoly Podgoretsky ©   (2009-04-18 09:14) [58]

> @!!ex  (18.04.2009 8:53:57)  [57]

Работали мы с Инфоскроллером - гадость большая, и чем больше и однотоннее документ, тем большая гадость. Даже для Инфоскроллером с номерами страниц.


 
KSergey ©   (2009-04-21 14:41) [59]

Я все это время прикидывал про этот инфоскроллер и понял: фигня. Очередной дезигнерский фельдебобер.

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

Что же нас ждет в действительности? Документы - как правило - весьма однородны. Да еще и велики по объему. Выходит толку от этго инфостроллера - ровно ноль. Нифига он не "инфо" выйдет в реальности.

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

А вот полоса рядом - по ней кликнул - и позиционирует тут же на место клика. Страшно удобно! (мой любимый AraxisMerge, например) Cо скроллером такого не выйдет. Ну разве что располагать метка/картинки на области скроллера и "инфополосе" для расширения области отображения с одной стороны и красоты дизайнерского изыска с другой? Ну так тоже не ново в обещм-то.

Короче: красиво поданый дизайнерский фельдебобер. В чистом виде. Хотя элементы перенять можно.



Страницы: 1 2 вся ветка

Текущий архив: 2009.06.28;
Скачать: CL | DM;

Наверх




Память: 0.64 MB
Время: 0.013 c
15-1240258714
Интересующийся
2009-04-21 00:18
2009.06.28
Структура провайдера


15-1240390178
31512
2009-04-22 12:49
2009.06.28
Помогите с batаникой


2-1241873934
Tany
2009-05-09 16:58
2009.06.28
TreeNode


15-1240225644
T&F
2009-04-20 15:07
2009.06.28
Отслеживание входящих подключений


2-1241619801
madmech
2009-05-06 18:23
2009.06.28
Не печатается заголовок итогового столбца отчета