FYP Report Libre
-
Upload
mohamad-iz-wan -
Category
Documents
-
view
216 -
download
0
Transcript of FYP Report Libre
-
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