developers club 2003
TRANSCRIPT
Platforma Smart ClientPlatforma Smart Client
Tomasz Cieplak
AgendaAgenda
Platforma Tablet PC – w skróciePlatforma Tablet PC – w skrócie Projektowanie Aplikacji dla Tablet PCProjektowanie Aplikacji dla Tablet PC Programowanie z Zastosowaniem Tablet PC Programowanie z Zastosowaniem Tablet PC
SDKSDK Klasa Ink – w praniuKlasa Ink – w praniu
Platforma Tablet PCPlatforma Tablet PCSprzętSprzęt
ObudowaObudowa Hybrydowa (Convertible) – konwersja obudowy Hybrydowa (Convertible) – konwersja obudowy
klasycznego Notebook PC do Tablet PCklasycznego Notebook PC do Tablet PC Tablica (Slate) – smukła jednostka z demontowaną Tablica (Slate) – smukła jednostka z demontowaną
lub bezprzewodową klawiaturąlub bezprzewodową klawiaturą
Elektromagnetyczny digitajzerElektromagnetyczny digitajzer Mniejsze zużycie energii oraz większa czułość w Mniejsze zużycie energii oraz większa czułość w
porównaniu z technologią „ekranu dotykowego”porównaniu z technologią „ekranu dotykowego”
„„Pióro” (Stylus)Pióro” (Stylus) Nadajnik częstotliwości radiowej o bardzo małej Nadajnik częstotliwości radiowej o bardzo małej
mocymocy Czułość na naciskCzułość na nacisk Dotyk do powierzchni digitajzera nie jest konieczny Dotyk do powierzchni digitajzera nie jest konieczny
do poprawnego działaniado poprawnego działania W większości urządzeń oba końce są W większości urządzeń oba końce są
wykorzystanewykorzystane Praca bez „uwięzi”Praca bez „uwięzi”
Platforma Tablet PC Platforma Tablet PC OprogramowanieOprogramowanie
System operacyjny w wersji: Windows XP System operacyjny w wersji: Windows XP Tablet PC EditionTablet PC Edition Dostępny w wersjach: OEM oraz dla wszystkich Dostępny w wersjach: OEM oraz dla wszystkich
subskrybentów MSDNsubskrybentów MSDN Rozszerzenia systemoweRozszerzenia systemowe
Np.: zdarzenie systemowe – zmiana orientacji Np.: zdarzenie systemowe – zmiana orientacji wyświetlaczawyświetlacza
Systemy rozpoznawania pisma i mowySystemy rozpoznawania pisma i mowy Instalowany domyślnie .NET FrameworkInstalowany domyślnie .NET Framework
Aplikacje przystosowane dla Tablet PCAplikacje przystosowane dla Tablet PC Windows JournalWindows Journal Narzędzia oraz gryNarzędzia oraz gry
Platforma Tablet PCPlatforma Tablet PCKrótka Historia Komputera z PióremKrótka Historia Komputera z Piórem
GRiDGRiD Pad
$2,4002kg
EOPersonal
Communicator$4,000
1kg
AppleNewton
$700408g
Palm Comp.PalmPilot
$300162g
CompaqiPaq$500190g
Tablet PCRóżni Producenci
Różne modele$2000
1989 1991 1993 1996 1999 2002
Platforma Tablet PCPlatforma Tablet PCTablet PC – przesłanki do sukcesuTablet PC – przesłanki do sukcesu
Ewolucja ale nie RewolucjaEwolucja ale nie Rewolucja Udoskonalony komputer przenośnyUdoskonalony komputer przenośny Wsparcie dla istniejących aplikacji i konfiguracjiWsparcie dla istniejących aplikacji i konfiguracji
Udoskonalenia TechnologiczneUdoskonalenia Technologiczne Małej mocy, wysokiej wydajności procesoryMałej mocy, wysokiej wydajności procesory Wysokiej rozdzielczości wyświetlacze LCDWysokiej rozdzielczości wyświetlacze LCD Technologie źródeł zasilania: lekkie i żywotne baterieTechnologie źródeł zasilania: lekkie i żywotne baterie Sieci bezprzewodoweSieci bezprzewodowe
Atrament CyfrowyAtrament Cyfrowy „„Atrament” jest najistotniejszym typem danychAtrament” jest najistotniejszym typem danych „„Atrament” to nie tylko zaznaczone pikseleAtrament” to nie tylko zaznaczone piksele „„Atrament’ nie jest jedynie formatem pośrednim przy Atrament’ nie jest jedynie formatem pośrednim przy
rozpoznawaniu pismarozpoznawaniu pisma
Platforma Tablet PCPlatforma Tablet PCSprzętSprzęt
ProducentNazwa Produktu Procesor RAM
Dysk Twardy Klawiatura Bateria Waga
Rozmiar Ekranu
Cena (USA)
HPCompaq Tablet PC TC1000
Transmeta Crusoe TM5800 1Ghz 256 Mb 30 Gb Odłączana 3,0 godz. 1,5 kg 10.4" US$1,699
Acer TravelMate C100Pentium I I I -M 800Mhz 256 Mb 30 Gb Wbudowana 1,5 godz. 1,6 kg 10,4" US$2,399
ViewsonicTablet PC V1100
Pentium I I I -M 866 Mhz 256 Mb 20 Gb Zewnętrzna 2,0 godz. 1,0 kg 10,4" US$1,955
Toshiba Portégé 3500/05Pentium I I I 1.33 Ghz 256 Mb 40 Gb Wbudowana 1,5 godz. 2,0 kg 12,1" US$2,299
Fujitsu Stylistic ST4000Pentium I I I 800Mhz 256 Mb 20 Gb Zewnętrzna 2,5 godz. 1,6 kg 12,1" US$2,299
Motion Computing M1200
Pentium I I I -M 867Mhz
128Mb-1Gb
20, 40, 60 Gb Zewnętrzna 4,0 godz. 1,5 kg 12,1" US$2,199
PeaceBlade Technology PaceBook
Transmeta Crusoe TM5600 600Mhz 128Mb 20,30 Gb Zewnętrzna 5,0 godz. 2,0 kg 12,1" US$2,095
US$2,399256MB Zewnętrzna 3,0 godz. 1,1 kg 10,4"NECNEC Versa LitePad
Pentium I I I -M Processor 933MHz
1.8" HDD 20GB
Źródło: http://www.etabletpc.com/
AgendaAgenda
Platforma Tablet PC – w skróciePlatforma Tablet PC – w skrócie Projektowanie Aplikacji dla Tablet PCProjektowanie Aplikacji dla Tablet PC Programowanie z Zastosowaniem Tablet PC Programowanie z Zastosowaniem Tablet PC
SDKSDK Klasa Ink – w praniuKlasa Ink – w praniu
Projektowanie Aplikacji dla Tablet PC Projektowanie Aplikacji dla Tablet PC Tworzenie wydajnych aplikacjiTworzenie wydajnych aplikacji
Orientacja ekranuOrientacja ekranu Pióro konta myszPióro konta mysz Cyfrowy atramentCyfrowy atrament Użytkowość aplikacji – TestowanieUżytkowość aplikacji – Testowanie
AgendaAgenda
Platforma Tablet PC – w skróciePlatforma Tablet PC – w skrócie Projektowanie Aplikacji dla Tablet PCProjektowanie Aplikacji dla Tablet PC Programowanie z Zastosowaniem Programowanie z Zastosowaniem
Tablet PC SDKTablet PC SDK Klasa Ink – w praniuKlasa Ink – w praniu
Tablet PCTablet PC SDK SDK
Instalowany na:Instalowany na: Windows XP Tablet PC Windows XP Tablet PC
EditionEdition Windows XP Windows XP
Professional (SP1) [*]Professional (SP1) [*] Windows 2000 (SP2) [*]Windows 2000 (SP2) [*]
[*] brak systemów [*] brak systemów rozpoznawania pismarozpoznawania pisma
Zawiera API, Zawiera API, wytyczne wytyczne projektowe, projektowe, przykłady koduprzykłady kodu
API wspiera użycie API wspiera użycie kodu zarządzanego kodu zarządzanego i niezarządzanegoi niezarządzanego Biblioteka COMBiblioteka COM
Realizacja COMRealizacja COM Biblioteka zarządzanaBiblioteka zarządzana
Warstwa Warstwa pośrednicząca pośrednicząca ponad realizacją ponad realizacją COM dostępna przez COM dostępna przez RCW (Runtime RCW (Runtime Callable Wrapper)Callable Wrapper)
Pełen zestaw Pełen zestaw dokumentacjidokumentacji
Tablet PC SDKTablet PC SDKModel obiektów biblioteki zarządzanej (I)Model obiektów biblioteki zarządzanej (I)
„„Atrament”Atrament” jest kolekcją jest kolekcją kresek (Strokes)kresek (Strokes)
KreskaKreska reprezentuje reprezentuje sekwencję od ustawienie sekwencję od ustawienie pióra przez przeciągnięcie do pióra przez przeciągnięcie do oderwania pióraoderwania pióra
Kiedy kolekcja jest Kiedy kolekcja jest rozpoznawana, rezultat tego rozpoznawana, rezultat tego procesu jest składowany wprocesu jest składowany w RecognitionResultRecognitionResult
Atrybut Atrybut DrawingAttributesDrawingAttributes specyfikuje jak kreski są specyfikuje jak kreski są interpretowane (kolor, interpretowane (kolor, szerokość, przeźroczystość, szerokość, przeźroczystość, itd.)itd.)
ExtendedPropertiesExtendedProperties stanowi stanowi kolekcja danych kolekcja danych zdefiniowanych dla aplikacjizdefiniowanych dla aplikacji
DividerDivider analizuje kreski czy są analizuje kreski czy są fragmentem tekstu czy fragmentem tekstu czy grafiki (obiekt dostępny w grafiki (obiekt dostępny w SDK 1.5)SDK 1.5)
Tablet PC SDKTablet PC SDKModel obiektów biblioteki zarządzalnej (II)Model obiektów biblioteki zarządzalnej (II)
ObiektObiekt Tablet Tablet oznacza urządzenie - oznacza urządzenie - digitajzerdigitajzer
InkCollectorInkCollector dołączany jest do okna dołączany jest do okna przez uchwyt (handle). Gromadzi przez uchwyt (handle). Gromadzi „atrament” z powierzchni okna„atrament” z powierzchni okna
InkOverlayInkOverlay rozszerzenie klasy rozszerzenie klasy InkCollector - InkCollector - możliwości możliwości zaznaczania zaznaczania i ścierania „atramentu”i ścierania „atramentu”
Kontrolka Kontrolka InkPictureInkPicture dziedziczy po dziedziczy po kontrolce PictureBoxkontrolce PictureBox
Kontrolka Kontrolka InkEditInkEdit dziedziczy po dziedziczy po kontrolce RichText, jej zadaniem kontrolce RichText, jej zadaniem jest rozpoznawanie tekstujest rozpoznawanie tekstu
KontrolkaKontrolka PenInputPanelPenInputPanel zapewnia zapewnia rozpoznawanie tekstu, wynik rozpoznawanie tekstu, wynik przekazuje do innej kontrolki (SDK przekazuje do innej kontrolki (SDK 1.5)1.5)
Klasa Klasa RendererRenderer wspiera wspiera rozpoznawanie atramentu na rozpoznawanie atramentu na elementach graficznych (np. elementach graficznych (np. Materiał skanowany)Materiał skanowany)
Tablet PC SDKTablet PC SDKModel obiektów biblioteki zarządzanej (III)Model obiektów biblioteki zarządzanej (III)
RecognizersRecognizers jest to kolekcja jest to kolekcja zainstalowanych modułów zainstalowanych modułów rozpoznawaniarozpoznawania
RecognizerRecognizer może może rozpoznawać kreski rozpoznawać kreski atramentu jako tekst, zaś atramentu jako tekst, zaś kształty jako znaki specjalnekształty jako znaki specjalne
Znak specjalny (Gesture)Znak specjalny (Gesture) tworzony przez system tworzony przez system rozpoznawania używany jest rozpoznawania używany jest
w celu rozszerzenia operacji w celu rozszerzenia operacji wejścia piórawejścia pióra
Proces rozpoznawania jest Proces rozpoznawania jest przeprowadzany przeprowadzany ww RecognizerContextRecognizerContext Zapewnia kontekstową Zapewnia kontekstową
informację w celu zwiększenia informację w celu zwiększenia dokładności rozpoznawania dokładności rozpoznawania tekstutekstu
RecognitionResult przechowuje RecognitionResult przechowuje inne wyniki rozpoznawaniainne wyniki rozpoznawania
Tablet PC SDKTablet PC SDKRozpoznawanie tekstuRozpoznawanie tekstu
Rozpoznawanie pisma Rozpoznawanie pisma odręcznegoodręcznego Chiński Chiński Angielski (Amerykański Angielski (Amerykański
i Brytyjski)i Brytyjski) FrancuskiFrancuski NiemieckiNiemiecki JapońskiJapoński KoreańskiKoreański
W niedalekiej W niedalekiej przyszłościprzyszłości WłoskiWłoski HiszpańskiHiszpański
Rozpoznawanie Rozpoznawanie znaków specjalnychznaków specjalnych
Rozszerzalna Rozszerzalna architektura pozwala architektura pozwala na zastosowanie na zastosowanie własnych modułów własnych modułów rozpoznawaniarozpoznawania Powstało kilka narzędzi Powstało kilka narzędzi
do rozpoznawania do rozpoznawania kształtówkształtów
Tablet PC SDKTablet PC SDKZnaki specjalneZnaki specjalne
Rozpoznawane poprzez Rozpoznawane poprzez wbudowane analizatory znaków wbudowane analizatory znaków specjalnychspecjalnych
System znaków specjalnychSystem znaków specjalnych Domyślnie wspierany przez system Domyślnie wspierany przez system
operacyjnyoperacyjny 14 znaków specjalnych14 znaków specjalnych
Np. przeciągnięcie, uderzenie, itp.Np. przeciągnięcie, uderzenie, itp.
Znaki specjalne aplikacjiZnaki specjalne aplikacji Aplikacja może wspierać znaki Aplikacja może wspierać znaki
specjalnespecjalne 38 znaków specjalnych38 znaków specjalnych
Np. Przewijanie góra, dół, Np. Przewijanie góra, dół, skreślenieskreślenie
AgendaAgenda
Platforma Tablet PC – w skróciePlatforma Tablet PC – w skrócie Projektowanie Aplikacji dla Tablet PCProjektowanie Aplikacji dla Tablet PC Programowanie z Zastosowaniem Programowanie z Zastosowaniem
Tablet PC SDKTablet PC SDK Klasa Ink – w praniuKlasa Ink – w praniu
Klasy Ink – w praniuKlasy Ink – w praniuPoczątki pracy z „cyfrowym atramentem”Początki pracy z „cyfrowym atramentem”
Aplikacja musi posiadać referencje do Aplikacja musi posiadać referencje do składnikówskładników Microsoft Tablet PC APIMicrosoft Tablet PC API Komponentów Microsoft Tablet PC API v1.5Komponentów Microsoft Tablet PC API v1.5
Jedynie w przypadku gdy używaneJedynie w przypadku gdy używane
Dołączone wsparcie do projektowania Dołączone wsparcie do projektowania kontrolek WinFormskontrolek WinForms Dodaj kontrolki do paska narzędzi VS.NETDodaj kontrolki do paska narzędzi VS.NET
Klasa Ink – w praniuKlasa Ink – w praniuWłaściwości atramentuWłaściwości atramentu
Każdy ślad atramentu posiada właściwość Każdy ślad atramentu posiada właściwość DrawingAttributesDrawingAttributes
Właściwość Właściwość DrawingAttributesDrawingAttributes zawiera pola: zawiera pola: Kształt (Kształt (PenTipPenTip) – kropka lub kwadrat) – kropka lub kwadrat SzerokośćSzerokość WysokośćWysokość KolorKolor PrzeźroczystośćPrzeźroczystość Ignoruj nacisk (Ignoruj nacisk (IgnorePressureIgnorePressure)) Wygładzanie krawędzi (Wygładzanie krawędzi (AntiAliasedAntiAliased))
Każda nowa kreska pobiera Każda nowa kreska pobiera DrawingAttributesDrawingAttributes z z wcześniej zdefiniowanej właściwości wcześniej zdefiniowanej właściwości DefaultDrawingAttributesDefaultDrawingAttributes
Klasa Ink – w praniu Klasa Ink – w praniu Przechowywanie atramentuPrzechowywanie atramentu
Metody: Ink.Save() oraz Ink.Load()Metody: Ink.Save() oraz Ink.Load()
ISF / Base64 ISFISF / Base64 ISF Ink Serialized Format – format binarnyInk Serialized Format – format binarny
GIF / Base64 GIFGIF / Base64 GIF atrament jest metadaną nie obrazematrament jest metadaną nie obrazem możliwy do odtworzenia na systemach „bez atramentu”możliwy do odtworzenia na systemach „bez atramentu” atrament jest atramentem w systemie Tablet PCatrament jest atramentem w systemie Tablet PC
Metoda Ink.Load może być wywołana na Metoda Ink.Load może być wywołana na pierwotnym obiekcie Inkpierwotnym obiekcie Ink
WprawkiWprawki
Witaj Atramencie – InkCollectorWitaj Atramencie – InkCollector Edytor Atramentu – InkOverlayEdytor Atramentu – InkOverlay Atrybuty Atramentu – InkCollector || Atrybuty Atramentu – InkCollector ||
InkOverlayInkOverlay Rozpoznawanie tekstu – InkCollector || Rozpoznawanie tekstu – InkCollector ||
InkOverlayInkOverlay Znaki Specjalne – InkOverlayZnaki Specjalne – InkOverlay Gotowce – InkPicture && InkEdit Gotowce – InkPicture && InkEdit SDK 1.5 – PenInputPanelSDK 1.5 – PenInputPanel Co potrafi twój Tablet?Co potrafi twój Tablet?
„„Cyfrowy” podpisCyfrowy” podpis
ŹródłaŹródła
InternetInternet msdn.microsoft.com/tabletpcmsdn.microsoft.com/tabletpc www.microsoft.com/windowsxp/tabletpcwww.microsoft.com/windowsxp/tabletpc www.tabletpctalk.comwww.tabletpctalk.com www.tabletpcdeveloper.comwww.tabletpcdeveloper.com
LiteraturaLiteratura Building Tablet PC ApplicationsBuilding Tablet PC Applications,,Rob Jarrett and Rob Jarrett and
Philip SuPhilip Su,, Microsoft Press, 2003 Microsoft Press, 2003 Developing Tablet PC ApplicationsDeveloping Tablet PC Applications,, Clayton E. Clayton E.
CrooksCrooks, , 20032003 W przygotowaniu:W przygotowaniu: End-to-End Product End-to-End Product
Development for Tablet PCDevelopment for Tablet PC, , W. Frederick W. Frederick ZimmermanZimmerman, 2003, 2003
PodsumowaniePodsumowanie
Początki z „cyfrowym atramentem” są Początki z „cyfrowym atramentem” są łaskawe dla użytkownikałaskawe dla użytkownika
Tablet PC oferuje pełen zakres usług dla Tablet PC oferuje pełen zakres usług dla aplikacji typu „smart client”aplikacji typu „smart client”
Tablet PC zmienia podejście do miejsca Tablet PC zmienia podejście do miejsca i sposobu wykorzystania aplikacji przez i sposobu wykorzystania aplikacji przez użytkownikaużytkownika
© 2003 Microsoft Corporation. All rights reserved.© 2003 Microsoft Corporation. All rights reserved.