Ключевые изменения в интерфейсе Антон Шепитько antonsh@microsoft.com. презентация

Содержание

Цели и области улучшения Развитие интерфейса

Слайд 1
Ключевые изменения в интерфейсе
Антон Шепитько
antonsh@microsoft.com


Слайд 2Цели и области улучшения
Развитие интерфейса


Слайд 5Сколько окон обычно открывают пользователи?


Слайд 60.21%
Процент сессий с таскбаром справа


Слайд 74.97%
Процент сессий, где таскбар автоматически скрывается


Слайд 8Установки Vista Taskbar Как часто опции используются?


Слайд 9Ключевые цели: Быстрее и Чаще
То что чаще используется должно быть быстрее

доступно
Просто получить доступ к программам, файлам, URL с минимальным количеством движений мыши.

Проще управлять окнами
Возможность переключать окна быстро и без ошибок;
Возможность легко позиционировать окна на экране.

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

Ясный и легкий
Интерфейс хорошо организован, легок и приятен в использовании.

Слайд 10WINDOWS 7 TASKBAR


Слайд 11Что изменилось

Больше нет панели Quick Launch
Унификация старта приложения и переключения окон
Не

надо туда добавлять ShortCut-ы
Папочки остались для совместимости
Не ищите новый интерфейс для Quick Launch


Слайд 12

Мини стартовое меню для приложения
Область для стандартных задач и часто используемых

файлов
Настраивается
Доступно по правому щелчку мышью и по перетаскиванию

Jump Lists Обзор


Слайд 13Jump Lists Подробнее
Места назначения
(“destinations”)
Задачи
(“tasks”)
Недавно использованные
Пользовательск. категории
Пользовательские задачи
Стандартные задачи
Прикрепленные категории


Слайд 14Jump Lists Что за бесплатно
Пользовательск. категории
Места назначения
(“destinations”)

Задачи
(“tasks”)
Пользовательские задачи
Стандартные задачи

Недавно использованные (спасибо SHAddToRecentDocs)
Прикрепленные категории


Слайд 15Приложение может изменить свой Jump List
Места назначения:
Стандартные (недавно использованные, часто используемые)
Пользовательские

категории (приложение поставляет список)

Пользовательские задачи находятся во встроенной категории - Tasks
Задачи не могут быть приколоты или убраны пользователем

Задачи и места назначения - это IShellItems или IShellLinks
Задачи – это IShellLinks и места назначения - IShellItems

Jump Lists Настройка


Слайд 16Ярлыки, Jump Lists, управление окнами объединены в единую группу
“Application User Model

ID” основа для группировки
Короткое название “AppID”
Это строка
Каждая группа на таскбаре имеет свой AppID

AppID Унификация старта приложения и переключения окон


Слайд 17AppID Кто участвует
AppID


Слайд 18По умолчанию AppID вычисляется по имени процесса
Но что если…
Приложение состоит из

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

…Тогда непосредственно декларируйте AppID
SetCurrentProcessExplicitAppUserModelID

AppID Откуда они берутся?


Слайд 19AppID Эвристика определения AppID
AppID
Авт. вычисление


Слайд 20
Пульт ДУ для окна
Для ключевых команд
До 7 кнопок
Доступ из миниокна ТaskBar

Панели

управления мини окнами Обзор

Слайд 21Панели управления мини окнами Сравнение с пользовательскими задачами


Слайд 22Реализован интерфейс New ITaskbarList3
Использовать после оконного сообщения “TaskbarButtonCreated”

Создавать кнопки с помощью

структуры THUMBBUTTON:
typedef struct tagTHUMBBUTTON
{
DWORD dwMask;
UINT iId; // Unique button ID
UINT iBitmap; // Imagelist ID
HICON hIcon; // ...or an HICON
WCHAR szTip[260]; // Tooltip string
DWORD dwFlags; // Enable/disable/hide/etc
} THUMBBUTTON;

Далее приложение получит сообщения о нажатии кнопки с ее ID

Панели управления мини окнами API и использование


Слайд 23Перекрывающие иконки (Overlay Icons) Обзор

Средство для важных нотификаций
Появляются поверх иконки приложения


Слайд 24
Чтобы установить перекрывающую иконку используйте ITaskbarList3:


HRESULT SetOverlayIcon(
HWND hwnd,
HICON

hIcon);

Перекрывающие иконки API и использование


Слайд 25

Способ показать ход длительной операции
Появляется на кнопке на TaskBar

Progress Bars Обзор


Слайд 26Чтобы использовать эту возможность используйте ITaskbarList3:


HRESULT SetProgressState(HWND hwnd,

TBPFLAG tbpFlag);


HRESULT SetProgressValue(
HWND hwnd,
ULONGLONG ulCompleted,
ULONGLONG ulTotal);


