Mojo SP Obhajoba

Post on 05-Jul-2015

481 views 3 download

transcript

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