May 5 2012

Usability Evaluation

Totally five MSc Web Technology students were invited to take part in the usability evaluation of our application software. All of them have learnt the course “INFO6002 Assistive Technologies and Universal Design” and have some experience on the usability evaluation of software. The detailed information of them is listed at the bottom of this article.

Usability is a quality attribute that assesses how easy user interfaces are to use. Therefore, according to the Alertbox’s usability definition, five quality components are set as the criteria to evaluate the usability of this software application. And the grade and mark range are explained as below:

    A+ : Extremely Outstanding
    A : Excellent
    B : Good
    C : Just Ok
    D : Poor

Then the evaluation reviews from the five testers are summarized as below.

(1) Learnability
It is easy for the user to perform most of the basic tasks such as sign up or login, rank the contacts and view friend’s profile, history information and social networking information. It may take some time for the users to learn the location sharing function. Hence the learnability of Adobe Reader is excellent.

(2) Efficiency
Once the user learnt the design, it will take little time for the user to perform other tasks for example edit the personal information, share the location information with friends, view the photos, status, news or notes of friend’s social networking account etc. So the efficiency of this software is good.

(3) Memorability
After a period of time of not use, it is very easy for the users to establish proficiency again. Therefore the menorability of RankFirst is outstanding.

(4) Errors
User will make little errors when using this software to rank and view the contacts, but may make errors when sharing the location information with different friends. Fortunately, it is not difficult to recover from the errors. Hence the errors performance of this software is medium.

(5) Satisfaction
Most of the people think it is a pleasant experience when using this software to visualize the relationship with the user’s closest friends and bring close friend even closer. Hence the satisfaction of RankFirst is good.

Tester List:

    Chengqi Wang (cw5g11@ecs.soton.ac.uk)
    Bin Cai (bc2e10@ecs.soton.ac.uk)
    Ran Ding (rd4g11@ecs.soton.ac.uk)
    Ming Wen (mw7g11@ecs.soton.ac.uk)
    Feng Wang (fw3e11@ecs.soton.ac.uk)

May 5 2012

Link to Demo Software

RankFirstApplication.apk is the demo software application which can be installed on Android platform. To download the software, please just click the Android icon below and follow the insturctions. To run the application, just install the RankFirstApplication.apk on the Android mobile phone.



May 4 2012

Tech Demos and Code

Android is an open-source mobile phone operating system which developed based on Linux kernel. On November 5th 2007, the first version of Android was officially published by Google. After that, this mobile platform has taken the world by storm and become the most popular smart phone platform in the world.

In this application, we try to implement the “RankFirst” application in an Android platform as the tech demos. And then, as the future work, it will be further implemented in the IOS, Windows Mobile, and Symbian platforms respectively.

The Figure 1 below is the screenshot of the project. The Development tool is Eclipse with Android plugin.

The Figure 2 below is the screenshot of the Android simulator.

What’s more, the code of the demo software application is also available to download. To download the code of the Android application, simply click the link below.


May 4 2012

UML Diagrams

This is the global use case view of our mobile application. There are four main use cases in this view namely Sign In use case, Contacts Ranking use case, Social Networks use case, and Setting use case. In order to show the use case view clearly, branches of four main use cases are not shown in this view. Four main use cases stand for four main function of our application.

The Sign In use case is used to check whether the user has authority to access this application. After login, user can browse all the contacts in the phone contact and related information of selected contact. User can also browse own social networks by the Social Networks use case. The Setting use case provide configuration function to user.


This is the detailed use case view of use case Sign In. Sign Up use case is extended from Sign In use case, because some new user may not have a account to login our App. Create Account use case is used to create new user’s account in the database.

If a user has an account, the Sign In use case will call the Check Account Information use case to check whether the user’s authority is right or not.


This is the detailed use case view of Contracts Ranking use case. The Contracts Ranking use case can be extended to three secondary use cases, namely, Show Profile of Contact, View Statistic, and View Contact’s Social Network Information. User can execute some traditional contact, such as making a phone call and send short messages. User can browse the frequency of the communication between user and selected contact. View Contact’s Social Networks Information use case provide the function of browse the social networks of selected contact.


This is the detailed use case view of Social networks use case. There are three secondary use cases. The Select Social Networks use case help user switch between different social networks. The Select Ranking Modes use case help user select ranking approach of shown social network content. The last use case is the basic function; user can view social networks content.


