управление карусельного типа для навигации и назначения метаданных
Классы МПК: | G06F17/30 информационный поиск; структуры баз данных для этой цели G09G5/34 для "прокрутки" информации или перемещения изображения |
Автор(ы): | ВОНГ Лион Кинг-Фоок (US), ХЕФНАГЕЛЬС Стефан (US), ИВАНОВИЧ Релья Б. (US), ДЕ ВОРЧИК Дэвид Г. (US), КАТСИНГЕР Пол Л. (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2006-07-27 публикация патента:
20.07.2011 |
Изобретение относится к способу построения графического интерфейса. Технический результат заключается в ускорении нахождения и обработки данных в графическом интерфейсе. Пользовательский интерфейс дерева свойств предоставляет пользователю возможность назначения значений свойствам метаданных и пользовательскую навигацию по данным в рамках системы, которая включает в себя подсистему хранения данных, в которой данные организованы и запрашиваются посредством свойств. Дерево свойств включает в себя узлы, которые раскрывают свойства элементов данных. Пользователь может взаимодействовать с деревом свойств, чтобы осуществлять назначение свойства, и при этом значение, ассоциативно связанное со свойством в подсистеме хранения данных, модифицируется. Дерево свойств также может отображать узлы, которые представляют папки в рамках иерархической файловой системы, узлы, которые представляют свойства с наследованной иерархией, и узлы, которые представляют заданные пользователем иерархические свойства, и дерево свойств может отображать эти узлы в управлении карусельного типа. 2 н. и 17 з.п. ф-лы, 22 ил.
Формула изобретения
1. Способ назначения значений свойствам, реализуемый при помощи вычислительной машины в вычислительной системе, имеющей графический пользовательский интерфейс (GUI) и подсистему хранения данных, в которой элементы данных организованы и запрашиваются посредством свойств метаданных, содержащий этапы, на которых:
отображают дерево свойств, причем дерево свойств имеет множество узлов, раскрывающих свойства набора элементов данных, обнаруженных в списочном представлении, при этом один или более из множества узлов имеет ассоциативно связанный с ним интерфейсный элемент для переключения между развернутым и свернутым состоянием;
принимают указание выбора интерфейсного элемента, ассоциативно связанного с одним из множества узлов для переключения в развернутое состояние;
отображают начальный список, включающий в себя предварительно заданное количество наборов подузлов, являющихся подчиненными для выбранного одного из множества узлов;
после приема указания на дальнейшее развертывание одного из множества узлов, активизируют управление карусельного типа, которое обеспечивает циклический список набора подузлов, являющихся подчиненными для одного из множества узлов, причем активизирование управления карусельного типа включает в себя:
а) визуальное отображение пользователю количества наборов подузлов в области отображения, причем количество визуально отображаемых наборов подузлов в области отображения зависит от экранного пространства GUI; и
б) отображение не в данный момент, оставшихся из набора подузлов, которые находятся за пределами области отображения;
принимают выбор одного или более из набора элементов данных, обнаруженных в списочном представлении;
отображают элемент управления, ближайший к одному или более из набора подузлов, который после выбора пользователем, назначает значение по меньшей мере одному свойству из числа свойств выбранного одного из наборов элементов данных;
принимают пользовательский ввод, который выбирает элемент управления, ближайший к одному или более из набора отображаемых подузлов; и
в ответ на пользовательский ввод, направленный в один или более из набора выбранных подузлов, модифицируют по меньшей мере одно свойство из выбранного одного или более наборов элементов данных, причем модификация содержит добавление метаданных к, или удаление метаданных из, выбранного одного или более из наборов элементов данных на основе значения по меньшей мере одного свойства, представленного одним или более из набора выбранных подузлов.
2. Способ по п.1, дополнительно содержащий этап, на котором сортируют циклический список согласно предварительно заданным критериям.
3. Способ по п.2, в котором предварительно заданные критерии содержат алфавитный порядок.
4. Способ по п.2, в котором предварительно заданные критерии содержат цифровой порядок.
5. Способ по п.1, дополнительно содержащий этап, на котором раскрывают второе управление карусельного типа, соответствующее подузлам первого одного из множества узлов.
6. Способ по п.1, в котором дерево свойств отображает множество узлов, раскрывающих свойства набора элементов данных в родительском управлении карусельного типа, в то время как набор подузлов, являющихся подчиненными для выбранного одного из множества узлов, отображается в управлении карусельного типа, вложенном в родительское управление карусельного типа.
7. Способ по п.1, дополнительно содержащий, после приема выбора заголовка дерева свойств, отображение командного меню, которое показывает выбираемые задачи пользователю, причем выбираемые задачи содержат:
первую задачу, которая, после выбора, позволяет пользователю задавать новый узел в числе множества узлов дерева свойств, причем новый узел позволяет пользователю модифицировать новое свойство из одного или более из набора элементов данных; и
вторую задачу, которая, после выбора, позволяет пользователю сортировать множество узлов дерева свойств в требуемом порядке.
8. Машиночитаемый носитель, содержащий воплощенные на нем исполняемые при помощи вычислительной машины инструкции, которые, при их выполнении, предоставляют управление карусельного типа в рамках меню, отображаемого на дисплейном устройстве вычислительной машины, при этом упомянутое управление карусельного типа содержит:
список элементов, причем элементы содержат набор подузлов, являющихся подчиненными для одного из множества узлов, включенных в рамки отображаемого меню, причем, после выбора, один или более из набора подузлов способен назначать значение по меньшей мере одному свойству элемента данных из набора элементов данных в подсистеме хранения данных, и при этом, после выбора, один из множества узлов способен перегруппировывать организацию набора элементов данных в новую структуру которая соответствует запросу, ассоциативно связанному с выбранным одним из множества узлов;
область отображения, в которой предварительно заданное число элементов отображается одновременно, причем управление карусельного типа обеспечивает циклический список набора подузлов, таким образом, чтобы по меньшей мере один из набора подузлов был видимым для пользователя в области отображения в то время как оставшиеся из набора подузлов невидимы; и
обработчик ввода для прокрутки предварительно заданного числа элементов списка, отображаемых в области отображения, на основе порядка каждого элемента в списке,
причем список содержит циклический список, и
при этом после прокручивания в одном направлении к началу или к концу циклического списка, дополнительное прокручивание в том же самом направлении предписывает управлению карусельного типа продолжать перемещаться по циклическому списку в начало или в конец соответственно.
9. Машиночитаемый носитель по п.8, в котором список элементов содержит элементы, упорядоченные согласно предварительно определенным критериям.
10. Машиночитаемый носитель по п.9, в котором предварительно определенные критерии содержат алфавитный порядок.
11. Машиночитаемый носитель по п.9, в котором предварительно определенные критерии содержат хронологический порядок.
12. Машиночитаемый носитель по п.8, в котором обработчик ввода дополнительно предписывает управлению карусельного типа отображать конкретный элемент, соответствующий пользовательскому вводу, при этом упомянутый элемент отображается в предварительно определенной позиции в области отображения.
13. Машиночитаемый носитель по п.8, в котором один или более элементов в списке содержат ассоциативно связанный с ними элемент управления, причем выбор элемента управления назначает значение по меньшей мере одному свойству элемента данных из набора элементов данных в подсистеме хранения данных.
14. Машиночитаемый носитель по п.8, в котором список элементов содержит музыкальных исполнителей.
15. Машиночитаемый носитель по п.8, в котором обработчик ввода дополнительно принимает пользовательский ввод, задающий размер области отображения.
16. Машиночитаемый носитель по п.15, в котором при приеме первого предварительно определенного ввода, обработчик ввода предписывает области отображения изменить размер до максимального.
17. Машиночитаемый носитель по п.8, в котором обработчик ввода раскрывает элемент управления вверх для поворота управления карусельного типа вверх, сдвигая таким образом предварительно заданное число элементов списка, отображенных в области отображения.
18. Машиночитаемый носитель по п.8, в котором обработчик ввода раскрывает элемент управления вниз для поворота управления карусельного типа вниз, сдвигая таким образом предварительно заданное число элементов списка, отображенных в области отображения.
19. Машиночитаемый носитель по п.8, в котором обработчик ввода дополнительно предписывает управлению карусельного типа проходить список элементов и отображать конкретный элемент в предварительно заданной позиции в пределах области отображения, когда элемент соответствует пользовательскому вводу, причем пользовательский ввод включает в себя один или более символов, напечатанных на устройстве ввода данных в быстрой последовательности.
Описание изобретения к патенту
Уровень техники
Сегодня большинство пользователей вычислительных машин взаимодействуют с машиной посредством графического пользовательского интерфейса, который, посредством использования визуального дисплея и интуитивных устройств ввода вычислительной машины, таких как мышь, является связующим звеном для доступа к операционной системе, прикладным программам и сохраненным данным. Стандартный подход к проектированию пользовательского интерфейса основан на простом визуальном зрительном образе, при котором файлы данных содержатся в папках, организованных в рамках иерархически структурированного дерева файловой системы. Пользовательский интерфейс предоставляет средства управления, которые позволяют пользователю перемещаться по дереву файловой системы, чтобы находить данные и выполнять действия с ними. Хотя эти системы проще использовать, чем интерфейсы оболочки командной строки, предшествовавшие им, они, как правило, не предоставляли большую степень абстрагирования от базового физического хранения данных, чем было в более ранних системах.
Реальное знакомство с моделью файлов/папок запоминающего устройства способствовало ее признанию и популярности среди пользователей вычислительных машин, но пользовательские интерфейсы также были успешными, поскольку пользователи типично хранили относительно небольшой объем данных на своих машинах. Простота, с которой вычислительные системы могут использоваться сегодня, в сочетании с доступностью огромного количества недорогих запоминающих устройств на дисках в некоторой степени сделала стандартный интерфейс хранения данных жертвой собственного успеха. Вычислительные машины сегодня используются для того, чтобы сохранять большие объемы персональных данных во множестве различных форматов для использования с множеством различных приложений. Зачастую пользователь имеет сотни или тысячи текстовых документов, фотографий, звуковых файлов и других записей данных на нескольких жестких дисках, в распределенных сетях и других носителях хранения. С учетом этого развития, недостатки традиционной модели хранения данных в дереве папок стали очевидными пользователям вычислительных машин.
Для сегодняшнего пользователя традиционная модель хранения является нежелательно и негибко одномерной. Элементы данных существуют в одной ячейке и связаны с другими файлами одним способом посредством своей относительной позиции в рамках иерархического дерева папок, которое игнорирует многие логические взаимоотношения, которые файлы могут иметь друг с другом. В предыдущих версиях Microsoft® Windows® файлы были ассоциативно связаны с ограниченным числом свойств, над которыми пользователь имеет ограниченный контроль, и эти свойства являются доступными посредством управления, которое является трудным для того, чтобы обнаруживать и использовать. В других системах метаданные файлов могут быть ограничены именем файла и информативным знанием пользователем типа файла. Эти ограничения сделали трудным для пользователей то, чтобы организовать свои данные новыми способами на основе содержимого и использования данных. Как результат, рост объемов данных, сохраненных пользователями, сделал поиск данных менее эффективным и более громоздким.
Конкретные приложения предлагали специальные для предметной области решения проблемы управления пользовательскими данными. Два примера включают в себя приложения для хранения и организации файлов цифровых фотографий. Digital Image Library в Microsoft® Digital Image Suite 9.0 включает в себя средство управления Keyword Painter, которое позволяет легко организовать и впоследствии находить изображения, находящиеся в различных местах файловой системы. Пользователь щелкает идентификационные ключевые слова по выбору пользователя, а затем щелкает миниатюры изображений, которым должны быть назначены выбранные ключевые слова. Теперь пользователь может фильтровать представление библиотеки изображений для конкретных ключевых слов. Adobe Photoshop Album 2.0 дает возможность пользователю ассоциативно связывать описывающие содержимое тега с изображениями посредством действий перетаскивания с миниатюрами. Затем пользователь может быстро находить набор изображений по предмету с помощью одного или более тегов.
Другим примером является интерфейс электронной почты Grand Central, проекта Microsoft Research. Иерархические свойства используются для того, чтобы распределять по категориям почтовые сообщения. Произвольное число категорий может назначаться посредством пользовательского интерфейса. Категории упрощают поиск сообщений и организацию сообщений в разговорные потоки.
Раскрытые признаки платформы Microsoft® Windows® с кодовым названием Longhorn задают более сложное решение. Подсистема хранения WinFS базируется на расширяемой схеме свойств метаданных, чтобы дать возможность пользователю искать, организовывать и совместно использовать данные. Базовой единицей контейнера данных является элемент, который ассоциативно связан с несколькими свойствами, которым присвоены конкретные значения. Элементы организуются по свойствам, наиболее релевантным для пользователя в конкретное время. Предоставляются мощные возможности создания запросов к хранилищу элементов. Таким образом, пользователи могут находить данные более быстро и могут организовывать и работать с данными более эффективно.
Тем не менее, до настоящего изобретения не было общего механизма назначения метаданных и навигации на основе метаданных, сравнимого по простоте и общности с использованием таких традиционных интерфейсов системы хранения, как дерево Проводника файловой системы в предыдущих версиях Microsoft® Windows®, которое позволяет пользователю перемещаться к папке и изменять ее содержимое интуитивными способами, например, посредством перетаскивания с помощью мыши.
Сущность изобретения
Далее представлена упрощенная сущность некоторых вариантов осуществления изобретения, для того чтобы предоставить базовое понимание некоторых аспектов изобретения. Эта сущность не является всесторонним обзором изобретения. Она не предназначена для того, чтобы определять важнейшие элементы изобретения или обрисовать область применения изобретения. Ее единственная цель - представить некоторые варианты осуществления изобретения в упрощенной форме в качестве вступления в более подробное описание, которое изложено далее.
Признаки могут быть использованы на практике в контексте вычислительной системы, имеющей графический пользовательский интерфейс или другой тип пользовательского интерфейса и подсистему хранения данных, в которой данные организованы и запрашиваются через свойства метаданных. В соответствии с одним вариантом осуществления, предоставлен реализуемый при помощи компьютера способ назначения значений свойствам. Способ включает в себя отображение дерева свойств, имеющего узлы, которые раскрывают свойства набора элементов данных, при этом дерево свойств использует управление карусельного типа для отображения подузлов, являющихся подчиненными для узла в дереве.
В некоторых аспектах вышеупомянутых вариантов осуществления дерево свойств также представляет папки в рамках иерархической файловой системы в дополнение к узлам, которые представляют свойства метаданных. В других аспектах этих вариантов осуществления дерево свойств имеет узлы, которые представляют свойства с наследственной иерархией, и узлы, которые представляют заданные пользователем иерархические свойства.
Согласно аспекту изобретения программные инструкции управляют управлением карусельного типа в рамках меню, отображаемого на дисплейном устройстве вычислительной машины. Управление карусельного типа отображает список элементов в области отображения, которые могут отображать определенное число элементов одновременно. Обработчик ввода, ассоциативно связанный с управлением карусельного типа, обрабатывает пользовательский ввод для прокрутки элементов списка, отображаемых в области отображения, на основе порядка каждого элемента в списке, так чтобы пользователь мог обходить список. Например, управление карусельного типа позволяет сохранять элементы списка в кольцевом списке, упорядоченном по некоторому критерию, и пользователь может циркулировать по списку, как требуется, в области отображения.
Изобретение может быть реализовано посредством программного обеспечения, аппаратного обеспечения или комбинации вышеуказанного. Изобретение может быть реализовано, например, в рамках оболочки операционной системы или в рамках выполняющейся прикладной программы. Предполагается, что изобретение может быть осуществлено в одном или более машиночитаемых носителях.
Краткое описание чертежей
Признаки изобретения должны стать очевидными из последующего подробного описания, когда рассматривается совместно с чертежами, на которых:
Фиг.1 - это схематичное представление, иллюстрирующее примерное вычислительное операционное окружение, в которое может быть встроено настоящее изобретение.
Фиг.2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 и 19 - это снимки экранов пользовательского интерфейса для просмотра и организации сохраненных музыкальных данных, в который встроен вариант осуществления настоящего изобретения.
Фиг.20, 21 и 22 иллюстрируют управление карусельного типа согласно различным признакам, описанным в данном документе.
Подробное описание изобретения
Настоящее изобретение включает в себя набор средств управления пользовательского интерфейса в форме дерева, которые раскрывают свойства элементов данных, который в дальнейшем упоминается как ProperTree. ProperTree предоставляет две основные функции. Во-первых, ProperTree позволяет пользователю перемещаться по виртуальному пространству имен данных пользователя. Навигация подробнее поясняется ниже. Во-вторых, ProperTree дает возможность пользователю быстро и просто назначать значения свойствам элементов данных посредством добавления или удаления метаданных относительно узлов свойств, раскрываемых посредством ProperTree. Пользователь может добавлять метаданные или удалять метаданные из множества узлов одновременно. Поскольку ProperTree моделирует традиционное управление деревом папок в некоторых аспектах, оно позволяет пользователям, знакомым с традиционным подходом к хранению, организации и извлечению своих данных, комфортно работать в системе с радикально отличающимся подходом к хранению, который базируется на расширяемой схеме свойств метаданных и выполнения запросов.
В одном варианте осуществления средство управления ProperTree отображается по умолчанию в окне в панели слева от панели, отображающей списочное представление элементов. Когда пользователь выбирает элемент, пользователь может щелкнуть узел свойств, раскрываемый посредством ProperTree, чтобы развернуть узел вместо него; узел может быть свернут, если он уже развернут. Небольшой интерфейсный элемент, такой как отображающий "+" или "-", может быть использован для того, чтобы указать то, свернут или развернут узел. Разворачивание узла показывает значения свойств, заданные для текущего выбранного элемента, а также дополнительные значения, которые могут быть применены. В варианте осуществления показан наиболее часто используемый поднабор значений для набора элементов: пользователь может разворачивать список значений для развернутого свойства полностью, например, посредством щелчка кнопки. Развернув узел свойств в ProperTree, пользователь может изменять значения свойств; изменения сразу применяются к элементу или элементам, которые выбраны пользователем. Система может назначать начальные значения свойствам на основе наиболее часто используемых значений.
Свойства отображаются в ProperTree способом, который соответствует их типу. Определенные свойства имеют только одно значение относительно элемента. Фотография, например, может быть черно-белой или цветной, причем пользователям разрешается изменять это свойство. Пользовательский интерфейс для изменения значения в таком случае может содержать активизируемый щелчком переключатель рядом с каждым возможным значением. Другие свойства могут допускать наличие нескольких значений в элементе. Например, документ может иметь несколько авторов. В этом случае пользовательский интерфейс может содержать флажок рядом с каждым возможным значением, причем пользователю разрешается устанавливать один или более флажков по мере необходимости. Более обширные свойства также поддерживаются соответствующим образом. Например, средство управления календарем с широкими возможностями показано для дат; для рейтингов может быть показано средство управления с пятью звездами.
Свойства, которые не могут изменяться пользователем, такие как дата, когда записан документ, не имеют средств управления выбором значения в дереве, и узлы для этих свойств могут быть использованы только для навигации. Система является расширяемой в отношении добавления новых средств управления, подходящих для конкретных типов данных.
Для данного свойства или значения свойства в ProperTree пользователь может переходить к представлению запоминающего устройства, которое повернуто к свойству или значению. Таким образом, навигация влечет за собой не просто перевод пользователя в одно место, в отличие от навигации с помощью традиционного дерева папок. Вместо этого навигация с помощью ProperTree заставляет все релевантные данные быть перегруппированными в новую структуру, посредством которой пользователь может выполнять обзор. Например, пользователь может использовать ProperTree для того, чтобы запрашивать в запоминающем устройстве все документы, имеющие конкретное значение Author. Списочное представление затем изменяется, чтобы показать документы, удовлетворяющие этому критерию. Альтернативно, пользователь может использовать ProperTree, чтобы отображать всех авторов документов. Это вызывает многослойное представление авторов, в рамках которого пользователь затем может выполнять обзор.
Возвращаясь теперь к чертежам, фиг.2-19 - это снимки экрана примерного пользовательского интерфейса 201 для просмотра и организации сохраненных музыкальных данных, содержащего вариант осуществления настоящего изобретения. Справа находится списочное представление 205, а слева - дерево 203 свойств ProperTree. В варианте осуществления аналогичные интерфейсы предоставляются для документов, сообщений, видеофайлов и контактов, причем ProperTree в каждом случае специально приспособлено для типа элементов данных, который представляется. Такие ориентированные на содержимое интерфейсы могут предоставляться с продуктом операционной системы в качестве компонента оболочки. Дополнительно, в варианте осуществления ProperTree - это средство управления, доступное посредством Common File Dialog в Microsoft® Windows® для разработчиков приложений, чтобы повторно использовать в собственных приложениях. Как указано выше, ProperTree 203 по умолчанию отображается в левой части окна 201.
ProperTree 203 включает в себя заголовок 207, который в проиллюстрированном случае озаглавлен Music Links. Под заголовком 207 находятся узлы ProperTree 203. Узлы, помеченные Rating 217, Artist 221 и Genre 223, представляют отдельные свойства. Определенные другие узлы, раскрываемые посредством дерева 203, All Songs 209, Online Store 211 и Recently Played 215, являются конструкциями, которые представляют запрос, который ищет конкретные элементы в списочном представлении 205, которые удовлетворяют условиям запроса. Узлы iPod 213 и Playlists 219, которые представляют статические списки, аналогичны. Если пользователь выбирает, например, All Songs 209, в списочном представлении 205 отображаются все композиции. Тем не менее, если пользователь выбирает Recently Played 215, показываются только композиции, которые недавно воспроизводились.
Обращаясь к фиг.3, показан результат начального пользовательского взаимодействия с ProperTree 203. Интерфейсные элементы 327, 329, 331, 333, 335 разворачивания отображаются рядом с разворачиваемыми узлами 213, 217, 219, 221, 223 свойств, соответственно, когда пользователь наводит курсор на область ProperTree с помощью мыши, как указано посредством курсора 325 со стрелкой. Узлы 213, 217, 219, 221, 223 свойств могут быть развернуты пользователем посредством щелчка на отображаемом "+" в интерфейсных элементах 327, 329, 331, 333, 335.
Обращаясь к фиг.4, показано состояние ProperTree 203 после того, как пользователь наводит курсор мыши на текстовую метку одного из узлов свойств, в данном случае Artists 221, как показано посредством курсора 437 в форме руки. Если пользователь дважды щелкает текстовую метку узла свойства, списочное представление 205 обновляется таким образом, что оно организуется по конкретному свойству, которое выбирается, и узел разворачивается. На фиг.5 показано состояние ProperTree 203, когда пользователь наводит курсор мыши на "+" интерфейсного элемента 333 разворачивания, ассоциативно связанного с узлом 221 Artists, как показано посредством курсора мыши 539 со стрелкой.
Обращаясь к фиг.6, показано состояние ProperTree 203 после того, как узел 221 Artists развернут. Текстовая метка Artists представляется курсивом, а интерфейсный элемент разворачивания заменяется на интерфейсный элемент 641 сворачивания. Список из пяти значений 643, 645, 647, 649, 651 Artists отображается, представляя наиболее часто используемые и самые последние используемые значения, ниже которых находится кнопка 653 стрелки переполнения.
Фиг.7 иллюстрирует результат щелчка пользователем на стрелке 653 переполнения, как показано посредством курсора 755 мыши со стрелкой. Раскрывающееся меню 757 отображается, показывая все значения для свойства Artists как плоский список. Альтернативно, как показано на фиг.8, полный список значений может быть отображен в раскрывающемся меню 859 как список из нескольких подузлов 861, 863, 865, 867, 869, при этом каждый подузел представляет диапазон в рамках полного списка, который может быть дополнительно развернут пользователем посредством щелчка одной из указывающих вправо кнопок 871, 873, 875, 877, 879 со стрелками. Альтернативное представление раскрывающегося меню 881 диапазона также показано.
Вкратце возвращаясь к фиг.6, можно отметить, что название 649 значения свойства, которое слишком длинное, чтобы отобразить полностью, усекается с помощью многоточия или аналогичного символа. На фиг.9 показан результат наведения курсора на это усеченное значение, как показано посредством курсора 983 мыши в форме руки. Раскрывающийся элемент 985 отображает полное название значения.
Обращаясь к фиг.10, показан результат выбора элемента в списочном представлении 205. Флажки 1087, 1089, 1091, 1093, 1095 сразу отображаются рядом с каждым значением в развернутом узле 221 свойств. Флажки служат в качестве средств управления, посредством которых метаданные могут назначаться выбранному элементу. В этом случае пользователь выбрал элемент композиции "Encounter" 1097. Флажок 1089 устанавливается, показывая, что существующее значение Artist для того элемента - это "50 Cent". Пользователь может установить другой флажок, чтобы изменить значение посредством назначения другого названия исполнителя элементу композиции. Аналогично, флажки могут быть использованы в списочном представлении фотографий, чтобы назначать ключевые слова выбранному элементу фотографии. Фиг.11 иллюстрирует результат щелчка пользователем кнопки 653 стрелки переполнения, когда элемент в списочном представлении 205 выбран, как показано посредством курсора 1101 мыши со стрелкой. Раскрывающееся меню 1103 отображается, причем каждое значение в полном списке теперь имеет флажок напротив.
В общем, узел свойств в ProperTree 203 может иметь контекстное меню, которое является конкретным для данного узла. На фиг.12 показан пример, в котором контекстное меню 1205 для узла Artists 221 отображается. Верхний элемент в меню 1205 - это Show All Music By Artist 1207. Результат выбора этого задания идентичен результату навигации посредством щелчка метки Artists, как описано выше. Add new Artist 1209 предоставляет точку входа для пользователя, чтобы добавить дополнительные значения в список значений для этого узла свойств. Rename 1211 может быть использован для того, чтобы переименовать свойство. В этом случае Rename затемнен, поскольку Artists - это свойство, которое конечные пользователи не могут переименовать. Пользователь может разработать новые свойства, которые могут быть сделаны с возможностью переименования. Элементы меню Move Up 1213 и Move Down 1215 могут быть использованы, чтобы организовать порядок узлов свойств в ProperTree 203.
Фиг.13 иллюстрирует состояние ProperTree 203 после того, как пользователь выбрал Add new Artist 1209 в контекстном меню 1205, показанном на фиг.12. Поле 1317 ввода отображается, позволяя пользователю ввести новое значение для свойства Artists. После того как новое значение Artists введено, оно может быть назначено выбранному элементу композиции.
Фиг.14 иллюстрирует то, что ProperTree 203 не ограничен наличием назначаемых узлов свойств, но может содержать несколько типов управляемых наборов, страниц или совокупностей. Здесь развернут узел 219 Playlists. Playlists в контексте элемента музыкальных данных - это один пример заданных пользователем списков, которые выступают в качестве контейнеров элементов данных, аналогично традиционным папкам файловой системы. Как в случае с традиционными папками, Playlists 219 может иметь произвольное число вложенных компонентов в иерархической структуре, в отличие от узлов свойств, которые содержат только значения. Здесь наиболее часто используемый поднабор 1419, 1421, 1423 из подсписков для Playlists отображается, ниже которого находится кнопка 1425 стрелки переполнения. Фиг.15 иллюстрирует состояние ProperTree 203 после того, как пользователь щелкает кнопку 1425 переполнения на фиг.14. Полная иерархия списков для Playlists 219 показана, содержащая подписки 1421, 1527, 1529, 1531, 1533, 1423.
Обращаясь к фиг.16, показано состояние ProperTree 203 после того, как пользователь выбирает метку 1637 узла 215 Recently played, как показано курсором 1635 мыши со стрелкой. Как упоминалось выше, этот узел не является отдельным свойством, а представляет набор. Пользователь может поворачивать списочное представление посредством выбора глифа 1639 слева от метки 1637 узла, как пояснено выше. Как показано на фиг.16, выбор метки 1637 узла отображает контекстное меню 1641. Выбор верхнего элемента 1643 контекстного меню 1641, Show 'Recently Played', имеет такой же результат навигации, что и выбор глифа 1639. Под ним находятся два конкретных задания 1645, 1647 узла (дополнительно не указаны здесь). Оставшееся контекстное меню 1641 аналогично контекстному меню 1205 для узла свойств Artists 221 на фиг.12. Пользователь может выбрать Delete 1649, чтобы удалить элемент, Rename 1651, чтобы переименовать его, и Move Up 1653 и Move Down 1655, чтобы переупорядочить его в ProperTree 203.
Обращаясь к фиг.17, показано состояние ProperTree 203 после того, как пользователь щелкает заголовок 207 Music Links, как показано посредством курсора 1759 мыши со стрелкой. Командное меню 176 отображается, позволяя пользователю выполнять определенные задания, применимые к средству 203 управления всем деревом. Посредством выбора задания Add Current Page to Music Links 1763 пользователь может задать новые узлы, чтобы добавить в дерево 203. Посредством выбора Sort Music Links by 1765 пользователь может отсортировать узлы в требуемом порядке. Пользователь может скрыть все дерево 203 из представления посредством выбора Hide Pane 1767. Посредством выбора точки 1769 входа внизу меню, Add/Remove MusicLinks, пользователь инструктирует диалогу быть извлеченным, позволяя пользователю выбирать между различными свойствами, чтобы добавлять или удалять свойства в и из ProperTree 203.
Аналогично традиционному средству управления деревом папок, ProperTree 203 поддерживает семантику перетаскивания, но ее режим работы другой. Элемент в списочном представлении 205 может перетаскиваться на узел в ProperTree 203, но элемент не исчезает из списочного представления; режим работы более похож на информацию тегирования для файла. Действие перетаскивания показано на фиг.18. Пользователь щелкает элемент в списочном представлении, здесь элемент 1871, соответствующий композиции "Encounter", и перетаскивает его на узел 221 Artists в ProperTree 203, как показано курсором 1873 мыши со стрелкой и размытого изображения 1875 выбранного элемента. В этом случае Artists 221 само не является назначаемым свойством. Обращаясь к фиг.19, если пользователь наводит курсор на узел 221 Artists в течение достаточно долгого времени, узел 221 разворачивается, позволяя пользователю отпускать перетащенный элемент 1871 на название отображаемого исполнителя. В этом случае пользователь отпускает элемент 1871 на значение Artists "Kruder & Dorfmeister" 649, и флажок 1093, ассоциативно связанный с этим значением, подсвечивается. Таким образом, это еще один механизм, посредством которого пользователь может назначать метаданные элементам.
В одном варианте осуществления изобретения ProperTree интегрирован с традиционным элементом управления деревом папок. В этом варианте осуществления дерево имеет узлы, которые представляют свойства и разворачиваются, чтобы показать значения, а также узлы, которые представляют папки, находящиеся в иерархической файловой системе. В этом варианте осуществления присутствуют преимущества и иерархической модели, и модели метаданных запоминающего устройства. Дерево дополнительно может включать в себя узлы, представляющие другие конструкции, например ссылку на веб-страницу.
В варианте осуществления ProperTree поддерживает "иерархические свойства", свойства, которые наследственно имеют иерархию. Например, свойство данных может быть представлено в дереве как иерархия:
Год
Месяц
День
Помимо этого, в варианте осуществления ProperTree поддерживает иерархические свойства свободной формы, которые задаются посредством пользователя.
Например:
Животное
Собака
Пудель
Кошка
Минералы
Золото
Завод
Пальма
Со ссылкой на фиг.20, дерево свойств может использовать управление 2001 карусельного типа, чтобы отображать подузлы в рамках любых родительских узлов в дереве свойств. Управление 2001 карусельного типа может быть использовано, к примеру, для того, чтобы отображать подузлы, когда ограниченный объем "недвижимости" (пространства) на экране дисплея доступен, либо ограничивать один или узлы или узлы от использования вертикального пространства на экране дисплея для отображения соответствующих подузлов для данного узла. Управление карусельного типа используется, к примеру, чтобы прокручивать большие наборы подузлов в ограниченном объеме пространства, в котором весь набор подузлы не может быть отображен одновременно.
Управление 2001 карусельного типа включает в себя циклический список 2003 из всех элементов 2011a и 2011b в рамках управления 2001 карусельного типа и соответствующую область 2005 отображения. Циклический список 2003 может быть организован согласно предварительно заданным критериям или метаданным, например алфавитным, хронологическим и т.д. Область 2005 отображения отображает один или более элементов управления 2001 карусельного типа. В этом примере управление карусельного типа используется для того, чтобы отображать подузлы в рамках узла 2007 Artist дерева 2009 свойств. Элементы 2011a и 2011b управления 2001 карусельного типа включают в себя подузлы узла 2007 Artist, а именно Abba, Adam Ant, Allman Bros., Beach Boys, Blink 182, Kelly Clarkson, Missy Elliott, Foo Fighters, Jet, The Killers, Modest Mouse, REM, Gwen Stefani, U2, Weezer и Zornik. Узлы Artist, Song и Album не являются элементами управления 2001 карусельного типа. В этом примере область 2005 отображения отображает четыре элемента 2011a одновременно, хотя другое число элементов альтернативно может отображаться, как требуется или как диктуется экранным пространством. На фиг.20 узлы Artist, Jet, The Killers, Modest Mouse, REM, Song и Album видимы пользователю, тогда как оставшиеся элементы 2011b управления 2001 карусельного типа в данный момент не отображаются.
Хотя управление карусельного типа имеет фокусировку на ввод, пользователь может прокручивать элементы в управлении карусельного типа, чтобы циклически сдвигать элементы, видимые в области 2005 отображения. Например, нажатие стрелки вверх, когда управление карусельного типа размещено так, как показано на фиг.20, может приводить к повороту управления карусельного типа вверх, так что элементы The Killers, Modest Mouse, REM и Gwen Stefani отображаются в области 2005 отображения. Аналогично, нажатие стрелки вниз, когда управление карусельного типа размещено так, как показано на фиг.20, может приводить к повороту управления карусельного типа вниз, так что элементы Foo Fighters, Jet, The Killers и Modest Mouse отображаются в области 2005 отображения. Специалисты в данной области техники должны признавать, что другие методики и входные данные навигации/прокрутки могут быть использованы для того, чтобы управлять вращением управления 2001 карусельного типа.
Когда пользователь прокрутил в начало или конец элементов, которые в данный момент сгруппированы (к примеру, в алфавитном, хронологическом порядке и т.д.), при дальнейшей прокрутке в том же направлении управление карусельного типа продолжает обходить циклический список. Таким образом, при прокрутке в алфавитном порядке по достижению последнего элемента в управлении карусельного типа (здесь Zornik) управление карусельного типа отображает первый элемент в списке (здесь Abba) в ходе дальнейшей прокрутки посредством пользователя в том же направлении. Обратное тоже истинно, так что при прокрутке в обратном алфавитном порядке по достижению первого элемента в управлении карусельного типа (здесь Abba) управление карусельного типа отображает последний элемент в списке (здесь Zornik) в ходе дальнейшей прокрутки посредством пользователя в том же направлении.
Пользователь также может "перепрыгивать" к конкретному элементу в списке посредством набора одного или более символов на подключенной клавиатуре или другом устройстве ввода данных. Например, при наборе буквы "U" управление карусельного типа может автоматически повернуть или сдвинуть управление карусельного типа так, что первый элемент, соответствующий вводу, отображается вверху области 2005 отображения. Результаты такого ввода показаны на фиг.21.
Аналогично, если пользователь вводит букву "B", управление карусельного типа может перепрыгнуть, чтобы отобразить элемент Beach Boys вверху области 2005 отображения. Тем не менее, если пользователь вводит "B-L" (чувствительность к регистру является необязательной и не требуется) в быстрой последовательности (в раках некоторого предварительно определенного количества времени и/или без задержки, превышающей некоторое предварительно определенное количество времени между вводами), управление карусельного типа может перепрыгнуть, чтобы отобразить элемент Blink 182 вверху области 2005 отображения. Управление карусельного типа может включать в себя процедуру обработчика ввода для прокрутки и перехода к конкретным элементам на основе пользовательского ввода.
Хотя пример по фиг.20 и 21 иллюстрирует алфавитное управление карусельного типа, любая организация элементов в циклическом списке, соответствующая управлению карусельного типа, может быть использована, включая, например, хронологическую, цифровую, по цвету, жанру, категории, значению метаданных, заданному пользователям порядку и т.д. Отображаемые в данный момент элементы 2011a управления 2001 карусельного типа могут предоставлять такой же режим работы, как и другие узлы в дереве 2009 свойств. Т.е. узлы могут перетаскиваться, разворачиваться, сворачиваться и т.д., при этом отображаясь в области 2005 отображения. Специалисты в данной области техники должны признавать, что различные модификации могут быть выполнены в управлении карусельного типа, к примеру, управление карусельного типа может использовать список вместо циклического списка, так что пользователи не могут непрерывно прокручивать через окончания списка. Т.е. когда пользователь достигает конца списка, прокрутка останавливается и не начинается заново в начале нового списка. Аналогично, когда пользователь прокручивает к началу списка, прокрутка не начинается с конца.
Специалисты в данной области техники должны признавать, что различные модификации могут быть выполнены в управлении карусельного типа, чтобы предоставить дополнительную функциональность пользователю. Например, управление карусельного типа может быть использовано с иерархическими свойствами, так чтобы управление карусельного типа становилось вложенным в другое. В этом вложенном варианте осуществления вложенное управление карусельного типа отражает (т.е. основано на) выбранный родительский элемент 2011a из родительского управления карусельного типа, и ярлыки используются во всех видах управления карусельного типа, которые в данный момент имеют фокусировку на ввод.
Управлению карусельного типа может предоставляться любое число вариантов отображения. Например, фиг.22 иллюстрирует управление 2201 карусельного типа согласно другому иллюстративному внешнему виду. Управление 2201 карусельного типа включает в себя верхний маркер 2203, указывающий верхнюю границу области 2005 отображения, нижний маркер 2205, указывающий нижнюю границу области 2005 отображения, маркер 2207 кругооборота, указывающий виртуальную границу между концом и заголовком циклического списка, по мере того как управление карусельного типа циклически возвращается по всему списку, и элементы 2209, 2211 управления прокруткой для прокрутки вверх и вниз, соответственно. Управление карусельного типа, к примеру управление 2201 карусельного типа, может раскрывать возможности навигации и управления пользователю. Пользователь может иметь возможность изменять размер управления 2201 карусельного типа посредством наведения курсора 2213 на граничную линию, к примеру нижнюю границу 2205, и выбора и перетаскивания нижней граничной линии 2205 так, что область 2005 отображения имеет требуемую высоту. Помимо этого, пользователь может дополнительно раскрывать область отображения на максимальную высоту, к примеру, посредством двойного щелчка средства 2211 управления прокруткой вниз. Аналогично, двойной щелчок средства 2209 управления прокруткой вверх может приводить к сворачиванию области отображения, аналогично пользовательскому выбору интерфейсного элемента 2215 разворачивания/сворачивания.
Фиг.1 - это очень упрощенное схематичное представление, иллюстрирующее пример подходящего операционного окружения 100, в котором могут быть реализованы любые или все признаки, описанные в данном документе. Признаки таких окружений хорошо известны специалистам в данной области техники и не должны подробно описываться в данном документе. Операционное окружение 100 - это только один пример подходящего операционного окружения, и оно не предназначено для того, чтобы предлагать какие-либо ограничения на область использования или функциональность изобретения. Подходящие вычислительные окружения для использования с изобретением включают в себя любое вычислительное устройство или вычислительную систему, которая поддерживает взаимодействие между пользователем и машиной.
Со ссылкой на фиг.1, примерная система для реализации изобретения включает в себя вычислительное устройство, такое как устройство 101. Устройство 101 типично включает в себя, по меньшей мере, один процессор 103 и оперативное запоминающее устройство 105, и, по меньшей мере, один уровень кэш-памяти 107, соединенный или находящийся внутри процессора 103 и выступающий в качестве буфера для оперативного запоминающего устройства 105. Устройство 101 имеет дополнительное устройство хранения, включающее в себя, по меньшей мере, один магнитный жесткий 109 диск, который выступает в качестве энергонезависимого вторичного устройства хранения и который дополнительно используется наряду с оперативным запоминающим устройством 105 для предоставления виртуальной памяти. Устройство 101 также может иметь другие устройства 111 хранения, например оптические диски, сменные магнитные диски, магнитную ленту и другие сменные и стационарные машиночитаемые носители, допускающие энергонезависимое хранение программных модулей и данных и доступные посредством устройства 101. Все подобные носители хранения могут быть частью устройства 101. Чтобы упростить взаимодействие между машиной и пользователем, устройство 101 имеет устройства 113 ввода, например, клавиатуру 115 и мышь 117 или другое указательное устройство, и устройства 119 вывода, включающие в себя монитор или другое дисплейное устройство 121. Устройство 101 также типично включает в себя одно или более соединений 123 связи, которые позволяют устройству обмениваться данными с другими устройствами.
Программы, содержащие наборы инструкций и ассоциативно связанные данные для устройства 101, сохраняются в запоминающем устройстве 105, из которого они могут быть извлечены и приведены в исполнение посредством процессора 103. Среди программ и программных модулей, сохраненных в запоминающем устройстве 105, имеются те, которые содержат или ассоциативно связаны с операционной системой 125, а также прикладными программами 127. Устройство 101 имеет одну или более систем логического устройства хранения данных, например файловую систему или альтернативные системы, использующие связанные с базой данных методики, ассоциативно связанные с операционной системой 125. Эти системы логического устройства хранения данных выступают в качестве интерфейсов, которые сопоставляют логически организованные данные с данными, физически размещенными на вторичном носителе хранения, например с данными, сохраненными в кластерах или секторах на жестком диске 109.
Вычислительное устройство 101 включает в себя формы машиночитаемых носителей. Машиночитаемые носители включают в себя любые доступные носители, к которым может осуществляться доступ посредством вычислительного устройства 101. Машиночитаемые носители могут содержать носители хранения и носители связи. Носители хранения включают в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные любым способом или технологией для хранения информации, такой как машиночитаемые инструкции, объектный код, структуры данных, программные модули или другие данные. Носители связи включают в себя любые носители доставки информации и типично осуществляют данные в модулированном сигнале данных, например, волновой несущей или другом транспортном механизме.
Все ссылки, упоминаемые в данном документе, содержатся по ссылке в той степени, как если бы каждая ссылка была отдельно и конкретно указана так, чтобы быть содержащейся по ссылке, и полностью изложена в данном документе.
Использование терминов "a" и "an" и "the" и аналогичных объектов ссылки в контексте описания изобретения (особенно в контексте прилагаемой формулы изобретения) должно истолковываться так, чтобы охватывать единственное и множественное число, если иное не указано в данном документе или явно опровергается контекстом. Термины "содержащий", "имеющий", "включающий в себя" и "вмещающий" должны истолковываться как открытые термины (означающие "включающий, но не только"), если не указано иное. Перечисление диапазонов значений в данном документе служит просто для того, чтобы выступать в качестве укороченного метода задания ссылок отдельно на каждое значение, попадающее в диапазон, если иное не указывается в данном документе, и каждое отдельное значение включается в техническое описание так, как если бы оно было отдельно перечислено в данном документе. Использование всех без исключения примеров или примерный язык (к примеру, "такой как") в данном документе предназначен просто для того, чтобы лучше разъяснять изобретение, и не налагает никаких ограничений на область применения изобретения, если не заявлено иное. Никакой язык в данном подробном описании не должен истолковываться как указывающий какой-либо незаявленный в формуле изобретения элемент в качестве важнейшего для применения изобретения на практике.
В данном документе описаны предпочтительные варианты осуществления, в том числе оптимальный режим, известный авторам изобретения, для осуществления изобретения. Вариации в эти предпочтительные варианты осуществления могут стать очевидными специалистам в данной области техники после прочтения вышеизложенного описания. Авторы изобретения предполагают, что специалисты в данной области техники используют эти вариации надлежащим образом, и авторы изобретения планируют, что изобретение будет использовано на практике способами, отличными от конкретно описанных в данном документе. Следовательно, данное изобретение включает в себя все модификации и эквиваленты в предмет, перечисленный в формуле изобретения, прилагаемой к нему, согласно соответствующему законодательству. Более того, любая комбинация вышеописанных элементов во всех возможных вариациях заключается посредством данного изобретения, если иное не указано в данном документе или явно не опровергается контекстом.
Класс G06F17/30 информационный поиск; структуры баз данных для этой цели
Класс G09G5/34 для "прокрутки" информации или перемещения изображения