MORFEO PROJECT

IDEAL

TSI-020301-2008-25

A Language for Authoring Context-Aware Ubiquitous Web Applications & Content

José M. Cantera Fonseca [email protected]

1 MORFEO IDEAL Language • • • languagesUIfor isabigThere yet-to-be-explored decpotential for ExampleAJAX-based : UIs supportingnewtheservice generation front-ends. Traditionalinterface user development approaches a • • • • • • • • Applying existing research results on model-based U model-based on results Applyingexisting research issue an Accessibilityalso is modalitie / devices multiple to adapt to Impossible Javascript HTML UI context-aware of development the Dosupport not developmen language-driven and platform Imperative, modaliti or devices platforms, specific to Oriented • • • • • both device dependent and imperative imperative and dependent device both independent modality nor device neither requirements. a real the on concentrate fully cannot UIdesigners suffers market to time and effort the increases m screen (big modality GUI and device PC a normally Introduction es s larativeauthoring I dev. I / contents / t style style t re insufficient forre pplication ouse & keyboard) & ouse MORFEO IDEAL Language • • Existingarestandards insufficient but withdeclarative and solutions:imperative abstractionmechanisms Developersalways demandinghave been • • • • • Promotereuseand interoperability theygoodbe can a newpointforstarting languages extendedwithadditional functionali canbe “wisely” Proprietary,higher-leveltag-based, laabstraction AjaxToolkits • • • • • Dojo,...Yahoo, GWT, but not withbutnotabstract UIthe withDealthe concrete (typicallyUIPCs) forrepre interesting isaremainingThere functionality20%ofmigh that functionalityoffered Theywheelreinventnormally the theforthe 80%of XAML, JSF, XUL, Laszlo, MSXML • Vendor-Locking, specific imperative,an to oriented . As aAsresult, the. market has responded State of the Art more powerful yers ties sentation t be t