Пользователи стандартого диалога получат эту возможность автоматически (CLSID_ProgressDialog)

Progress Bars API и использование


Слайд 27
Возможность для расширения интерфейса(например MDI)
Миниокна для каждого окна (документа, закладки) приложения
Появляются

среди миниокон приложения над TaskBar

Пользовательские переключения Обзор


Слайд 28ITaskbarList3

HRESULT RegisterTab(HWND hwndTab,

HWND hwndFrame);

HRESULT UnregisterTab(HWND hwndTab);

HRESULT SetTabOrder(HWND hwndTab,
HWND hwndInsertAfter);

HRESULT SetTabActive(HWND hwndTab,
HWND hwndFrame,
TBATFLAG tbatFlags);

Пользовательские переключения TDI/MDI дочерние окна


Слайд 29Для разработчиков, использующих:
WPF – появится в .NET 4
XAML декларация многих свойств
Другие

возможности WPF: например связывание с данными, векторные изображения
MFC 7 – появится в Visual Studio 2010
Объектная модель поддерживающая новые возможности
Windows 7 Platform SDK
Windows 7 Bridge – доступ к API из managed кода

Поддержка со стороны платформы Скоро:


Слайд 30Интегрироваться с Windows 7!
Понять как Ваше приложение впишется в новую идеологию
Унификация

запуска и переключений
Jump Lists
Миниокна, перекрывающие иконки, Progress Bars и т.д.
TDI/MDI переключения
Изучить новые API
Примеры в Windows 7 Beta Platform SDK
WPF поддержка в .NET 4

Что делать сегодня


Слайд 31Windows 7 TaskBar

DEMO


Слайд 32WINDOWS SCENIC RIBBON


Слайд 33Office 2007 Ribbon
Office Button
Quick Access Toolbar
Tab
Contextual Tab Set
Contextual Tab
Help
Group (aka “Chunk”)
Dialog

Box Launcher

Слайд 34Windows Scenic Ribbon
Выходит с Windows 7, будет доступен и для Vista
Win32

API, COM-based
Близок по возможностям к Microsoft Office 2007 Ribbon

Слайд 35Scenic Ribbon Controls


Слайд 36Важно: тип приложения?
Преимущества
Отличный способ показать возможности
Команды легко найти
Пользователи быстро обучаются
Классно смотрится

– шанс показать себя!
Отличный ресурс: Ribbon Guidelines http://msdn.microsoft.com/en-us/library/cc872782.aspx

Когда использовать Ribbon?


Слайд 37Ribbon В зависимости от потребностей
1 Office 2007 есть,  Windows style будет в

2009

Microsoft Ribbon


MFC


Scenic


WPF

Аудитория:
Managed

Аудитория:
MFC native

Аудитория:
Native

.NET 3.5

Win2K or newer

Vista or newer

Office 2007 & Windows стили

Office 2007 & Windows стили1

Windows стиль

Есть beta… Официальный релиз в 2009

Уже в Visual Studio 2008 SP1

Скоро…
Вместе с Windows 7


Слайд 38Схема Model View Controller
Код и интерфейс развязаны
Простой C++ API

Архитектура


Markup
Organization of

controls


Слайд 39Обработчики абстрагированы от специфичных контролов
Визуальный стиль автоматически выбирается на основе расположения
Связанность

и базовая функциональность гарантируются платформой

Программная модель


Слайд 40Windows 7 Scenic Ribbon

DEMO


Слайд 41Поиск, визуализация и организация данных
Огромный рост цифровой информации
Нужны мощные и простые

средства поиска, организации и просмотра
Два основных пути для поиска данных
Просмотр по месту, контексту и т.д.
Поиск по имени, метаданным и полному тексту
Много способов организации данных
Файлы и папки
Метаданные (теги, альбомы, даты съемки и т.д.)


Слайд 42Windows Explorer
Rich Metadata
Cleaner navigation
Easy Previews
Powerful Instant Search
Arrangement Views
Federated Search
Libraries


Слайд 43Библиотеки (Libraries)
Люди хотят просматривать файлы безотносительно того, как они расположены по

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

Слайд 44Библиотеки (Libraries) Отображение файлов из множества источников


Слайд 45Библиотеки (Libraries)
Приложение должно
Поддерживать открытие и сохранение файлов в библиотеки
Выбирать и просматривать

содержимое библиотеки
Быть в контексте местоположения файлов библиотеки
Windows 7 поддерживает это при помощи
Common File Dialog
Native: IFileDialog
Managed: System.Windows.Forms.FileDialog
Shell abstractions (IShellFolder)
Нового Library API

Слайд 46Windows 7 Libraries

DEMO


Слайд 47Federated Search
Информация растет на 40% год от года
Данные уходят с декстопов

в сеть
Совместная работа
Совместный доступ

