FYP Report Libre

Embed Size (px)

Citation preview

  • 8/12/2019 FYP Report Libre

    1/30

    BEngCE-2011/12

    Project Title

    User Interface for Andorid TV BOXSengital Ltd.

    ______________________________________

    Student Name: Yeung Wang Chung

    Student ID: 51833060

    Supervisor: Dr CHIU, Bernard

    Assessor: Dr LEUNG, Andrew

    ______________________________________________________________________________

    Department of Electronic Engineering

    Final Year Project Report

    Bachelor of Engineering (Honours) in Computer Engineering

  • 8/12/2019 FYP Report Libre

    2/30

    Student Final Year Project Declaration

    I have read the student handbook and I understand the meaning of academic dishonesty,

    in particular plagiarism and collusion. I declare that the work submitted for the final year

    project does not involve academic dishonesty. I give permission for my final year project

    work to be electronically scanned and if found to involve academic dishonesty, I am

    aware of the consequences as stated in the Student Handbook.

  • 8/12/2019 FYP Report Libre

    3/30

    No part of this report may be reproduced, stored in a retrieval system, or

    transcribed in any form or by any means electronic, mechanical, photocopying,

    recording or otherwise without the prior written permission of City University of

    Hong Kong.

  • 8/12/2019 FYP Report Libre

    4/30

    List of figures

  • 8/12/2019 FYP Report Libre

    5/30

    List of tables

  • 8/12/2019 FYP Report Libre

    6/30

    Project abstract

    Android TV Box User Interface is the media where interaction between users and TV

    Box occurs. The goals of interaction between users and technologies is simplicity where

    users can achieve their needs as fast as they want(Efficiency), ease of learning the

    interface for users(Usability), adequate functions fulfilled users needs(Utility) and a

    creative and concise user interface(Creativity). TV Box is for all users, not only for the

    developers. Thus, design of interface should be simple. The interface can be divided into

    two parts, start page and application page. The start page is using a turntable to show six

    choices for users to choose where those choices are commonly used. Then, the

    application page is the main page, including all of the functions such as applications in

    TV Box, weather forecast etc. The technical items we use are turntable, sliding drawer,

    RSS reader, apps grab and show and so on. Those items not only focus on technical

    difficulties, but also intended to achieve the goals of interaction to make the product

    perfect.

  • 8/12/2019 FYP Report Libre

    7/30

    Chapter 1: Introduction

    1.1 Objectives of the project1. To design a creative user interface2. To enhance the interaction between machine and user3. To gain practical experience in programming

    1.2 MotivationNowadays, Android would be a more popular operating system. It could be plugged into

    high technologies, such as smart phone or TV box. Our team would like to develop an

    Android TV Box, and also divided into four parts, remote control, file sharing, video

    conferencing and user interface. For me, the part of user interface is my final year project.

    I thought that the most challenge part in user interface is how to design a user friendly

    interface and programming part. Because it is different with user interface in application,

    this one would involve deeper just like framework part in Android. In addition, the design

    part is to enhance the interaction between technology and user so it is interesting that

    motivate me to focus on thinking how smooth the interface is.

  • 8/12/2019 FYP Report Libre

    8/30

    1.3 Outlines of reportFirst of all, chapter 1 is an introduction which is about the aims and why this project

    would be chosen.The background studies of Android, design of user interface, product

    information and marketing research are included in chapter 2.

    The second part of report is about the methodology, which is how to implement in

    chapter 3. The problem we encountered and the solution would be introduced in chapter 4.

    Last but not least, the last part would be included possible further development and

    conclusion/ reflection in chapter 5 and chapter 6 relatively.

  • 8/12/2019 FYP Report Libre

    9/30

    Chapter 2: Background Study

    2.1 Software2.1.1 Android Platform [1]

    Android Platform Structure

    Figure 2.1: Android Platform Structure

    Figure 2.1 illustrates structure architecture of Android platform. It is constructed

    by five layers, from top to bottom, applications, application framework, native

    libraries, Android runtime and Linux kernel.I would like to explain these four

    layers shown as follow.

  • 8/12/2019 FYP Report Libre

    10/30

    1. ApplicationsThis layer is for the user use. It would be included email, sms, calendar, web

    browser, map and so on. Figure 2.2 shows one of the applications, which is

    calendar application. These applications almost are compiled by Java.

    Figure 2.2: Calender Demo to be one of the applications

    2. Application frameworkThis layer is the API framework. In Android, there is a list of built java class

    for developers to use. Its objective is to simplify the component (e.g. button,

    dialog, window manager) to reduce the function rewritten and unify those

    functions.Also, those frameworks could be rewritten by the developers. All

  • 8/12/2019 FYP Report Libre

    11/30

    of the applications are formed from a series of services and systems, that is

    - One extendable Views, which would be used to build application,consists of lists, grids, text boxes, buttons etc.

    - Content Provider could allow the applications to grab the data ofothersapplications or share own data.

    - Resource Manager provides the connection to resource which isnot code work, such as local string, drawable resource, layout files

    about xml.

    - Notification Managercould allow the applications to inform theuser the status through the notification bar.

    - Activity Manager is to manage the life cycle of the application andprovides a commonbackstackto user navigation.

    - The remaining others have their function for the specificapplications, for example google map, using Location Manager.

    3. Native librariesWhen the applications is being used, android system would like to use

    C/C++ libraries to support those framework.

    - System C libraries: one is extended from Bionic, a standard Cfunction database (libc),which is based on Embedded Linux.

  • 8/12/2019 FYP Report Libre

    12/30

    - Media codecs: Based on PacketVideoOpenCORE. It also supportsa variety of formats of audio and video, for example, MPEG4,

    H.264, MP3, AAC, AMR, JPG, PNG.

    - Surface Manager: Creates animation or effects without drawing indirect.

    - LibWebCore: An engine for web brower, is to support browser andWeb View.

    - SGL: An internal 2D graphic engine.-

    3D libraries: Support 3D effects.

    - FreeType: About vector and bitmap.- SQLite: A lightweight database includes many strong functions for

    all applications.

    4. Android runtimeAndroid runtime includes the Dalvik virtual machine and the core Java

    libraries. Every android application owns an independent Dalvik virtual

    machine instance. Dalvik is achieved for multiple virtual machines

    efficiently. The format is optimized for minimum memory usage. Those

    virtual register-based machines, all classes are compiled through Java

    compiler.

    5. Linux kernel

  • 8/12/2019 FYP Report Libre

    13/30

    Linux is adapted for internal kernel in Android, where Linux is open source

    software. The purpose is for its memory management, networking,process

    management and other operating system services. Also, Linux kernel is the

    abstract layer between hardware and software. For example, display driver,

    keyboard driver, flash memory driver, camera driver, audio driver, bluetooth

    driver and power management are handled by Linux kernel.

    2.1.2 OpenGL ES(Embedded System)OpenGL (Open Graphic Library) is defined as cross-platform API to be standard

    specification for many types of language. It comprises over 250 functions for the

    calls in program where developer can draw 2D and 3D computer graphic.

    OpenGL ES(Open Graphic Library Embedded System) is a stripped version of

    OpenGL, which extends OpenGL API without lots of functions. It is only for

    embedded systems, a 2D & 3D lightweight graphic library. There is a list of

    functions that is deleted in OpenGL compared with OpenGL.

    - glBegin/glEnd- glArrarElement- glRect- glPolyonMode- glDrawPixels, glPixeltransfer, glPixelZoom- over twenty settings/functions not included in OpenGL ES

    3D launcher (Using OpenGL ES)

  • 8/12/2019 FYP Report Libre

    14/30

    Using OpenGL ES to develop user interface, it is too many constrains for the

    development. Firstly, to implement 3d launcher, it is not user friendly at all,

    because difficult to call many functions for launcher such as onItemClickListener,

    we may use onTouchEvent to replace but not fulfilled that kind of function. For

    instance, onItemClickListeneris for the many items to be clickable. However, in

    GLSurfaceView, all items are combined in a same view, not able to be separated

    item. Thus, onTouchEvent replaces to cover this problem but just only for

    detection on coordinate or gesture.

    Also, running 3D launcher, it is required to a standard specification, therefore, not

    applicable for low specification of Android TV Box.For implementation of 3D

    launcher, it is more suitable using transformation of 2D camera to 3D rather than

    using OpenGL ES. Android platform 3.0 or above would be more functions about

    3D animation. To conclude, using OpendGL ES to implement 3D launcher would

    encounter many difficulties to be solved, it is more suitable to implement live

    wallpaper or 3D game shown in figure2.3 and figure 2.4.

  • 8/12/2019 FYP Report Libre

    15/30

    Figure 2.3: 3D game developed by OpenGL ES

    Figure 2.4: Live wallpaper developed by OpenGL ES

    2.1.3 Custom ROM

  • 8/12/2019 FYP Report Libre

    16/30

    ROM consists the files about Linux kernel, such as boot.img, META-INF, app,

    bin, etc, font, framework, lib and media.[2] Developer could modify those files to

    customize Linux kernel and native libraries. Before the tv box is installed the

    customized ROM, tv box should be attained privileged control, that means root

    access. This kind of method, custom ROM, could be inserted or deleted

    applications by developer, and also modify the animation or framework part.

    However, custom ROM must be specified to unique product because there are

    many smart phones having different specification. Thus, there are many open

    source developing groups developing custom ROM for different smart phones.

    Figure 2.5 and figure 2.6 is open source developing group providing custom ROM,

    that is MIUI and CyanogenMod respectively.

    Figure 2.5: MIUIname of developing group

  • 8/12/2019 FYP Report Libre

    17/30

    Figure 2.6: CyanogenModname of developing group

    User Interface

    Though developer could customize the ROM to have a new user interface, this

    project does not focus on drivers and the native libraries. To create an user

    interface, we do not need to modify the Linux kernel. If custom ROM is chosen to

    be the methodology, this is the only unique product to install this custom ROM so

    cannot be applicable to more products.

    2.1.4 LauncherLauncher would be initiated when the product starts to run, which seems like a

    desktop in PC. It helps users providing shortcuts or an efficient path for users. For

    android smart phone, launcher would provide many functions application

    shortcuts and application widgets. It is convenient that adequate functions and

    efficient path. Roughly speaking, launcher is almost an application but more

    complicated because it involves data model and supports different kinds of

  • 8/12/2019 FYP Report Libre

    18/30

    gesture detection, also setting the items shown in start page to be clickable or

    more functions.

    Launcher is different with custom ROM, although it also includes many

    animations for the user to choose, but does not need to modify the Linux kernel

    where developers create launcher. Therefore, launcher is the most suitable to be

    user interface, and easy to be applicable to many products without root

    permission. There are two popular launchers shown as figure 2.7 and figure 2.8.

    Figure 2.7: Go Launchername of custom launcher

  • 8/12/2019 FYP Report Libre

    19/30

    Figure 2.8: Launcher 7imitate interface of window 7 mobile

    User Interface

    Note that this method would be chosen for this project. For this project, we would

    develop a simplified launcher, which is chosen several items of major functions to

    be user interface such as application drawer. If we use original launcher installed

    in tv box, it is too complicated for users because of the remote control and

    landscape orientation, that is the major difference between smart phone and tv

    box. Therefore, those original launchers would be not user friendly and reduce the

    ease of use of all users who are not familiar with high technologies.

    2.2 User InterfaceGoals

    The goal of user interface is aimed at improving the interaction between users and

    technologies. We would refer to four conditions/measurements to achieve the goal; these

    are efficiency, usability, utility& effectiveness and creativity.

  • 8/12/2019 FYP Report Libre

    20/30

    - Efficiency: a measure that users can achieve their needs as fast asthey want.

    - Usability: a measure about ease of learning and use the interfacefor different types of users, e.g. experienced and inexperienced

    users.

    - Utility: a measure for determining whether adequate functionscould fulfill users needs.

    - Effectiveness: a measure that concern users whether were able tocarry out their needs, i.e. achieve the services in an easy way. It is

    a differenceto efficiency.

    - Creativity: a measure that how much do interface stimulate userinterest. It brings subjectivity from users. But in project, we also

    aim at conciseness for enhancement of usability& effectiveness

    and efficiency.

    Process of design

    The process of design will be discussed. Waterfall model is adopted for detail describing

    what design process should be proceeded. Waterfall model makes process divided into

    seven activities to be a life cycle, shown in figure 2.9.

  • 8/12/2019 FYP Report Libre

    21/30

    Figure 2.9: The Waterfall Modelseven activities in the life cycle

    The relation and meaning of these seven activities would be discussed next.

    - Requirements specification: Developers and users are also trying toknow the product could provide what kind of services. These

    requirements can be recorded in natural or precise languages. This

    stage is not determining about the product how to provide those

    services.

    - Architectural design: This stage would focus on how the productprovides the services. Then factors the product into major

    components, describing the interdependencies between separate

  • 8/12/2019 FYP Report Libre

    22/30

    components and the sharing of resources. Needs the techniques

    about functional and nonfunctional requirements,that means

    services provided in screen and not directly related to actual

    services relatively.

    - Detailed design: Divided the product into several modules to beimplemented separately. Proceeds that refine it and this refers to

    nonfunctional requirement.

    - Coding and unit testing: Execute and test repeatedly all of themodules in programming languages. In this project, Android

    language is used.

    - Integration and testing: Combine those separate modules andensuring correct behavior and acceptable use, such that the product

    fulfills users needs. In this stage, it can be referred to cognitive

    walkthrough for the evaluation.

    - Operation and maintenance:Almost products would not be goldenversion after released. Some errors exist so maintenance involves

    the correction of these errors. Also, maintenance is about the

    revision to product to satisfy the requirements whether useful in

    market. Thus, maintenance gives feedback to other activities in life

    cycle to review and modify, as shown in figure 2.10.

  • 8/12/2019 FYP Report Libre

    23/30

    Figure 2.10: Feedback from operation and maintenance stage/activity

    Evaluation Method

    There are many studies about the method of evaluation. In this study, we will consider

    two most popular approaches where those are more rational and scientific, cognitive

    walkthrough and heuristic evaluation.

    Cognitive Walkthrough

    Cognitive walkthrough was proposed by Polson and colleagues. This type of method

    mainly focuses on establishing how easy a product is to learn. Before the evaluation, need

    to prepare four things, a specification or prototype of the system, a description of the task

  • 8/12/2019 FYP Report Libre

    24/30

    performing on the product, a complete written list of the actions to product and an

    indication of who the users are/ what kind of experience/ knowledge the evaluators

    assume.

    After those steps, we could try to answer four questions for cognitive walkthrough.

    1. Is the effect of the action the same as the users goal at that point?2. Will users see that the action is available?3. Once users have found the correct action, will they know it is the one they need?4. After the action is taken, will users understand the feedback they get?Heuristic Evaluation

    This method is developed by Jakbo Nielsen and Rolf Molich, used rating on a scale of

    0(no any usability problem) to 4(usability catastrophe). We obey Nielsens 10 heuristics

    to give an evaluation.

    1. Visibility of system status Inform users know how long and how much time tocomplete the mission, or know the status of the system.

    2. Match between system and the real worldAll the information (text, icon) in systemshown at screen should be easily understood by users.

    3. User control and freedomUsers are easy to access emergency exit when mistakesexist that user are choosing the function.

    4. Consistency and standards Avoid presenting same content in different icons oractions. Use a standard format to present.

    5. Error preventionDesign suitable error messages to prevent a problem.

  • 8/12/2019 FYP Report Libre

    25/30

    6. Recognition rather that recallMost of actions, objects and options should be visibleto give instructions to users.

    7. Flexibility and efficiency of useAllow users to tailor frequent actions.8. Aesthetic and minimalist designShorten the path of access the information that user

    want.

    9. Errors: recognize, diagnose and recoverError message should be plain language andalso suggest the solution.

    10.Help and documentationNecessary to provide help and documentation where theinformation should be easy to search, focused on that taks.

    ShneidermansEight Golden Rules of Interface Design

    1. Consistency2. Shortcuts for users3. Provide informative feedback4. Design dialogues to yield closure5. Error prevention and error handling6. Easy reversal of action7. Internal locus of control8. Reduce short-term memory load

    2.3 Product Information2.4 Marketing Research

  • 8/12/2019 FYP Report Libre

    26/30

  • 8/12/2019 FYP Report Libre

    27/30

    Chapter 3: Methodology

    3.1 Flow of launcher

    Figure 3.1: Flow Chart of launcher

    Figure 3.1 illustrates the flow of the launcher. It is designed simple and easy to access any

    applications. Because of only two control pages and not too many invisible applications and

    buttons, those indirect paths (invisible) are menu from remote control and the sliding drawer.

    At the first page, it is a welcome page. The screen shows turntable including six applications,

    which are the default setting.

    One of them could access the second control page, application drawer. Application drawer

    includes all of the applications, also other five apps in turntable, sliding drawer and RSS

  • 8/12/2019 FYP Report Libre

    28/30

    reader. In the remote control, the screen will go back previous page if press back button;

    the screen will go back welcome page if press home button.

    3.2 Turntable3.3 Application

    3.3.1 Application Drawer3.3.2 Sliding Drawer3.3.3 RSS Reader

    3.4 Design ImplementationShneidermans Design Golden Rules

    According to Shneidermans Design Golden Rules, we try to design the user interface

    more consistent in action sequences, such as main page for users easy to find out the apps

    they want

    Chapter 4: Problem Statement

    4.1 Technical Difficulties4.2 Problem Solving

  • 8/12/2019 FYP Report Libre

    29/30

    Chapter 5: Further Development

  • 8/12/2019 FYP Report Libre

    30/30

    Chapter 6: Conclusion and Reflection