Académique Documents
Professionnel Documents
Culture Documents
A Research Project
Presented to the
Faculty of the College of Computer Studies and Systems
University of the East, Manila
In Partial Fulfillment
Of the Requirements for the Degree in
Bachelor of Science in Computer Science
By
Abinal, Gil Francis S.
Aborot, Rea A.
Hipolito, Jose Marcelius S.
ii
APPROVAL SHEET
iii
DEDICATION
iv
ACKNOWLEDGEMENT
We wish to acknowledge and thank the advisers who were more than generous
with their expertise and precious time. A special thanks to Professor Roselle Basa, our
adviser, for her countless hours of reflecting, reading, encouraging and most of all
patience throughout the entire process. A special thanks also to Dr. Rex Bringula for his
guidance during the early phases of our research process.
We would also like to acknowledge and thank the Philippine Web Designers
Organization for allowing them to conduct our research and providing any assistance
requested. Their excitement and willingness to provide feedback made the completion of
this research an enjoyable experience.
We would like acknowledge as well the many friends and colleagues who
assisted, advised, and supported our research. Especially, we want to express our
gratitude and deep appreciation to Sean Michael Amador and Aaron Noel de Leon
whose friendship, knowledge, and wisdom have supported, enlightened, and entertained
us during the course of the research.
Finally we would like to thank all our families for their trust and encouragement. It
is with their never-ending support that we found the courage and determination to finish
this research.
v
ABSTRACT
vi
TABLE OF CONTENTS
TITLE
Whim: A Mobile Integrated Development Environment
For JavaScript Applications .................................................................................i
Approval Sheet............................................................................................................... ii
Dedication ..................................................................................................................... iii
Acknowledgement......................................................................................................... iv
Abstract ..........................................................................................................................v
Table of Contents .......................................................................................................... vi
List of Tables ............................................................................................................... viii
List of Figures................................................................................................................ ix
CHAPTER
1 THE PROBLEM AND ITS BACKGROUND ............................................................ 1
Introduction ............................................................................................................... 1
Background of the Study .......................................................................................... 3
Statement of the Problem......................................................................................... 4
Scope and Limitations of the Study ......................................................................... 5
Significance of the Study.......................................................................................... 6
2 REVIEW OF RELATED LITERATURE AND STUDIES ......................................... 7
Review of Related Literatures .................................................................................. 7
Review of Related Works ....................................................................................... 13
Conceptual Framework .......................................................................................... 24
Hypothesis .............................................................................................................. 26
Operational Definition of Terms ............................................................................. 27
3 METHODOLOGY ................................................................................................... 29
Software Design and Development Approach....................................................... 29
Transition Phase......................................................................................... 32
vii
Determination of Sample Size................................................................................ 41
Sampling and Design Techniques ......................................................................... 41
The Subjects........................................................................................................... 42
Research Instrument .............................................................................................. 42
Statistical Treatment of Data .................................................................................. 43
4 RESULTS AND DISCUSSIONS ............................................................................ 43
Software Description .............................................................................................. 43
Features and Capabilities ....................................................................................... 43
5 SUMMARY OF FINDINGS, CONCLUSIONS AND RECOMMENDATIONS ....... 63
Summary of Findings ............................................................................................. 63
Conclusion .............................................................................................................. 64
Recommendations.................................................................................................. 64
BIBLIOGRAPHY ........................................................................................................ 65
APPENDIX A Performance measures.................................................................. 70
APPENDIX B Survey Form.................................................................................... 71
viii
LIST OF TABLES
ix
LIST OF FIGURES
CHAPTER 1
THE PROBLEM AND ITS BACKGROUND
Introduction
Mobility is quickly becoming a driving factor in shaping the lifestyles of different
consumers all around the globe (Donner, 2008; Mort & Drennan, 2007; Skierkowski &
Wood, 2012), resulting in an increase of its production in the global market (Gerpott,
2010; Yoo, Lyytinen, & Yang, 2005). The popularity of mobile phones has generated a
huge demand for various mobile applications resulting in mobile phones achieving a
large penetration rate in many markets (Kimiloglu & Nasir, 2010). Its growing and
evolving development to connect to people in different ways has enabled it to
become more than just a communication device in the forms of smartphones at tablet
devices. (Walsh, White, Cox, & Young, 2011), and this phenomenon is very much
observable in the Philippines.
With the advent of mobile technology, there has been a significant growth in
mobile users in the Philippines. As of 2013, Globe Telecom reported a subscriber base
of 36.1 million (Globe Telecom, Inc. Annual Report," 2013) while Smart Communications
reported 74.4 million subscribers (Philippine Long Distance Telephone, Co. Annual
Report," 2013). In addition to that, a study conducted by Flurry Analytics (2013),
revealed that 80% of the time a mobile user spend on smartphones is spent on
applications. Hence, it will not be long before subscribers will acknowledge that mobile
phones will become a part of everyday lives, both in the business setting and at the
home (Liao et al., 2007; Mort & Drennan, 2007; Walsh et al., 2011).
In this increasingly mobile online world, JavaScript can be found in every devices
and applications. It is used on search engines, word processors, mobile browsers and it
could possibly be running the applications on your phone. (Vance. 2010). W3Techs
(2014) has estimated that 88.1% of sites online today use JavaScript. Dubbed the
2
Assembly Language of the Internet, JavaScript is used not only for writing
applications, but also as the target language for web applications written in other
languages, such as Java (Fortuna, et al., 2010).
JavaScript is an imperative, object-oriented language. Its syntax is similar to C
and Java, but it employs a prototype-based object system. JavaScript also supports
anonymous functions, closures, and many other features traditionally associated with
functional languages. Every function in JavaScript has the potential to be a constructor
for a class" of objects, and contains a field prototype, initially referencing an empty
object (Lebresne, et al., 2009). The main reason for this is the arduous steps needed to
configure and run a JavaScript application. To be able to run a JavaScript application, it
must be first embedded in a HTML document. As it must be embedded in a HTML file,
the developer must also familiarize himself with the syntax of the HTML. JavaScript also
does not compile. Being initially developed as a browser scripting language, it needs an
internet browser with a native console or terminal application in order to be executed
such as the Google Chrome and the Mozilla FireFox extension, FireBug.
Hence, this is the time where an application that lets developer turn their ideas
into a working application without needing the use third party applications matters most
on JavaScript developers. The goal of this study is to develop Whim, a Mobile Integrated
Development Environment for JavaScript Applications. The name Whim comes from the
noun of the same meaning which means a sudden desire. Whim was also chosen
because of its accessibility that will allow the users to build applications whenever they
want without being limited by the compatibility issues of the run-time environment and
eliminating the task of configuring the tools to run the JavaScript source code.
3
Background of the Study
The popularity of the web development industry has resulted in the increased
production of different Computer Aided Software Engineering (CASE) tools. One of
these tools is the Integrated Development Environment (IDE). IDEs automates repetitive
and well defined actions therefore reducing the tasks of software engineers (Carrington,
2004). Modern desktop IDEs, such as Netbeans and Eclipse, provide a number of
facilities that increase the productivity of software developers. This includes general
facilities such as project management and language-specific facilities such as code
formatting and auto-completion. In addition to that, mobile IDEs have also been
developed. However, different factors posed extremely high-end barriers to mobile
programming (Athreya, Bahmani, Diede & Scaffidi, 2012)
The researchers created a mobile IDE upon these innovations in the form of
Whim. A study following the usability qualities set by Quesenberry was conducted to
gauge the softwares effectiveness. The motivation of this study came from the lack of
mobile IDEs intended for JavaScript applications. Whim aims to improve the
development of JavaScript applications by removing the use of third party applications
and making it easier to learn by adding a visual interface. Moreover, it is intended that
the mobile IDE should do most of the mundane work for the user like compiling, code
hinting and unit testing. Aforementioned on the related study, usage of CASE tools
automates repetitive tasks, hence the mobile IDE is packaged with the same basic
features of a desktop IDE while also considering that the development environment will
be mobile.
4
Statement of the Problem
The goal of this study is to develop Whim, a Mobile Integrated Development
Environment for JavaScript Applications. Specifically, the study intends to answer the
following questions:
1.) What are the profiles of the respondents as to:
a. Gender
b. Years of experience in Web Development
c. Web technologies used (HTML, CSS, JavaScript, etc.)
d. Web development software used?
2.) What is the perception of the respondents on the usability of the mobile IDE in
terms of:
a. Ease in learning
b. Effectiveness
c. Efficiency
d. Engaging
e. Error Tolerant
3.) Do respondents have equal rating on the usability factors of the mobile IDE?
5
Scope and Limitations of the Study
Whim is a mobile integrated development environment for JavaScript application
that allows the user to easily handle and add code blocks into an application source file.
Users can execute both client-side and server-side JavaScript codes directly without
using third party applications. Whim runs on Android devices with at least 480 by 800
pixels in resolution. Moreover, it will also be accessible using internet browsers such as
Google Chrome and Mozilla Firefox.
Whilst having said that Whim is a mobile application, it is a hybrid type of mobile
application, this means that the application was partly a web application and a native
mobile application. Hybrid mobile application allows cross-platform development - same
web components can be reused on different mobile operating system, reducing
significantly the development costs.
Upon completion of user registration, Whim creates a secured space in the
virtual private server for the registered user which allows the application to store user
files, perform several operations including file manipulation and run executables while
protecting system files from being accessed outside the users designated directory.
As an added feature of Whim being an IDE, it will also include project
management functionalities like version control, dependency management and project
scaffolding. This allows faster development allows source code management. Besides
those powerful features, Whim allows creation of HTML and CSS files in the project
explorer but these type of files will not be supported by the code editor.
Whim needs internet connectivity to run. Files are synced using data transfers
across the cloud and the application.
The development of Whim is also be accompanied by a usability study, with
professional web developers
as
respondents.
This
measures
the efficiency,
6
Significance of the Study
The development of Whim is significant to the following: web developers, web
development teachers and students and future researchers.
Web Developers
Web developers have an access to a convenient programming playground where
they can piece together their thoughts during a project development. Web developers
can start and configure project using common project seed like an AngularJS project or
an ExpressJS project easily using few button clicks. Web developers can build
applications efficiently and without the difficulty of moving from application to application
to update and execute a code during development. This reduces time to do
programming routines a web developer come across every time they build an
application.
Future Researchers
The findings and methodology of this study can be added to the body of
knowledge concerning the field of web development tools and mobile usability thus
providing the future researchers references and confirmations on aspects and
possibilities of mobile programming.
CHAPTER 2
REVIEW OF RELATED LITERATURE AND STUDIES
This chapter discusses the significant topics related to the study. It also presents
the conceptual framework as well as the operational definition of terms.
8
by programmers. Most of the time, developers not only create websites themselves but
also maintain sites developed by other developers. Some web developers are a
combination of both. (Rosson, Ballin, & Rode, 2005).
9
Transition from Desktop to Mobile
As
("Telecoms industry report: Philippines," 2010), the rapid growth of mobile users brought
a wide range of mobile applications especially with the introduction of newer, more
advanced types of mobile phones namely the smartphones such as Apples iPhone
and the Google-powered Android phones and table devices such as Apples iPad or
Samsungs Galaxy (Capistrano, 2013). For a large variety of applications and services,
users favour mobile applications over browser based applications. In a study conducted
by Vserv.mobi (2013), a leading global mobile ad network, 78% of internet users in the
Philippines have downloaded a mobile app or game in the month of August alone. In a
similar study conducted by Flurry Analytics (2013), 80% of the time a mobile user spend
on smartphones is spent on applications.
10
Table 1. Some features of an Integrated Development Environment
Feature
Description
Syntax Highlighting
Autoformatting
11
Feasibility of Mobile Programming
Questions such as the possibility of creating a program on mobile phones have
been in question for the past few years as there was no practical way for end users to do
so. Instead, users generally had to install a suite of programming tools on their personal
computers, write a program in a C-like programming language such as Objective-C,
Java and C#, configure the phone to work with the development computer and deploy
the program to the phone via USB or cable. These tools, languages and configuration
posed extremely high-end barriers to mobile programming (Athreya, Bahmani, Diede &
Scaffidi, 2012).
Currently, the creation of applications for mobile devices and mobile phones, is
done on personal computers. Most of the development toolkits include a mobile phone
emulator where the generated applications can be debugged and tested. However, this
approach on mobile programming leads to some problem. In a study conducted by
Pfleging, et. al. in 2010, they stated one of the problems stem from the widespread of
mobile phones. This means that in underdeveloped regions, citizens currently are unable
to create custom applications for their mobile phones, as most of them do not have their
own PC or they prefer the use of their smartphones more.
In addition to this, new communication features and behaviour integrated in
mobile phones, such as Bluetooth, WIFI, and GPS, cannot be fully recreated on the
emulators of desktop development kits. Thus, developers code on a PC, then they
debug and test on the mobile device and for changing code parts they have to return to
the PC. All of this leads to a time-wasting switching between PC and mobile device and
vice versa as many times as the programmer wants to test the program existing and
prototyping techniques do not allow adding full functionality of mobile applications. To
counter these problems, a development framework that enables users to rapidly develop
prototypes and real applications directly on the mobile phone should be implemented
12
(Pfleging, Hermes, Bahamondez, Nolte & Schmidt, 2010). The most prominent one is
the in-situ framework where it supports the creation of low to high fidelity applications
that allows the combination of scanned hand drawings with digital images. Additionally,
this framework allows users to edit the properties of the interface both on the PC and
directly on the mobile device (De S & Carrico, 2009).
If one intends to develop applications directly on the phone, problems such as
hardware constraints, screen size and interaction modes will often arise. Additionally,
most mobile phones lack of an efficient typing method. Upcoming technologies like
mobile projectors and the limitation of the typing effort may be a solution (Pfleging,
Hermes, Bahamondez, Nolte & Schmidt, 2010).
Banu and Viyakumar (2013) adopted the Jigloo GUI package of the Eclipse IDE
to perform their study on extending the functionalities of an IDE for Android Phones
using the best methodologies.
Microsoft
13
Software Review
As mentioned, some commercial mobile based IDEs have been developed
namely: touchqode, deuterIDE, droidEdit and TouchDevelop. This section will introduce
each of the IDEs along with their features.
14
to the code. ALT lets you input special characters, use TAB or ALT+TAB to show
autocomplete.
15
customization to from the colors of the button to the entire theme of the syntax
highlighting functionality.
16
17
language and a traditional programming environment, in both directions. The language
mixes imperative, object-oriented, and functional aspects. The imperative parts are most
visible: assignment statements can update local variables and state of global objects.
A program consist of a set of actions; each action contains statements gives an
overview of the abstract syntax of statements and expressions that can appear in
actions. The language provides built-in primitives that make it easy to access the rich
sensor data available on a mobile device. Instead of a traditional text editor,
TouchDevelop employs a semi-structured code editor. The motivation for structured
editing is not to entirely eliminate the possibility of syntax errors, but instead to ensure
that every navigation task between dierent syntax elements can be easily achieved by
tapping on a nger-sized user interface element on the screen instead of relying on a full
physical or on-screen keyboard that enables editing of code at the level of individual
characters from which words and in turn sentences are formed.
The study entitled The Future of Teaching Programming is on Mobile Devices
(Tillman et al., 2012) is an evaluation of the performance of the students upon using the
software, Touch Develop. The software was proposed to be used by 30 students in
grades 11-12 in a computer Science class for 90 minutes. The students had recently
started the class and were already introduced to some programming concepts but they
had no experience in developing mobile applications. 12 phones were provided for
students to work in groups of three. After a brief introduction to TouchDevelop, the
students had 45 minutes to explore the language and write their own mobile
applications. All groups were able to write applications on their own, including a program
that changes the color of the screen based on the direction in 3D space that the phone is
facing, a peek-a-boo game that utilized the direction the phone was facing to display a
covered face or an open face with the audio track to accompany it, and a role playing
game where the user has to answer questions to progress.
18
Usability
Usability is the extent to which a product can be used by specified users to
achieve specified goals with effectiveness, efficiency, and satisfaction in a specified
context of use as set by the international standard ISO 9214 (International Organization
for Standardization, 2000). Usability expert Nigel Bevan also defined that usability plays
two roles it is a part of detailed software design and provides the goal that the
developers meet the needs of the users. (Bevan, 2001).
Usability is a quality attribute that asses how easy user interface are to use.
(Neilsen, 2012). However, as a quality attribute, usability is a difficult factor to define for
it depends on the nature of the task, environment and the user (Padda, 2003).
Shackel
(1991)
Speed
of
Efficiency
performance
Throughp
ut
Effectivenes
s
(Speed)
Time to learn
Learnability
Learnabilit
y
Time
learn
Rememberabilit Effectivenes
y
s
Retention
over time
Memorabilit
y
Attitude
Retention
Reliability
use
Rate
errors
Constantine &
Lockwood
(1999)
Efficiency
use
in
Learnability
User
Satisfaction
in
ISO 924111
(1998)
Schneiderma
n
(1992)
Efficiency
Satisfaction
Subjective
satisfaction
Nielsen
(1993)
of Errors/Safet
y
Satisfaction
to
Effectivenes
s
(Errors)
Attitude
Table 2 lists the different usability attributes used in various models and it shows
that like all standards, usability is not specific enough guide decisions instead it is rather
used as a template or a starting point that researchers must fill in for each project
19
(Quesenbery, 2003). Usability attributes are often qualitative and different methodologies
are followed to measure them.
Usability expert Whitney Quesenbery defines usability along the following subcharacteristics (Quesendbery, 2003):
Description
Effectiveness
Efficiency
Engaging
Error Tolerant
Easy to Learn
20
Table 4. Data Collection Method for Usability Testing
Method
Explanation
Observation
Interview/Verbal Report
Thinking-Aloud
Questionnaire
Video Analysis
Software Support
Table 4 lists some data collection methods used for usability testing. These
methods vary from traditional testing methods like asking respondents to fill out some
questionnaire or by requesting the user to undergo an interview up to modern means
that automates logging of data results like usage video records and/or log the interaction
of users towards the system while computing the rate of completion of designated tasks.
21
Table 5. Methods used in usability testing
Method
Description
Pluralistic Walkthroughs
To evaluate a product
perspective of the end-user.
Empirical Methods
Cognitive Walkthroughs
from
the
Table 5 shows some of the different methods used in usability testing. Each
method can be applied to any software depending on its nature and the number of its
users. Usability testing can be done on different technologies and studies.
Carstens and Patterson (2005) conducted a study to test the efficiency of travel
websites by giving the participants the task of finding the same itinerary on different
websites. The three (3) websites tested were Expedia.com, Orbitz.com, and
Travelocity.com. Each participant was given general instructions and a pre-survey to
determine their demographics and level of Internet experience. The study learned that
the color of the website or fonts utilized didnt have a significant impact on whether or not
a person will use the site as the individuals tested were willing to undergo usability
discomfort provided the individual was receiving the best flight fare deal. A common
problem among the sites is the display and search of arrival and departure time of the
flights. The study recommended the use of a less cluttered simpler layout which will help
22
highlight flight times for quicker referral of the different flights and therefore will result in a
faster transaction.
Balakrishnan
&
Yeow
(2008)
identified
the effects
of mobile phone
keypad/screen sizes to users. The study concluded that when thumb circumference
increased, users satisfaction towards key size and space between keys decreased. In
addition, results also indicated that thumb length affects the difficulty of reaching key that
are placed at the right most column of the keypad. With this knowledge, the researchers
recommended a change in the keypad layout and size such as rearranging some of the
keys and letters particularly the ones commonly used in the English language.
In a study conducted by Wallace and Yu (2009), a link between culture and
usability was established. To understand usability as a whole, both subjective and
performance-based measures of usability were considered. As a result, user satisfaction
and perceptions of effectiveness and efficiency were proven to be different based on
culture.
23
Studies conducted by Kline & Seffah (2005) on usability of desktop IDEs showed
usability problems common to multiple studies too much technical jargon, poor error
prevention and handling, ambiguous error messages and a steep learning curve. The
studies recommended improving the mapping of the interface. Debuse (2011) identified
key features in IDEs that included code completion, code coloring, bracket matching and
line numbers. These features improved productivity and made the IDE more user
friendly for novice users.
24
Conceptual Framework
PROCESS
INPUT
Knowledge
Requirements
- Software Model (Rapid
Application
Development)
- Web
Technologies(HTML,
CSS, JavaScript, PHP)
- Version Control
- Server Management
- Write-ups about Usability
- Research and
Development Planning
- Project Development
Scope Analysis
- Engineering
- Transition
OUTPUT
WHIM: A Mobile
Integrated
Development
Environment for
JavaScript
Applications
Technological
Requirements
- Hardware
Virtual private server
Personal computers
Testing devices
- Software
Development
Platforms
Internet Browsers
Project Management
Tools
Development
Environment
Development
Frameworks and
Libraries
Image Editing
Software
- Third Party Services
Remote code
repository and
version control
system
EVALUATION
- Feedback
Bug Reports
Error Logs
Evaluation
25
Figure 5 shows the conceptual schema or the input process output diagram of
the study. Inputs for the study are classified as knowledge and technological
requirements, whereas knowledge requirements include the software development
model the researchers are going to use, which in this case is a Rapid Application
Development Model, the web technologies which were used during development and
production and the usability guidelines that were implemented all throughout the
development. The study also requires knowledge of version control system to facilitate
progression on building the proposed application. Moreover, handling a virtual private
server as described on technological requirements require deep familiarity on server
management.
Technological requirements shall include the tools needed for development like:
Hardware items, a personal computer, a virtual private server, and a testing device were
used during development, production and testing phases. LAMP and NodeJS is a
bundle of a virtual server and a language compiler or run time engine. Yeoman, Bower,
and Grunt are command line interfaces that were used to scaffold, manage
dependencies, and do mundane tasks during the development. Netbeans, Sublime Text
and Vim are IDEs and text editors that are used interchangeably as our primary
development environment. Interface design, concept and wireframes were produced
using Adobe Photoshop. Various versions of Google Chrome and Mozilla Firefox are
used to execute and debug the application, it also serves as the run time environment
for it. External code frameworks and libraries such as AngularJS, jQuery, Ace, Repl.it,
CoffeeScript are used as primary components of Whim.
The process starts in planning the research and development of Whim, this
involved setting the project scope, timeline and gathering of requirements, including the
software model the researchers will use during the development of the application.
Detailed analysis of functionalities and resolution of uncertainties were done in project
26
development scope analysis. Working prototypes of the system were developed during
the engineering phase as well as the implementation of Quesenberrys usability
characteristics. Project development scope analysis and engineering were repeated until
the current iterations scope have been met. Minor modifications to prototypes to resolve
issues raised upon development deployment were conducted every repetition.
Whim: a mobile based Integrated Development Environment will be the final
output of the research and development. Feedbacks of different sorts will be collected
after production and testing of the application to allow the researchers assess the
experience of the users towards the use of Whim. Feedbacks will include user
evaluation, bug reports, error logs and completed survey form accomplished by the
respondents.
Hypothesis
The hypotheses to that the study intends to answer are given below:
H0: Respondents have equal rating on the usability factors of the system in terms of
effectiveness, ease of use, error tolerance, efficiency and aesthetics of the software.
H1: Respondents do not have equal rating on the usability factors of the system in terms
of effectiveness, ease of use, error tolerance, efficiency and aesthetics of the software.
27
Operational Definition of Terms
Account Explorer is a module where users can view or edit his profile.
Browser is a software used in viewing webpages.
Cascading Style Sheets (CSS) is a styling language used for designing the
presentation of a web page
Clone means creating a copy of a project in your specified repository.
Container is virtual space created by Whim to store a cloned project from
Github. This enables users to modify his existing source code without modifying the
original.
Easy to learn is a usability characteristic that explains how well the product
supports both initial orientation and deeper learning
Effectiveness is a usability characteristic that explains the completeness and
accuracy with which users achieve their goals.
Efficiency is a usability characteristic that explains the speed (with accuracy)
with which this work can be done.
Engaging is a usability characteristic that shows how pleasant, satisfying or
interesting an interface is to use.
Error Tolerant is a usability characteristic that shows how well the product
prevents errors, and helps the user recover from any that do occur.
Feasibility is the quality of a study to be accomplished or brought about.
Github is a web-based revision control service for software development and
code-sharing.
Integrated Development Environment (IDE) is a tool that aides developers in
application development by automating certain tasks.
JavaScript is a client side scripting language that adds interactivity to web pages
28
Mobile are low-power handheld devices, such as personal digital assistants,
enterprise digital assistants or mobile phones. In this study, mobile is also defined as
something that is adaptable and versatile that can be used in different platforms.
Mobile Programming is the process by which application software is developed
for low-power handheld devices, such as personal digital assistants, enterprise digital
assistants or mobile phones.
Repository is a place where a history of your work is stored.
Syntax are the rules governing the formation of statements in a programming
language.
Usability is the extent to which a product can be used by specified users to
achieve specified goals with effectiveness, efficiency, and satisfaction in a specified
context of use (International Organization for Standardization, 2000).
Web Applications are software applications loaded in a web browser.
Web Developers are people who are either web designers or web programmers.
Web Designers are people focused on the aesthetic and presentation of web
pages.
Web Programmers are people who specialize in web application including
server side languages as well as client side languages like JavaScript.
World Wide Web Consortium an international community where members and
the public work together to develop web standards.
CHAPTER 3
METHODOLOGY
This chapter discusses the software process model, system framework, process
flow, research design, subjects, statistical treatment of data, research instruments and
data gathering procedure.
30
Software Process Model
Figure 6 shows the Rapid Application Development Model. The rapid application
model is composed of four phases requirements gathering and project planning phase,
system design phase, development phase and transition phase. RAD begins with the
requirements gathering and project planning phase where the researchers discusses the
project scope, constraints and system requirement. Next is the system design phase
where they formalizes business rules, develop test plans and create screen flows and
layouts for essential parts of the system. Then they enter the development phase. The
development phase involves the construction of the application in iterative cycles of
building, testing, requirements refining and building again until the application is
prepared for another iteration. The last phase is the transition phase where the
developers will prepare the process of implementing the system or managing change
from version to version.
31
Requirements Gathering and Project Planning Phase
Whims planning phase assessed both the technical and the logistic
requirements of the study. The initial planning phase focused on developing a list of
initial requirements and tasks while setting the project scope and timeline. These
requirements include the choice of technology to be used in the development of Whim
as well as determining the set of respondents to test the software. In addition, the
feasibility of the different functionalities of the proposed system was also reviewed.
Potential risks and limitations of the tools and technologies to be used and the usability
standards to be followed were also defined during this phase.
32
Development Phase
A prototype that followed the structure set during the system design phase of the
current iteration process was developed and tested. A usability study was
simultaneously conducted which allowed the researchers to properly implement of
usability concepts and to improve the current design of later iterations.
The initial development of the system was synchronously be tested by the
researchers to determine initial usability issues as well as look for possible bugs and
errors. A remote test among a group of professional web developers will be conducted
once the software is determined to be in production state.
Each development iteration reflected the resolutions on issues and constraints
raised during the system design phase and some further functionalities were dropped to
keep the development of the software within the timeline. On the final iteration of the
development phase, the researchers updated their documentation and properly identify
the processes needed for a successful implementation.
Transition Phase
All data gathered during the previous phases were assessed to be prepare for
the transition of the system from development to production status. User were provided
access to online documentation and update instructions to assist them transfer from their
old to new ones that involve the new system. A bug reporting and system evaluation
feature will also be integrated to track potential enhancements and allow continuous
user evaluation.
33
Hierarchal Input Process Output
34
Figure 7 shows Whims HIPO. New users can create account in order to access
the dashboard where they will be able to manage their projects. Users can also view the
users manual and other information regarding the system through the documentation
tab.
End-User Module
Registration Sub-Module
After the application has been downloaded, users will be redirected to the
registration sub-module. The registration sub-module enables new users to create an
account. This enables the application to set up a working environment for the user. The
35
registration also requires a GitHub account. Using a GitHub account for registration
allows the application to easily fetch user information for users with existing GitHub
account thus saving a lot of time upon registration. GitHub is where a copy of their
projects is uploaded, in a remote repository of the projects sources can optionally be
synced.
Login Sub-Module
Figure 9 show the diagram of Whims login sub-module. After users have
successfully logged in to Whim, they are redirected to the dashboard which allows them
to manage their accounts and configure their workspace. Account Manager allows the
user to modify their credentials as well as manage connection to GitHub whilst the
workspace manager enables users manage their projects.
36
Account Sub-module
37
Workspace Sub-module
38
Documentation Sub-Module
Figure 12 show the diagram of Whims feedback sub-module. The feedback submodule allows the user to an interface for user evaluation and bug reporting. Additionally
this sub-module provides the researchers a place where they can issue the respondents
a survey form that will be used for statistical evaluation of the research.
39
Software Framework
40
Figure 13 shows the overview of the system. New users will have to register for
an account. Users will also be asked to create or enter their GitHub accounts in order to
register successfully. Existing users can access their projects after logging in through
the main menu.
Once authenticated, the users can create or manage their project as described in
the User Login Sub Module. Users can also manage their account. They can edit their
credentials or update their GitHub connections in the account settings.
Users can interact with the application using the graphical user interface to
perform actions which will be interpreted as a request object, sends it to the server and
the server will then process this request based on its type and content. The server is
responsible for file and database operations requested by the application and is in
charge for providing a response to each request.
Once a project has been loaded, users can edit their codes through the editor.
The editor will consist of four windows the code editor, the JavaScript translation
window, the console window and the main menu window. The code editor is similar to a
desktop IDEs editing environment and allows users to enter the code using the
CoffeeScript programming language. Several features such as auto completion, syntax
highlighting and a find and replace feature is also included to assist the users while
coding. The JavaScript translation window lets the users see the equivalent JavaScript
codes. The console window shows the output of the code the users entered as well as
allow the users to enter input. The main menu window lets users access the different
functions of the software such as save, open, save as, run and others.
41
Research Design
Descriptive research was used in this study because it will focuses on
determining the perception of the respondents on Whims software usability based on
Quesenberys usability attributes effectiveness, efficiency, engaging, error-tolerant and
easy to learn.
A remote test where respondents tried the software on their own was conducted
in order to make quantitative and statistical feedback.
42
The Subjects
The respondents of the remote tests were professional web developers or
designers coming from a community of web developers, the Philippine Web Designers
Organization (http://www.pwdo.org/).
The Philippine Web Designers Organization is a non-stock, non-profit
organization with several hundreds of members. The organization conducts web design
conferences, seminars and workshops as well as host hackathon competitions. Their
events are usually targeted towards students. Members of the organizations are
professional or independent web designers, web developers or both.
Research Instrument
Before conducting the usability test, the researchers conducted a test among
themselves in order to refine the possible flaw of the procedure (Neilsen, 1993).
The remote test will be a series of three tasks will be given. Respondents will be
asked to complete them within thirty (30) minutes. The tasks were used to expose as
much of the features of Whim as possible. After completing the tasks, respondents were
asked to fill up a survey.
Respondents were asked to fill up the survey once all the tasks are complete.
The questionnaire was based on Quesenberrys usability characteristics and measured
the following: effectiveness, efficiency, engaging, error-tolerance and ease of use.
Efficiency and effectiveness would be determined by the increase in the
respondents productivity while error tolerance would assist in the production of a
syntactically working project. Engaging would be determined by the favorable user
experience. Whims learnability would be determined by how fast the users would be
able to create their projects. Task completion rate would help evaluate the usability of
43
Whim when it comes to application programming. These would be as implied in the subcharacteristics of usability as defined in by Quesenbery.
44
=
Where:
fo = observed frequency
fe = expected frequency
( )2
CHAPTER 4
RESULTS AND DISCUSSIONS
This chapter discusses the software description, software structure, project
evaluation and the results of both the quantitative and qualitative analysis.
Software Description
Whim is a hybrid application which means that the application is partly a web
application and a native mobile application. Hybrid mobile application allows cross platform development - same web components can be reused on different mobile
operating system, reducing significantly the development costs. It allows the users to
easily handle and add code blocks into a new or existing applications. It runs on android
devices with at least 480 by 800 pixels in resolution. Moreover, it runs on web browsers
like Google Chrome and Mozilla Firefox.
44
Whim Login Page
Whim is currently hosted at whim.icodemostly.com. Upon access, users will be
redirected to whims login page where the software will require the users to login with
their existing Github accounts or create a new one.
45
46
Options Screen
Whim provides users an online documentation screen where they can receive
updates as well as task-oriented help. This also allows users to send feedback, bug
reports and evaluation to the developers.
47
Account Explorer
Whims account explorer show users their github organizations and existing whim
project containers. Once click, they will be redirected to the respected links.
48
Creating a Project
Upon clicking a user on the account explorer, he will then be redirected to the
users github account. In this window, users can clone their github projects before they
can access it using Whim. Before cloning, Whim will prompt the user to create a
container where the cloned project will be stored.
49
50
Code Explorer
51
Project Evaluation
This phase reflects the results from the experiment. To have a sufficient
number of respondents for statistical treatment, the researchers were able to get
48 respondents for
remote
testing.
developers and designers who are members of the Philippine Web Designers
Organization (http://pwdo.org/).
Frequency
30
18
48
Percentage
62.5%
37.5%
100%
Table 6 shows the gender distribution of the respondents. Thirty respondents are
male while eighteen respondents are female.
Frequency
6
17
25
48
Percentage
12.5%
35.42%
52.08%
100%
Table 7 shows the years of experience among the respondents. Six respondents
had eleven to fifteen years of experience, seventeen had six to ten, and twenty-five had
one to five years of experience.
52
Table 8 Profile of Respondents According to Web Technologies Used
Web Technology
JavaScript
PHP
Ruby
Frequency
41
28
17
Percentage
85.42%
58.33%
35.42%
Frequency
42
48
0
Percentage
87.5%
100%
0%
Yes
39
No
9
Tabulated Chi square value at df = 1 and = 0.05
*O: Observed, E: Expected
O-E
(O-E)
24
24
15
-15
225
225
x2
3.84
(O-E)2
/E
9.38
9.38
18.75
53
Table 10 shows the chi square test for Question 1 which states that Whim
enables user to accomplish tasks more quickly. Using the observed (O) and expected
(E) frequencies, the chi square (x2) was computed. Since the computed chi square value
(18.75) is greater than the tabulated chi square value (3.84) with a degree of freedom
(df) equal to 1 and a level of significance equal to 0.05, the respondents had unequal
rating on this aspect of Whim.
O-E
(O-E)
24
24
14
-14
196
196
x2
3.84
(O-E)2
/E
8.17
8.17
16.33
54
Table 12 Chi Square Test for Question 3
Question 3. Whim saves me more time
O
when I use it
Yes
39
No
9
Tabulated Chi square value at df = 1 and = 0.05
O-E
(O-E)
24
24
15
-15
225
225
x2
3.84
(O-E)2
/E
9.38
9.38
18.75
E
24
24
3.84
O-E
12
-12
(O-E)
144
144
x2
(O-E)2
/E
6.00
6.00
12.00
55
(df) equal to 1 and a level of significance equal to 0.05, the respondents had unequal
rating on this aspect of Whim.
O-E
(O-E)
24
24
6
-6
36
36
x2
3.84
(O-E)2
/E
1.50
1.50
3.00
O
more productive.
Yes
42
No
6
Tabulated Chi square value at df = 1 and = 0.05
O-E
(O-E)
24
24
18
-18
324
324
x2
3.84
(O-E)2
/E
13.50
13.50
27.00
56
level of significance equal to 0.05, the respondents had equal rating on this aspect of
Whim.
O-E
(O-E)
24
24
20
-20
400
400
x2
3.84
(O-E)2
/E
16.67
16.67
33.33
Yes
31
No
7
Tabulated Chi square value at df = 1 and = 0.05
O-E
(O-E)
24
24
7
-17
49
289
x2
3.84
(O-E)2
/E
2.04
12.04
14.08
57
of significance equal to 0.05, the respondents had an unequal rating on this aspect of
Whim.
O-E
(O-E)
24
24
21
-21
441
441
x2
3.84
(O-E)2
/E
18.38
18.38
36.75
O
task oriented help
Yes
41
No
7
Tabulated Chi square value at df = 1 and = 0.05
O-E
(O-E)
24
24
17
-17
289
289
x2
3.84
(O-E)2
/E
12.04
12.04
24.08
58
of freedom (df) equal to 1 and a level of significance equal to 0.05, the respondents had
unequal rating on this aspect of Whim.
O-E
(O-E)
24
24
13
-13
169
169
x2
3.84
(O-E)2
/E
7.04
7.04
14.08
O
levels of users.
Yes
28
No
20
Tabulated Chi square value at df = 1 and = 0.05
O-E
(O-E)
24
24
4
-4
16
16
x2
3.84
(O-E)2
/E
0.67
0.67
1.33
59
level of significance equal to 0.05, the respondents had unequal rating on this aspect
of Whim.
O-E
(O-E)
24
24
13
-13
169
169
x2
3.84
(O-E)2
/E
7.04
7.04
14.08
E
24
24
O-E
20
-20
3.84
(O-E)
400
400
x2
(O-E)2
/E
16.67
16.67
33.33
60
(33.33) is greater than the tabulated chi square value (3.84) with a degree of freedom
(df) equal to 1 and a level of significance equal to 0.05, the respondents had unequal
rating on this aspect of Whim.
O-E
(O-E)
24
24
10
-10
100
100
x2
3.84
(O-E)2
/E
4.17
4.17
8.33
61
Table 25 Chi Square Distribution
Questions
Observed
Frequency
Yes
X2
No
39
18.75
38
10
16.33
39
18.75
36
12
12.00
30
18
3.00
42
27.00
44
33.33
31
14.08
45
36.75
41
24.08
37
11
14.08
28
20
1.33
37
11
44
34
14
14.08
33.33
8.33
Table 25 shows the chi square distribution of all the questions. Responses
to questions 1 to 3, which pertain to Whims efficiency, are generally positive. Since the
computed chi square value is greater than the tabulated chi square value, the null
62
hypothesis is rejected. Therefore, the responses are unequal and there is a significant
difference between the observed and expected frequencies that cannot be due to
chance alone.
Responses to questions 4 to 6, which pertain to Whims effectiveness, are
generally positive. Since most of the computed chi square value is greater than the
tabulated chi square value, the null hypothesis is rejected. Therefore, most of the
responses are unequal and there is a significant difference between the observed
and expected frequencies that cannot be due to chance alone.
Responses to questions 7 to 9, which pertain to Whims aesthetics, are generally
positive. Since the computed chi square value is greater than the tabulated chi
square value, the null hypothesis is rejected. Therefore, the responses are unequal
and there is a significant difference between the observed and expected frequencies
that cannot be due to chance alone.
Responses to questions 10 to 12, which pertain to Whims user friendliness, are
generally positive. Since most of the computed chi square value is greater than the
tabulated chi square value, the null hypothesis is rejected. Therefore, most of the
responses are unequal and there is a significant difference between the observed
and expected frequencies that cannot be due to chance alone.
Lastly, responses to questions 13 to 15, which pertain to Whims error tolerance
are generally positive. Since the computed chi square value is greater than the
tabulated chi square value, the null hypothesis is rejected. Therefore, the responses
are unequal and there is a significant difference between the observed and expected
frequencies that cannot be due to chance alone.
All responses are generally positive. Because the computed chi square value is
greater than the tabulated value among most of the questions, the generally
positive responses are unlikely to result from sampling or experimental errors.
CHAPTER 5
SUMMARY OF FINDINGS, CONCLUSIONS AND RECOMMENDATIONS
This chapter discusses the result of the evaluation after the development of the
system.
Summary of Findings
The researchers were able to collect information from 48 respondents, 30 of
which are male and 18 are female. Among the 48 respondents, 4 had 5 years of
experience, 5 had 4 years, 9 had 3 years, 12 had 2 and 18 had one year of experience
and 20 with a year of experience. All of them have used text editors, 42 have used IDEs
while none have used mobile editors before. 41 of them are familiar with JavaScript, 28
knows how to code in PHP and 17 in Ruby.
For the survey, the respondents had a generally positive feedback with Whims
efficiency, effectiveness, aesthetics, ease of use and error tolerance characteristics.
Most of the responses are unequal. Therefore, these positive responses are unlikely to
have resulted from chance.
Some of the issues found with the system are: lack of tooltips which explain what
a function does, lack of validation and interface reaction to what a user does and a steep
learning curve when you are a new Github user.
Positive feedback included a familiar interface, easy reversal of actions and a
reactive error detection mechanism. Feedbacks also included the efficient way of
running a JavaScript Application without the actual setup.
64
Conclusion
The study was aimed to develop a mobile integrated development environment
for JavaScript applications and view the factors affecting its usability according to five
factors (effectiveness, efficiency, aesthetics, ease of use and error tolerance). The
researchers were able to uncover some usability problems when using a mobile
JavaScript IDE and categorized them into four categories. These usability issues are
keys to improving the future version of the software.
Chi-square analysis revealed that the respondents had unequal ratings on
the software on most of the usability factors..
Recommendations
While the developers got positive feedback from the respondents regarding the
complexity and ingenuity of Whim, some recommendations were made. Below are the
researchers' recommendations:
65
BIBLIOGRAPHY
Books
Albers, M. & Mazur, B. (2003). Content and complexity: Information design in
technical communication. London, United Kingdom: Routledge.
Carrington, D. (2004). Guide to the software engineering body of knowledge. Los
Alamitos, CA: IEEE Computer Society Press.
Martin, J. (1991). Rapid application development. New York, NY, USA: McMillan
Coll Div.
Nielsen, J. (1993). Usability engineering. San Francisco, CA, USA: Morgan
Kaufmann Publishers Inc.
Thesis
Amador, S., De Leon, A., Ramos, J, & Santos, D. (2013). RIANT: Web-based
development software for JavaScript-Based Rich Internet Applications.
Undergraduate Thesis. University of the East, Manila, Philippines.
Journals
Balakrishnan, V., & Yeow, P. (2008). A Study of the effect of thumb sizes on
mobile phone texting satisfaction. Journal of Usability Studies, (3)3, 118-128.
Bevan, N. (2001). International standards for HCI and usability. International
Journal of Human-Computer Studies, 55, 4.
Bunz, U. (2003). Website creation as a valuable exercise seven steps to
communicating significance online. The Technology Teacher, 63(5), 7-9.
Carstens, D., & Patterson, P. (2005). Usability study of travel websites. Journal of
Usability Studies, (1)1, 47-61.
Capistrano, E. (2013). Investigating product involvement issues for mobile phone
services: A study of Filipino mobile phone users. Philippine Management
Review, 20, 1-16.
66
67
Proceedings
Athreya, B., Bahmani, F., Diede, A. & Scaffidi, C. (2012). End-user programmers
on the loose: A study of programming on the phone for the phone. In M. Erwig,
G. Stapleton & G. Costagliola (eds.), VL/HCC (75-82), : IEEE. ISBN: 978-14673-0852-6 Retrieved from http://dblp.uni-trier.de/db/conf/vl/vlhcc2012.html#
AthreyaBDS12
De Sa, M., & Carrico, L. (2009). A mobile tool for in-situ prototyping. Proceedings
of the 11th International Conference on Human-Computer Interaction with
Mobile Devices and Services (1-4). Retrieved from
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.177.3507&rep=
rep1&type=pdf
Dorn, B., & Guzdial, M. (2010). Learning on the job: Characterizing the
programming knowledge and learning strategies of web designers.
Proceedings of the SIGCHI Conference on Human Factors in Computing
Systems (703-712). Atlanta, Georgia, USA: ACM. Retrieved from http://
dl.acm.org/ft_gateway.cfm?id=1753430
Fortuna, E., Anderson, O., Ceze, L., & Eggers, S. (2010). A limit study of
JavaScript parallelism, Proceedings of the IEEE International Symposium on
Workload Characterization (IISWC'10), 1-10. Washington, DC, USA: IEEE
Computer Society. Retrieved from http://homes.cs.washington.edu/~luisceze
publications/fortuna-iiswc2010.pdf
Henderson Jr., D. A. (1986). The Trillium user interface design environment.
Proceedings of the SIGCHI Conference on Human Factors in Computing
Systems (221-227). New York, NY, USA: ACM. Retrieved from http://dl.acm.org/
ft_gateway.cfm?id=22375
Joorabchi, M., Mesbah, A., & Kruchten, P. (2013), Real Challenges in Mobile
App Development, Proceedings of the ACM/IEEE International Symposium on
Empirical Software Engineering and Measurement (ESEM), 2013, 1524.
Retrieved from http://www.ece.ubc.ca/~amesbah/docs/mona-esem13.pdf
Kats, L. C., Vogelij, R. G., Kalleberg, K. T., & Vissler, E. (2012). Software
development environments on the web: A research agenda. Proceedings of
the ACM international symposium on New ideas, new paradigms, and
reflections on programming and software (99-116). New York, NY, USA: ACM.
Retrieved from http://dl.acm.org/ft_gateway.cfm?id=2384603
Lebresne, S., Richards, G., Ostlund, J., Wrigstad, T. & Vitek, J. (2009).
Understanding the dynamics of JavaScript, Proceedings for the 1st workshop
on Script to Program Evolution (STOP 09), 30-33. New York, NY, USA: ACM.
Retrieved from https://www.cs.purdue.edu/homes/jostlund/papers/ stop09.pdf
68
Pfleging, B., Bahamondez, E., Schmidt A., Hermes, M., & Nolte, J. (2010).
MobiDev: a mobile development kit for combined paper-based and in-situ
programming on the mobile phone, Proceedings of the 2010 CHI Symposium
on Extended Abstracts on Human Factors in Computing Systems (3733-3738).
Atlanta, Georgia, USA. Retrieved from http://www.hcilab.org/wp-content/
uploads/pfleging2010mobidev.pdf
Quint, V., & Vatton, I. (2007). Editing with style. Proceedings of the 2007 ACM
symposium on Document engineering (151-160). Winnipeg, Manitoba,
Canada: ACM. Retrieved from http://dl.acm.org/ft_gateway.cfm?id=1284460
Rosson, M. B., Ballin, J., & Rode, J. (2005). Who, what, and how: A survey of
informal and professional web developers. Proceedings of the 2005 IEEE
Symposium on Visual Languages and Human-Centric Computing (VLHCC '05)
(199-206). Washington, DC, USA: IEEE
Computer Society. Retrieved
from http://dl.dropbox.com/u/16760174/Papers/VLHCC05.pdf
Tillman, N., Moskal, M., de Halleux, J., Fahndrich, M., Bishop, J, Samuel, A., & T,
Xie. (2012). The Future of Teaching Programming is on Mobile Devices.
Proceedings of the 17th Annual Conference on Innovation and Technology in
Computer Science Education. (199-206). Retrieved from http://research.
microsoft.com/pubs/164416/TheFutureOfTeachingIsOnMobiledevices.pdf
Technical Reports
Globe Telecom, Inc. (2011). Annual Report.
Mikkonen, T., & Taivalsaari, A. (2007). Using JavaScript as a real programming
language. Technical Report SMLI TR-2007-168. Mountain View, CA: Sun
Microsystems, Inc. Retrieved from http://research.sun.com/techrep/2007/
smli_tr-2007-168.pdf
Mikkonen, T., & Taivalsaari, A. (2007). Web applications spaghetti code for the
21st century. Technical Report SMLI TR-2007-166. Mountain View, CA, USA:
Sun Microsystems, Inc. Retrieved from http://research.sun.com/techrep/2007/
smli_tr-2007-166.pdf
Philippine Long Distance Telephone, Co. (2013). Annual Report.
The Economic Intelligence Unit. (2010). Telecoms industry report: Philippines.
Retrieved from http://www.eiu.com/technology
69
Internet Resources
Corepartners. (2005). Rapid Application Development. Retrieved from
http://www.corepartners.com/pdf/rad.pdf
Ecma International. (2011, June). ECMAScript Language Specification.
Retrieved from http://www.ecma-international.org/publications/files/ECMAST/ECMA-262.pdf
International Organization for Standardization. (2011). International Standard
ISO/IEC 25010-2011: Systems and software engineering - Systems and
software quality requirements and evaluation (SQuaRE) - System and
software quality models. Retrieved from http://www.iso.org/iso/iso_catalogue/
catalogue_tc/catalogue_detail.htm?csnumber=35733
Khalaf, S. (2013). Flurry Five-Year Report: Its an App World. The Web Just
Lives in It. Retrieved from http://blog.flurry.com/bid/95723/Flurry-Five-YearReport-It-s-an-App-World-The-Web-Just-Lives-in-It
Quesenbery, W. (2003). What Does Usability Mean: Looking Beyond Ease of
Use. Retrieved from http://www.wqusability.com/articles/more-than-ease-ofuse.html
Vance, A. (2010). Revamped Microsoft Office Will Be Free on the Web.
Retrieved from http://www.nytimes.com/201005/12/technology/12soft.html
Vserv. (2013). Mobile-Internet-Consumer-Philippines. Retrieved from http://
www.vserv.mobi/wp-content/uploads/2013/09/Mobile-Internet-ConsumerPhilippines.pdf
W3Techs. (2014). Usage of client-side programming languages for website.
Retrieved from http://w3techs.com/technologies/overview/client_side_
language/all
World Wide Web Consortium. (2008). Cascading style sheets, level 1. Retrieved
from http://www.w3.org/TR/REC-CSS1/
World Wide Web Consortium. (2012). XHTML2 working group home page.
Retrieved from http://www.w3.org/MarkUp/
___________________________
Librarians Signature
70
APPENDIX A PERFORMANCE MEASURES
This is a guide in creating various applications using Whim. The applications
should be able to make use of different functionalities the mobile IDE provides:
1. Print a simple string in the console.
2. Create applications using different control structures.
3. Manage files using the project explorer.
4. Use different JavaScript frameworks to scaffold an application.
Completing tasks
1. Output Hello World! (20 seconds).
2. Print first N numbers of Fibonacci sequence (1 minute).
3. Build a console-based rock-paper-scissors game (10 minutes).
4. Scaffold a single page application project using a front-end JavaScript
framework and define at least three or more routes. (3 minutes).
5. Scaffold a server-side JavaScript project using a NodeJS framework and
define at least three or more routes (3 minutes).
71
Gender:
Male
JavaScript
Female
PHP
Ruby
Questions
Yes
No
Efficiency
16. Whim would enable me to accomplish tasks more quickly.
a.
a.
a.
Effectiveness
19. Whim would enhance my effectiveness on the job
a.
a.
a.
Engaging
22. Whim provides a familiar development environment.
a.
a.
a.
Ease of use
25. Whim provides easy-to-use task-oriented help
a.
72
a.
a.
b.
a.
b.
a.
b.
a.
b.
Error Tolerant
73