This is the detailed use case view of Setting use case. Two significant use cases in this view are Edit Personal Details use case and Bind Social Network use case. User can edit some personal information via the Edit Personal Details use case. The Bind Social Network use case is used to configure different social networks. If the application want to download information from social websites, user’s accounts of social websites are necessary.


May 2 2012

Overview of Standards and Protocols

This passage introduces the overview of standards and protocols, we are planning to use this specifications to develop the Rank First app.

Graphics

SVG, Scalable Vector Graphics, provides an XML-based markup language to describe two-dimension vectorial graphics. Since these graphics are described as a set of geometric shapes, they can be zoomed at the user request, which makes them well-suited to create graphics on mobile devices where screen space is limited. They can also be easily animated, enabling the creation of very advanced and slick user interfaces.

CSS3 (the third level of the specification) is built as a collection of specifications set to offer a large number of new features that make it simple to create graphical effects, such as rounded corners, complex background images, and shadow effects.

Fonts play also an important role in building appealing graphical interfaces, but mobile devices are in general distributed with only a limited set of fonts. WOFF (Web Open Font Format) addresses that limitation by making it easy to use fonts that are automatically downloaded through style sheets, while keeping the size of the downloaded fonts limited to what is actually needed to render the interface.


Multimedia

HTML adds two tags that improve dramatically the integration of multimedia content on the Web: the video and audio tags. These tags allows to embed respectively video and audio content, and make it possible for Web developers to interact much more freely with that content than they would through plug-ins. They make multimedia content first-class citizens of the Web, the same way images have been for the past 15 years.

While these tags allow playing multimedia content, the HTML Media Capture and the Media Capture API define mechanisms to capture and record multimedia content using attached camera and microphones, a very common feature on mobile devices.


User Interactions

Increasing shares of mobile devices rely on touch-based interactions. While the traditional interactions recognized in the Web platform (keyboard, mouse input) can still be applied in this context, a more specific handling of touch-based input is a critical aspect of creating well-adapted user experiences. As a result, work has started on defining Touch Events in the DOM (Document Object Model).

Conversely, many mobile devices use haptic feedback (such as vibration) to create new form of interactions (e.g. in games); work on a vibration API is under consideration in the Device APIs & Policy Working Group.


Forms

The ability to build rich forms with HTML is the basis for user input in most Web-based applications. Due to their limited keyboards, text input on mobile devices remains a difficult task for most users; HTML5 address parts of this problem with offering new type of form controls that optimizes the way users will enter data:

  • date and time entries can take advantage of a number of dedicated form controls (e.g. input type="date" ) where the user can use a native calendar control;
  • the input type="email" , input type="tel" and input type="url" can be used to optimize the ways user enter these often-difficult to type data, e.g. through dedicated virtual keyboards, or by accessing on-device records for these data (from the address book, bookmarks, etc.);
  • the pattern attribute allows both to guide user input as well as to avoid server-side validation (which requires a network round-trip) or JavaScript-based validation (which takes up more resources);

  • Data Storage

    A critical component of many applications reside in the ability to save state, export content, as well as integrate data from other files and services on the system.

    For simple data storage, the Web Storage specification offers two basic mechanisms, localStorage and sessionStorage, that can preserve data respectively indefinitely, or on a browser-session basis.

    For richer interactions, the Web platform has a growing number of APIs to interact with a device file system: the File Reader API makes it possible to load the content of a file, the File Writer API allows to save or modify a file, while the nascent File Systems API give access to more general file operations, including directory management.

    On top of this file-based access, the Indexed Database API defines a database of values and hierarchical objects that integrates naturally with JavaScript, and can be queried and updated very efficiently.


    Sensors and Hardware Integration

    Mobile devices are packed with sensors, making them a great bridge between the real and virtual worlds: GPS, accelerometer, ambient light detector, microphone, camera, thermometer, etc.

    The Geolocation API provides a common interface for locating the device, independently of the underlying technology (GPS, WIFI networks identification, triangulation in cellular networks, etc.)


    Performance & Optimization

    Due to their limited CPU, and more importantly to their limited battery, mobile devices require a lot of attention in terms of performance.

    The work started by the Web Performance Working Group on Navigation Timing gives tools to Web developers for optimizing their Web applications.