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

Презентация:



Advertisements
Похожие презентации
Антон Шепитько Больше нет панели Quick Launch Унификация старта приложения и переключения окон Не надо туда добавлять ShortCut-ы.
Advertisements

Ключевые изменения в интерфейсе Антон Шепитько
Антон Шепитько Системные активности которые не были запущены непосредственно пользователем Сервисы, Задачи по расписанию, некоторые.
Windows 7: Изменения на уровне платформы Антон Шепитько
ДонНУ, кафедра КТ, проф.В.К.Толстых WCF-службы Создание и тестирование.dll-библиотеки WCF-служб Из цикла лекций «Internet-технологии разработки приложений»
Тема 5. Основы современной технологии программирования Программирование в средах современных информационных систем. Интегрированные системы разработки.
Информатика в школе Операционная система. Графический интерфейс. Программное обеспечение.
Учебный курс Технологии и средства разработки корпоративных систем Лекция 5 Создание графического интерфейса пользователя Лекции читает кандидат технических.
Проф. В.К.Толстых, Технологии разработки Internet- приложений Администрирование IIS 5, 6 сайт, виртуальный каталог, приложение, пул, рабочий.
Визуализация и моделирование с использованием UML в Visual Studio 2010 Ultimate Евгений Чигиринский Microsoft.
Графический интерфейс Windows Графический интерфейс позволяет осуществлять взаимодействие человека с компьютером в форме диалога с использованием окон,
Информатика в школе Графический интерфейс Windows Программное обеспечение.
Графический интерфейс Windows Программное обеспечение Автор: Карамова Е.И., учитель информатики МОУ СОШ 99 г. Челябинска.
Программа Проводник 8 класс Яблоновская СОШ 3, Тахтамукайский район, Республика Адыгея Учитель информатики Нигматуллин Р.Р.
Операционная система Windows. Windows – графическая операционная система для компьютеров платформы IBM PC Предназначена для управления автономным компьютером.
Графический интерфейс Windows Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Пользовательский интерфейс Обучающая презентация для учащихся 8 класса.
Из чего состоит "электронный офис". Запуск программ Office.
Администрирование информационных систем Начало работы с MS SQL Server 2000.
Графический интерфейс Windows. Графический интерфейс позволяет осуществлять взаимодействие человека с компьютером в форме диалога с использованием окон,
Транксрипт:

Ключевые изменения в интерфейсе Антон Шепитько

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

Vista

Максимальное число одновременно открытых окон

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

Процент сессий с таскбаром справа

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

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

Ключевые цели: Быстрее и Чаще То что чаще используется должно быть быстрее доступно Просто получить доступ к программам, файлам, URL с минимальным количеством движений мыши. Проще управлять окнами – Возможность переключать окна быстро и без ошибок; – Возможность легко позиционировать окна на экране. Проще управлять компьютером Рабочий стол отражает персональный стиль; позволяет выбрать, что важно, включая и то как и когда пользователь будет получать информацию. Ясный и легкий Интерфейс хорошо организован, легок и приятен в использовании.

WINDOWS 7 TASKBAR

Что изменилось Больше нет панели Quick Launch – Унификация старта приложения и переключения окон – Не надо туда добавлять ShortCut-ы – Папочки остались для совместимости – Не ищите новый интерфейс для Quick Launch

Мини стартовое меню для приложения Область для стандартных задач и часто используемых файлов Настраивается Доступно по правому щелчку мышью и по перетаскиванию Jump Lists Обзор

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

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

Приложение может изменить свой Jump List Места назначения: – Стандартные (недавно использованные, часто используемые) – Пользовательские категории (приложение поставляет список) Пользовательские задачи находятся во встроенной категории - Tasks – Задачи не могут быть приколоты или убраны пользователем Задачи и места назначения - это IShellItems или IShellLinks – Задачи – это IShellLinks и места назначения - IShellItems Jump Lists Настройка

Ярлыки, Jump Lists, управление окнами объединены в единую группу Application User Model ID основа для группировки – Короткое название AppID – Это строка Каждая группа на таскбаре имеет свой AppID AppID Унификация старта приложения и переключения окон

AppID Кто участвует AppID Ярлык Jump List Окна Регистр. типа документа Process

По умолчанию AppID вычисляется по имени процесса Но что если… – Приложение состоит из нескольких.exe, которые мы хотим сгруппировать? – Ваш код хостится внутри стандартного.exe и Вы не хотите быть частью его группы? – Ваше приложение запускается несколькими ярлыками с разными аргументами командной строки? …Тогда непосредственно декларируйте AppID – SetCurrentProcessExplicitAppUserModelID AppID Откуда они берутся?

AppID Эвристика определения AppID AppID Ярлык Jump List Окна Регистр. типа документа Process Авт. вычисление

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