Нужен поиск по этой информации

Слайд 48Federated Search


Слайд 49Federated Search
Удобно для пользователей
Предпросмотр, метаданные, drag-and-drop
В парадигме Windows Explorer
Простая интеграция
Без клиентского

кода
Любая серверная платформа
Стандарты
OpenSearch 1.1
RSS and ATOM
Аутентификация
Windows Integrated

Слайд 50Federated Search
Поисковые провайдеры должны
Принимать URL запросы
Пример: http://www.contoso.com/q={searchTerms}
Возвращать результаты в форме rich

RSS

Слайд 51
Изменения на уровне платформы
Антон Шепитько
antonsh@microsoft.com


Слайд 52Системные активности которые не были запущены непосредственно пользователем
Сервисы, Задачи по расписанию,

некоторые COM процессы и т.д.
Встречаются повсеместно:
Индексирование при поиске
Проверки по требованиям безопасности
Управление сетью
Управление устройствами

Фоновые процессы


Слайд 53Влияние фоновых процессов


Слайд 54Внутренняя оценка 49 сервисов (во время загрузки)
Не критичны для загрузки
Критичны и

нужны для своих сценариев

Влияние фоновых процессов


Слайд 55Влияние фоновых процессов
Сравнивая чистую Windows Vista с OEM версией:
Добавили 10 сервисов


Слайд 56Сервисы и задачи



Слайд 57Auto_Start сервис стартует при загрузке и никогда не завершается
Чаще всего используется
Прост

для разработчиков — всегда работает!
Проблемы
Увеличивает время загрузки
Много Auto_Start сервисов ждут редких событий

Windows Services: Auto_Start


Слайд 58Trigger-Start запуск сервиса при необходимости
SCM регистрируется на события:
Подключение устройства
Получение/смена IP адреса
Подключение

или выход и домена
Изменение групповых политик
Другое
SCM стартует или завершает зарегистрированные сервисы

Windows 7: Сервисы Trigger-Start


Слайд 59Самоостановка
Если нет запросов и задач и Trigger-Start или Demand_Start
Выключение компьютера
Не используйте

SERVICE_ACCEPT_SHUTDOWN без необходимости
Не надо чистить память если сервис - standalone process
Старайтесь завершиться не более чем за 200ms

Завершение работы сервисов


Слайд 60Никаких блокирующих действий!
WaitForSingleObject, CreateFile, RPCs
Всю работу в thread pool
Для кодов возврата

используйте инструкции MSDN

Service Control Handler


Слайд 61Календарь
Загрузка
Logon
Idle
Запись в Event log
Блокировка/ разблокировка компьютера
Триггеры для задач


Слайд 62Idle condition
Остановиться при выходе из Idle
Только при работе от сети
Остановка при

работе от батареи
Выход из sleep
При сетевых соединениях

Условия для задач


Слайд 63IDLE!!!

Батарея
Сеть

Рекомендации


Слайд 64Почему потребление энергии важно учитывать?
Потребление в ваттах
80386SX
Core 2 Extreme QX6700


Слайд 65Во многом дело в ПО


Слайд 66Понять, что ПО сильно влияет на потребляемую компьютером энергию
Уменьшить утилизацию ресурсов
IDLE
Приспособить

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

Разработка энергетически эффективных приложений


Слайд 67Дополнительные ресурсы
Application Best Practices for Windows Vista
http://www.microsoft.com/whdc/system/pnppwr/powermgmt/PM_apps.mspx
http://msdn.microsoft.com/en-us/magazine/cc163386.aspx
Power Event

Monitoring Tool
Sample VS project for registering and receiving power notifications
http://www.microsoft.com/whdc/system/pnppwr/powermgmt/PM-apps_samp.mspx
Making Your WPF Apps Power-Aware
http://msdn.microsoft.com/en-us/magazine/cc163386.aspx
“Power To The People”
C# interop for most Vista and later power APIs
http://www.code-magazine.com/articleprint.aspx?quickid=0512102&printmode=true
Windows Performance Tools Kit (XPerf)
http://www.microsoft.com/whdc/system/sysperf/perftools.mspx
PwrTest
Available in Windows Driver Kit (WDK)
http://www.microsoft.com/whdc/DevTools/WDK/WDKpkg.mspx

Слайд 68Windows Web Services API
Работа с web services из native кода
Win32 API
Не

требует .Net Framework
Работает со стеком WS-* SOAP
Windows Communication Foundation (WCF)
ASP .Net XML Web Services (ASMX)
Не Microsoft реализации
Системный компонент Windows 7
Доступен на Windows XP/Vista/2003/2008

Слайд 69WWSAPI и WCF
WWSAPI пара к WCF
Используйте WCF в управляемом коде
Используйте WWSAPI

