A Domain-Specific Language for Ui-Navigation in Mobile Applications

Total Page:16

File Type:pdf, Size:1020Kb

A Domain-Specific Language for Ui-Navigation in Mobile Applications Master Thesis A DOMAIN-SPECIFIC LANGUAGE FOR UI-NAVIGATION IN MOBILE APPLICATIONS Peter Reuter University of Kaiserslautern [email protected] Sep 25, 2013 First Examiner: Prof. Dr. Arnd Poetzsch-Heffter Second Examiner: Dipl.-Inf. Axel Irriger Advisor: Dipl.-Inf. (FH) Andy Scherzinger STATEMENT OF AUTHORSHIP Except where reference is made in the text of this thesis, this thesis contains no material published elsewhere or extracted in whole or in part from a thesis presented by me for another degree or diploma. No other person's work has been used without due acknowledgement in the main text of the thesis. This thesis has not been submitted for the award of any other degree or thesis in any other tertiary institution. Kaiserslautern, Sep 25, 2013 Peter Reuter Abstract Developing mobile applications for the major mobile operating systems Android, iOS and Windows Phone 7 often requires re-development of functional similar applications multiple times. Furthermore, applications for similar business cases often use similar screens and screen flows. Software developers are therefore faced by the challenge of minimizing this effort. This master thesis presents a prototypical tool for the generation of native applications for mobile devices. To this end, typical navigation structures and concepts of mobile applications are captured by an abstract descriptions using a domain-specific language (DSL). This DSL supports developers while creating platform-independent specifications of screens and screen flows. Furthermore, a prototypical code generator is presented that is used to generate the concrete screens and the navigation between them. Mobile user interface pattern are used to provide a basic implementation for the different screens. Finally, the specification of a fictional application using the developed DSL is presented. The code generation approach of this thesis is demonstrated and evaluated using this fictional application. Kurzdarstellung Die Entwicklung mobiler Anwendungen für die meistgenutzten Betriebssysteme Android, iOS und Windows Phone 7 erfordert es, fachlich gleiche Anwendungen mehrfach zu entwickeln. Anwendungen für ähnliche Geschäftsszenarios verfügen zudem oft über ähnliche Dialoge und Dialogflüsse. Software-Entwickler stehen dabei vor der Herausforderung, den Aufwand an Neuentwicklung zu minimieren. Diese Masterarbeit präsentiert ein prototypisches Werkzeug zur Generierung von nativen Anwendungen für mobile Geräte. Dazu werden die typischen Navigationsstrukturen und -konzepte mobiler Anwendungen durch abstrakte Beschreibungen mittels einer Domänen-spezifischen Sprache (DSL) festgehalten. Diese DSL erlaubt das Ableiten Plattform-unabhängiger Spezifikationen von Dialogen und Dialogflüssen. Weiterhin wird ein prototypischer Generator präsentiert, der aus den abstrakten Dialog-Modellen alle konkreten Dialoge und den Code für die Navigation zwischen diesen generiert. Um eine Standard-Implementierung für Dialoge bereitzustellen werden Mobile User-Interface Pattern genutzt. Abschließend wird die Spezifikation einer fiktive Anwendung mittels der entwickelten DSL präsentiert. Anhand dieser Anwendung wird exemplarisch die Funktionsweise des vorgestellten Ansatzes demonstriert und evaluiert. Table Of Contents 1 Introduction......................................................................................................................................1 1.1 Motivation.................................................................................................................................1 1.2 Goals And Structure...............................................................................................................2 2 Methods, Techniques And Technologies.....................................................................................5 2.1 Foundations.............................................................................................................................5 2.1.1 Model-Based User Interface Development..................................................................5 2.1.2 Domain-Specific Languages..........................................................................................6 2.1.3 Xtext..................................................................................................................................8 2.1.4 User-interface Patterns..................................................................................................8 2.1.5 Patterns For Mobile UIs..................................................................................................9 2.1.6 Freemarker....................................................................................................................10 2.2 Existing Approaches.............................................................................................................11 2.2.1 Eclipse Android Development Tools...........................................................................11 2.2.2 Sencha Touch And Adobe Phonegap........................................................................13 2.2.3 Cross-compilation.........................................................................................................14 2.2.4 PhoneApps....................................................................................................................15 2.3 Summary................................................................................................................................16 3 The Mobile UI DSL.......................................................................................................................19 3.1 Analysis Of Mobile Applications..........................................................................................19 3.1.1 Navigation Concepts....................................................................................................20 3.1.2 Frequently Used Screens.............................................................................................22 3.2 Derived Requirements..........................................................................................................27 3.2.1 General...........................................................................................................................27 3.2.2 Navigation......................................................................................................................27 3.2.3 Screens..........................................................................................................................28 3.3 The MobileUI DSL................................................................................................................29 3.3.1 MobileUI DSL Grammar...............................................................................................29 3.3.2 Pattern DSL Grammar..................................................................................................34 3.3.3 Context Conditions........................................................................................................36 3.3.4 Semantics Of Nested Flows And Screens.................................................................36 3.4 Summary................................................................................................................................38 4 Tool Support..................................................................................................................................41 4.1 Eclipse Editors For DSL Instances.....................................................................................41 4.1.1 DSL Text Editors...........................................................................................................41 4.1.2 Visualization Of DSL Instances...................................................................................46 4.2 Code Generator For Android...............................................................................................47 4.2.1 Base Meta Template....................................................................................................48 4.2.2 Screen Templates.........................................................................................................49 4.2.3 Navigation Controller Architecture..............................................................................50 4.2.4 Generation Process......................................................................................................53 4.3 Summary................................................................................................................................54 5 Evaluation......................................................................................................................................57 5.1 Description And Specification.............................................................................................57 5.2 Code Generation...................................................................................................................59 5.3 Comparison With Traditional Development.......................................................................61 5.3.1 Initial Effort.....................................................................................................................61 5.3.2 Long-term Effort............................................................................................................62 5.4 Summary................................................................................................................................62
Recommended publications
  • 2(D) Citation Watch – Google Inc Towergatesoftware Towergatesoftware.Com 1 866 523 TWG8
    2(d) Citation Watch – Google inc towergatesoftware towergatesoftware.com 1 866 523 TWG8 Firm/Corresp Owner (cited) Mark (cited) Mark (refused) Owner (refused) ANDREW ABRAMS Google Inc. G+ EXHIBIA SOCIAL SHOPPING F OR Exhibía OY 85394867 G+ ACCOUNT REQUIRED TO BID 86325474 Andrew Abrams Google Inc. GOOGLE CURRENTS THE GOOGLE HANDSHAKE Goodway Marketing Co. 85564666 85822092 Andrew Abrams Google Inc. GOOGLE TAKEOUT GOOGLEBEERS "Munsch, Jim" 85358126 86048063 Annabelle Danielvarda Google Inc. BROADCAST YOURSELF ORR TUBE BROADCAST MYSELF "Orr, Andrew M" 78802315 85206952 Annabelle Danielvarda Google Inc. BROADCAST YOURSELF WEBCASTYOURSELF Todd R Saunders 78802315 85213501 Annabelle Danielvarda Google Inc. YOUTUBE ORR TUBE BROADCAST MYSELF "Orr, Andrew M" 77588871 85206952 Annabelle Danielvarda Google Inc. YOUTUBE YOU PHOTO TUBE Jorge David Candido 77588871 85345360 Annabelle Danielvarda Google Inc. YOUTUBE YOUTOO SOCIAL TV "Youtoo Technologies, Llc" 77588871 85192965 Building 41 Google Inc. GMAIL GOT GMAIL? "Kuchlous, Ankur" 78398233 85112794 Building 41 Google Inc. GMAIL "VOG ART, KITE, SURF, SKATE, "Kruesi, Margaretta E." 78398233 LIFE GRETTA KRUESI WWW.GRETTAKRUESI.COM [email protected]" 85397168 "BUMP TECHNOLOGIES, INC." GOOGLE INC. BUMP PAY BUMPTOPAY Nexus Taxi Inc 85549958 86242487 1 Copyright 2015 TowerGate Software Inc 2(d) Citation Watch – Google inc towergatesoftware towergatesoftware.com 1 866 523 TWG8 Firm/Corresp Owner (cited) Mark (cited) Mark (refused) Owner (refused) "BUMP TECHNOLOGIES, INC." GOOGLE INC. BUMP BUMP.COM Bump Network 77701789 85287257 "BUMP TECHNOLOGIES, INC." GOOGLE INC. BUMP BUMPTOPAY Nexus Taxi Inc 77701789 86242487 Christine Hsieh Google Inc. GLASS GLASS "Border Stylo, Llc" 85661672 86063261 Christine Hsieh Google Inc. GOOGLE MIRROR MIRROR MIX "Digital Audio Labs, Inc." 85793517 85837648 Christine Hsieh Google Inc.
    [Show full text]
  • Samsung GALAXY S4 User Guide
    User Guide ©2013 Sprint. Sprint and the logo are trademarks of Sprint. Other marks are trademarks of their respective owners. (Sprint UG template version 13a) SPT_L720_MR5_KitKat_UG_Eng_NA1_TE_022514_F4 Table of Contents Get Started .................................................................................................................................... 1 Your Phone at a Glance ........................................................................................................ 1 Set Up Your Phone ................................................................................................................ 1 Activate Your Phone .............................................................................................................. 2 Complete the Setup ............................................................................................................... 3 Set Up Voicemail ................................................................................................................... 4 Sprint Account Information and Help ..................................................................................... 5 Sprint Account Passwords ............................................................................................. 5 Manage Your Account .................................................................................................... 6 Sprint Support Services .................................................................................................. 7 Phone Basics ...............................................................................................................................
    [Show full text]
  • What's New for Google in 2020?
    Kevin A. McGrail [email protected] What’s new for Google in 2020? Introduction Kevin A. McGrail Director, Business Growth @ InfraShield.com Google G Suite TC, GDE & Ambassador https://www.linkedin.com/in/kmcgrail About the Speaker Kevin A. McGrail Director, Business Growth @ InfraShield.com Member of the Apache Software Foundation Release Manager for Apache SpamAssassin Google G Suite TC, GDE & Ambassador. https://www.linkedin.com/in/kmcgrail 1Q 2020 STORY TIME: Google Overlords, Pixelbook’s Secret Titan Key, & Googlesplain’ing CES Jan 2020 - No new new hardware was announced at CES! - Google Assistant & AI Hey Google, Read this Page Hey Google, turn on the lights at 6AM Hey Google, Leave a Note... CES Jan 2020 (continued) Google Assistant & AI Speed Dial Interpreter Mode (Transcript Mode) Hey Google, that wasn't for you Live Transcripts Hangouts Meet w/Captions Recorder App w/Transcriptions Live Transcribe Coming Next...: https://mashable.com/article/google-translate-transcription-audio/ EXPERT TIP: What is Clipping? And Whispering! Streaming Games - Google Stadia Android Tablets No more Android Tablets? AI AI AI AI AI Looker acquisition for 2.6B https://www.cloudbakers.com/blog/why-cloudbakers-loves-looker-for-business-intelligence-bi From Thomas Kurian, head of Google Cloud: “focusing on digital transformation solutions for retail, healthcare, financial services, media and entertainment, and industrial and manufacturing verticals. He highlighted Google's strengths in AI for each vertical, such as behavioral analytics for retail,
    [Show full text]
  • Privacy Policy
    Privacy Policy Responsible: SAITOW AG Gewerbegebiet Sauerwiesen Technologiepark I & II 67661 Kaiserslautern, Germany Tel.: +49 6301 600-0 [email protected] Data Protection Officer: Ann-Kathrin Dengel +49 6301 600-1144 [email protected] Dated: February 22 , 2021 1. Basic Information on Data Processing and Legal Foundations 1.1. This privacy policy explains to you the nature, scope and purpose of the processing of personal data within our online service and the associated websites, functions and content (hereinafter referred to as “Online Service" or "Websites"). The privacy policy applies regardless of the domains, systems, platforms and devices (e.g. desktop or mobile) on which the Online Service is executed. 1.2. The personal user data processed within the scope of our Online Service includes inventory, contact, content, contract and usage data as well as meta/communication data, employee master data and applicant data. 1.3. The affected groups of persons include our business partners, users and customers as well as interested parties, other visitors to our Online Service, employees and applicants. 1.4. We process users' personal data only in compliance with the applicable privacy regulations. 1.5. We pass on personal data (and user data) to affiliated companies and their subsidiaries for the purpose of order processing. These companies are either subject to this privacy policy or follow policies that provide at least as much protection as this privacy policy. 1.6. As we continue to develop our business, we, or individual subsidiaries, may sell or buy parts or components of our business. In such transactions, customer information is usually transferred with the part of the entity to be transferred.
    [Show full text]
  • Ebook Tendencias-Marketing-Digital
    180 TENDENCIAS Y PREDICCIONES 2021 Índice 1. Tendencias de marketing digital.................................................................................4 2. Tendencias de social media y social ads...............................................................16 3. Tendencias de video marketing.................................................................................42 4. Tendencias de email marketing.................................................................................56 5. Tendencias en publicidad programática...............................................................74 6. Tendencias en publicidad nativa y branded content......................................82 7. Tendencias en marketing de contenidos..............................................................88 8. Tendencias en inbound marketing.........................................................................102 9. Tendencias en SEO..........................................................................................................120 10. Tendencias en SEM.........................................................................................................138 11. Tendencias en Data y Analytics................................................................................150 12. Tendencias en diseño web y user experience (UX).........................................162 13. Tendencias en ecommerce..........................................................................................174 14. Tendencias en publicidad digital OOH...................................................................186
    [Show full text]
  • Google Archives Where to Download How to Download, Delete, Or Pause Your Google Search History
    google archives where to download How to Download, Delete, or Pause Your Google Search History. Google recently unveiled the ability to download – as in save to your device – your entire search history. Now, in addition to being able to pause or purge it completely, you can have a physical copy of everything you’ve searched for over the years. Of course, there are a couple of catches. First, it’s not an instant download. You have to request an archive, after which Google sends you an email to alert you when it is ready. You can then view the archive on Google Drive or download the zipped file to your computer or device. Further, the archive you get is broken down into multiple files, which are saved in an unfamiliar format (JSON). Fortunately, JSON files will open with any text editor though it won’t be easily readable. This article will explain how to not only download your search history, but also read it, purge it, and turn it off (pause). Downloading Your Search History. The first thing you want to do is make sure you’re logged into your Google account. Your account settings can be accessed by going to myaccount.google.com or you can click on your picture in the upper-right corner and then click “Account.” On the “Account settings” page, scroll down to the “Account tools” section and then click on “Account history,” which lets you “manage account history and related settings.” There’s a lot of stuff here you should peruse at your leisure.
    [Show full text]
  • What's New? Information and Entertainment Application For
    What's New? Information and Entertainment Application for Android and iPhone Semester Thesis Dominik Bucher, D-ITET [email protected] January 2012 Distributed Computing Group, ETH Zurich, 8092 Zurich Supervisors Samuel Welten and Mihai Calin Professor Dr. Roger Wattenhofer Abstract In this thesis a script language is developed that allows processing of arbitrary HTML documents. The processing is done to extract important elements from the documents. These elements include headlines, paragraphs and images. In the process, advertisements, specific design elements and other unwanted parts are discarded. This allows extraction of specific content from any regular web site. The script language is finally used within a news application that crawls news sites, extracts important parts of them and displays the articles. For the whole process no content from content providers has to be stored on the server of the application developer. The only things that are stored on the server are links pointing to the respective html pages and files on about how to process this html. This can also be beneficial for copyright issues as the whole content extraction is done on the end-user device. Contents List of Figures ........................................................................................................................................... 2 List of Tables ............................................................................................................................................ 2 List of Listings .........................................................................................................................................
    [Show full text]
  • Student Handbook A.Y.2018-19/I Sem
    IV-B.Tech STUDENT HANDBOOK A.Y.2018-19/I SEM Department of CSE MARRI LAXMAN REDDY INSTITUTIONS MLR Institute of Technology Dundigal (V), Quthbullapur (M), R.R Dist, Hyderabad – 500043, A.P www.mlrinstitutions.ac.in VISION STATEMENT VISION OF THE DEPARTMENT Promote Innovation-centric education to produce globally competent graduates in Computer Science and Engineering education & research capable of building a strong and developed nation. MISSION STATEMENT MISSION OF THE DEPARTMENT M1: Provide rigorous course work and State-of-the-Art laboratories for the students to make them globally competent. M2: Strengthen the department interaction with Multi National Companies to enhance graduate technological advancement skills and research capabilities. M3: Impart human values and ethics to the graduates for serving the society with highest regard to the mother land. Program Educational Objectives (PEOs): PEO1: Graduates of the program will have a globally competent professional career in software Industry. PEO2: Graduates of the program will pursue higher education and research. PEO3: Graduates of the program will have entrepreneur skills to solve societal problems. Our Pioneers… Marri Laxman Reddy- Chairman Sri Marri Laxman Reddy is a man of vision, values and beliefs. He is a firm believer, that an educated nation is a prosperous nation. He is also a veteran international athlete. He strongly encourages students to participate in sports. He believes that sports build self-esteem, confidence and motivation in students. With sports, students can recognize the ways and benefits of goal setting and practice. This in turn helps them to excel academically and build up their social skills. We are enchanted to have such an inspiring personality among us.
    [Show full text]
  • Android™ User Interface Design
    Praise for Android User Interface Design “Android User Interface Design is a truly excellent book, written by one of the most experienced and knowledgeable Android developers. This is a very practical, highly readable guide and a great how-to resource for every Android developer. Each chapter reveals a clear and deep understanding of UI design. I highly recommend this book to anyone wishing to develop Android apps with superior UI.” —Kyungil Kim Software Engineer, Facebook “I recommend this book for all Android developers who work alone and want to give a professional look to their apps. The content of the book is excellent and covers all aspects needed to understand how to design Android apps that stand out.” —Gonzalo Benoffi CEO, Coffee and Cookies, Android Development “Design was never part of a developer’s job until mobile app development started; now it’s a must. This book gives a simple yet effective way to design your apps. It’s easy for beginners and informative for experienced developers as well. This is the best book I could ever refer to anyone who is in Android development. A one-time read of this book covers the experience you might gain from three years of learning development. I am amazed to see instructions on how to design starting from wireframes, which is something no other book has provided clear enough explanation of. (Some don’t even cover it.) I really love it. Thanks to Ian for this wonderful contribution to the Android developer community. Best, simple, and effective!” —Chakradhar Gavirineni Android Application Developer, Adeptpros IT Solutions Pvt Ltd.
    [Show full text]
  • Prey P.11 Command & Conquer P.05 Ubuntu Games P.49 I Think
    ) m o c . r k c i l F ( y Full Circle h THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY p a r ISSUE #60 - April 2012 g o t o h P o u d B D : o t o h p NNEEWW GGRRAAPPHHIICCSS SSEECCTTIIOONN LEARN GIMP AND INKSCAPE! full circle magazine #60 full circle magazine is neither affiliated wit1h, nor endorsed by, Canonical Ltd. contents ^ HowTo Full Circle Opinions THE INDEPENDENT MAGAZINE FOR THE UBUNTU LINUX COMMUNITY Python - Part 32 p.06 My Story p.28 Linux News p.04 My Desktop p.55 LibreOffice Pt14 p.08 My Opinion p.34 Columns Prey p.11 Command & Conquer p.05 Ubuntu Games p.49 I Think... p.38 GIMP - Beanstalk Pt1 p.14 Linux Labs p.22 Q&A p.45 Review p.40 Inkscape - Intro p.18 Ubuntu Women p.47 Closing Windows p.24 Letters p.42 Graphics The articles contained in this magazine are released under the Creative Commons Attribution-Share Alike 3.0 Unported license. This means you can adapt, copy, distribute and transmit the articles but only under the following conditions: you must attribute the work to the original author in some way (at least a name, email or URL) and to this magazine by name ('Full Circle Magazine') and the URL www.fullcirclemagazine.org (but not attribute the article(s) in any way that suggests that they endorse you or your use of the work). If you alter, transform, or build upon this work, you must distribute the resulting work under the same, similar or a compatible license.
    [Show full text]
  • Introduction to Google Currents Getting Started with Currents
    Introduction to Google Currents Getting Started with Currents Signing up for Currents Once your ucd.ie email account has been set up, you already have a Currents account ready to go. From your inbox, simply click the dots menu in the top right-hand corner beside the UCD Connect Logo and then click Currents. This will bring you to the Currents Home Page. Joining the USM Community Hub To join the USM Community Hub on Currents, simply search “USM Community Hub” in the search bar at the top of the home screen. Then click “Ask to Join”. 1 Introduction to Google Currents 2 Introduction to Google Currents How does Google Currents help me stay connected? 3 Introduction to Google Currents Frequently Asked Questions Can a post within a community be restricted to a subset of that community? There is currently no breakout or subgroup feature in Google Currents communities, so in this case you may want to create a new private community. Alternatively, the Rooms feature in Google Chat allows you to set up a closed group to discuss and share work, and is also available for you to use through your UCD email in Gmail; find out more about Rooms in Google Chat by visiting the UCD IT Services website. However, Google Currents allows you to share a post privately to selected persons within UCD instead of to a community. When you are drafting the post, the name of your community appears in blue at the top beside your own name - click on this blue text name of the community, then change the setting to ‘within UCD.ie’ instead of the community.
    [Show full text]
  • Google Workspace & Microsoft Office 365 Coexistence Overview
    November 2020 Google Workspace & Microsoft Office 365 coexistence overview 2 Table of contents Table of contents 2 1. About this document 6 2. Introduction 7 About the example company 8 Collaboration platforms 8 IT environment 9 IT management 9 Security and compliance 9 3. IT architecture of the example company 9 Directory synchronization 10 Access management 10 Mail flow 11 Calendar coexistence 12 Device management 12 Browser management 13 Context-Aware Access using endpoint verification 13 Storage 13 Intranet and document management system 14 Enterprise search 14 Online meetings 14 4. Sample user scenarios 16 4.1 Connect 16 Scenario: Sending mail 16 Scenario: Booking a calendar appointment with the global team 17 Scenario: Hosting a video meeting (organizer on Google Workspace) 19 Scenario: Hosting a video meeting (organizer on Office 365) 20 Scenario: Delegation strategies 21 Scenario: Communities 23 Scenario: Chat 24 Scenario: Telephony (cloud and on-premises) 24 3 4.2 Access 25 Scenario: Internal collaboration on Google documents 25 Scenario: Internal collaboration on Office 365 documents 26 Scenario: Locate documents across platforms 27 4.3 Create 29 Scenario: Edit existing Office 365 documents in Google Workspace 29 Scenario: Access departmental drives 30 Scenario: Company style guide 32 Scenario: Preserve documents for archiving compliance 34 4.4 Control 35 Scenario: Device management 35 Scenario: Identity Management 36 Scenario: Access management 37 Scenario: Groups and organizational units 38 5. Google Workspace Essentials 40 6. Additional resources 42 4 1. About this document This guide is intended to help customers better understand how to use and customize Google Workspace services and settings to coexist with Microsoft Office 365 within the same company.
    [Show full text]