Панели управления мини окнами Сравнение с пользовательскими задачами Команды в мини окне Задачи в Jump List Для стандартных команд окна(меню, команды тулбара) Стандартная входная точка в приложение Для конкретного окна Для приложения вообще Один набор команд на окно Один набор задач на AppID Оконные команды могут меняться Набор задач статический

Реализован интерфейс 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 и использование

Перекрывающие иконки (Overlay Icons) Обзор Средство для важных нотификаций Появляются поверх иконки приложения

Чтобы установить перекрывающую иконку используйте ITaskbarList3: HRESULT SetOverlayIcon( HWND hwnd, HICON hIcon); Перекрывающие иконки API и использование

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

Чтобы использовать эту возможность используйте ITaskbarList3: HRESULT SetProgressState(HWND hwnd, TBPFLAG tbpFlag); HRESULT SetProgressValue( HWND hwnd, ULONGLONG ulCompleted, ULONGLONG ulTotal); Пользователи стандартного диалога получат эту возможность автоматически (CLSID_ProgressDialog) Progress Bars API и использование

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

ITaskbarList3 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 дочерние окна

Для разработчиков, использующих: – WPF – появится в.NET 4 XAML декларация многих свойств Другие возможности WPF: например связывание с данными, векторные изображения – MFC 7 – появится в Visual Studio 2010 Объектная модель поддерживающая новые возможности – Windows 7 Platform SDK Windows 7 Bridge – доступ к API из managed кода Поддержка со стороны платформы Скоро:

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

Windows 7 TaskBar DEMO

WINDOWS SCENIC RIBBON

Office 2007 Ribbon Office Button Quick Access Toolbar Tab Contextual Tab Set Contextual Tab Help Group (aka Chunk) Dialog Box Launcher

Windows Scenic Ribbon Application Menu Quick Access Toolbar Tab Contextual Tab Set Contextual Tab Help Group (aka Chunk) Dialog Launcher Выходит с Windows 7, будет доступен и для Vista Win32 API, COM-based Близок по возможностям к Microsoft Office 2007 Ribbon

Scenic Ribbon Controls

Важно: тип приложения? Преимущества – Отличный способ показать возможности – Команды легко найти – Пользователи быстро обучаются – Классно смотрится – шанс показать себя! Отличный ресурс: Ribbon Guidelines us/library/cc aspx us/library/cc aspx Когда использовать Ribbon?

Ribbon В зависимости от потребностей 1 Office 2007 есть, Windows style будет в 2009 Microsoft Ribbon MFCMFCScenicScenicWPFWPF Аудитория: Managed Аудитория: Managed Аудитория: MFC native Аудитория: MFC native Аудитория: 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 Скоро… Вместе с Windows 7

Схема Model View Controller Код и интерфейс развязаны Простой C++ API Архитектура Markup Organization of controls Markup Organization of controls COM API Initialization and Events handling MyHandler::Execute(…) { DoStuff(); } COM API Initialization and Events handling MyHandler::Execute(…) { DoStuff(); } Windows Scenic Ribbon Application- specific Business Logic void DoStuff() { … } Application- specific Business Logic void DoStuff() { … }

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

Windows 7 Scenic Ribbon DEMO

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

Windows Explorer Rich Metadata Cleaner navigation Easy Previews Powerful Instant Search Arrangement Views Federated Search Libraries

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

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

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

Windows 7 Libraries DEMO

Federated Search Информация растет на 40% год от года Данные уходят с декстопов в сеть – Совместная работа – Совместный доступ Нужен поиск по этой информации

Federated Search

Удобно для пользователей – Предпросмотр, метаданные, drag-and-drop – В парадигме Windows Explorer Простая интеграция – Без клиентского кода – Любая серверная платформа Стандарты – OpenSearch 1.1 – RSS and ATOM Аутентификация – Windows Integrated 1. Search Connector (.osdx) Installed 2. Windows посылает поисковый HTTP запрос 3. RSS поток возвращается с сервера

Federated Search Поисковые провайдеры должны – Принимать URL запросы Пример: – Возвращать результаты в форме rich RSS

Изменения на уровне платформы Антон Шепитько

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

Влияние фоновых процессов Производительность Время реакции на действия пользователя Конкуренция за ресурсы с «основными» приложениями Logoff, и т.д.. Надежность Утечки памяти Падения системы Падения зависимых приложений Безопасность Может требовать системный привилегий Успешная атака может «положить» всю систему Потребление энергии Диск, процессор Уменьшает время работы от батареи

Внутренняя оценка 49 сервисов (во время загрузки) – Не критичны для загрузки – Критичны и нужны для своих сценариев Влияние фоновых процессов Ресурс Количество File I/O47,286 Copy-on-Write (COW) Pages4,656 (~18MB) Memory Pages (Total)15,967 (~60MB) Registry Operations38,508 Threads367

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