в нативном коде
Похожие программные модели
XML, Message, Channels (message-oriented)
Service Model (function-oriented)

Слайд 70Web Services


Client
Web Service
Endpoint
A
B
C
Endpoint
A
B
C
Endpoint
A
B
C
Endpoint
A
B
C



Service Proxy
WSDL
XSD
Service Host
Code
Generator
Code
Generator


Слайд 71Уровни Windows Web Services API






Ваш код
Network I/O
Service Model
Channel Layer
XML Layer
Errors
Heap
Async Context


Слайд 72Service Model
Автоматически управляет коммуникацией
Service Proxy на клиенте
Service Host на сервере
Обмен сообщениями

– это вызов функций
Клиент вызывает сгенерированные функции
Сервер реализует callback
Управляется контрактом
WsUtil.exe генерирует C код из WSDL/XSD

Слайд 73Windows Web Services API






Ваш код
Network I/O
Service Model
Channel Layer
XML Layer
Errors
Heap
Async Context


Слайд 74Channel Layer
Полный контроль над коммуникацией (Web Services вместо C)
Сообщения
Посланные или полученные

данные
Состоит из заголовка и тела
Канал
Абстракция для протокола обмена сообщениями
Унифицированный API для 3 транспортов (HTTP, TCP, UDP)
Свойства для тюнинга

Слайд 75Windows Web Services API






Ваш код
Network I/O
Service Model
Channel Layer
XML Layer
Errors
Heap
Async Context


Слайд 76XML Layer
Полный доступ к содержимому сообщений
Унифицированный API для кодирования
Text, Binary,

MTOM
SOAP подмножество XML 1.0
XmlBuffer
Хранение XML в памяти
XmlReader and XmlWriter
Последовательный доступ

Слайд 77Поддерживаемые конфигурации
Transports
HTTP, TCP, UDP
XML Encodings
Text, Binary, and MTOM
Envelope
SOAP 1.1 and 1.2
Addressing
WS-Addressing

0.9 and 1.0
Metadata
WSDL 1.1, XML Schema 1.0
WS-MetadataExchange 1.1
WS-Transfer March 2006

Security
WS-Security 1.0 and 1.1 (partial)
WS-Trust February 2005 and 1.3 (partial)
WS-SecureConversation 1.1 and 1.3 (partial)
Policy
WS-Policy from March 2006 and v.1.2
WS-Policy Attachment from March 2006 and 1.2
WS-SecurityPolicy 1.1


Слайд 78Производительность – TCP


Слайд 79Производительность – HTTP


Слайд 80Additional Resources
Networking Developer Center on MSDN
http://msdn.microsoft.com/network/
Connect
https://connect.microsoft.com/wndp/
Blogs
http://blogs.msdn.com/nikolad/
http://blogs.msdn.com/haoxu/
http://blogs.msdn.com/wndp/
Email
nikola.dudar@microsoft.com



Слайд 81… Ваш компьютер знает где он и настраивает себя в связи

со своим положением?
Погода новости события
Время
…Ваш компьютер может чувствовать окружающую среду и подстраиваться под текущие условия?
Подсветка дисплея в зависимости от окружающего света
Оптимизирует элементы интерфейса для лучшей читаемости

Что если…?


Слайд 82Устройства позиционирования выставляются как виртуальные COM порты
Эксклюзивный доступ для 1 приложения
Не

безопасно
Закрытые форматы данных и протоколы общения
GPS не работает в помещении
Сложно использовать несколько технологий вместе
Сенсоры интегрированы в решения
Приложения должны знать особенности «железа» сенсора
Ограниченное распространение и использование

Ограничения сенсоров сегодня


Слайд 83Windows Sensor And Location Platform
Унифицированная модель драйверов для всех видов сенсоров
Физические

(GPS, свет)
Логические (Wi-Fi триангуляция)
Стандартный API для доступа к сенсорам
Sensor API: C++/COM
Location API: C++/COM, IDispatch

Слайд 84Архитектура доступа к сенсору
UMDF Sensor Driver
Sensor Class Extension
Sensor API
Приложение

Можно посмотреть из

Control Panel


Устройство

Приложение



User

System


Слайд 85Позиционирование
UMDF Sensor Driver
Sensor Class Extension
Sensor API
Gadget or Script
Приложение


Можно посмотреть из Control

Panel


Устройство

Location API

Location IDispatch Interface

Приложение



UMDF Sensor Driver

Sensor Class Extension


Логический сенсор
(Триангуляция)


User

System


Слайд 86Единый API для ответа на вопрос “Где я?”
Не зависим от провайдера/устройства
Можно

использовать даже в скрипте
Автоматический переход между провайдерами
Приоритет у самого точного
Одновременный доступ из множества приложение
Местоположение по умолчанию
Задается пользователем, когда более ничего не доступно

Преимущества


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика