СМЕШАННЫЙ КАЛЕНДАРНЫЙ ВИД ПО ДНЯМ И СОБЫТИЯМ ДНЯ
MIXED CALENDAR VIEW BY DAYS AND EVENTS OF DAY

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
Мобильные пользователи, особенно те, которые проводят значительное время, работая вне офиса и далеко от письменного стола, зачастую сильно полагаются на свои мобильные или карманные устройства, чтобы организовать себя и быть вовремя на встречах, деловых свиданиях и вечерних перелетах. Чтобы урегулировать возрастающие запросы таких пользователей, карманные вычислительные устройства, такие как карманные PC, смартфоны и компактные мини-PC, имеют тенденцию уменьшаться и становиться более компактными многофункциональными устройствами. Однако постоянно уменьшающиеся в объеме устройства также подразумевают все меньшие и меньшие размеры экрана. В результате возникают многие новые сложные задачи для приложений с точки зрения передачи и отображения содержимого, которое должно быть и полезным, и читаемым. Для примера возьмем приложение календаря. В пространстве календаря отображение соответствующего содержимого пользователю имеет тенденцию к усложнению, так как размеры экрана уменьшаются.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Последующее описание представляет упрощенное изложение сущности изобретения, чтобы обеспечить базовое понимание некоторых аспектов систем и/или способов, обсуждаемых в данном документе. Это изложение сущности изобретения не является обширным обзором систем и/или способов, обсуждаемых в данном документе. Оно не предназначено для того, чтобы идентифицировать ключевые/критические элементы или устанавливать границы таких систем и/или способов. Его единственная цель - представить некоторые понятия в упрощенной форме в качестве вступления и более подробное описание, которое изложено далее.
Представленная заявка относится к пользовательскому интерфейсу и системе управления пользовательским интерфейсом, которые облегчают визуализацию календарных данных с различных перспектив, особенно на небольших карманных устройствах, где реальный участок экрана лимитирован или ограничен. Более конкретно, элемент управления пользовательского интерфейса отображает элементы календаря в представлении расписания, а также обзорной полосы или панели для текущего временного окна на дисплее. Представление расписания предоставляет подробное линейное перечисление элементов календаря в хронологическом порядке согласно указанному времени. Элементы календаря могут включать в себя деловые встречи, события и действия, которые ассоциированы с конкретным временем дня (например, 13:30-15:00) или могут происходить "весь день" без конкретного указанного времени. Таким образом, представление расписания отображает наименование или заголовок деловой встречи, события или действия, время и местоположение, когда известно, относительно несложным образом, чтобы максимизировать количество текста, который может быть отображен для каждого элемента календаря.
В дополнение к представлению расписания, временно-ориентированная обзорная полоса существующих элементов календаря может отображаться в пространстве отображения вместе с представлением расписания, чтобы предоставить второстепенное понимание продолжительности элементов календаря и того, когда существуют свободные моменты времени в течение дня пользователя. Более конкретно, обзорная полоса может заключать любое число часов или временное окно (например, 8-часовой блок времени от 00:00 до 8:00), посредством чего длина или продолжительность любого одного элемента календаря выражена как полоска. Размер полоски соответствует продолжительности элемента календаря. Полоски могут быть показанными разными цветами или оттенками, чтобы указать состояние деловой встречи или состояние пользователя во время деловой встречи. Например, зеленая полоска для встречи может указывать, что пользователь будет вне офиса во время встречи, или может указывать, что встреча будет проведена через видео-конференцию.
Представление расписания и обзорная полоса могут работать совместно, чтобы предоставить согласующуюся информацию пользователю при просмотре или навигации по информации. Например, если пользователь прокручивает представление расписания, представление обзорной полосы может сдвинуться в соответствующее временное окно, чтобы соответствовать элементам календаря, показанным в текущий момент в пространстве отображения. Сдвиг временного окна либо вперед, либо назад может быть визуализирован с помощью различных анимационных эффектов. В результате такой анимации пользователь запоминает контекст содержимого, отображенного на экране, когда временное окно сдвигается.
Элементы календаря, показанные в представлении расписания, могут включать в себя различные визуальные сообщения, чтобы информировать пользователя о состоянии элемента или о конфликтах между элементами. Обзорная полоса может отражать такие сообщения с помощью похожих визуальных подсказок, чтобы привлечь внимание пользователя. Использование таких визуальных подсказок в обзорной полосе облегчает планирование будущих элементов более эффективным образом. Даже более того, комбинация представления расписания и обзорной полосы, отображенных на экране в одно и то же время, уменьшает число экранов, между которыми пользователь должен переключаться, чтобы получить информацию.
Для осуществления вышеупомянутых и связанных с ними целей определенные иллюстрационные стороны изобретения описаны в данном документе в связи со следующим описанием и прилагаемыми чертежами. Эти аспекты, тем не менее, указывают только на некоторые из множества способов, которыми могут быть использованы принципы изобретения. Изобретение предназначено, чтобы включать в себя все такие аспекты и их эквиваленты. Другие преимущества и новые признаки изобретения могут стать явными из следующего подробного описания изобретения, если рассматривать его вместе с чертежами.
ПЕРЕЧЕНЬ ЧЕРТЕЖЕЙ
Фиг.1 является блок-схемой системы управления пользовательским интерфейсом, которая облегчает отображение элементов календаря с различных перспектив на пользовательском интерфейсе.
Фиг.2 является блок-схемой системы управления пользовательским интерфейсом, которая отображает элементы календаря, по меньшей мере, с двух разных точек зрения (например, представление расписания и представление обзорной полосы), чтобы снабдить пользователя текущей и второстепенной информацией.
Фиг.3 является схемой примерного пользовательского интерфейса, который предоставляет более лучшее, общее восприятие перспективы дня быстро с одного взгляда, в то время как все еще сохраняется возможность увидеть более подробную информацию относительно, по меньшей мере, поднабора элементов календаря.
Фиг.4 является примерным пользовательским интерфейсом, отображающим существующие элементы календаря для отдельного дня.
Фиг.5 является увеличенным представлением примерной обзорной полосы, который демонстрирует способ, которым элемент календаря представлен в обзорной полосе.
Фиг.6 является схемой примерных индикаторов состояния и соответствующих визуальных подсказок (например, цвет) для каждого из них, которые могут быть отражены в элементе календаря в представлении расписания, а также в том же элементе, указанном в обзорной полосе.
Фиг.7 является примерным пользовательским интерфейсом, отображающим визуальный образ, соответствующий, по меньшей мере, одному элементу календаря, рассчитанного на весь день, когда он отражен в представлении расписания и в представлении обзорной полосы.
Фиг.8 является примерным пользовательским интерфейсом, отображающим визуальный образ конфликтующих элементов календаря в представлении расписания и в представлении обзорной полосы.
Фиг.9 является схемой, которая демонстрирует примерные временные окна для 24-часового периода, которые могут быть основаны на ориентации экрана (например, портретной или ландшафтной).
Фиг.10 иллюстрирует типичное окружение для реализации различных аспектов изобретения.
ПОДРОБНОЕ ОПИСАНИЕ
Настоящие системы и/или способы далее описываются со ссылками на чертежи, в которых одинаковые номера ссылок используются, чтобы ссылаться на одинаковые элементы. В следующем описании, для целей пояснения, многие конкретные детали объяснены, чтобы предусмотреть полное понимание систем и/или способов. Тем не менее, очевидно, что настоящие системы и/или способы могут быть применены на практике без этих конкретных деталей. В других случаях на модели блок-схемы показаны распространенные структуры и устройства, чтобы облегчить их.
При использовании в данном документе термины "компонент" и "система" подразумеваются как относящиеся к связанной с компьютером сущности, т.е. либо аппаратным средствам, либо сочетанию аппаратных средств и программного обеспечения, либо программному обеспечению, либо программному обеспечению в ходе исполнения. Например, компонент может быть, но не только, процессом, запущенным на процессоре, процессором, объектом, исполняемым файлом, потоком исполнения, программой и компьютером. В качестве иллюстрации, как приложение, работающее на сервере, так и сервер могут быть компонентом. Один или более компонентов могут храниться внутри процесса и/или потока исполнения, и компонент может быть локализован на компьютере или распределен между двумя и более компьютерами.
Предлагаемые системы и способы могут объединять различные схемы и/или технологии логического вывода в сочетании с распознаванием временного окна, в котором имеет место большинство элементов календаря пользователя, и затем показа этого временного окна при открытии календаря для просмотра. Кроме того, схемы логического вывода могут быть применены, чтобы определить свойства конфликтующих элементов календаря, например, когда приоритетное состояние не было назначено или когда конфликтующее элементы имеют одинаковый приоритет. Более высокие по приоритету элементы могут быть визуально выделены, чтобы становиться более заметными для пользователя.
При использовании в данном документе термин "логический вывод" обычно означает процесс рассуждения или вывода состояний системы, окружения и/или пользователя из набора наблюдений, полученных через события и/или данные. Логический вывод может быть использован для того, чтобы определить конкретный контекст или действие, либо может формировать распределение вероятностей, к примеру, по состояниям. Логический вывод может быть вероятностным, т.е. вычислением распределения вероятностей по интересующим состояниям на основе анализа данных и событий. Логический вывод также может означать методики, используемые для компоновки событий более высокого уровня из набора событий и/или данных. Такой логический вывод приводит к составлению новых событий или действий из набора наблюдаемых событий и/или сохраненных данных событий, независимо от того, коррелируются ли события в тесной временной близости и исходят ли события и данные из одного или нескольких источников событий и данных.
На фиг.1 представлена блок-схема системы 100 управления пользовательским интерфейсом, которая облегчает отображение элементов 105 календаря с различных перспектив на экране в одно и то же время, а в частности, на небольшом экране карманного или переносного устройства. Система 100 управления пользовательским интерфейсом включает в себя компонент 110 многовидового отображения, который может отображать элементы 105 календаря, по меньшей мере, в двух разных видах. Первый или основной вид предоставляет линейное перечисление текущих или предстоящих элементов календаря по отдельному дню. Из-за ограниченного реального участка экрана и количества текста, отображаемого для каждого элемента календаря, компонент 110 отображения может отображать, по меньшей мере, поднабор элементов 105, имеющих место в пределах временного окна. Например, предположим, что временное окно охватывает период в 10 часов (например, 14:00-00:00). Размеры экрана могут отобразить только элементы, происходящие между 14:00 и 18:30, таким образом, заставляя пользователя делать прокрутку вниз, чтобы увидеть деловые встречи, происходящие после этого.
Второй или дополнительный вид предоставляет второстепенный обзор или сжатый вид элементов 105 календаря, которые существуют в пределах временного окна. Этот вид уменьшает необходимость переходить на новую страницу или делать прокрутку на дополнительные виды экрана, чтобы увидеть действия, запланированные во время определенного временного окна. Например, обращаясь к тому же примеру, что и выше, второстепенный обзор может отобразить часы в пределах временного окна в 14:00-00:00 в вертикальной или горизонтальной полосе. Полоска, охватывающая время или продолжительность каждого элемента 105 календаря, может использоваться, чтобы представить соответствующий элемент. Длина полоски может указывать продолжительность элемента (например, фиг.4 ниже), чтобы быстро сообщить, когда пользователь запланировал действия или когда пользователь имеет свободное время (например, доступен). Например, предположим, что пользователь имеет событие продолжительностью в один час, запланированное с 16:00 до 17:00. Длина полоски будет охватывать время с 16 часов до 17 часов. Теперь вообразим, что другое событие запланировано с 14:00 до 14:30. В этом случае длина полоски будет охватывать время с 14 часов приблизительно до средней точки между 14 и 15 часами. Более того, второстепенный вид обеспечивает пользователя быстрой информацией о ее доступности в продолжение дня, тогда как в то же время также отображает текущие и предстоящие деловые встречи более подробно.
Чтобы дополнительно облегчить объем или качество информации, которая предоставляется пользователю через компонент 110 многовидового отображения, компонент 120 уведомления о состоянии может улучшить визуальные представления элементов календаря в представлении расписания, так же как и во второстепенном обзоре. Например, различные цвета могут быть выбраны, чтобы указывать разные статусные состояния, такие как "вне офиса", "занят", "предположительно" и "свободен". Встреча во время обеда может иметь оранжевый цвет, чтобы указать, что пользователь будет вне офиса во время этой деловой встречи. Следовательно, элемент календаря может быть показан оранжевым в представлении расписания, так же как и во второстепенном виде.
Пользовательский интерфейс также включает в себя компонент 130 уведомления о конфликте. Компонент 130 уведомления о конфликте может предоставлять визуальную подсказку, когда существует конфликт между элементами календаря. В частности, визуальная подсказка о конфликте может быть представлена в конкретном элементе календаря в линейном перечислении, а соответствующий визуальный индикатор может быть показан, когда выбирается соответствующая полоска во второстепенном обзоре.
Как обсуждалось ранее, представление второстепенного обзора может отобразить выбранный блок времени (например, в часах). При первоначальном просмотре элементов календаря по команде "открыть" в приложении/программе календаря исходный вид календаря может быть настроен посредством интеллектуального элемента 140 управления видом. Исходный вид может задавать временное окно по умолчанию, которое всегда появляется сначала при открытии или активировании программы. Например, исходный вид может автоматически показать только утренние или только послеобеденные действия. В альтернативе, интеллектуальный элемент 140 управления видом может исследовать элементы календаря пользователя и определить, когда запланированы большинство элементов календаря, и затем показать выделенный интервал времени, который показывает большинство элементов. Например, предположим, что большинство элементов календаря пользователя происходят утром (первое временное окно). На основе этого определения интеллектуальный элемент 140 управления видом может сделать вывод, что более подходящим исходным видом является "утреннее" временное окно. Временное окно, показанное в исходном виде, может изменяться ежедневно на основе элементов календаря для данного дня или может быть фиксировано (например, всегда показывать утреннее временное окно).
Интеллектуальный элемент 140 управления видом может также определить, какое временное окно показать в исходном виде, исследуя приоритет или уровень важности, назначенный элементам календаря. Например, предположим, что существуют два элемента с высоким приоритетом, запланированные на утро (например, перед полуднем), и 6 элементов с "обычным" или более низким приоритетом, установленные на послеобеденное время (например, с полудня до 17:00). Интеллектуальный элемент 140 управления видом может быть запрограммирован, чтобы автоматически показывать элементы с более высоким приоритетом в исходном виде, даже если большинство действий пользователя запланированы на послеобеденное время.
На фиг.2 показана блок-схема компонента 110 многовидового отображения, который предложен на рассмотрение на фиг.1, который отображает элементы календаря, по меньшей мере, в двух разных видах (например, в представлении расписания и в представлении обзорной полосы), чтобы предоставить пользователю текущую и второстепенную информацию. Пользовательский интерфейс включает в себя объект 210 отображения временного окна и объект 220 отображения расписания - оба могут передавать некую похожую информацию. В частности, объект 220 отображения расписания перечисляет элементы календаря в хронологическом порядке так, что пользователь может легко определить следующую встречу, деловое свидание, событие и т.д. Пользователь может легко прочитать содержимое каждого элемента календаря в списке и посредством использования различных визуальных индикаторов может быстро определить его состояние с точки зрения того, занят ли он, находится вне офиса или предположительно занят и конфликтуют ли какие-либо элементы календаря друг с другом.
Объект 210 отображения временного окна предоставляет сжатый вид информации, отображенной в объекте 220 отображения расписания для отдельного блока времени. Когда пользователь прокручивает список элементов в объекте 220 отображения расписания (через один или более компонентов 230 навигации), временное окно может смещаться или скользить влево или вправо в зависимости от элементов на экране в (или посредством) объекте 220 отображения расписания. Таким образом, временное окно может быть установлено с 8:00 до 18:00. Здесь пользователь может видеть, где элементы существуют в течение этого 10-часового периода, и может видеть каждый элемент (например, 1 час, 30 минут, 1,5 часа и т.д.).
На фиг.3 показана схема примерного пользовательского интерфейса 300, который оптимизирует просмотр элементов календаря из многих перспектив одновременно. Пользовательский интерфейс 300 содержит полосу 310 состояния устройства, которая может предоставлять информацию об устройстве, такую как срок службы батареи, использование AC-адаптера, мощность сигнала, скорость соединения, доступная память и т.п. Пользовательский интерфейс 300 может также включать в себя полосу 320 состояния пользователя, которая предоставляет информацию, более относящуюся к пользователю или условиям пользовательского окружения. Например, полоса состояния пользователя может отображать текущую дату и/или время, текущую температуру окружающей среды и/или текущие погодные условия.
Кроме того, пользовательский интерфейс 300 содержит обзорную полосу или панель 330, которая предоставляет обзор пользовательского расписания и доступность в интервале времени в несколько часов. Например, обзорная полоса 330 может указывать доступность пользователя или когда элементы календаря присутствуют за пределами 9-часового блока времени. Напротив, пользовательский интерфейс 300 также включает в себя пространство 340 просмотра элементов календаря, которое предоставляет более подробный вид каждого элемента календаря. Пространство 340 просмотра элементов календаря может показать первые 4 элемента календаря в этом 9-часовом блоке более подробно. Пользователь может прокручивать или переходить на предыдущую или следующую страницу, чтобы увидеть какие-либо другие элементы календаря, которые могут присутствовать в течение или вне этого же самого 9-часового блока времени. Следовательно, пользователь может получить лучшее общее восприятие перспективы дня быстро с одного взгляда, все еще сохраняя возможность просмотреть более подробную информацию относительно, по меньшей мере, поднабора элементов календаря, которые в настоящее время находятся на экране.
Когда пользователь перемещается назад или вперед по своим элементам календаря, могут использоваться анимационные эффекты, чтобы акцентировать изменение в часах, которые видимы в обзорной полосе 330. Например, предположим, что текущий блок времени в обзорной полосе 330 имеет диапазон от 10:00 до 18:00. Пользователь осуществляет навигацию по пространству 340 просмотра элемента календаря, чтобы посмотреть другие элементов календаря, которые в настоящее время находятся вне экрана. Когда пользователь переходит к набору элементов, которые должны произойти после 18:00, блок времени в обзорной полосе 330 может визуально перемещаться (скользить) влево, чтобы показать любые события, запланированные между 18:00 и 24:00. Используя такие анимационные эффекты, пользователь сохраняет некоторый контекст текущего содержимого, когда обзорная полоса сдвигается в любом направлении.
Фиг.4 иллюстрирует такие признаки более подробно графически. В частности, пользовательский интерфейс 400 отображает существующие элементы календаря для отдельного дня (например, 19 сентября 2005 года) с двух разных точек зрения. В первой обзорная полоса или панель 420 предоставляет сжатый вид действий пользователя между 8:00 и 17:00. Должно быть понятно, что время может быть показано в гражданском или в военном времени, таком как изображено в пользовательском интерфейсе 400.
Во второй представление 430 расписания предоставляет расширенный вид, по меньшей мере, поднабора элементов 410 календаря в момент времени. В результате видимы большие подробности относительно каждого элемента календаря. Например, обзорная полоса 420 указывает, что пользователь запланировал деятельность с 9:00 до 9:30; деятельность с 12:00 по 13:30; деятельность с 13:30 до 14:00 и другую деятельность с 16:00 до 17:30. Быстро взглянув на экран, пользователь может распознать, когда у него есть свободное время. Однако в то же самое время пользователь может также увидеть, какая деятельность запланирована с 9:00 до 9:30 утром, также как и ее местоположение. Когда пользователь прокручивает вверх или вниз представление 430 расписания, обзорная полоса 420 может автоматически сдвигаться на соответствующий блок времени без непосредственной манипуляции со стороны пользователя.
В дополнение к указанию того, когда элементы календаря имеют место, и к их продолжительности, обзорная полоса 420 также может предоставить более выразительную информацию о каждом отдельном элементе. Например, может применяться цвет, чтобы указать состояние пользователя. Один цвет может означать состояние "занят", в то время как другой цвет или другой оттенок того же цвета может означать состояние "вне офиса". В этом пользовательском интерфейсе 400 фиолетовый цвет указывает, что пользователь будет находиться вне офиса во время обеденной встречи в 12:00. Цвет может также использоваться, чтобы описать дополнительные аспекты элемента. Например, розовый цвет может обозначать встречи или действия дочери пользователя; зеленый может использоваться для встреч с доктором пользователя, а красный может использоваться для "обязательных к исполнению по службе" событий. Таким образом, когда пользователь видит розовые или зеленые элементы, он может немедленно узнать и осознать конкретные детали о соответствующих элементах без фактического поиска или обращения к элементам в окне 430 расписания.
Навигация внутри пространства просмотра элемента календаря (или представления 430 расписания) может также быть визуализирована в обзорной полосе 420. Например, предположим, что пользователь выделяет встречу в 12:00 в представлении расписания. Соответствующее время также выбирается или заключается в рамку (синюю рамку выбора) в обзорной полосе 420. Подобным образом цвет элемента может быть отражен и в обзорной полосе 420, и в представлении 430 расписания.
Фиг.5 предоставляет увеличенный вид примерной обзорной полосы 500, чтобы лучше иллюстрировать интервалы в часах. Обзорная полоса позволяет пользователю увидеть его расписание и доступность в перспективе линии времени. Как указано на фиг.5, каждый сегмент времени (например, каждый час) в полосе начинается с левого края числа и заканчивается с левого края следующего числа. Если начало встречи запланировано на 9:00, а конец - на 9:30, тогда первая часть сегмента 9 часов может быть затенена, чтобы указать, что событие запланировано начаться в 9:00 и длиться в течение 30 минут. Для очень коротких встреч, таких как те, которые длятся 0 или 1 минуту, минимум пикселей вертикальной линии может отображаться, чтобы указать пользователю, что элемент, хотя и очень короткий по продолжительности, запланирован в это время.
Фиг.6 является схемой 600 примерных индикаторов состояния и соответствующих визуальных подсказок (например, цвет), которые могут быть отражены в элементе календаря в представлении расписания, также как и в обзорной полосе. Например, различные оттенки от синего до фиолетового могут указать, что состояние пользователя «под вопросом», «занято» и «вне офиса», тогда как белый может указывать, что он «свободен». Следует понимать, что другие цвета или типы состояния также могут применяться.
На фиг.7 показан примерный пользовательский интерфейс 700, который отображает два разных визуальных индикатора для элемента календаря на весь день. В частности, и представление расписания, и обзорная полоса включают в себя один визуальный индикатор. Обзорная полоса отображает сплошную линию 710 над часами, тогда как представление расписания отображает текст элемента 720 на весь день, установленный отдельно от всех других элементов 730 календаря. Цвет линии и элемента календаря может соответствовать индикатору состояния, как обсуждалось на фиг.4 и фиг.6 ранее. Когда более чем один элемент, рассчитанный на весь день, запланирован для любого одного дня, линия может быть изображена разными способами, чтобы представить, что более чем одно событие, рассчитанное на весь день, запланировано для этого дня. Альтернативно, сплошная линия может уведомить пользователя, что, по меньшей мере, одно событие, рассчитанное на весь день, существует в этот день. Должно быть понятно, что линия 720 может быть сплошной, как показано на фиг.7, или может быть показана как пунктирная, штриховая или иным образом прерывистая, чтобы предоставить пользователю дополнительный контекст относительно элемента.
На фиг.8 показан примерный пользовательский интерфейс 800, отображающий визуальный образ конфликтующих элементов календаря, как в представлении расписания, так и в обзорной полосе. В представлении расписания каждый из конфликтующих элементов календаря имеет иконку или символ 810 (окруженный штриховой линией), отображенный на нем. При выборе в представлении расписания соответствующий блок времени в обзорной полосе обрисовывается неким другим цветом, например, красным, чтобы уведомить пользователя о том, что элементы календаря перекрываются или находятся в конфликте друг с другом. Когда события перекрывают друг друга в обзорной полосе, приоритет может быть отдан на основе состояния встречи. Цвет состояния выбранного элемента может быть выдвинут на передний план. Элементы с более высоким приоритетом могут быть представлены с помощью конкретных цветов, затенения или посредством ассоциирования символа с ними, так что пользователь может легко идентифицировать, какие элементы имеют более высокий приоритет, и, таким образом, требуют внимания пользователя. Следует понимать, что элементы с более низким приоритетом или неприоритетные в конфликте с элементами с более высоким приоритетом могут все еще быть видны пользователю, однако они могут быть показаны обесцвеченными или в другом цвете, отличном от элементов с более высоким приоритетом.
Для конфликтующих элементов, имеющих одинаковый приоритет, система управления пользовательским интерфейсом может определить, какой элемент отдельный пользователь наиболее вероятно предпочтет, и визуально улучшить этот элемент для более легкой читабельности. Такие определения могут быть сделаны с помощью систем пользовательского интерфейса, также как и систем искусственного интеллекта, которые могут обучаться на пользовательских данных предыстории, включающих в себя, но не только, ранее введенные элементы календаря.
На фиг.9 изображена схема, которая демонстрирует примерные временные окна для 24-часового периода, которые могут быть основаны на ориентации экрана (например, портретной или ландшафтной). Для большинства пользователей большая часть их дневной деятельности происходит в пределах 8-10-часового промежутка времени. Устанавливая фиксированные или гибкие временные окна, число контекстных изменений, которые пользователю нужно будет осознать, когда он осуществляет навигацию по своему расписанию, может быть минимизировано. Сама прокрутка может использовать следующий алгоритм:
- первоначальное условие: начало во 2-м наборе часов (включающем в себя дни, которые не имеют встреч вовсе);
- когда выбрана встреча, проверяется, видна ли какая-либо часть этой встречи в наборе часов, показываемом в настоящий момент.
- Если так, остаться в текущем наборе часов.
- Если нет, перейти на страницу соответствующего набора часов таким образом, чтобы он стал видимым.
Если соответствующий набор часов является неопределенным, показать набор, который является наиболее близким по времени к показываемому в текущий момент набору часов. Например: если пользователь делает прокрутку от встречи в 6:00 (недвусмысленно в 1-м наборе) к встрече в 17:00 (и во 2-м, и в 3-м наборах), алгоритм должен выбрать набор 2, так как он ближе к набору 1.
Чтобы обеспечить дополнительный контекст для различных аспектов настоящего изобретения, фиг.10 и дальнейшее обсуждение предназначены для того, чтобы предоставить краткое общее описание подходящего рабочего окружения 1010, в котором могут быть реализованы различные аспекты настоящего изобретения. Хотя изобретение описано в общем контексте машиноисполняемых команд, таких как программные модули, исполняемые одним или более компьютерами или другими устройствами, специалисты в данной области техники должны признавать, что изобретение также может быть реализовано в сочетании с другими программными модулями и/или в качестве сочетания аппаратных средств и программного обеспечения.
Тем не менее, программные модули, в общем, включают в себя процедуры, программы, объекты, компоненты, структуры данных и т.д., которые выполняют отдельные задачи или реализуют отдельные абстрактные типы данных. Рабочее окружение 1010 - это только один пример подходящего рабочего окружения, и оно не предназначено для того, чтобы предлагать какие-либо ограничения на область использования или функциональность изобретения. Другие широко распространенные компьютерные системы, окружения и/или конфигурации, которые могут быть подходящими для использования с изобретением, включают в себя (но не только) персональные компьютеры, "карманные" компьютеры или дорожные компьютеры, многопроцессорные системы, системы на базе микропроцессоров, программируемую бытовую электронную аппаратуру, сетевые ПЭВМ, мини-ЭВМ, мейнфреймы, распределенные вычислительные окружения, которые содержат вышеуказанные системы и устройства, и т.п.
Со ссылкой на фиг.10, типичное окружение 1010 для реализации различных сторон изобретения включает в себя компьютер 1012. Компьютер 1012 включает в себя процессор 1014, системное запоминающее устройство 1016 и системную шину 1018. Системная шина 1018 соединяет компоненты системы, в том числе (но не только) системное запоминающее устройство 1016, с процессором 1014. Процессор 1014 может быть любым из различных доступных процессоров. Архитектуры с двумя микропроцессорами и другие многопроцессорные архитектуры также могут быть использованы в качестве процессора 1014.
Системная шина 1018 может быть любого из нескольких типов структур шин, в том числе шины памяти или контроллера памяти, периферийной шины или внешней шины и/или локальной шины, используя любую из множества архитектур шин, в том числе (но не только) 11-битную шину, шину промышленного стандарта (ISA), шину микроканальной архитектуры (MCA), расширенную шину ISA (EISA), встроенный интерфейс накопителей (IDE), локальную шину Ассоциации по стандартам в области видеоэлектроники (VLB), шину межсоединения периферийных компонентов (PCI), универсальную последовательную шину (USB), ускоренный графический порт (AGP), шину Международной ассоциации производителей плат памяти для персональных компьютеров (PCMCIA) и шину интерфейса малых вычислительных систем (SCSI).
Системная шина 1016 включает в себя энергозависимое запоминающее устройство 1020 и энергонезависимое запоминающее устройство 1022. Базовая система ввода-вывода (BIOS), содержащая основные процедуры, чтобы передавать информацию между элементами в компьютере 1012, например, при запуске, хранится в энергонезависимом запоминающем устройстве 1022. В качестве иллюстрации, но не ограничения, энергонезависимое запоминающее устройство 1022 может включать в себя постоянное запоминающее устройство (ROM), программируемое ПЗУ (PROM), электрически программируемое ПЗУ (EPROM), электрически стираемое программируемое ПЗУ (EEPROM) или флэш-память. Энергозависимое запоминающее устройство 1020 включает в себя оперативное запоминающее устройство (RAM), которое выступает в качестве внешней кэш-памяти. В качестве иллюстрации, но не ограничения, ОЗУ доступно во многих формах, например статическое ОЗУ (SRAM), динамическое ОЗУ (DREAM), статическое DREAM (SDRAM), SDRAM с двойной скоростью передачи данных (DDR SDRAM), улучшенное SDRAM (ESDRAM), Synchlink DRAM (SLDRAM) и direct Rambus RAM (DRRAM).
Компьютер 1012 также включает в себя сменные/стационарные, энергозависимые/энергонезависимые компьютерные носители данных. Фиг.10 иллюстрирует, например, накопитель 1024 на дисках. Накопитель 1024 на дисках включает в себя (но не только) такие устройства, как накопитель на магнитных дисках, накопитель на гибких дисках, ленточный накопитель, накопитель Jaz, накопитель Zip, накопитель LS-100, карту флэш-памяти или карту Memory Stick. Помимо этого накопитель 1024 на дисках может включать в себя носители данных независимо от или в сочетании с другими носителями данных, в том числе (но не только) накопителем на оптических дисках, например, устройством чтения компакт-дисков (CD-ROM), накопителем на записываемых компакт-дисках (CD-R Drive), накопителем на перезаписываемых компакт-дисках (CD-RW Drive) или накопителем чтения универсальных цифровых дисков (DVD-ROM). Чтобы упростить подключение устройств 1024 накопителей на дисках к системной шине 1018, в типичном варианте используется интерфейс сменной или стационарной памяти, например, интерфейс 1026.
Следует принимать во внимание, что фиг.10 описывает программное обеспечение, которое выступает в качестве посредника между пользователями и базовыми вычислительными ресурсами, описанными в надлежащем рабочем окружении 1010. Такое программное обеспечение включает в себя операционную систему 1028. Операционная система 1028, которая может быть сохранена на накопителе 1024 на дисках, служит для того, чтобы контролировать и распределять ресурсы компьютерной системы 1012. Системные приложения 1030 используют преимущества управления ресурсами операционной системой 1028 посредством программных модулей 1032 и программных данных 1034, сохраненных либо в системном запоминающем устройстве 1016, либо на диске 1024. Следует принимать во внимание, что настоящее изобретение может быть реализовано с различными операционными системами или сочетаниями операционных систем.
Пользователь вводит команды или информацию в компьютер 1012 посредством устройств 1036 ввода. Устройства 1036 ввода включают в себя (но не только) указательное устройство, такое как мышь, шаровой манипулятор, перо, сенсорную панель, клавиатуру, микрофон, джойстик, игровую панель, спутниковую антенну, сканер, плату ТВ-тюнера, цифровую камеру, цифровую видеокамеру, web-камеру и т.п. Эти и другие устройства ввода подключаются к процессору 1014 через системную шину 1018 посредством интерфейсного порта(ов) 1038. Интерфейсный порт(ы) 1038 включает в себя, например, последовательный порт, параллельный порт, игровой порт и универсальную последовательную шину (USB). Устройство(а) 1040 вывода использует те же типы портов, что и устройство(а) 1036 ввода. Таким образом, например, порт USB может быть использован для того, чтобы предусмотреть ввод в компьютер 1012 и чтобы выводить информацию из компьютера 1012 на устройство 1040 вывода. Адаптер 1042 вывода предусмотрен для того, чтобы проиллюстрировать, что существуют некоторые устройства 1040 вывода, такие как мониторы, динамики и принтеры среди прочих устройств 1040 вывода, которые требуют специальных адаптеров. Адаптеры 1042 вывода включают в себя, в качестве иллюстрации, но не ограничения, видео- и звуковые платы, которые предусматривают средство соединения между устройством 1040 вывода и системной шиной 1018. Следует заметить, что другие устройства и/или системы устройств предусматривают возможности как ввода, так и вывода, например, удаленные компьютеры 1044.
Компьютер 1012 может функционировать в сетевом окружении, используя логические соединения с одним или более удаленными компьютерами, например, удаленными компьютерами 1044. Удаленным компьютером(ами) 1044 может быть персональный компьютер, сервер, маршрутизатор, сетевой ПК, рабочая станция, устройство на базе микропроцессора, одноранговое устройство или другой стандартный сетевой узел и т.п., и в типичном варианте включает в себя большинство или все из элементов, описанных относительно компьютера 1012. В целях краткости только запоминающее устройство 1046 проиллюстрировано с удаленным компьютером(ами) 1044. Удаленные компьютеры 1044 логически подсоединены к компьютеру 1012 посредством сетевого интерфейса 1048 и затем физически подсоединены через соединение 1050 связи. Сетевой интерфейс 1048 заключает в себе сети обмена данными, такие как локальные сети (LAN) и глобальные сети (WAN). Технологии LAN включают в себя распределенный интерфейс передачи данных по волоконно-оптическим каналам (FDDI), распределенный проводной интерфейс передачи данных (CDDI), Ethernet/IEEE 1102,3, Token Ring/IEEE 1102,5 и т.п. Технологии WAN включают в себя, но не только, двухточечные каналы связи, сети с коммутацией каналов, такие как цифровые сети с комплексными услугами (ISDN) и их разновидности, сети с коммутацией пакетов и цифровые абонентские линии (DSL).
Коммуникационные соединения 1050 подразумевают аппаратные средства/программное обеспечение, используемые для того, чтобы подключить сетевой интерфейс 1048 к шине 1018. Хотя коммуникационное соединение 1050 показано в целях иллюстративной ясности внутри компьютера 1012, оно также может быть внешним по отношению к компьютеру 1012. Аппаратные средства/программное обеспечение, необходимое для подключения к сетевому интерфейсу 1048, включают в себя (только для типичных целей) внутренние и внешние технологии, например модемы, в том числе модемы на регулярных телефонных линиях, кабельные модемы и DSL-модемы, ISDN-адаптеры и платы Ethernet.
То, чтобы было описано выше, включает в себя примеры настоящей системы и/или способа. Конечно, невозможно описать каждое возможное сочетание компонентов или методик в целях описания настоящей системы и/или способа, но обычный специалист в данной области техники может признать, что многие дополнительные сочетания и перестановки настоящей системы и/или способа допустимы. Следовательно, настоящая система и/или способ подразумеваются как охватывающие все подобные преобразования, модификации и разновидности, которые подпадают под объем, определяемый прилагаемой формулой изобретения. Более того, в пределах того, как термин "включает в себя" используется либо в подробном описании, либо в формуле изобретения, этот термин должен быть включающим в смысле, аналогично термину "содержит", как "содержит" интерпретируется, когда используется в качестве промежуточного слова в формуле изобретения.