Сервисы и задачи Сервисы Все время работают Программная модель Service Control Manager (SCM) Могут указывать зависимости Все время работают Программная модель Service Control Manager (SCM) Могут указывать зависимости Задачи Короткие задачи Отдельные exe или out-of-process COM Обычно в пользовательской сессии Короткие задачи Отдельные exe или out-of-process COM Обычно в пользовательской сессии

Auto_Start сервис стартует при загрузке и никогда не завершается Чаще всего используется – Прост для разработчиков всегда работает! Проблемы – Увеличивает время загрузки – Много Auto_Start сервисов ждут редких событий Windows Services: Auto_Start

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

Самоостановка – Если нет запросов и задач и Trigger-Start или Demand_Start Выключение компьютера – Не используйте SERVICE_ACCEPT_SHUTDOWN без необходимости – Не надо чистить память если сервис - standalone process – Старайтесь завершиться не более чем за 200ms Завершение работы сервисов

Никаких блокирующих действий! – WaitForSingleObject, CreateFile, RPCs Всю работу в thread pool Для кодов возврата используйте инструкции MSDN Service Control Handler

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

Idle condition Остановиться при выходе из Idle Только при работе от сети Остановка при работе от батареи Выход из sleep При сетевых соединениях Условия для задач

IDLE!!! Батарея Сеть Рекомендации

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

Во многом дело в ПО

1.Понять, что ПО сильно влияет на потребляемую компьютером энергию 2. Уменьшить утилизацию ресурсов 3. IDLE 4. Приспособить приложение к окружению 5. Использовать правильные инструменты 6. Правильно обрабатывать переходы между состояниями энергосбережения 7. Проверить и замерить 8. Перейти к шагу 2 Разработка энергетически эффективных приложений

Дополнительные ресурсы Application Best Practices for Windows Vista – – aspx aspx Power Event Monitoring Tool – Sample VS project for registering and receiving power notifications – apps_samp.mspx apps_samp.mspx Making Your WPF Apps Power-Aware – aspx aspx Power To The People – C# interop for most Vista and later power APIs – magazine.com/articleprint.aspx?quickid= &printmode=true magazine.com/articleprint.aspx?quickid= &printmode=true Windows Performance Tools Kit (XPerf) – PwrTest – Available in Windows Driver Kit (WDK) –

Windows 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

WWSAPI и WCF WWSAPI пара к WCF – Используйте WCF в управляемом коде – Используйте WWSAPI в нативном коде Похожие программные модели – XML, Message, Channels (message-oriented) – Service Model (function-oriented)

Web Services ClientWeb Service Endpoint A A B B C C A A B B C C A A B B C C A A B B C C Service Proxy WSDL XSD Service Host Code Generator Code Generator

Уровни Windows Web Services API Ваш код Network I/O Service Model Channel Layer XML Layer Errors Heap Async Context

Service Model Автоматически управляет коммуникацией – Service Proxy на клиенте – Service Host на сервере Обмен сообщениями – это вызов функций – Клиент вызывает сгенерированные функции – Сервер реализует callback Управляется контрактом – WsUtil.exe генерирует C код из WSDL/XSD

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

Channel Layer Полный контроль над коммуникацией (Web Services вместо C) Сообщения – Посланные или полученные данные – Состоит из заголовка и тела Канал – Абстракция для протокола обмена сообщениями – Унифицированный API для 3 транспортов (HTTP, TCP, UDP) – Свойства для тюнинга

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

XML Layer Полный доступ к содержимому сообщений Унифицированный API для кодирования – Text, Binary, MTOM SOAP подмножество XML 1.0 XmlBuffer – Хранение XML в памяти XmlReader and XmlWriter – Последовательный доступ

Поддерживаемые конфигурации 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

Производительность – TCP WWSAPI

Производительность – HTTP

Additional Resources Networking Developer Center on MSDN – Connect – Blogs – – – –

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

Устройства позиционирования выставляются как виртуальные COM порты – Эксклюзивный доступ для 1 приложения – Не безопасно – Закрытые форматы данных и протоколы общения GPS не работает в помещении – Сложно использовать несколько технологий вместе Сенсоры интегрированы в решения – Приложения должны знать особенности «железа» сенсора – Ограниченное распространение и использование Ограничения сенсоров сегодня

Windows Sensor And Location Platform Унифицированная модель драйверов для всех видов сенсоров – Физические (GPS, свет) – Логические (Wi-Fi триангуляция) Стандартный API для доступа к сенсорам – Sensor API: C++/COM – Location API: C++/COM, IDispatch

Архитектура доступа к сенсору

Позиционирование User System

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