problem MORFEO IDEAL Language • • between differencethe understandoften don’t Developers typical WebAuthorstypical IDEALAuthoringFormat bylearned easy-to-be is an • • • • • Authoring formats Complexthingsshould possible be (20%) Simple (80%) thingsbe should easy HTML 4 / 5, CSS, etc are delivery formats Delivery formats • • • formats Unfortunately in many occasions are used as authori webbrowser,example)for beformattoA interpreted p directlybythe client abstractionaspossible levels formatintendedA humansfor thatprovides many as uhrn sDeliveryAuthoring vs latform(the ng ng MORFEO IDEAL Language • • • content on the Ubiquitous Web Main characteristics Defined under the Eureka-CELTIC MyMobileWeb A Declarative • • • • • • • After 4 years of engineering experience IDEAL is Targeted both to content and applications Initially thought for visual modality but There is no wheel reinvention Not too abstract nor too concrete (good compromise) Modular and Extensible • • • • • Language, DIAL A superset of W3C’s Device Independent Authoring prepared to evolve to support any ofkind modality Reuse an existing standard whenever it is feasible Extensions must follow XHTML Modularization 1.1 “XHTML Family Module Conformant Language” IDEAL Language (Overview) not Authoring Format XHTML 1, XHTML 2, HTML 4, HTML 5 … for creating applications / MORFEO IDEAL Language • • • • IDEAL v1.0IDEAL lessons learned platform v1.0IDEAL has a renderingengine thatgenerates ma adapt tomultiple Delivery Contexts vIDEAL 1.0 was designed todeal with the problem o IDEAL v2.0IDEAL • • • • • • • • • • • S a sdbt o hmn and guiding the adapta CSSwas used bothfor theming Preparedto beused mainly over the JavaPlatform Basedon simple containers andinteractors Resultof our previousexperience Thenew generation of the languageIDEAL features Theneed to support at thesame timecontent-driven CSScannot be sufficient todeal with adaptation po Wheneverispossible reuse existingmarkup Theneed tobe language neutral Theneed ofextensibility (at the language and at t Theneed ofmodularization • Select, menu, table, IDEAL Language (History) f creatingweb applications that kpcd o theMobile Web rkup codefor hetoolkit level) licies and application-driven tionprocess MORFEO IDEAL Language • • Standards integrated Standards separates clearly It • • • • • • • • • • • • • • • • XBL 2XBL RDFa DISelect RoleAttribute /Access Module XMLEvents XForms ContentUI /Data Semantic Annotations AccessibilityUI AdaptationUI /Selection Policies (to dealwith mu (Look Feel)& Theming UI LayoutUI DataUI Content / Binding (including repetitions) DataUI Content / ModelDefinition & Restrictions BehaviourUI ComponentsUI /Binding with the target toolkit,fo StructureUI IDEAL Language 2.0 (II) rexample, DoJo ltipleDCs) MORFEO IDEAL Language • • • • • • • • • • • • • • Licensedunder a CreativeCommons 3.0 License(Attr IDEAL for… IDEAL forMobile WebDevelopers IDEAL forAJAXdevelopers PrimerIDEAL ExtensionIDEAL Guidelines (basedon XHTML1.1 Modu ToolkitIDEAL Bindings SemanticIDEAL Annotations (extendingRDFa) ThemesIDEAL & Look & Feel (leveragingCSS) AdaptationIDEAL / TransformationPolicies IDEAL LayoutDefinition ConcreteIDEAL UI Language (reusing workARIA and t IDEALCoreLanguage IDEAL Overview • • • Tutorial targeted to typicalHTML, Javascript,CSS General tutorial for developerswith lots of exampl Overview of the specification IDEAL Specification 2.0 es axonomy) developers larization) ibutionNon-Commercial) MORFEO IDEAL Language • • Modules WorkingisavailableA Draft at • • • • • • • • Selectionto allowcontext-aware UIs AccessibilityUI DataUI Content / Binding DataUI Content / ModelDefinition & Restrictions BehaviourUI ComponentsUI StructureUI http://mymobileweb.morfeo-project.org/specs/ideal • • • • • • • • Basedon DISelect The XHTMLAccess Module Extensions + (Dotted expressions are permitte XForms Extensions + (models based on objects are per XForms Actions+ ExtensionsXForms XMLEvents Extensions + XForms Basedon DIAL IDEAL LanguageCore 2.0 d) mitted) MORFEO IDEAL Language • • Kind of policies process through different Contexts Instructions given by the author to guide the adapt • • • • • • Context-AwareReordering Policies Paginationpolicies ContentSelectionpolicies userinterface) Renderingpolicies(mapping between anthe abstract Layoutpolicies policiesStylingTheming / • Examples • • Reorder a table depending on the locationthe depending on Reorder a table tastesReorder a user’s to give to preference menu Adaptation Policies ation dconcrete MORFEO IDEAL Language • For defining adaptation policies it is necessary to is necessary it policies adaptation defining For • • • willdefiningused be for the policies eachFor policiesofkind define a“vocabulary p of policies upSet acommon and extensible frameworkadaptafor for differentfor Contexts. Havealanguage thatallow choose to betweendiffer • DISelect might be mightthepoint starting suchfor langu DISelect Adaptation Policies oete”that roperties” entpolicies tion tion age MORFEO IDEAL Language • • • • • • Events Context-Aware Selection Fragment inclusion Formatting Binding and validation Repeating structures • • • • • • Viewsourcecode Viewsourcecode Viewsourcecode Viewsourcecode JSON instance (e.g. ordered list control) XML instance (e.g. table control) • • Viewsourcecode Viewsourcecode IDEAL 2.0 Examples MORFEO IDEAL Language • • Short Term Actions Future Targets • • • • • • end end of the year The rest of the IDEAL specs will be available by th IDEAL Core compellingcontext-aware UIs ResearchtowardsModel-Based thatallowsUI creato Re-Modularizefollowing aapproachlayered Implementation plans Tutorial Materials are expected for Q1 2009 • • • • akMdl sAsrc Iv ConcreteUI Abstractvs UI Models Task vs v 3.2implemented in MyMobileWeb A subset of the IDEAL Core Language is already For some subjects it is needed to investigate more available by October 31st A complete and stable version of the spec will be • web-enabled devices markuprendering forengine generates The mobile IDEAL Roadmap te e MORFEO IDEAL Language Domain ModelDomain Ontologies UML IDEAL Roadmap (Model-Based Abstract Abstract UserInterface Task /TaskDialog Models InterfaceModel ConcreteUser Final UI Final Layer Model Transformation Transformation Trannsformation Policies Policies ConcreteUI / Languages Standard SCXML? VoiceXML Extended Standard XForms? HTML 5 HTML CSS CSS 3 ARIA? UI)