Date post: | 05-Jul-2015 |
Category: |
Technology |
Upload: | pavel-kratky |
View: | 481 times |
Download: | 3 times |
Obhajoba semestrálního projektu
Autor Pavel Krátký
Implementace poštovního klienta pro mobilní platformu OpenMoko
bakalářská práce2008/2009
Fakulta Informačních technologiíVUT v Brně
ZadáníProstudujte možnosti a způsoby vytváření uživatelsky
příjemných rozhraní v prostředí Openmoko a možnostech síťové komunikace.
Seznamte se s dostupnými nástroji pro vytváření grafických JavaSE aplikací na této platformě.
Navrhněte a implementujte rozhraní pro vybranou službu v prostředí Openmoko.
Demonstrujte výhody a nevýhody vytvořeného systému na vhodně zvolených příkladech. (tady bych to mohl pojmout jako výhody a nevýhody aplikace v mobilním prostředí s omezenými prostředky)
Vytvořte stručný plakát prezentující práci, její cíle a výsledky.
Cílová platforma
Co je to Openmoko?
První kompletně opensourcový smartphone / pocket PC
Zatím pouze pro vývojáře (oficiálně v ČR pouze 32 kusů)
Linuxový kernel 2.6.17.x, X.Org Server 7.1, GTK+ 2.6.10
Java – virtuální stroj cacao
Uživatelský vstup
2.8" VGA (480x640) TFT Screen (dotykový, single-touch)
Stylus nebo dotyky prstem
Klávesnice on-screen (zatím obtížné ovládát prstem)
Zatím pouze zlomek aplikací lze nazvat finger-friendly
Mobilní poštovní klientiPříklady – Windows Outlook Mobile, Qtopia messages v Openmoku
Menu->menu->menu->menu
Outlook Mobile
Příliš mnoho informací a možností na jedné obrazovce
Témeř vše přes menu nabídky
Qtopia Messages
Opak – příliš zjednodušené
Next->next->next->next
Uživatel nemá přehled v jakém kroku se nachází
Rozhraní - cíl
„něco mezi“, zlatý střed
Rychlý a přehledný přístup ke zprávám
Vytvoření nového mailu v co nejméně krocích
finger friendly
Výsledek(->prototyp pro ISP/BP)
Popis
Dostatečně velká tlačítka – FF
Okamžitý přehled a přístup k nejnovějším mailům
Odeslání mailu v jednom kroce
One-click přístup k akcím u příchozí zprávy
Eliminovány zmiňované nedostatky
Dostatečně velká tlačítka – FF
Nastavení
Nová zpráva Stáhnout poštu
Koš
Rozepsané - koncepty
Odesláno
Okamžitý přehled a přístup k nejnovějším mailům
Odeslání mailu v jednom kroce
Odeslat
Nová
One-click přístup k akcím u příchozí zprávy
Odpovědět | Přeposlat | Upravit jako novou | Smazat | Zavřít
Implementace a nástrojeJavaSE!, org.eclipse.swt, maven2
SWT → GTK
+ → nativní vzhled aplikace v systému
– → rozdíly v rozbrazení na různých systémech – v tomto případě komplikace vývoje na Openmoku – odlišné chování
CacaoVM, GNU Classpath
V této době velmi komplikované rozchodit v Openmoku, slabá / žádná podpora
Jalimo projekt – stále v plenkách
Cacao pomalé – minimální optimalizace
Testování, user feedback
Menší počet subjektů – nutno testovat přímo na platformě
Úkoly:
Otevřít nejnovější mail
Otevřít nejstarší mail (bez použití řazení)
Odpovědět na mail
Napsat a odeslat nový mail
12 testovacích subjektů
Otevřít nejnovější mail
Bez obtíží Na druhý pokus S obtížemi Vůbec0
1
2
3
4
5
6
7
8
Splnění úkolu
Otevřít nejstarší mail (bez použití řazení)
Bez obtíží Na druhý pokus S obtížemi Vůbec0
1
2
3
4
5
6
7
Splnění úkolu
Odpovědět na mail
Bez obtíží Na druhý pokus S obtížemi Vůbec0
1
2
3
4
5
6
7
8
9
10
Splnění úkolu
Napsat a odeslat nový mail
Bez obtíží Na druhý pokus S obtížemi Vůbec0
2
4
6
8
10
12
Splnění úkolu
Feedback a reakce testerů
Hlavní problém – pohyb v tabulce s maily
Význam ikon není jednoznačný
Málokdo si všimne šipky na zvětšení tabulky
Otevření mailu – často zkusí nejdříve double-tap než single-tap
Líbí se design
Pozitivní ohlas na způsob vytváření mailu
Řešení
Použít k tabulce slider a nebo tlačítka na pohyb, ideálně pohyb pomocí gest
Přidat text labely k tlačítkám
Zvětšení šipky pro zvětšení tabulky
Vytvořit vlastní MouseAdapter na detekci různých eventů v tabulce
GUI - featuresPřidat podporu ovládání pomocí gest
prstemVpřed a zpět
Pohyb v tabulce
Přistup k částem, které nejsou na one-click
Prozkoumat ovládání akcelerometry shake shake – stáhnout maily
up/down – zvětšit/zmenšit inbox tabulku
Pokud se v Jalimu podaří dostatečně optimalizovat cacao, bude možné použít grafické efekty ala iphone (org.sharemedia.ui.sat – SWT Animation Toolkit), momentálně slideshow
Programová část - prototyp
Implementováno POP3, SMTP (bez SSL)
Připraveno uživatelské rozhraní
Funkční na cílovém zařízení
Zajištěn sestavovací mechanismus pomocí maven2
3000 řádků
Programové cíle pro BP
IMAP, autorizované SMTP → podpora SSL
Nastavení pošty - účty
Lokální ukládání a čtení pošty
Přílohy
Podpora čtení HTML
Základní podpora psaní HTML mailů – odkazy, zvýrazňování, vkládání obrázků, (→ vlastní parser)
Překážky a výzvy
Slabé zdroje, nedostupná literatura zabývající se podrobněji tématu – JavaMail API, SWT
HTML browser komponenta SWT není zprovoznitelná na OM a Java HTML rendery implementované pouze pro Swing
První JavaSE aplikace pro OM – žádná dokumentace, nutno spolupracovat s vývojovým týmem platformy
Děkuji za pozornost
Mojomobile - java - open