Resource and Task Management Automation for Crowdsourcing
-
Upload
independent -
Category
Documents
-
view
0 -
download
0
Transcript of Resource and Task Management Automation for Crowdsourcing
RESOURCE AND TASK MANAGEMENT AUTOMATION FOR CROWDSOURCING
By
Delisa Simonovic
A DISSERTATION
Submitted to
The University of Liverpool
in partial fulfillment of the requirementsfor the degree of
MASTER OF SCIENCE
28/01/2015
ABSTRACT
RESOURCE AND TASK MANAGEMENT AUTOMATION FOR CROWDSOURCING
By
Delisa Simonovic
The distribution of work through online labour networks as mean of value creation and
innovation also became available to small and midsize companies specialised in web design
and development. For these companies, crowdsourcing could be a solution for on-demand
workforce scaling depending on the level in which it can support the execution of complex work.
The problem addressed by this research is the prospect of adapting typical web design and
development tasks and activities to requirements of a crowdsourcing model. For this purpose,
two typical cases in web design and development are investigated. Logo design case ad-
dresses typical design tasks while JavaScript snippet case addresses typical development
tasks. These two cases are examined in a proof of concept experiment in which the process of
logo and JavaScript snippet creation is divided into multiple crowd friendly tasks managed by a
proposed workflow. During the experiment, the feasibility of proposed workflow is tested thus
providing insights into a process of transformation in which initial specification becomes fin-
ished artefact by the means of participants’ combined effort. The output of each task together
with a response to a questionnaire provided valuable data related to factors influencing task
granularity and feasibility of proposed workflow. The research resulted with meaningful output
in form of final logos and JavaScript snippets thus validating the feasibility of the workflow and
proving that typical web design and development tasks can be adapted to crowdsourcing prin-
ciples. The combination of two methods used in this research, Case Study and Design Re-
search point to a conclusion that proposed crowdsourcing workflow can be adapted to certain
requirements by applying understandings from each finished task cycle into the next one.
ii
DECLARATION
I hereby certify that this dissertation constitutes my own product, that where the language of
others is set forth, quotation marks so indicate, and that appropriate credit is given where I
have used the language, ideas, expressions, or writings of another.
I declare that the dissertation describes original work that has not previously been presented for
the award of any other degree of any institution.
Signed,
Delisa Simonovic
Student, Supervisors and Classes:
Student name: Delisa Simonovic
Student ID number: H00018787
GDI name: Dr. Shakil Ahmed
CRMT class ID: LAUR-906-4
DA name: Dr. Ali Ahmed
CAC class ID: UKL1.CKIT.702-201424-10.H00021491
iii
ACKNOWLEDGEMENTS
First of all I would like to thank Dr. Ali Ahmed, my dissertation advisor without whom
the completion of this thesis would not be possible. He is the only person besides me, who
really had to cope with ideas and concepts presented in this thesis. I would also like to thank all
my instructors at UoL. Special thanks to Ms. Wendy Fan for her fast and informative replies to
numerous administrative inquiries from my side.
Thanks to all participants in my research especially to Mr. Igor Kvrgic and Mr. Tibor
Debus for being a new breed of professionals driven by innovation.
Many thanks to my mother and my father for being brave enough to bring my sister, my
brother, and me to this world. My father, for inspiring me to perceive the world from many differ-
ent perspectives, for showing me importance of looking behind the scenes and for cultivating
curiosity in me even about most ordinary aspects of life. Thanks to my mother, for being pro-
tective and supportive in mine most challenging times. I am thankful to my sister for inexhaust-
ible support and believe in my thoughts and ideas and for her courage which served as ex-
ample for “believing in yourself when nobody else does”. Many thanks to my brother for being
very sensitive yet critical and realistic regarding many things and situations I wouldn’t be aware
of without him.
iv
TABLE OF CONTENTS
PageLIST OF TABLES 3
LIST OF FIGURES 4
Chapter 1. Introduction 51.1 Scope 7
1.2 Problem Statement 7
1.3 Approach 8
1.4 Outcome 10
Chapter 2. Background and review of Literature 122.1 Background 12
2.2 Literature Review 142.2.1 Taxonomy...........................................................................................................142.2.2 Crowdsourcing platforms....................................................................................162.2.3 Task Automation and Coordination....................................................................182.2.4 Research methods for crowdsourcing.................................................................20
2.3 Terms 21
Chapter 3. Theory 223.1 The Crowd 23
3.2 Task Management 24
3.3 The Problem of Granularity 27
3.4 Map reduce 32
Chapter 4. Analysis and Design 344.1 Overview 34
4.2 Web design and development production process analysis 35
4.3 Proposed Workflow 38
4.4 Research Model 42
4.5 The Experiment 45
4.6 Test Data and Questionnaires 46
Chapter 5. Methods and Realization 525.1 Logo Design Case 53
5.2 JavaScript Snippet Coding Case 55
5.3 Summary 56
1
Chapter 6. Results and Evaluation 576.1 Logo Design Case 60
6.2 JavaScript Snippet Coding Case 62
Chapter 7. Conclusions 647.1 Lessons Learned 64
7.2 Academic Application and Limitations 66
7.3 Business Application and Limitations 67
7.4 Recommendations / Prospects for Future Research / Work 67
REFERENCES CITED 69
2
LIST OF TABLES
Page
Table 1. Complex Work vs Micro Task Crowdsourcing.............................................35Table 2. Production process overview.........................................................................37Table 3. Planned differences between two production cycles.....................................46Table 4. Task 1.............................................................................................................47Table 5. Task 2.............................................................................................................47Table 6. Task 3.............................................................................................................48Table 7. Task 4.............................................................................................................48Table 8. Task 5.............................................................................................................49Table 9. Task 6.............................................................................................................50Table 10. Task 1...........................................................................................................51Table 11. Task 2...........................................................................................................51Table 12. Actual design cycle differences (logo design case).....................................54Table 13. Actual design cycle differences (JavaScript snippet case).........................56Table 14. Overall research stats...................................................................................58Table 15. Logo Design Case........................................................................................72Table 16. JavaScript Coding Case...............................................................................77
3
LIST OF FIGURES
Page
Figure 1. The Three Defining Elements of Crowdsourcing (Saxton, Og & Kishore, 2013)........................................................................................................................6
Figure 2. Proposed Research Model..............................................................................9Figure 3. The relationship between the terms (van der Aalst & van Hee, 2002:39)
...............................................................................................................................25Figure 4. MapReduce word count process (www.cs.uml.edu:2014)...........................32Figure 5. Proposed Workflow......................................................................................40Figure 6. Proposed Workflow Scheme........................................................................41Figure 7. Research model............................................................................................43Figure 8. Final Artefact - First Cycle Logo Design Case...........................................60Figure 9. Final Artefact - Second Cycle Logo Design Case.......................................61Figure 10. Artefact Information Content.....................................................................62Figure 11. Growing information content of artefacts..................................................65
4
CHAPTER 1. INTRODUCTION
Contemporary crowdsourcing is a fairly new phenomenon. Modern crowd-
sourcing practice emerged as a product of synergy between several factors including new
technologies, business needs, and the internet induced change in communication and
social interaction. Jeff Howe coins the term crowdsourcing in 2005 by combining the two
words - outsourcing and crowd. It was published for the first time in 2006 in a Wired
Magazine article "The Rise of Crowdsourcing” (Safire, 2009). According to Howe (2006),
the age of the crowd has come in which "distributed labour networks are using the Inter-
net to exploit the spare processing power of millions of human brains” (Howe, 2006). New
business model is on the rise influencing companies and organisations worldwide and
changing the landscape of innovation and collaboration in a computer-mediated society.
Crucial aspect of crowdsourcing is the open call format which taps into a large network of
individuals offering them a possibility to present solutions for real life, real business prob-
lems (Howe, 2006). Social web technologies and social media infrastructure play a signi-
ficant role in providing a fertile base for the development of a new outsourcing model
which not only involves communities but also controls and manages their participation
(Saxton, Oh & Kishore, 2013).
Academia has also recognized crowdsourcing as a phenomenon which opens a
space for innovation in management science by addressing critical issues in management
situations regarding the nature of environment and changeability and uncertainty of parti-
cipating individuals (Lebraty & Lobre-Lebraty, 2013). Crowdsourcing presents a new way
of thinking for both entrepreneurs and researchers alike where the complexity of the sub-
ject blurs the distinction between the two. The identification of many new organisational,
economic and social issues that emerge in the process of maturity of crowdsourcing mod-
els serve as developmental challenges which push the boundaries and motivate innova-
tion. However, crowdsourcing is still in early stages of development and researchers
5
have yet to consolidate the taxonomy. Several attempts have been made but still need to
be accepted by researchers' community.
Interesting fact is that although crowdsourcing is a new term, the underlying prac-
tice has been used for centuries in various attempts to use individual or small group ef -
forts in accomplishing certain goals. In 1714, looking for a solution to "The Longitude
Problem" British Government offered a prize of 20.000 Ł for anyone who would come up
with the solution. Result was the invention of a marine chronometer (Hobden & Hobden,
1989). In 1936, Toyota opened a contest for their new logo design. The winning logo was
chosen from 27.000 entries and led to a brand name change (Toyota Global Site, 2014).
In 1956, a design contest was opened for Sydney Opera architectural solution (Sydney
Opera House, 2014). There are numerous initiatives throughout the history which all have
one common denominator - to use and utilize people's inspiration, ideas and innovation in
finding solutions to particular problems. Nowadays crowdsourcing is tightly related to
emerging business needs which in necessity of fast and efficient solutions mark an era of
IT mediated innovation platforms and communities.
The importance of this subject is yet to be seen in coming years in which crowd-
sourcing core goals - problem solving, generating innovation and automating individual
approach within a process of aggregation of individual resources will provoke rapid devel-
opment and will boost social and technological achievements.
Figure 1. The Three Defining Elements of Crowdsourcing (Saxton, Og & Kishore, 2013)
6
1.1 Scope
The scope of the project is an investigation of potential implementation of crowd-
sourced labour in enterprise contexts specialized for web design and development. The
primary focus of this investigation is a prospect of division and adaptation of complex and
interrelated tasks into "crowd friendly" mini tasks. "Crowd friendly" tasks should be relat-
ively simple, modular, and as much independent as possible. They should be managed
by a process workflow in order to establish integrity and co-relatedness within a produc-
tion process. Such production process should consolidate and reconcile two opposing
principles thus opening a space for investigation: The need to divide and granulate web
design and development process in order to create "crowd friendly" mini tasks is some-
what opposed to the need for integration of tasks into streamlined and managed process.
A process of automation in which principles of analysis and synthesis of the tasks play an
important role should accomplish the consolidation of the two. The research will focus on
logo design and simple JavaScript snippet coding as two particular elements of the pro-
cess of website design and development. Investigation of the entire web site development
is out of scope of this research because at this point it only focuses on essential elements
which are only fragments of the entire process. However, the investigation and compre-
hension of crowdsourcing principles applied to limited application scope represented by
these elements can contribute to eventual future application of the model on the entire
web design and development process.
1.2 Problem Statement
Many small and medium sized web design and development companies have a
problem with capacity scaling. In many cases, they are unable to allocate needed re-
sources for specific projects because they lack the flexibility of using an on-demand work-
force. Since most projects have capacity demands only within specific time frame, crowd-
sourcing as a way of aggregating resources offers a potential solution by allocating re-
sources where and when needed. In order to fully utilize crowdsourcing principles in con-
texts of web design and development, companies need a way to automate and streamline
7
the development process participated by crowd workers. This opens a problem area of
task and resource automation where work division and task assignment have a crucial
impact on the quality of deliverables. The aim of the research is to propose a solution for
managing ad-hoc virtual teams which would be coordinated by utilizing automated work-
flows for task and resource management. Automation of tasks involves project require-
ment analysis, task formulation, task division – granulation, and task assignment and
coordination.
1.3 Approach
The problems of task and resource automation, for crowdsourcing in web design
and development, require multi-layered approach for many reasons. Web design and
development are well-established practices with their methodologies and rationale. They
already exist on the premise of labour division and utilize project management principles
in a process of creating deliverables. Such context requires analysis of existing produc-
tion processes in web design and development which should be analysed from the point
where production requirements and specifications already exist and are in consent with
project stakeholder. Process analysis should result in high-level process definition needed
for adoption and implementation of production processes into a crowd friendly model. The
design of a crowd friendly model uses Design Research Methodology (DR) in order to
create constructs and methods for task division and task suitability in crowdsourcing en-
vironment. Proposed model is tested using a case study in a pilot web development pro-
ject. The process is iterative so that understandings from the case study on the pilot pro-
ject could be reintegrated into design research of a crowd friendly model. This approach
will offer deep insight into a problem domain where certain number of factors could be
followed through iterative process thus giving an overview of cause and effect relation
when introducing a change in certain factors.
8
Web Design and Development Production Pro-cess Analysis
Design Research (DR) of a crowd friendly workflow model
Case Study on a Pilot Web Design and Development Project
Figure 2. Proposed Research Model
Figure 2 depicts three major phases of research. The first phase is a production process
analysis which will gather requirements and specifications for a production of one web
design artefact and one web development artefact. These specifications include all the
information, steps and procedures needed to produce both artefacts as they would be
produced during a standard production process within a company. The second phase is
a design phase in which standard production process has to be adapted to crowdsourcing
requirements and constraints determined by major crowd features. According to Hosseini
et al. (2014) major crowd features are population diversity, unknown-ness, largeness,
undefined-ness and suitability which implies that crowdsourcing tasks also have a feature
to attract those individuals from the crowd which have specific skills and expertise, thus
being of interest to population of individuals who share similar attributes. Crowdsourcing,
as general phenomena, can be observed from the point where it attracts certain individu-
als be it for the reason of volunteering, competence, satisfaction or love of community and
sharing (Hosseini et al. 2014). For this reason, crowd friendly tasks have to be suitable
and understandable to a population as wide as possible serving as a counterbalance to
implicit filtering and narrowing of population due to specific skill requirements. Second
phase of research will yield task definition by translating production requirements into mini
tasks managed by iterative workflows. Every step of a standard production process can
be translated into an open call task which when iterated through a workflow will elevate
information content of the artefacts. The third phase is a case study in which proposed
task definition and workflow will be tested using qualitative research. During this phase,
the observation will be focused on task suitability, number of workflow iterations and
crowd worker feedback. Results from the third phase will be evaluated and returned to the
second phase in form of change to existing workflow and task definitions. The quality of
produced artefacts after every iteration between second and third phase can be used as a
validation of factors which were modified. It would be very hard to predict these factors
without doing the observation on a case study pilot project. However, most likely factors
that could influence the quality of the artefacts include and are not limited to:
task time limitation - influenced by the initial problem specification scope
9
a number of iterative tasks - determines the extent of refinement increments
where small number of iterative tasks require greater extent of each increment as
well as greater effort by the crowd worker
perceived task difficulty
perceived understanding of the problem defined by initial task and consecutive
tasks within iteration cycle
These and other factors will be observed, changed according to given feedback and put
into a second production cycle. Such procedure contributes to the interpretation of results
because it puts initial task definition and perceived task aims into relation making it pos-
sible to observe wide range of factors and their causalities.
1.4 Outcome
The research outcome showed positive results regarding the hypothesis that typ-
ical web design and development tasks can successfully be divided into manageable
mini-tasks for crowdsourcing, and that task lifecycle and task granularity can be optimized
using automation workflows. The positive outcome is evaluated only within limitations of
proposed workflow and tested cases. By using two Design Research cycles, it was pos-
sible to measure the feasibility of initial workflow model and to establish needed con-
straints which lead to more appropriate granularity regarding the task nature. For example
in logo design case, task granularity was limited only by time constraint of 30 minutes per
task within the second cycle. Since in logo design, we are dealing with non-discrete re-
finement extents, the control of granularity was only possible by using time limitations. In
JavaScript snippet case, granularity of each task is also dependent on task specification.
During the research, it became evident that whether we use time limitation or specification
information density to influence granularity, individual cognitive factor determines the out-
come. Some participants showed better performance in one type of refinement tasks
while at the same time they had trouble with other type of tasks. Factors influencing indi -
vidual differences can be many, but results point to the conclusion that individual concen-
tration span among other factors depends on motivation that is affected by the level in
10
which tasks are perceived more or less interesting. Supposed innovative contribution of
each task can be adjusted by using more or less precise specification. The more open
and abstract the specification is, the higher potential innovation can be achieved yet there
is higher probability of inadequate output.
11
CHAPTER 2. BACKGROUND AND REVIEW OF LITERATURE
2.1 Background
The project is being done for a small web design and development company in
Zagreb, Croatia. It is a company founded by my brother and me in 2005. Since the days
company started, one particular issue seemed to re-emerge from one project to another.
This issue had an impact on the growth of the company as well as on the development of
company's strategy and its positioning on the market. The issue that is shared between
companies regardless of size and industry is a problem of workforce scaling. On demand
workforce scaling is a concept of managing resources according to lean management
practices, which reduce unneeded labour costs by scaling a workforce according to actual
needs. This practice does not only save companies of unnecessary costs but also makes
project and operations planning more flexible.
Crowdsourcing as a practice and a phenomenon opens a new perspective on
workforce planning and management especially for the companies whose core busi-
nesses in major part depend on online communication and collaboration. Web design and
development companies are for this reason, perfect candidates to implement and test
crowdsourcing practices and principles in their production cycle. However, to be able to
apply crowdsourcing principles, current production activities need to be adjusted to a new
paradigm mainly because crowdsourcing represents a mediating layer between job offer-
ers - companies that have a workforce demand, and virtual crowd - globally dispersed
individuals who offer their cognitive capacities, knowledge and expertise to job offerers.
This mediating layer has a potential to provide numerous benefits yet it also sets new
rules and boundaries.
The main problem addressed by this study is whether traditional web design and
development tasks and activities can be tailored, automated and managed in order to
comply with crowdsourcing requirements. This is not a new problem and many other re-
searchers have emphasized a problem of crowdsourcing complex work, mainly because
most of existing crowdsourcing platforms either do not deal with complex tasks, they only
12
offer micro-task execution, or they do not address the need to analyse and divide com-
plex tasks because they use crowd competitions in which participants do the entire com-
plex work and compete against other participants for a single prize. One of the most fam-
ous crowdsourcing platforms is Amazon's Mechanical Turk (MTurk). According to Kittur et
al. (2011) "The types of tasks accomplished through MTurk have typically been limited to
those that are low complexity, independent, and require little time and cognitive effort to
complete." (Kittur et al., 2011:3) On the other hand when complex tasks are required,
crowdsourcing platforms usually use competition as a basis of their service. The problem
with competitions are several:
the problem of incentive - many crowd workers compete over single prize
the problem of efficiency - every individual participant completes the entire work
required
the problem of economy - the effort of only one individual is actualised while the
efforts of all the others is wasted.
The "winner takes all" model for complex tasks results in loss of effort invested by crowd
workers since only one prize is awarded to the best entry evaluated according to job
offered criteria. (Xu & Lasron, 2014)
The aim of this research is to investigate a potential use of crowdsourcing prin-
ciples in web design and development and to propose a usable workflow model which will
streamline task automation and management of resources within a scope of web design
and development. Having in mind that single task is a building block of every crowd-
sourcing effort, and that standard web development tasks have to be crowd friendly, a
fine line between excess task complexity and excess task simplicity has to be balanced.
In a case of very simple and short tasks, there is a burden of high costs for management
and coordination of tasks. The lower the task complexity, the greater number of tasks has
to be created in order to fulfil all of the requirements put upon standard task. On the other
hand, if tasks are too complex, the only way to put them into crowd labour market is by
using already discussed crowdsourcing contests.
13
2.2 Literature Review
2.2.1 Taxonomy
According to Hoseini et al. (2014) current problems and achievements in crowd-
sourcing as well as rising industrial and academic interests in the subject led to various,
sometimes divergent definitions of crowdsourcing. Primary concern here is a great di-
versity in the interpretation of the concept. Hoseini et al. (2014) proposed basic crowd-
sourcing taxonomy based on four pillars: the crowdsourcer, the crowd, the crowdsourced
task, and the platform. These should serve as a baseline for the interpretation of crowd-
sourcing and should accommodate multiple perspectives including social sciences, busi-
ness and computer science.
Agafonovas & Alonderiene (2013) discuss several important subjects related to
open innovation, value of crowdsourcing platforms and possible benefits for creative
agencies and their potential customers. Authors identify three key crowdsourcing parti-
cipants:
The Core Team
The Customer
The Crowd
Giving equal attention to perspectives of all crowdsourcing participants, Agafonovas &
Alonderiene (2013) propose integrated business model for crowdsourcing-driven organ-
isation. In such a concept, the goal of value creation cannot be established without incent-
ives for every party. Money compensation is not the only motivational driver for the parti -
cipants. They also gain experience, they communicate and they learn through feedback
and acknowledgement. The value creation within a system would be accomplished by
using collaborative innovation as one of main crowdsourcing potentials.
Simula & Vuori (2012) examined interaction of contributors and B2B companies
within crowdsourcing context which is seen as an important medium for innovation and
knowledge creation. Combined wisdom of many participants can drastically improve a
process of innovation. Authors observe the problem of crowdsourcing by presenting in-
14
volved participants as layers in value-chain structure. Layers consist of internal employ-
ees, trusted partners, pre-selected participants from the crowd, and crowd as a whole.
In an article "The Future of Crowdwork“ Kittur et al. (2013) discuss important is-
sues covering present state of crowdsourcing phenomenon as well as possible develop-
ments in a wide scope of areas related to crowdsourcing. They introduce vital points for
discussion and divide them into 12 groups:
Workflow - parallel approach used in micro-tasking lacks sufficient support
for complex work
Task Assignment - tasks have to be assigned to most appropriate individu-
als yet there is a need to address the problem of shared resources.
Hierarchy - organisational benefits of hierarchy have to be transmuted to an
environment where its useful elements can be adopted into fluid and flexible
nature of crowdsourcing.
Real-time Crowd work – on-demand workforce scaling and the problem of
crowd latency have adverse effects on work deadlines.
Synchronous Collaboration - complex tasks require cooperation yet current
platforms operate on the basis of independent work.
Quality Control - low cost of crowdsourcing and high worker turnover have
negative effect on output quality.
Crowds Guiding AIs - computational power opens an opportunity for intelli-
gent algorithms able to learn from crowd intelligence.
AIs Guiding Crowds - AI can be set to organise manage and optimize crowd
work using machine learning model.
Crowdsourcing Platforms - existing platforms offer limited usability and
flexibility. Future cloud platforms need to introduce new designs and con-
cepts.
Job Design - task design should take into account worker motivation and
fulfilment as well as organisational requirements.
15
Reputation and Credentials - reputation facilities need to provide reliable
anti-cheating mechanisms while retaining benefits of low hiring costs and
pseudonymity.
Motivation and Rewards - financial motivation is necessary but is not the
only aspect of motivation. Managerial, social and psychological aspects of
motivation should be integrated into motivational constructs.
Besides these important functional elements future crowd work should address, Kittur et
al (2013) emphasize an importance of moral and ethical aspects without which crowd-
sourcing would create a future we could not be proud of. There is a serious risk of trans-
forming crowd work into a low-cost exploitation. According to the authors, the design of
future crowdsourcing frameworks has to pass a test by positively answering the question:
“Can we foresee a future crowd workplace in which we would want our children to parti-
cipate?” (Kittur et al. 2013:1)
Asmolov (2011) explores challenges in crowdsourcing platform analysis. He
suggests CHAT - cultural-historical activity theory for crowdsourcing project analysis.
"Activity" is the primary aspect of analysis within his paper. Crowdsourcing projects are
observed as a means which contribute to the development of activity systems while
crowdsourcing platforms are seen as expression of activity systems. Activity as an aspect
of analysis involves subject - object relationships and pertaining dynamics of power con-
cepts within crowdsourcing deployments where power of networks can be seen both from
the perspective of individual empowerment and as the empowerment of traditional power-
holders.
2.2.2 Crowdsourcing platforms
Maja Vuković (2009) in her article "Crowdsourcing for Enterprises" evaluates
several crowdsourcing platforms and identifies key features as well as their shortcomings.
She identified two major crowdsourcing models: Marketplace and Competition. Each of
16
the models utilizes individual micro tasking for the benefits of requestors. Marketplace
connects requestors and the Crowd whereas in Competition, the only one winning sub-
mission is selected and awarded. She points out several challenges on the path of realiz-
ing true benefits of crowdsourcing:
Request model pooling of different providers where each of them fulfils a
single task which is just a part of a complex request
Participant matchmaking
Models for bid evaluation
Dynamic pricing according to supply and demand of participants with certain
skills
Quality Management
Platforms for virtual team formation
The design of crowdsourcing platforms needs to address certain challenges which involve
the technical design of the system, economic models for management of incentives, parti-
cipant's involvement in online communities, aspects of collaboration, multi-tenancy and
integration (Vuković, 2009). Both Marketplace and Competition models have certain
shortcomings because they represent work in progress in the process of maturity and
development of crowdsourcing as a principle. Xu & Larson (2014) addressed issues re-
lated to crowdsourcing contests, their poor social well-fare and their efficiency problem.
These issues are a by-product of "winner takes all" contests. Authors propose a mechan-
ism for filtering of high-quality contestants before they are engaged in task-related activit -
ies thus rising social welfare and crowdsourcing contest efficiency.
Hirth, Hossfeld & Tran-Gia (2011) point out problems and issues related to usabil-
ity of commercial crowdsourcing platform MicroWorkers.com. The platform uses micro-
task model, offering simple tasks to potential workers. These tasks do not require any
special skills or knowledge and can be completed in a matter of minutes. Quality control is
achieved by utilising cheat detection mechanisms. Authors address and recommend sub-
jects for future work:
workflow optimisation and automation
worker recommendation systems
17
quality management
According to the authors, workers capable of engagement on more complex tasks tend to
be more expensive; on the other hand, such investment is remunerative because of better
output quality which reduces overall task costs.
2.2.3 Task Automation and Coordination
In an interesting framework proposal article "Crowdforge: Crowdsourcing Com-
plex Work", Kittur et al. (2011) discuss prospect of facilitating complex work within the
frame of current requirement constraints of crowdsourcing. Although crowdsourcing suc-
cess can be seen globally, as companies start to envision their strategies on accomplish-
ing work via online platforms be it for crowdsourcing design (threadless.com) or crowd-
sourcing R&D (innocentive.com), crowdsourcing is still in its infancy. On one side, we
have platforms for competition based contests while on the other we have micro-task
platforms lacking the ability to support complex work. Currently, most popular micro-task
platform is Amazon Mechanical Turk (Mturk). It has gained popularity in non-specialized
crowdsourcing market where micro-tasks are used for work needing from few seconds to
a few minutes. Still, low complexity of tasks and their independence limits a potential use
of MTurk as a platform for complex work. Recognizing these limitations, authors propose
a framework that would address certain requirements in order to accomplish execution of
interdependent complex tasks. "The framework systematically breaks complex problems
down into simpler tasks by creating subtasks that define and create other subtasks and
distributes these tasks to workers" (Kittur et al. 2011:3). Being aware that management of
complex tasks would incur certain costs to the system because of complexity caused by
coordination of interdependent tasks and their subtasks as well as because such context
would require certain skills and education thus limiting workforce availability, authors pro-
pose a system that would reduce these costs by using task disaggregation and aggrega-
tion. This way all the requirements needed for successful execution of complex work such
as task definition, supervision, and coordination could be achieved in micro-task environ-
18
ments. Interestingly, authors propose utilisation of map reduce model - a commonly used
programming model for distributed computing. In order to achieve coordination of com-
plex task dependencies, they translate principles for coordination of computer systems
and use it for coordination of human activity. "Crowdsourced labor markets can be viewed
as large distributed systems in which each person, such as a worker on Mechanical Turk,
is analogous to a computer processor that can solve a task requiring human intelligence.
In this way a crowdsourcing market could be seen as a loosely coupled distributed com-
puting system." (Kittur et al. 2011:7)
Additional step towards decentralisation of task design and management can be
achieved by offloading these activities to the crowd itself. Kulkarni, Can & Hartmann
(2011) propose a model for micro task creation automation within Amazon's crowd-
sourcing marketplace - Mechanical Turk. The model involves crowd workers into a pro-
cess of workflow planning and design, and introduces a new modality into perspective.
The benefits of crowdsourcing can be used as a mean of process self-management in
which crowdsourcing resources are used for the design of control of the same resources.
Turkomatic relies on a recursive algorithm that directs crowd workers in the process of
splitting and solving tasks as well as recombining and merging task results. The process
consists of two phases. In the first phase, complex tasks are iteratively subdivided if there
is a need. If a first subdividing iteration still produces complex tasks, they are put into a
second iteration in order to divide them further. The process goes on until it outputs
simple atomic tasks that can successfully be solved as micro-tasks (HITs - Human Intelli-
gence Tasks). In the second phase, solution to every partial task is merged into a final
solution which addresses initial complex task.
Simperl, Norton & Vrandecic (2011) proposed a framework for crowdsourcing of
linked data management tasks. They explain decomposition of a main task to micro tasks
suitable for crowdsourcing. Since a large portion of linked data management relies on
human cognition and interpretation, the authors find it suitable for crowdsourcing. Such
strategy combines computational and human intelligence in an effort to automate the
process while offering certain quality. Human computation can compensate quality issues
19
in liked data management that could not be addressed by using only computational al -
gorithms.
Lopez, Vukovic & Laredo (2010) propose People-Cloud, online service for task
coordination in crowdsourcing. The service would organize virtual teams online which
would be able to integrate their efforts and knowledge in IT service delivery domain.
People, their experience and their knowledge represent a backbone of every organiza-
tion. Knowledge as a resource cannot be fully utilized without knowledge networks which
should facilitate knowledge discovery in order to support important initiatives. Knowledge
can be successfully utilized as a resource within an organization and it can also be har-
vested from external community thus providing greater value to organizational efforts and
initiatives.
2.2.4 Research methods for crowdsourcing
Marjanović & Roztocki (2013) ascertain that the majority of research papers on
Crowdsourcing are empirical and use case study as the most common method. Interest-
ingly, none of the studied researches used Design Research (DR) or Action Research
(AR) method. They argue that Crowdsourcing as emerging phenomenon should be ap-
proached using AR or DR research, thus facilitating new solutions and offering a contribu-
tion to existing body of knowledge. This way researchers would solve practical problems
and make a significant contribution for further studies.
According to Henver & Chatterjee (2010) Design Research paradigm addresses
two key issues in information system research: the importance of IT artefacts and per-
ceived insufficient relevance of IS research. Until early 1990s, Design Research has tradi-
tionally been reserved for hard sciences like Computer Science or Engineering. Later, it
became apparent that such methodology can successfully be used in design and im-
provement of IT artefacts. Its ability to solve real-world problems puts Design Research in
a position where it can largely improve IS effectiveness and help companies in fulfilling
their purpose, their economy and efficiency.
20
2.3 Terms
Artefact – An item/object of human origin observed during scientific investigation
Atomic task - Simple self-contained task which cannot or needs not to be further divided
Crowd – A large number of people temporarily gathered and engaged in some form of
collective behaviour
Crowdsourcing – The process of acquiring added value by employing distributed labour
networks
Crowd Worker – An individual who uses crowdsourcing platforms and engages into exe-
cution of different tasks available on these platforms
Crowdsourcing platform – An online application serving as a market for creation, distri-
bution and execution of tasks
Design research – Applied research method for design and evaluation of information
system artefacts
Distributed labour network – A large network of people seen as a potential processing
power and used as an online resource supported by crowdsourcing
Iterative workflow - A workflow in which actions and operations are executed by follow-
ing repeated sequence
Map-reduce – A programming model for parallel processing of large datasets. It consists
of two basic functions: Map – reads and extracts large amount of data records; Reduce -
aggregates and summarizes the data
Open call – An open invitation for participation in activities contributing to certain object-
ives
Task granularity – The level of possible task divisibility
21
CHAPTER 3. THEORY
The Theory behind crowdsourcing is fairly new. The concept was born in 2005
but it is still in the process of standardisation in terms of structure and taxonomy. How-
ever, particular theories constituting crowdsourcing are mature ones like for example Le
Bon's psychology of the crowd, Economic Theories of externalisation, cognitive psycho-
logy and communicology, business process and task management. All these aspects will
be briefly elaborated in order to offer an insight into a genealogy of the phenomenon and
pertaining problems and challenges.
Although mentioned theories are mature enough to pass the test of time, they can
only provide a starting point in a development of crowdsourcing models for several reas-
ons. First reason is that Lee Bon's theory of the crowd doesn't really thematize virtual
crowds emerged as a consequence of internet driven communication. It can provide
some insights into underlying dynamics of virtual crowds, but the theory itself needs to
develop further in order to be entirely relevant for crowdsourcing. Secondly, the medium
of communication changed the nature of the interaction between participants assigned to
certain productive activities. Internet and social network systems are connecting people
thus creating new models of communication. Since ever greater number of individuals
interact globally, it changes the aspects of communication so fast that it becomes very
difficult to investigate its principles and form functional cause and effect models. Saxton,
Oh and Kishore (2013), when discussing about web 2.0 conclude that "The technology
effectively has no pre-defined knowledge structure; it is instead is a highly flexible, inter-
active, and user-centric system that readily accommodates changing human activity and
knowledge." (Saxton, Oh and Kishore, 2013:7) The volatility of the medium most probably
has an effect on frequent changes to communication models and on the development of
new ones. Thirdly, traditional business processes are used within organisational frame-
works which allow high interdependence between members. According to Buchanan &
Huczynski (2010) high organisational interdependence requires "mutual adjustments,
unscheduled meetings, face to face discussions, physical proximity and interdepartmental
teams." (Buchanan & Huczynski, 2010:503). On the other hand, crowdsourcing has limit-
22
ations in regard to task interdependence and collaboration because it relies on a structure
based on loosely coupled members which participate in a production process only by
solving micro-tasks. Since micro-tasks have the capacity to support low interdependence,
there is a need to develop facilities which would support high interdependence needed for
accomplishing complex work. To compensate low interdependence limitations, crowd-
sourcing models need to have a way of bridging the communication and coordination gap
by centralising task coordination.
3.1 The Crowd
Wexler (2012) explicates the purpose of his paper as “to examine how the con-
temporary literature on crowdsourcing recasts the classical social scientific conception of
the crowd from social problem to problem solver."(Wexler, 2012:7) He distinguishes two
classical and one contemporary scientific view of the crowd and relates them to corres-
ponding phases in theorising. In the first phase, the crowd is seen as a factor of influence
which facilitates subjection of individual rationality to primitive unconscious instincts of the
group mind (Le Bon, 1895). In this period, the attention to crowd as a social phenomenon
has been driven by the fear of the destructive potential the crowd has, which has been
witnessed throughout the history (McClelland, 1989). Crowd challenges the social order
and is conceived by mobs, rioters and strikers. Such social aggregations require manage-
ment and control and have been perceived as a direct threat to the elite (Wexler, 2012).
In the second phase, the behaviour of the crowd is seen as showing "rationality in
context" (Wexler, 2012). Crowds were no longer seen as irrational but as a collective
behaviour which tested existing norms and bounds of establishment. From the madness
and transgression of the crowds, scientific perspective slowly moved towards comprehen-
sion of a crowd as a signal of rational protest. "The crowd and those in it are champions if
not indicators of change." (Wexler, 2012:9) However, the slight turn in understanding of
the phenomenon did not amend the overall perception of the crowd as still dangerous and
tightly bound to unpleasant uncertainty. What is most important in this phase is the emer-
23
gence of the idea of rationality of the crowd. It was not completely understood, but it was
seen as enormous potential that merely started to develop shape.
In the third phase, attitude towards crowds changed dramatically as it moved from
focusing on the destructive potential and "rationality in context" to crowd as a valuable
resource and a problem solver. Key feature of the crowd is its great diversity and number.
These two, when adequately managed, can be an inexhaustible source of new ideas,
solutions and expertise. By proponents of this phase in theorising, it is believed that the
crowd can even deliver better and more adequate results than by using traditional means
of employee engagement (Lakhani et al.,2007). Using interactive, modern technologies
like Web 2.0 as a means of communication and collaboration, as well as rewards as a
way of incentive enables crowd to deliver relatively cheap, often original and superior
results (Brabham, 2009).
3.2 Task Management
According to Van der Aalst & van Hee (2000) task is defined as "a logical unit of
work" and can be divided into three broad categories: manual, semi-automatic and auto-
matic tasks (Van der Aalst & van Hee, 2000:38). The differentiation between these three
groups is based upon the criteria which distinguishes three types of relations between
tasks and computational aid. Tasks not requiring any computer application in order to be
executed are manual tasks. For example, conduct a meeting, sign a contract, install a
physical component, etc. are all manual tasks. On the other hand, we have completely
automated tasks. These are performed without needing any human intervention and are
usually executed within a computer program or an application. They are called automatic
tasks for obvious reasons. Between these two we have semi-automatic tasks which re-
quire human intervention, but cannot be performed without help from some automated
system, computer program or an application. Crowdsourcing tasks perfectly fit into the
category of semi-automatic tasks which require human input but are coordinated using
programmed rules and conditions. In order to further contribute to understanding of tasks
we need to put them in a context. Tasks are created, transformed and executed within a
24
context of some process for which they provide particular purpose. The entire business
process depends on the management of multiple tasks which are dependent on one an-
other. Still, what is a relation between tasks and a process? According to Hollingsworth
(1995) as cited in Schulte (2012) "A workflow is the computerised facilitation or automa-
tion of a business process and may contain automated and manual activities, also re-
ferred to as human tasks." (Schulte, 2012:1). In this context, task is an indivisible piece of
work or activity within a workflow. By nature it is generic, meaning that it is not bound to
specific work item or activity. According to Van der Aalst & van Hee (2000) "A work item
is the combination of a case and a task which is just about to be carried out." (Van der
Aalst & van Hee, 2000:38)
Figure 3. The relationship between the terms (van der Aalst & van Hee, 2002:39)
Activity describes an actual work related to work item that needs to be done in order to
fulfil the task. Task atomicity (indivisibility) depends upon the context. From the point of
view of task client (task originator), task is atomic. However, for the one who has to per-
form the task (task supplier), task can be divided into set of smaller tasks which are then
indivisible from the perspective of task supplier. Theoretically, task supplier can further
subcontract some tasks which are indivisible from within his context, but can be further
divided by a subcontractor.
Let's take an example of a simple task and how it relates to work item, activity
and case. Case is a logo design according to specification. Simple task related to logo
design is to create an idea model. Work item is then the creation of idea model according
25
to given specification. Activity for proposed work item would encompass all activities
needed to fulfil the task. These can be research, decision on type of logo to be used (font
logo, picture logo, symbol logo), creation of story and message behind the logo, decision
on the combination of colours etc. We can see that these activities can be formed into
tasks since from the context of task supplier; task for creation of an idea model can be
divided into tasks which are indivisible in his context.
In order to implement existing web design and development processes into
crowdsourcing paradigm there is a need to investigate a process as an element which
combines other building blocks like tasks, cases, conditions, etc. into a functional whole.
According to van der Aalst & van Hee (2000) "A process is a collection of tasks, condi-
tions, sub processes and their relationships with one another." (van der Aalst & van Hee,
2000:65) Every particular process refers to a certain number of cases which envelop
tasks, work items and activities. Each case is controlled by a process under which tasks
are executed. Tasks are not specific to a certain case because they are generic. When
tasks and cases are combined, they constitute a work item. According to Workflow Man-
agement Coalition Specification (1999) the process is a "representation of a business
process in a form which supports automated manipulation, such as modelling, or enact-
ment by a workflow management system." (WFMC, 1999:11) Business Process is a set
of related activities and procedures which are performed in order to achieve certain busi-
ness objective within existing organisational context. When the context is changed to a
global internet context where everyone is invited to participate in the production process,
tasks and their relationships have to be approached differently.
Since a workflow is an intermediary between business process and tasks, it has a
role of integration and consolidation of human intelligence tasks with business process
needs. In crowdsourcing, workflows also have a potential to utilise internet communica-
tion and computing power in order to successfully bridge distributed human resources
and business goals. According to Joosten & Brinkkemper (1995) "There are different
types of research related to workflow systems: technical, conceptual, organisational and
methodological." (Joosten & Brinkkemper, 1995:2) The research of crowdsourcing work-
flows focuses mainly on organisational and methodological aspects. Methodological be-
26
cause the implementation of workflows composed by micro-tasks in loosely coupled en-
vironments requires research of new models and methods. Organisational because busi-
ness processes are applied to particular environments in which organisation of tasks
needs to coordinate large and diverse population of potential workers. Coordination prob-
lem has partially been addressed in theory of formal models for decentralised decision
making and multi-agent planning. (Suken & Zilberstein:2008) Such models have many
possible applications like multiple robot coordination, load balancing and overall coordina-
tion of various agents with partitioned reality. These models also have potential applica-
tion in crowdsourcing environments where multiple agents cannot directly communicate
their observation to other agents because it would cause communication overhead. Addi-
tionally, every agent doesn't have a detailed knowledge of the entire production process
but has some information on immediate task context. Seuken & Zilberstein (2008) call this
the problem of “decentralised control of partially observable stochastic system." (Seuken
& Zilberstein, 2008:2). However, multiple perspectives and views on the same problem
can be a source of innovation in crowdsourcing, yet these need to be coordinated to a
certain extent in order to provide meaningfully combined output.
3.3 The Problem of Granularity
One of concerns of this research is the problem of task granularity. This important
aspect determines the extent of task division into ever more simple tasks. Since crowd-
sourcing evolved from outsourcing, both strategies share the aim towards externalisation.
Major difference between these two strategies has a basis in granularity of work. Out -
sourcing typically encompasses externalisation of entire projects executed by traditional
division of labour whereas crowdsourcing tends to outsource small chunks of work to
virtual crowd. According to Hossfeld, Hirth & Tran-Gia (2011) "Crowdsourcing platforms
can be viewed as a further development of the outsourcing principle, by reducing the ad-
ministrative overhead and the size of the outsourced tasks." (Hossfeld, Hirth & Tran-Gia,
2011:143) In both crowdsourcing and outsourcing, administrative overheads can be re-
duced because all the expenses otherwise needed to cover the costs of an in-house em-
27
ployment are cut. However, crowdsourcing implies higher management and coordination
overhead because many simple tasks are assigned to many individuals. In outsourcing,
one single project is delegated to a subcontractor so that management, coordination and
other activities which direct and combine all the work needed are accomplished by a sub-
contractor. The subcontractor actually approaches the project in a similar manner as it
would be approached by the company doing it in-house. The rationale behind outsourcing
lies in the specialisation of subcontracting company for the work that is outsourced which
ends in better optimisation of resources and cost reduction. On the other hand, in crowd-
sourcing, the focus is not on the single project but on individual tasks constituting the
project. Not that project elements like planning, resources and scope are deemed irrelev-
ant, but tasks represent the only aspect through which immediate collaboration is
achieved. The costs of all single tasks combined can be lower than the costs of compared
tasks within an in house project, still these tasks need more coordination, direction and
management because they are divided and assigned to workers which are loosely
coupled. In such environments, task specification needs to contain additional metadata to
be able to provide the description of the context in which task execution is expected.
Without appropriate metadata, crowdsourced tasks are limited to basic simple tasks
which cannot be utilised for complex work. Such tasks are predominantly populating task
listings on amazon's mturk.com and on several other popular crowdsourcing services
where crowd worker is asked to validate search result, input scanned data, add picture
description or find company or product information online. According to Kittur et al.
(2011) "This approach works well when the tasks involve what Van de Ven et al. call
“pooled interdependence”, in which the group product is a simple aggregation of the indi-
vidually produced products." (Kittur et al., 2011:5) Pooled interdependence is represented
by many independent contributions from individuals aggregated into one synergetic
whole. Although tasks are independent of one another they still require some basic type
of control in form of rules, procedures and common forms for data input. Cost of coordina-
tion in case of pooled interdependence is low because tasks do not require adjustments
and coordination with other tasks of the same type. For instance, writing a simple Wikipe-
dia article can be divided into simple tasks where each member writes only one subsec-
28
tion of an article in a parallel manner. Later, all subsections are combined into a single
article. Naturally, the content of subsections has to be connected in some way but this
requires only basic interrelation between subsections. Obviously the complexity of the
task has greater impact on granularity than sheer size of the task, however, complexity
and size are in most cases proportional.
Complex work in crowdsourcing environments has certain limits in regard to gran-
ularity. Dependent task have to be processed sequentially versus parallel in pooled inter-
dependence. Some tasks have to be finished before other tasks can be started. When
approaching the granularity problem, most evident aspect is the aspect of management
overhead because on one side we have a tendency towards small, simple and cheap
tasks, yet very simple tasks require high cost of coordination if they are part of a complex
work. For instance "create a textbox with certain size and functions" seems like a simple
task, and it actually would be a simple task if people would find the way to make use of
textboxes themselves. However, textboxes or any other elements are never used in void.
The usage of textbox requires a context which describes where on the page is textbox
positioned, which data will be entered, where will the data go, what other functions de-
pend on data input and validation, etc. These aspects complicate seemingly simple task
and create a need for additional coordination. It seems that optimal granularity for the task
depends on task information content and on metadata information content. If the task is
truly very simple, how can it be integrated as a part of complex work? It would need very
large metadata description so that crowd worker can have all needed requirements to
complete a simple task. But can such task be called simple?
Let's make an overview on how tasks are decomposed based on employed
externalisation strategy. According to Hirth, Hossfeld & Tran-Gia (2011) there are several
levels of task granularity which are correspondent to each of externalisation strategy. The
level of granularity is based on externalised units of work referred to as "work packaging".
The lowest granularity and largest package of work is a project. When project is assigned
to a subcontracting company all terms and conditions as well as required work is negoti-
ated with that particular company. This type of externalisation is called outsourcing. Since
project consists of multiple tasks, companies saw an opportunity to outsource single
29
tasks. The granularity of the task is higher than the granularity of a project in terms of
"work packaging". Further granulation of tasks brings about subtasks. Subtasks are ex-
ternalized in form of out-tasking which is commonly used as a measure of work for freel-
ance jobs. To accomplish this, companies use out-tasking platforms which then take all
correspondence and coordination with freelancers on themselves. Further stage of work
granulation is represented by micro-tasks which have the finest level of granularity. Micro
tasks are therefore building blocks of crowdsourcing because they don't require any long
term obligations and can be accomplished in a short time. According to Hirth, Hossfeld &
Tran-Gia (2011) "A micro task can be accomplished within a few minutes to a few hours
and thus does not need a long term employment." (Hirth, Hossfeld & Tran-Gia, 2011:143)
These micro-task features allow higher flexibility for workload balancing but also provide
greater opportunity for innovation, generation of ideas, design of solutions and wisdom
harvesting from the crowds. Still, there are no explicit definitions for optimal task granular -
ity in certain environments or for factors that would open some insights on dynamics of
task granularity in crowdsourcing. In most cases time as a factor is yet the only measur-
able constraint in defining needed granularity of tasks.
Interesting solution proposed by Kulkarni, Can & Hartmann (2011) involves crowd
as a deciding agent on needed division and granularity of tasks. Since micro tasks are
basic units of work in most crowdsourcing platforms, there is a demanding need to effi -
ciently manage task size and complexity in order to fit as wide possible range of work
activities into a crowdsourcing paradigm. According to Kulkarni, Can & Hartmann (2011)
"Effective task and workflow design remain something of a black art among crowd-
sourcing users, involving substantial planning, software development, and testing."
(Kulkarni, Can & Hartman, 2011:1). Micro-tasks appear in the context of workflows
through which tasks are divided and assigned to each online worker. The complexity of
these workflows is a limiting factor because only experts are able enough to cope with the
challenge of planning and design of such workflows. The authors devise a model which
would pass this challenge to the crowd and effectively give an opportunity to standard
crowd workers to have their part in design and planning of recursive workflows. Proposed
system would create pre-structured HIT's (Human Intelligence Tasks) which would be
30
further decomposed by Amazon's Mechanical Turk users (Turkers). Decomposed tasks
are then assigned to other Turkers and solved in parallel or sequentially. Solved tasks are
then combined into the whole solution. Decomposition of tasks doesn't take place only in
one step of the process but can be conducted multiple times across different steps. It is a
recursive process which involves both standard Turkers and experts in workflow manage-
ment. The contribution of the authors certainly provided new direction for further research
in crowdsourcing workflow management including task definition and granularity, still au-
thors are aware that this field is still uncharted territory and needs more investigation.
"Crowd-assisted workflow generation also makes no guarantees for optimality in pricing
or execution time. The question of optimizing crowd-produced workflows is fascinating
and merits future investigation." (Kulkarni, Can & Hartman, 2011:6)
Task granularity can also be approached from the perspective of cognitive organ-
isation of information. According to Perry (1998), "Distributed cognition provides a means
of describing the co-ordination of collaborative activity."(Perry, 1998:1) In crowdsourcing,
tasks are distributed to crowd workers and are processed within a distributed cognition
system represented by crowd. Each crowd worker acts as a single cognitive system
which takes input, processes information, and takes action and outputs results. Informa-
tion input is provisioned by using tasks which are divided into a problem spaces. Informa-
tion processing is done by using artefacts which represent the information as a mean of
work performance and as a resource for coordination of a collaborative effort. Granular-
ity, from the perspective of distributed cognition, is observed as a level of individual work
activity. As each performing agent processes information (artefacts) within a mental do-
main, such representation of information is invisible and cannot be directly observed.
Hence, granularity can only be analysed by observing information input, output, and its
transformative process. However, individual cognitive abilities should be taken as an im-
portant factor when task granularity is concerned. Attention span of crowd workers can be
seen as a deciding factor in task design. The criteria for the division of tasks should there-
fore conform to two time constraints. The first constraint is task time limitation implied by
crowdsourcing itself. Tasks need to be short enough to support economic benefits and
independence indicated by smaller tasks. Second constraint is a concentration span
31
boundary within which full uninterrupted cognitive potential can be possible. Distributed
cognition and collaborative function of work are concepts which occurred more than a
decade before crowdsourcing concept was even defined, yet they can serve as a valu-
able resource for research on cognitive aspects of labour division in crowdsourcing.
3.4 Map reduce
Map reduce was introduced by Google in 2004 in a response to a rising need for
processing large datasets. With growing internet usage and daily creation of large
amounts of data, Google needed a solution for managing large data clusters. (Dean &
Ghemawat, 2004) It is a programming model with two core functions. Map function reads
large amount of data records and extracts specific data from each record. It then stores
data in a key-value pairs which are suitable for further processing. Reduce function sorts,
aggregates and filters out data according to a specific need and writes down the results.
Figure 4. MapReduce word count process (www.cs.uml.edu:2014)
From architectural and functional viewpoint map-reduce model implements hier-
archical structure between working nodes. In Map phase, Master node processes the
input and divides it into small problems. These are then distributed to worker nodes, pro-
cessed, and the result of each node is passed back to a Master node. In Reduce phase,
Master Node receives processed results from Worker nodes and combines them accord-
ing to initial problem specification. All tasks from a single map series are processed in
32
parallel. Interestingly, map reduce combines both parallel and sequential principle. Typ-
ical map reduce cycle consists of several phases: input, splitting, mapping, shuffling and
reducing. These phases are conducted in sequential order whereas each phase consists
of multiple parallel jobs which are executed each on different working node. The logic
behind map-reduce lays in parallel independent processing of large datasets which are
structurally divided in order to balance workload and to provide time efficiency. Such
design is very adaptable to crowdsourcing, especially in providing requirements for com-
plex work.
33
CHAPTER 4. ANALYSIS AND DESIGN
4.1 Overview
Current research proposes particular approach for investigation of crowdsourcing
constructs used for web design and development. These constructs encompass such
task and workflow design which have to support complex work within constraints of
crowdsourcing. Main constraints within crowdsourcing are time limitation and independ-
ence of a single task. Each task has to provide sufficient information on the requirements
needed in order a worker can complete it successfully. A worker has to be able to com-
plete a single task instantly without the need to stick to other tasks in the project. On the
other hand, if there are tasks he finds interesting he can choose to fulfil them all. How-
ever, the choice of completing a single or multiple tasks within a project should not be
determined by interdependence between individual tasks but by worker’s personal motiv-
ation and interests. Time limitation is a requirement but not the only one because al-
though small tasks require short working time they also need to be independent. They
have to be self-sufficient without requiring additional knowledge of context within which
task is being accomplished. In other words, all requirements for successful accomplish-
ment of the task have to be present within a task definition and need to be concise and
understandable within the time frame of a single task. It is very hard to accomplish com-
plex work by implementing micro-task strategy for several reasons. Typical micro tasks in
crowdsourcing markets are limited to activities such as data entry, comment posts, site
ratings, image descriptions, etc. These tasks are atomic by themselves and have little or
no interdependence. The projects behind these tasks have some particular purpose, still
individuals working on these tasks do not have to understand what the creator of the
tasks wants to accomplish. Some individuals will see the logic behind the task and some
will not, yet the understanding of real goals and objectives behind the task are not man-
datory for successful micro task accomplishment. Complex work on the other hand,
needs these understandings because it requires a higher level of coordination and task
interdependence.
34
Complex work in traditional environ-ments
Micro Task Crowdsourcing
Tasks are interdependent Tasks are independent
Participants are tightly coupled Participants are loosely coupledNo strict time limitation for certain task Time limitation exists due to micro task
strategyContext of work is needed and implied Context of work is not needed
Table 1. Complex Work vs Micro Task Crowdsourcing
To address the discrepancy between complex work and crowdsourcing in context
of web design and development a workflow is proposed which combines three principles:
divide et impera iterative workflows, map-reduce and layered approach. The workflow is
tested in an initial proof of concept experiment which involves known web designers and
developers with at least two years of experience. During the second cycle, workflow is
changed and tested in the second experiment which involves unknown professionals from
freelancer.com. Observations and insights from the first experiment are used to refine the
workflow and to gather additional insights regarding workflow feasibility, control of output
quality and production process of individual workers on freelancer.com. In second logo
design production cycle, voting is conducted by creating voting tasks on microworkers.-
com. Tasks for voting on JavaScript snippets coded by freelancers in the second produc-
tion cycle were given to professionals who participated in the first cycle. Voting tasks on
JavaScript snippets in the second production cycle were not given to individuals on micro-
workers.com because there was no guarantee in the required competencies and skill
level needed to evaluate JavaScript artefacts.
4.2 Web design and development production process analysis
Website development is a structured process which involves different stages.
These stages determine general strategy for website development planning. For the pur-
pose of this research, there is the need to provide an overview of this process because it
represents a starting point in the design of crowd-friendly workflows. According to Lynch
& Horton (2009), there are six major stages in the process of website development:
35
# Website devel-opment stage
Typical tasks Deliverables
1 Site definition and planning
Analyse site requirements (site content, potential users and their interaction with content)
Define scope, goals, and object-ives
Decide on technology used (op-erating system, supported browsers, database, network connectivity capacity)
Define site features (simple info site, CMS, Ecommerce, com-munity site, etc.)
Plan for execution (budgets, staffing, timelines)
Site requirement specification documentation
Management and execution plan
2 Information architecture
Define site organisation and content
detailed design specification
content descrip-tion
design sketches and wireframes
3 Site Design Edit and proofread text
Design visual elements
Design and organise pages
Design database
Code logical components
text content ready
finished HTML page templates
finished visual elements (logos, backgrounds, buttons)
finished server side code
finished JavaS-cript code snip-pets
4 Site construc-tion
Assemble site components
Fill in the content
Test site functionality
Finished html for entire site
Link navigation structure in place
Visual elements in place
Textual content in place
5 Site marketing Plan site advertisement strategy Advertising ma-
36
Create site advertisements and promotional material
Create viral content
terial
paid online cam-paigns
Mail campaigns
Social network viral marketing campaigns
6 Tracking, eval-uation, and maintenance
Analyse server logs
Track website usage
Track page errors
Generate traffic reports
Maintain site content and links
Backup site files and database
Error reports
Usage reports
Up to date con-tent and links
Site file and database archives
Table 2. Production process overview
The scope of the research is focused on tasks within “site design stage” and “site
construction stage” which are represented by two observed cases within the research:
logo design and JavaScript snippet coding. However proposed workflow model could
potentially be used in any of the mentioned stages by adjusting initial task specification,
number of iterations, scope of iterations, target task population, etc. The reason for focus-
ing only on site design and site construction stage in this research is because these two
stages pronounce, materialise and actualize the concepts and plans conveyed from previ-
ous phases. They contain concrete workload which needs to be accomplished according
to specifications and plans delivered. The creation of specifications and requirement doc-
umentation usually involves customer input and correspondence and are for this reason
hard to formalise and execute through discrete steps within a crowdsourcing workflow.
These steps could also be formalised, but it would extend the scope of experiments to an
unmanageable proportion. Another reason is that if we want to observe the possibility of
crowdsourcing of the entire web development process, we should divide the process into
functional phases and observe each phase independently, partly because of controllable
and manageable scope, and consequentially because of needed detail level. Site design
and site construction phase can be divided into discrete tasks because deliverables have
37
to conform to certain structural rules. These rules come in form of technology and stand-
ards used, in our case, JavaScript and HTML5. In regard to logo design, the rules are not
so strict but logo design follows a certain predictable path, from concept idea to finished
logo, and can therefore be observed as a structural element of the entire design process.
Other visual elements could be designed by reusing a procedure used for logo design.
The logic behind proposed workflow follows top-down design strategy in which
high level specification is piped through workflow iterations. The specification is seen as a
blueprint which contains potential artefacts. Entire web site design specification can be
divided into small definitions which become initial artefacts. The specification is divided
according to preferred granularity of an artefact which is then translated into specific task.
Task granularity depends on the granularity of specification (first generation artefact).
Proposed workflow model is used to observe the transformation of information built into
the specification (first generation artefact) through a process where it becomes a deliver-
able, a real concrete information artefact (logo and JavaScript snippet). Crowdsourcing
workflow adds value to the first generation artefacts by giving them additional information
content which originates from each individual process of artefact transformation. Every
crowd worker transforms information given as a specification, adds value to it and re-
leases it to a next iteration in which additional information content is added by another
crowd worker. As site development is based on components and integration. Initial spe-
cification is divided into components which are translated to atomic tasks and iterated
through proposed workflow where each component is delivered. This research is focused
on production of components by utilising proposed workflow.
4.3 Proposed Workflow
The workflow design is based on analysis of web design and development pro-
cess which is adapted to conform to constraints induced by crowdsourcing. The problems
regarding granularity of web design/development tasks and feasibility of proposed crowd-
sourcing model will be approached by leveraging map-reduce model (Kittur et al. 2011)
38
combined with iterative approach commonly used in micro-task crowdsourcing. This way,
complex tasks can be divided into a simple tasks and the output of every series of simple
tasks can be combined using layered approach. Since every series of simple tasks pro-
duce some output, the output has to be reduced in order to eliminate low quality submis-
sions. The process of elimination is done by creating a new series of tasks for voting on
output created by previous series of tasks. For example, there is a need to design a logo
for the customer. A logo design process can be crowd sourced by splitting the tasks
needed in traditional production cycle into more suitable mini tasks. Let's take an over-
view of simplified proposed workflow for crowd sourced logo design for the customer.
39
Figure 6. Proposed Workflow Scheme
Figure 6. shows generalised workflow scheme used in both cases (logo design
and JavaScript snippet coding) and in both experimental cycles. It depicts only two itera-
41
tions which are enough to provide understanding of workflow logic in which single spe-
cification is delivered as a task to multiple workers. As it passes from one iteration to an-
other, specification is transformed by workers and gains information as it becomes more
concrete. Low information content high-level (abstract) specification gains information
content and loses abstraction. Quality control is achieved by voting in which only one
artefact with the highest grade goes to the next iteration.
4.4 Research Model
The research combines case study with the design research as to provide an
insight into crowdsourcing phenomenon within a context of web design and development.
Research aims are to offer a perspective in regard to a hypothesis that typical web design
and development tasks can successfully be divided into manageable mini-tasks for
crowdsourcing, and that task lifecycle and task granularity can be optimized using auto-
mation workflows. The research is designed to cover two separate cases. One case will
be used to observe the effectiveness of proposed workflow model in a process of logo
design. Another case is used to observe coding of a simple JavaScript snippet using sim-
ilar workflow model. This covers both, web design and web development production
cycles and represents basic web design and development tasks. Research participants in
the first cycle are four designers and four web developers with at least two years of exper-
ience in the relevant field. These participants are known to the researcher. They are in-
formed about the details of the research and are not offered any monetary incentive. In
the second cycle, the participants are professionals from freelancer.com who will be
offered a monetary incentive as to provide real life circumstances. Test data is represen-
ted by two short specifications for each cycle, one for logo design and another for JavaS-
cript snippet coding. These specifications should mimic typical task specifications for
crowdsourcing within a proposed workflow framework.
42
Figure 7. Research model
Case study was chosen as a preferred method in this research for several reasons:
to provide additional insights regarding feasibility of proposed workflow
to provide an in-depth examination of the process
to determine various factors which are influencing the transformation of artefacts
within the workflow
43
to observe how the participants react to limitations caused by mini-task environ-
ment such as time and monetary incentive
to determine factors influencing task granulation and atomicity of tasks
to observe how the participants perceive the work on other people's artefacts
to observe voting on results as a mean of quality control
to provide a basis for eventual further quantitative research
Although a case study is a qualitative method usually used for hypothesis development
and as a precursor to quantitative research, it can serve as a valuable scientific approach
to problems covered by this research and by proposed hypothesis. According to Flyvbjerg
(2006), case studies can be used as a valid method for hypothesis testing. He points out
that one of misunderstandings about the case study is that it is most valuable for devising
hypothesis because other methods should be used for hypothesis testing. This idea is a
consequence of another misunderstanding which assumes that generalisation cannot be
based on individual case. The problem of case study as a basis for generalisation is over-
ruled by a simple test called "falsification" and introduced by Karl Popper (1959). Falsific-
ation is represented by an idea in which one particular observation, if shown unfitting with
the proposition, becomes a challenge to general validity of the proposition. A famous ex-
ample used by Popper also known as "all swans are white" shows that if only one swan is
found to be black, general proposition that "all swans are white" loses significance and
requires revision and/or further investigation. According to Flyvbjerg (2006) "One can
often generalize on the basis of a single case, and the case study may be central to sci-
entific development via generalization as supplement or alternative to other methods"
(Flyvbjerg, 2006:228) Furthermore, "The case study is useful for both generating and
testing of hypotheses but is not limited to these research activities alone." (Flyvbjerg,
2006:229) The main advantage of case study according to Flyvberg (2006) is the ability to
"“close in” on real-life situations and test views directly in relation to phenomena as they
unfold in practice." (Flyvberg, 2006:235)
44
4.5 The Experiment
The experiment follows structured timeline and steps in which test data is trans-
formed. In the first cycle of the experiment brief specification for the task is given to the
participants. They are informed about the objectives and aims of the research and are
asked to provide some information about their professional background and experience.
Brief outline of the experiment is given to participants in order to make them aware of the
process and its requirements. In this cycle, the overall feasibility of the workflow is tested
as no time limitation is given, and participants are asked to express their price for the time
spent on each task. In the second cycle, time limitation as well as the monetary incentive
is given to participants according to observations from the first cycle. The two cycles of
the experiment are needed because of the iterative nature of design research in which
workflow model is tested in the first cycle, then evaluated using participants feedback as
well as by observing the transformation of the artefacts, all in order to refine the model
workflow and evaluate it in the second cycle. According to Hevner & Chatterjee (2010)
"The internal design cycle is the heart of any design science research project. This cycle
of research activities iterates more rapidly between the construction of an artefact, its
evaluation, and subsequent feedback to refine the design further." (Henver & Chaterjee,
2010:18). In both cycles, participants are asked to answer few open questions about their
experience after every task, as well as few measurement questions like difficulty of the
task, required time for finishing the task, participants’ monetary valuation of the task, etc.
After all, there are some planned differences between the two production cycles. These
differences were planned before the experiment was conducted in order to observe the
impacts on participant's ability to complete the task under different conditions. Other vari-
ations will be introduced into second production cycle after the first cycle is completed
and will be based on the observation of the first production cycle.
First production cycle Second production cycle
45
Participants are professionals known to the researcher
Participants are professionals on freelan-cer.com
Time for the task is not limited Time for the task is limited according to the results from the first production cycle
There is no monetary incentive for the task (participants express perceived monetary value of their effort)
Tasks are paid according to experiment results from the first production cycle
Table 3. Planned differences between two production cycles
The experiment begins with initial specification for logo and JavaScript case which
is followed throughout the production cycle by observing its transformation. These spe-
cifications serve as test data into which each participant has to embed his perspective,
knowledge, experience and effort in the production process managed by proposed work-
flow. The specification for first production cycle workflow used in each case is presented
in Figure 7.
4.6 Test Data and Questionnaires
The task specification and questionnaire for participants following the steps of the first
production cycle in logo design case:
Task 1 - initial task
The task is to write a description of initial idea for a company logo design:
The purpose behind this task is a research in crowdsourcing work ergonomics within a micro task environments.
Only one logo concept idea is to be delivered You will also be asked to answer few simple questions in order to provide additional data for the
research. The questions are completely anonymous and will be used solely for the purpose of current academic research.
Please answer these questions before you start working on a task:
1. How many years of experience do you have in your profession?2. Are you familiar with crowdsourcing?3. What is your specialty?4. What grade would you give yourself as a professional? (1-5 scale)
Main Task:
Write down a concept, an idea for a company logo in few sentences. The company specializes in production and distribution of chocolate with messages for certain occa-
sions on their package. For example: Thanksgiving chocolate, Chocolate for the doctor, Chocolate for
46
the Boss, Chocolate for new family member, Love chocolate, etc. Target population is North American continent
After you finish the task please answer these simple questions:
1. How much time did you spend for the main task?2. How much money would you ask for the time spent on this task?3. Add your opinion regarding this task. (anything you think should be mentioned)
Thank you
Table 4. Task 1
Gathered results from each participant are put to voting in order to provide quality control
by eliminating all except one artefact which is forwarded to the next workflow step.
Task 2 - first voting task
Give a unique grade in a scale from 1 to 5 for every proposed solution:
Initial task was:
Write down a concept, an idea for a company logo in few sentences. The company specializes in production and distribution of chocolate with messages for certain occa-
sions on their package. For example: Thanksgiving chocolate, Chocolate for the doctor, Chocolate for the Boss, Chocolate for new family member, Love chocolate, etc.
Target population is North American continent
Proposed solutions are (Task 1 outputs):
1. Solution 12. Solution 23. Solution 3
Thank you
Table 5. Task 2
Voted solution comes in as a specification for the next production step. This time the spe-
cification for the first step and voting results were given to participants in order to provide
understanding of the task continuity. Since all four participants vote, every participant
votes only for three presented results from other participants. Such voting should address
probable bias which could occur if participants are given their own artefacts for voting.
Task 3 - production taskInitial task was:
Write down a concept, an idea for a company logo in few sentences. The company specializes in production and distribution of chocolate with messages for certain occa-
sions on their package. For example: Thanksgiving chocolate, Chocolate for the doctor, Chocolate for the Boss, Chocolate for the new family member, Love chocolate, etc.
Target population is North American continent
47
You sent your solutions and have voted for this solution:
(Task 2 output)
Main Task:
The task is to create initial logo draft (sketch) based on proposed specification.
After you finish the task please answer these simple questions:
1. How much time did you spend for the main task?2. How much money would you ask for the time spent on this task?3. Which tool did you use for accomplishing this task?4. Which application functionalities you find necessary for this type of task?
Thank you
Table 6. Task 3
The output of step 3 should be initial logo draft based upon voted specification from step
2.
Task 4 - second voting task
Initial task was:
Write down a concept, an idea for a company logo in few sentences. The company specializes in production and distribution of chocolate with messages for certain occa-
sions on their package. For example: Thanksgiving chocolate, Chocolate for the doctor, Chocolate for the Boss, Chocolate for new family member, Love chocolate, etc.
Target population is North American continent
Chosen solution is:
(Task 2 output)
Main task was:
Create initial logo draft (sketch) based on proposed specification.
Proposed solutions are (Task 3 outputs):
1. Solution 12. Solution 23. Solution 3
Give a unique grade in a scale from 1 to 5 for every proposed solution:
Thank you
Table 7. Task 4
Task specifications for logo design case in the first production cycle is different from
JavaScript development case in the way in which specification for every following task is
a cumulation of all previous specifications in order to provide substantial metadata for
every successing task. Both metadata and artefacts are gaining information content after
48
every production task. Such methodology is needed in order to provide enough informa-
tion to participants to adhere to initial logo specification. Without it, participants could lose
orientation in regard to initial specification goals thus losing the context and direction for
their work.
Task 5 - production task
Initial task was:
Write down a concept, an idea for a company logo in few sentences. The company specializes in production and distribution of chocolate with messages for certain occa-
sions on their package. For example: Thanksgiving chocolate, Chocolate for the doctor, Chocolate for the Boss, Chocolate for new family member, Love chocolate, etc.
Target population is North American continent
Chosen solution is:
(Task 2 output)
Based on this solution logo drafts were created.
You voted for:
(Task 4 output)
Main task:
There is initial draft logo provided (Task 4 output).
Your task is to refine the logo by adding or changing some design elements.
After you finish the task please answer these simple questions:
1. How much time did you spend for the main task?2. How much money would you ask for the time spent on this task?
Thank you
Table 8. Task 5
Task 6 - third voting task
Initial task was:
Write down a concept, an idea for a company logo in few sentences. The company specializes in production and distribution of chocolate with messages for certain occa-
sions on their package. For example: Thanksgiving chocolate, Chocolate for the doctor, Chocolate for the Boss, Chocolate for new family member, Love chocolate, etc.
Target population is North American continent
Chosen solution is:
(Task 2 output)
Based on this solution logo drafts were created.
49
You voted for:
(Task 4 output)
Main task was:
There is initial draft logo provided (Task 4 output) Your task is to refine the logo by adding or changing some design elements.
Proposed solutions are (Task 5 outputs):
1. Solution 12. Solution 23. Solution 3
Give a unique grade in a scale from 1 to 5 for every proposed solution:
Thank you
Table 9. Task 6
In the first cycle of JavaScript snippet case, the design logic is identical to logo
design case. Still, there were few differences related to different types of tasks represen-
ted in test data specification under the "main task" section. Additionally there was no need
to cumulate metadata in form of previous specifications as in logo design case because
initial specification is contained in the artefact itself and can be exactly reproduced just by
reading and testing the code snippet. Following is the first task and voting task in the first
cycle of JavaScript snippet case:
Task 1 - initial task
The task is to code initial JavaScript snippet according to specification:
The purpose behind this task is a research in crowdsourcing work ergonomics within micro task envir-onments.
Only one JavaScript snippet is to be delivered You will also be asked to answer few simple questions in order to provide additional data for the
research. The questions are completely anonymous and will be used solely for the purpose of current academic research.
Please answer these questions before you start working on a task:
1. How many years of experience do you have in your profession?2. Are you familiar with crowdsourcing?3. What is your specialty?4. What grade would you give yourself as a professional? (1-5 scale)
Main Task:
Create a popup window 200*200px at the centre of the screen. The window opens on page load after 500 milliseconds. Place a 50*50px picture in the upper right corner of the window.
50
Place a textbox of 20px width in upper left corner. Place a close button in the lower centre
After you finish the task please answer these simple questions:
1. How much time did you spend for the main task?2. How much money would you ask for the time spent on this task?3. Add your opinion regarding this task. (anything you think should be mentioned)
Thank you
Table 10. Task 1
Task 2 - first voting task
Initial task was:
Create a popup window 200*200px at the centre of the screen. The window opens on page load after 500 milliseconds. Place a 50*50px picture in the upper right corner of the window. Place a textbox of 20px width in upper left corner. Place a close button in the lower centre.
Proposed solutions are (Step1 outputs):
1. Link to Solution 12. Link to Solution 23. Link to Solution 3
Give a unique grade in a scale from 1 to 5 for every proposed solution:
Thank you
Table 11. Task 2
51
CHAPTER 5. METHODS AND REALIZATION
The experiment covers two separate cases - logo design and JavaScript snippet
coding. Each of the cases consists of two phases - cycles, as to facilitate the benefits of
applying insights from the first to the second production cycle. Insights were provided by
observation of artefacts within a workflow defined transforming process taking place in a
working environment both unknown and new to the participants. Since cases are inde-
pendent from one another, it was possible to minimize expected time for the first produc-
tion cycle by executing it for both cases simultaneously. On the basis of task difficulty, it
was expected that the first production cycle for both cases would be completed within a
similar timeframe. First production cycle for both cases started at the same time, and
each followed its own propagation through iterative steps. Participants in the first cycle
were individuals known to the researcher either through professional or private circles.
They were picked according to two criteria:
They needed to have at least 2 years of related professional experience
They expressed interest to participate in the research
There was no monetary incentive for participants in the first production cycle, but they
were informed about typical limitations regarding the time and the scope for the tasks
involved. These limitations are corresponding to logic and nature of crowdsourcing. In
ideal circumstances, participants would be professionals in the related field with the ex-
perience in micro-task crowdsourcing. Although such participants undoubtedly exist, they
were not within the reach of the researcher. Additionally, participants in the first cycle had
to be known to the researcher because of assurance of their skill set and professional
experience. These are important factors as potential transformation of artefacts should
not be limited by a lack of professional experience or by the inability to provide articulate
output even under normal circumstances.
52
5.1 Logo Design Case
The entire communication with participants in the first production cycle was con-
ducted via e-mail. Email with initial task specification was sent to every participant. After
the task had been completed, each participant sent back their results. Task results were
combined and sent back to participants for voting. Participants sent their votes back,
votes are calculated, and an email with highest graded artefact together with specification
for the next task is sent back to participants. Since participants had to vote on the quality
of artefacts by using unique grades in range from 1 to 5 on every series of artefacts, the
winning artefact was selected by comparing the sum of grades from voters on every par-
ticular artefact.
The second production cycle involved participants from freelancer.com. Tasks
were created as mini projects with a single milestone. Every production/refinement task
was assigned to four freelancers which had no obligation to continue participation in suc-
ceeding tasks. For each task, first four freelancers who made a bid on the task were ap-
pointed. According to the results from the first production cycle, task duration was limited
to 30 minutes and the compensation for each task was determined to be 10$. The spe-
cification for the initial task was identical to a specification for the third task in the first
production cycle, meaning that in second production cycle there were no tasks asking for
conceptual specification of the artefact. Such structural change was needed in order to
put more focus on the refinement tasks which proved to be more challenging than all
other tasks in the first cycle. The change was implemented by redesigning the workflow
structure in which initial production task was followed by two refinement tasks. After the
completion of each task, results were gathered and sent for voting on microvorkers.com.
For the purpose of voting, each voting task was implemented as a short survey on sur-
veymonkey.com containing the choice of four artefacts (logo designs). The link for a sur-
vey was posted as a survey task in microworkers.com. Since microvorkers.com defines a
minimum of 30 participants for each task, each voting had to conform to this limitation.
The example of the voting survey can be found in the appendix.
1st production cycle 2nd production cycleParticipants Four professionals known to
the researcherFour freelancers on freelancer.-com
53
Task time limita-tion
No time limitation Task limited to 30 minutes
Incentive No monetary incentive 10$ per taskStructure of the tasks
specification
production
refinement
production
refinement
refinement
Voting Voters are participants Voters are crowd workers from microworker.com
Questionnaire 1. How much time did you spend for the main task?
2. How much money would you ask for the time spent on this task?
3. Which tool did you use for accomplishing this task?
4. Which application functionalities you find necessary for this type of task?
5. Add your opinion re-garding this task. (anything you think should be mentioned)
1. How much time did you spend for logo draft cre-ation?
2. Is given specification for logo draft good enough to provide you with all needed information for the task? Your opinion.
3. What is your opinion on task time limitation?
4. Do you rather prefer short tasks or more elab-orate ones? Why?
5. Did you complete the task at once or with inter-ruptions?
6. Describe your creative process in 2 sentences
7. Were you motivated for the task? Why?
8. Task complexity (1-5):
9. If you would like to add your opinion, a problem regarding the task or anything that you find important please provide it here:
Table 12. Actual design cycle differences (logo design case)
Table 12. represents actual differences in design implementation between two
production cycles. Participants, Task Time Limitation & Incentive differences were
planned ahead. Structure of the tasks and questionnaire were changed according to
gathered insights from the first cycle. The difference in voting emerged out of the need to
test artefact validation process in the wild.
54
5.2 JavaScript Snippet Coding Case
The implementation of the first production cycle in JavaScript snippet case fol-
lowed logic similar to logo design case. The participants were four web developers with at
least two years of experience in creating websites and web based solutions. They were
known to the researcher and were offered no monetary incentive. However, based on
experience from the logo design case and following the design research cycle it became
apparent that JavaScript case was perceived as much more convenient to participants
and was therefore significantly easier to implement. Additionally, data gathered from the
first two tasks in JavaScript case together with experience from logo design case were
valuable enough to support early changes to a planned workflow before the end of the
first cycle. With this in mind, it was possible to continue third task of the first cycle on
freelancer.com
1st production cycle 2nd production cycleParticipants Four professionals known to the
researcherFour freelancers on freelancer.com
Task time limitation No time limitation Task limited to 30 minutesIncentive No monetary incentive 10$ per taskStructure of the tasks production
refinement
refinement
refinement
refinement
refinement
Voting Voters are participants Voters are participants from the first cycleQuestionnaire 1. How much time did you
spend for the main task?
2. How much money would you ask for the time spent on this task?
3. Add your opinion regarding this task. (anything you think should be mentioned)
1. How much time did you spend for logo draft creation?
2. Is given specification for logo draft good enough to provide you with all needed information for the task? Your opinion.
3. What is your opinion on task time limitation?
4. Do you rather prefer short tasks or more elaborate ones? Why?
5. Did you complete the task at once or with interruptions?
6. Describe your creative process in 2 sentences
7. Were you motivated for the task? Why?
8. Task complexity (1-5):
9. If you would like to add your opinion, a problem regarding the task or anything you find important please provide it
55
here:
Table 13. Actual design cycle differences (JavaScript snippet case)
5.3 Summary Gathered data came in the form of artefacts and their transformation during each
series of tasks as well as in the form of participant's answers to a questionnaire after each
complete task. Since workflow was implemented in a proof of concept setup and all work-
flow steps were executed without using any programmed workflow engine, it was possible
to change the workflow during design research cycles and to observe multiple aspects
which had influence on the usability of workflow. Data revealed by participant's answers
to questionnaire are interpreted within the framework of qualitative research having in
mind original purpose of the research which is to evaluate the proposition that typical web
design and development tasks can successfully be divided into manageable mini-tasks
for crowdsourcing. In the chapter "Results and Evaluation" data will be analysed using
direct interpretation and by establishing relational patterns between multiple task execu-
tion occurrences within two cases (logo design and JavaScript snippet coding).
56
CHAPTER 6. RESULTS AND EVALUATION
During the case study experiment, a large amount of data has been gathered. To
be able to provide meaningful description and interpretation of the results, a tabular case
study database is created and can be found under the Appendices section. It consists of
all artefacts, questions, and answers from participants. The database also provides an
overview of the tasks and the transformation of artefacts created during the tasks by each
participant in exact order as it happened throughout the experiment on each case. At
least two factors had a negative impact on the quality of data gathered during second
cycles for both cases. These are:
Limitations arising out of using freelancer.com platform for research - paid freel-
ancers tend to bias their questionnaire answers towards perceived researcher's
needs. They are sometimes overly complaisant in their aim to leave good impres-
sion.
Some participants were less informative than the others due to a language bar-
rier.
Overall research results contribute to a positive evaluation of proposed workflow model
and indicate that it is possible to adapt typical web design and development tasks to a
crowdsourcing model. However there are certain limitations to the research which will be
covered in the next chapter. To provide an overview on research results some statistics
regarding the experiment are presented:
Logo artefacts created 20
JavaScript snippets created 20
Number of participants involved in production tasks 16
Number of voters via microvorker.com 102
Number of individual tasks (production + voting) 171
Actual research budget (freelancer.com, surveymonkey.net, micro-
workers.com)
398$
57
Table 14. Overall research stats
The major difference between logo and JavaScript artefacts regarding the quality
evaluation lies in the possibility of establishing minimum requirements criteria. Such cri -
teria can easily be established for JavaScript snippets because it is represented by spe-
cified functionality which was tested on every delivered artefact. Discrete functional ele-
ments in JavaScript artefacts were easy to evaluate and even track throughout every
new generation of artefacts. In logo design case however, functional elements are not so
discrete, and evaluation could be conducted only subjectively by voting and eliminating
lower quality artefacts. The problem in such setup is that in case of relatively weak logos
given for voting, one logo would always win, whereas in case when four JavaScript arte-
facts would be given for voting, and if they all were supposedly below minimum function-
ality requirements, they would all be disqualified. With this in mind, throughout the entire
experiment only one JavaScript artefact was disqualified for not providing specified func-
tionality.
During the process, some new questions were introduced as to give additional
insights into participants' perspective of the workflow. One of these questions made in-
quiry into emotional state of the participants at the onset of task by asking "How do you
feel?" Possible answers were: Very poor, Poor, Average, Good, and Excellent. Higher
emotional state can be linked to confidence level and self-value which can lead to
greater working performance and increased ability of adaptation to working environment
(Febrilia, Warokka, & Abdullah, 2011). However, the analysis of results has shown that
other questions which implicitly gave information about emotional state of participants
have proven to be more accurate. For example in several statements participant 4 stated
her perceived professional level which did not correspond to her perceived emotional
state at time of task execution. At the onset of the first task in second JavaScript produc-
tion cycle, she stated her professional level to be 4.5 out of 5. Later at the beginning of
fifth task of the same cycle, she raised perceived professional level to 5 of 5 which she
later demoted to 4 out of 5 at the onset of Task 7 (See Appendices). On the other hand
she stated to feel excellent every time. This was an indicator that emotional influence
surely exists, and that it may have effects on other measured factors but it cannot be
58
measured only by using explicit inquiry. Additionally, if emotional state could be facilit -
ated or induced via task ergonomics by adapting task specification content to particular
participants' needs, it could have positive impact on task output quality. Another question
introduced at the end of second JavaScript cycle investigated the possibility of finishing
tasks within a timeframe of 15 minutes and corresponding circumstances that would be
beneficial in such setup by asking "Can this task be accomplished in 15 minutes? Under
which circumstances?". This factor was investigated during execution of comparatively
more difficult tasks for which participants needed more time than specified 30 minutes.
The aim was to gather participants' opinion and valuation regarding requirements for
such prospect and to determine whether additional details in the task specification could
be refined in order to support time-efficient task execution. Only one participant in logo
design case answered negatively to the question “Can this task be accomplished in less
than 15 minutes?” asked during last logo refinement task. Other participants think that it
is possible. Only one of them stated that it would be possible if existing logo draft con -
tained all needed visual element layers of existing logo draft and if he had the authority
to change all of them. The answer points to other problem encountered during logo
design cycle which is the problem of refinement definition. Contrary to JavaScript case
refinements, logo design refinement cannot be discretely defined because it depends on
subjectively perceived design elements for which it is very hard to create formal categor-
isation. Such categorisation is easily applicable to program code creation because it
presumes strong relation between specification elements and functional elements within
the actual code.
59
6.1 Logo Design Case
Figure 8. Final Artefact - First Cycle Logo Design Case
Figure 8 represents the final result of the first logo design production cycle. It
contains several versions of a logo adapted to different tastes of chocolate. The final res-
ult is a compound of series of tasks defined by a workflow model. It started as a require-
ment specification which was transformed into textual logo concept specification during
the first task. The concept specification was transformed into first logo draft during the
third task, and it was further refined during the fifth task. At this stage, it became evident
that task specification can be used for guidance and direction of participants in regard to
needed outcome. For innovation, tasks need to be more open and abstract and with less
information content. If there is a need for a certain quality or feature the task need to be
more focused and with higher information content.
60
Figure 9. Final Artefact - Second Cycle Logo Design Case
Figure 9 represents the final result of the second logo design production cycle. It was
created as a combined product of multiple consecutive individual tasks each having a
time limitation of 30 minutes thus showing that it is possible to create crowdsourcing tasks
which coordinate many individual cognitive efforts while producing non discrete but mean-
ingful outcome.
61
JavaScript case was much more deterministic in the task specification as well as
in results evaluation. Functional elements could be more easily mapped to workflow tasks
than in logo design case. It was also possible to exactly follow artefact information content
growth. Figure 10 shows enclosed coloured areas representing the output of different
tasks. Areas of code without any colour represent the output of the first production cycle
(Participant 2). Blue area contains the code produced during the first task of the second
production cycle (Participant 4, Task 1). The code produced as output of the third task of
the second production cycle is contained within the red area (Participant 1, Task 3). As
the artefact propagates through refinement cycles and gets additional information content,
every new refinement task becomes more complex than the previous one not because of
the complexity of the refinement specification but because it is more difficult to interface
refinement elements into existing code without breaking existing features. Higher number
of iterations also induces greater information content within metadata in form of existing
code. In terms of usability of the workflow and task specification, one freelancer ex-
pressed his satisfaction with working on tasks and regarding positive educative effects of
the tasks. He stated that he learned a lot about programming concepts and that he is
looking forward to a new series of tasks because they are interesting and instructive.
63
CHAPTER 7. CONCLUSIONS
7.1 Lessons Learned
The pursuit of this project was very awarding, inspirational and insightful because crowd-
sourcing is a young field having a potential for significant future innovation. Researchers
are already tapping into this field both because of its multidisciplinarity as well as because
of its broad application areas. One of these areas is general task ergonomics and its ties
to satisfaction of work. There is also a core aspect of crowdsourcing which supposes
innovation through distributed collaboration which was also one of the aspects investig-
ated in this research. In a very limited environment, it was proven that production process
can be divided into atomic tasks whose creation is based on logic of continual refinement
of low complexity initial artefacts. Such refinement also enables integration of multiple
features into one existing artefact which was clearly observable in JavaScript coding
case. Proposed concept is different from existing crowdsourcing concept for complex
work used by Kittur et al. (2011) which also uses map reduce for structural division of
project scope. While existing model maps structure in parallel (horizontal), proposed
model can map structure by mapping production process vertically (by using consecutive
tasks). There is no doubt that structural division of tasks is needed in high level definition
of big projects. However, crowdsourcing can be more efficient for complex tasks if they
are divided into intermediary task specifications which would then further be divided into
atomic tasks such as used in proposed model. In the example of this research, it became
clear that the main benefit of dividing intermediary tasks into atomic tasks similar to those
used in research experiment, relates to inter-task coordination where every atomic task
produces atomic functional element. When tasks are divided into refinement layers, co-
ordination and integration into one existing artefact becomes successive, meaning that
there is no need to coordinate parallel executions at this level. Later as every specific
artefact grows in complexity, it can be integrated into greater context using the same prin-
ciple. This led to understanding that atomic tasks within a complex work environment can
be defined as tasks which can be accomplished within a single attention cycle. It also
64
became apparent that time limitation within this research was only a starting point which
directed focus to individual cognitive cycles. Time limitation was not the goal, but a way of
investigating individual cognitive cycle boundaries which are relevant to applicability of
proposed workflow model. The aspect of parallelization within a proposed model was
used solely for the purpose of innovation where multiple participants (workers) embed
their individual perspective by working in parallel on elements defined by the same spe-
cification. In high-to-low level abstraction model, participants within the same task series
are always working in parallel. In such case, coordination of tasks and integration of arte-
fact functional elements is vertical as opposed to horizontal in the case of integration of
artefacts of higher abstraction. Figure 11 represents production cycle which consists of
four production iterations. Red line represents transformation of artefacts. In every trans-
formation, artefacts gather additional information content while integrating acquired in-
formation vertically. Due to elimination of low-quality artefacts, the result of such process
is one single artefact. Every horizontal integration of finished artefacts of the same level of
abstraction would exist as new vertical integration of artefacts within a new production
cycle. Such integration was out of scope of this research.
Figure 11. Growing information content of artefacts
65
Proposed workflow model parallelises and coordinates individual cognitive cycles thus
allowing higher added value in artefact production because it promotes best out of many
possible solutions. These solutions resulted by approaching the problem from many indi-
vidual perspectives.
7.2 Academic Application and Limitations
At some point during the research, it became evident that specific task ergonomics tied to
crowdsourcing contexts can be applied to general work ergonomics. As proposed re-
search model combines design research with a case study method, it allows researchers
to conduct similar research on task ergonomics within traditional working environments. It
also allows usage of precise research instruments (surveys and questionnaires) in a relat-
ively cheap setup. Additional application of the research is for educational purposes. By
participating in a workflow defined production process individuals can learn about the
relation between functional elements, their level of abstraction and their representation as
implemented units of content within functional artefacts (code snippets and visual ele-
ments). Such concept can be more easily implemented in code programming but can also
be used in other areas of interest (design, technical and business innovation, creation of
various content).
Limitations
The usability of proposed workflow model has been tested only on atomic tasks defined
for purposes of development of JavaScript code snippets and the design of logos based
on simple requirements. These represent only two typical artefacts within web design and
development practice which operates by utilising many collections of possible artefacts.
Further limitation arises out of the implementation of the research model which lacked
interpersonal communication during the phases of data gathering. This limitation is in-
duced by using internet based communication during experiment. One additional limita-
tion of the research is insufficient examination of economic aspects and its impacts on
66
task output quality, however it is assumed that multiple perspectives in task solving pro-
cess can be more valuable than single extensive perspective.
7.3 Business Application and Limitations
According to the results of logo design case, it seems that combined professional
and regular opinions contribute to artefact usability. This is very useful insight especially
for companies which target their audience. Best combination of both worlds can be
achieved if professional skills and experience are combined with the taste of target audi-
ence especially when every step of the process is overseen by members of target popula-
tion. In addition, the need for defining a new model of communication between various
services supporting crowdsourcing resulted in a definition proposal for the “open call
framework”, a theoretical model for integration of different collaborative and crowd-
sourcing platforms. It should be used to connect different services like microworker.com
and freelancer.com with a workflow management services thus allowing information ex-
change between them in order to optimize their control of crowdsourcing process as well
as to gather additional insights through iterative research. Open call framework is a theor-
etical model used for information and resource exchange. A typical communication packet
should consist of management and control part, a research part, and payload in form of
actual task description. It should be able to connect to existing services’ API and to use
their databases with the aim of mutual benefits in design of new service features in devel-
opment of crowdsourcing principle.
7.4 Recommendations / Prospects for Future Research / Work
Future research should point towards further investigation of following areas:
The prospect of the creation of tasks for integration of finished elementary arte-
facts (such artefacts were created in this research). These tasks should be a
product of decomposition of the work needed for building an entire functional
67
website. Current research investigated only size and scope of atomic tasks which
produce elementary (atomic) functional elements.
Investigation of factors which influence and promote positive emotional response
within a crowdsourcing platform user interface
How functional artefact elements can be mapped to cognitive cycles.
In what areas can task ergonomics based on cognitive cycles influence and
change the logic behind web design and development project structure definition
Investigate the usability limit of proposed model in relation to refinement-induced
rising complexity of produced code
Investigate other areas of complex work which could implement proposed model
elements:
Creation of complex specifications
The creation of Law
Product design
Design of technical solutions
Direct governance and participatory democracy
Quantitative research which would be focused on the examination of individual
factors within proposed model setup:
Cultural, gender, age and education oriented differences on the level of
adaptation of proposed model
Relation of differences in the task specification formulation to the level of
participant’s motivational resistance during task execution
68
REFERENCES CITED
Agafonovas, A. & Alonderiene, R. (2013) Value Creation in Innovations Crowdsourcing. Example of Creative Agencies . Organisations and Markets in Emerging Economies, Vol. 4, No. 1(7), 72-103.
Asmolov, G. (2011) Crowdsourcing as an Activity System: Online Platforms as Mediating Artifacts. In Proceedings of the Sintelnet WG5 Workshop on Crowd Intelligence: Foundations, Methods, and Practices. Barcelona, Catalonia, 8-9 January, 2014. on-line: CEUR-WS.org. [ONLINE] Available at: http://ceur-ws.org/Vol-1148/paper3.pdf [Accessed 17 May 14]
Brabham, D.C. (2009) Crowdsourcing the public participation process for planning pro-jects, Planning Theory, Vol. 8 No. 3, pp. 242-62
Dean, J. & Ghemawat, S. (2004) MapReduce: Simplified Data Processing on Large Clusters. In 6th Symposium on Operating Systems Design & Implementation . San Francisco, CA, December 5. San Francisco: OSDI. 1-13.
Febrilia, I., Warokka, A. & Abdullah, H. (2011) University Students’ Emotional State and Academic Performance: New Insights of Managing Complex Cognitive . Journal of e-Learning and Higher Education, Vol. 2011, Article ID 879553, 15p
Flyvbjerg, B. (2006) Five Misunderstandings About Case-Study Research. Qualitative Inquiry, vol. 12 no. 2, 219-245
Hevner, A. & Chatterjee, S., 2010. Design Research in Information Systems. , 22, pp.9–23. Available at: http://link.springer.com/10.1007/978-1-4419-5653-8 [Accessed July 9, 2014].
Hirth, M.,Hossfeld, T. & Tran-Gia, P. (2011) Modeling of crowdsourcing platforms and granularity of work organization in Future Internet. In Proceedings of the 2011 23rd International Teletraffic Congress. San Francisco, USA, 6-8 September. San Fran-cisco: IEEE. 142-149.
Hirth, M., Hossfeld, T. & Tran-Gia, P. (2012) Analyzing a Commercial Microtask Crowd-sourcing Platform from the Involved Actors’ Viewpoints. informatik.uni-wuerzburg.de. Available at: http://www3.informatik.uni-wuerzburg.de/events/summerschool2012/pro-ceedings/Hirth.pdf [Accessed August 4, 2014].
Hobden, H. & Hobden, M. (1989) John Harrison and the problem of longitude. … , Eng-land: Cosmic Elk, 1989. 2nd ed. Available at: http://scholar.google.com/scholar?hl=en&btnG=Search&q=intitle:No+Title#0 [Accessed August 16, 2014].
Hoseini, M et al. (2014) The Four Pillars of Crowdsourcing: a Reference Model. In IEEE 8th International Conference on Research Challenges in Information Science . Mar-rakesh, Morocco, May 2014. Morocco: IEEE. 12.
Joosten, S. & Brinkkemper, S.(1995) Fundamental Concepts for Workflow Automation in Practice . In ICIS'95. Amsterdam, December. Amsterdam: ICIS. 1-12.
Kittur, A., Nickerson, J. & Bernstein, M. (2013) The future of crowd work. 2013 ACM 978-1-4503-1331-5/13/02, p.1301. Available at: http://dl.acm.org/citation.cfm?doid=2441776.2441923 [Accessed August 4, 2014].
Kittur, A. et al. (2011) CrowdForge: Crowdsourcing Complex Work. In: UIST, 2011, Palm Springs. pp. n.a. [ONLINE] Available at: http://smus.com/crowdforge/crowdforge-uist-11.pdf [Accessed 14 May 14]
Kulkarni, A., Can, M. & Hartmann, B. (2011) Turkomatic: Automatic, Recursive Task and Workflow Design for Mechanical Turk. Papers from the 2011 AAAI Workshop, 11/11, 91-96. [ONLINE] Available at: http://www.aaai.org/ocs/index.php/WS/AAAIW11/pa-per/viewFile/3884/4252 [Accessed 17 May 14]
69
Lakhani, K., Jeppesen, L., Lohse, P., & Panetta, J. (2007). The value of openness in sci-entific problem solving. Working paper, accessed September. 14, 2014: hbswk.hb-s.edu/item/5612.html
Le Bon, G. (1895), The Crowd: A Study of the Popular Mind, Ernest Benn, London (trans-lated 1947)
Lebraty, J.F. & Lobre-Lebraty, K. (2013) Crowdsourcing, One Step Beyond. 1st ed. Lon-don: John Wiley & Sons, Inc.
Lopez, M., Vukovic, M. & Laredo, J. (2010) PeopleCloud service for enterprise crowd-sourcing.Proceedings - 2010 IEEE 7th International Conference on Services Comput-ing, SCC 2010, 538-545. [ONLINE] Available at: http://libguides.liv.ac.uk.ez-proxy.liv.ac.uk/onlineprogrammes [Accessed 15 May 14]
Lynch, P.J. & Horton, S. (2011) The Site Development Process. [ONLINE] Available at: http://webstyleguide.com/wsg3/1-process/7-development-process.html. [Accessed 12 October 14].
Marjanovic, O. & Roztocki, H. (2013) The Current Research Landscape of Crowd-sourcing: Implications for Emerging Economies. In Proceedings of the Second Inter-national Conference on ICT Management for Global Competitiveness and Economic Growth in Emerging Economies. Wroclaw, Poland, September 16-17. Wroclaw: AIS Special Interest Group on ICT and Global Development . 289-311.
McClelland, J.S. (1989), The Crowd and the Mob: From Plato to Conetti, Unwin Hyman, Boston, MA
Perry, M. (1998) Process, representation and taskworld. Distributed cognition and the organisation of information.. In ISIC: Exploring the contexts of information behaviour. Scheffield, England, 17 September. Sheffield: ISIC. 1-11.
Popper, K. (1959). The logic of scientific discovery. New York: Basic Books
Safire W.(2009) Fat Tail. [ONLINE] Available at: http://www.nytimes.com/2009/02/08/magazine/08wwln-safire-t.html?_r=4&ref=magazine&. [Accessed 02 July 14].
Saxton, G., Oh, O. & Kishore, R. (2013) Rules of crowdsourcing: Models, issues, and systems of control. Information Systems Management. Available at: http://www.tand-fonline.com/doi/abs/10.1080/10580530.2013.739883 [Accessed August 18, 2014].
Schulte, D. (2012) Towards a Human Task Management Reference Model. In Proceed-ings of the 4th Central-European Workshop on Services and their Composition. Bam-berg, Germany, 23-24 February. online: ceur-ws.org 104-111.
Seuken, S. & Zilberstein, S.(2008) Formal models and algorithms for decentralized de-cision making under uncertainty . Autonomous Agents and Multi-Agent Systems, vol. 17 issue 2 , 190-250.
Simperl, E., Norton, B. & Vrandecic, D. (2011) Crowdsourcing tasks in Linked Data man-agement. In 10th International Semantic Web Conference 2011. Bonn, Germany, October 23, 2011. online: CEUR-WS.org. [ONLINE] Available at: http://ceur-ws.org/Vol-782/SimperlEtAl_COLD2011.pdf [Accessed 17 May 14]
Simula, H. & Vuori, M., (2012) Benefits and Barriers of Crowdsourcing in B2B Firms: Gen-erating Ideas With Internal and External Crowds. International Journal of Innovation Management, 16(06), p.1240011. Available at: http://www.worldscientific.com/doi/abs/10.1142/S1363919612400117 [Accessed July 18, 2014].
Sydney Opera House (2014) Sydney Opera House History 1954 - 1958 . [ONLINE] Available at:http://www.sydneyoperahouse.com/about/house_history/1954_1958.aspx. [Accessed 17 September 2014].
Toyota Global Site | History. 2014. Toyota Global Site | History. [ONLINE] Available at: http://www.toyota-global.com/showroom/emblem/history/. [Accessed 17 September 2014].
70
Van der Aalst, W. & van Hee, K. (2000) Workflow Management: Models, methods and systems. 1st ed. Eidnhoven: University of Technology.
Vukovic, M. (2009). Crowdsourcing for Enterprises . In 2009 IEEE Congress on Services. L.A. Califronia, 610 July 2009. Los Angeles: IEEE Computer Society. 686-692.
Wexler, M., 2011. Reconfiguring the sociology of the crowd: exploring crowdsourcing. International Journal of Sociology and Social Policy. [Online] Available at: http://www.emeraldinsight.com/journals.htm?articleid=1907199&show=abstract [Accessed September 19, 2014].
WFMC (1999) Workflow Management Coalition Terminology & Glossary. 3rd ed. Winchester: WFMC.
www.cs.uml.edu (N.D) MapReduce word count process [Online Image] Available at: http://www.cs.uml.edu/~jlu1/doc/source/report/MapReduce.html. [Accessed 17 September 14].
Xu, H. & Larson, K. (2014) Improving the efficiency of crowdsourcing contests. Proceed-ings of the 2014 international conference on …. Available at: http://dl.acm.org/cita-tion.cfm?id=2615807 [Accessed August 3, 2014]
71
APPENDICES
APPENDIX A. CASE STUDY DATABASE
Table 15. Logo Design Case
First production cycle - prototype testing
Professionals known to the researcher No time limit No monetary incentive Participants are familiarized with expectations for crowdsourcing tasks All participants are engaged on every task Task specification contains cumulative metadata
Tasks & questionnaires
Task 1 Participant 1 Participant 2 Participant 3 Participant 4
1. How many years of experience do you have in your profession?
10 6 2 2
2. Are you familiar with crowd-sourcing?
yes no No Yes
3. What is your specialty? logo design, web design graphic design illustrator web design
4. What grade would you give yourself as a professional? (1-5 scale)
3 3 4 4
Main task:
Write down a concept, an idea for a company logo in few sentences. The company specializes in production and distribution of chocolate with messages for certain occasions on their package. For example: Thanksgiving chocol-ate, Chocolate for the doctor, Chocolate for the Boss, Chocolate for new family member, Love chocolate, etc. Target population is North American continent.
Chocolate emerges out of half peeled cacao fruit. Care must be taken in order not to misinterpret the cacao fruit with banana or some other fruit. Illustration should be as simple as possible containing two main colours, the colour of cacao fruitpeel and the colour of the chocolate, and variations of these colours for the details. Possible problem of the concept is the fact that cacao fruit is rarely pealed but cut in half horizontally.
Chocolate, USA, money. Bribe chocolate comes first to my mind as well as chocolate coin envel-oped into golden foil which we used to eat when we were kids, it was like real money to us.Logo in shape of coin with half pealed golden foil resembling the chocolate beneath.Statue of liberty with big chocol-ate in place of the flame!
Anthropomorphic peace of chocolate with hands, legs and eyes, styled as clear black and white graphic (can be coloured if needed). It changes attributes depending on personified message: Chocolate for doctor has round head mirror, Reconciliation chocolate has "peace sign" around the neck.
Something resembling a combina-tion mark logo based on the name "Say Choco!" placed within a comic dialog cloud.
1. How much time did you spend for the main task?. How much time did you spend for the main task?
20-25 min 5 min 5 min. 5 min
2. How much money would you ask for the time spent on this task? ask for the time spent on this task?
24$ 5$ 10$ 10$
3. Add your opinion regarding this task. (anything you think should be mentioned)n
Without the name for the product or the company which is a structural part of the logo, it is hard to give a good solution. Words can provide additional inspiration. The solution can be based solely on a word or a slogan which can be styled in a certain fashion. My proposed solution contains only a symbol.
The task was clear and articulate. In order to come to the solution I had to draw a sketch using plain pencil and paper :) My process always starts that way. Regarding the task, the name for the company is missing. Thanksgiving chocolate or chocolate for the doctor both sound like a brand for the product within the company but we are talking about the logo for company brand (like Nestle, Milka etc.) This part is not specified precisely enough.
For a logo design a brand name is needed. Since it was missing I invented a slogan which could also be a brand name for the company.
Task 2 - voting task
Give a unique grade in a scale from 1 to 5 for every proposed solution (every participant votes for 3 solutions from other participants): to 5 for every proposed solution (every participant votes for 3 solutions from other participants):
Participant 2 solution = 2Participant 3 solution = 4Participant 4 solution = 5
Participant 1 solution = 3Participant 3 solution = 4Participant 4 solution = 5
Participant 1 solution = 3Participant 2 solution = 2Participant 4 solution = 5
Participant 1 solution = 4Participant 2 solution = 3Participant 3 solution = 5
Sum of grades for participant's solution
3+3+4=10 2+2+3=7 4+4+5=13 5+5+5=15
(This is a winning solution and it becomes a specification for the next task.)
72
Task 3
(In original questionnaire main task specification was preceded by specification for Task 1 in order to provide a context - metadata)
Main task:
The task is to create initial logo draft (sketch) based on proposed specification:
Something resembling a combina-tion mark logo based on the name "Say Choco!" placed within a comic dialog cloud.
I had to constantly repeat to myself that I have to stop creating different versions of logo and have to decide quickly what to send. Stressful but nothing unusual for me. This way I resolved the versioning dilemma but I still think that better solu-tions require more effort and would cost more.
1. How much time did you spend for the main task?
37 min 30 min 15 min 20 min
2. How much money would you ask for the time spent on this task?
50$This is a very hard question. Under normal circumstances and most probably, I would not work using a method being used in this research. Never before have I worked this way. Therefore I can only express the amount for the time needed under circum-stances of this research.
320$ 10$ 10$
3.Which tool did you use for accomplishing this task?
Paper, pencil, adobe illustrator Adobe illustrator Gimp Photoshop
4.Which application functionalities you find necessary for this type of task?
Paper, pencil, font viewer, vector graphics editor
Layers, vectors, transformation tools
Vector graphics supported editor, layers
Any tool supporting vectors and paths
Task 4 - voting task
Give a unique grade in a scale from 1 to 5 for every proposed solution (every participant votes for 3 solutions from other participants):
Participant 2 solution = 5Participant 3 solution = 2Participant 4 solution = 1
Participant 1 solution = 5Participant 3 solution = 4Participant 4 solution = 3
Participant 1 solution = 4Participant 2 solution = 5Participant 4 solution = 2
Participant 1 solution = 4Participant 2 solution = 5Participant 3 solution = 3
Sum of grades for participant's solution
5+4+4=13 5+5+5=15
(This is a winning solution and it becomes a specification for the next task.)
2+4+3=9 1+3+2=6
Task 5
(In original questionnaire main task specification was preceded by specification for all preceding tasks in order to provide a context - metadata)
Main taskMain task:There is initial draft logo provided (Task 4 output).Your task is to refine the logo by adding or changing some design elements.There is initial draft logo provided. Your task is to refine the logo by adding or changing some design elements.
1. How much time did you spend for the main task?me did you spend for the main task?
5 min 30 min 20 min 25 min
2. How much money would you ask for the time spent on this task?
3.5 $ 80 $ 8 $ 10 $
Task 6 - voting task
Give a unique grade in a scale from 1 to 5 for every proposed solution (every participant votes for 3 solutions from other participants):
Participant 2 solution = 5Participant 3 solution = 2Participant 4 solution = 1
Participant 1 solution = 5Participant 3 solution = 4Participant 4 solution = 3
Participant 1 solution = 3Participant 2 solution = 4Participant 4 solution = 2
Participant 1 solution = 3Participant 2 solution = 5Participant 3 solution = 4
Sum of grades for participant's solution
5+3+3=11 5+4+5=14(This is a winning solution)
2+4+4=10 1+3+2=6
73
Second production cycle - freelancer.com
Professionals are from freelancer.com Time limit for task is 30 minutes Monetary incentive for the task is 10$ Brief explanation of the project aims given to participants No cumulative metadata in task specification
Tasks & questionnaires
Task 1 Participant 1 Participant 2 Participant 3 Participant 4
1. How do you feel? (Possible answers: Very poor, Poor, Average, Good, Excellent )
5, Feeling very confident 5, I feel great and just tired little bit
I feel different about this project, especially about the questionnaire.
5
How many years of experience do you have in your profession?
I am in my third year of this profession. Currently a student studying digital media
2 years of experience I have 2 years of working experi-ence in my profession.
I have 5+years of experience in graphics design field.
Are you familiar with crowd-sourcing?
Yes Yes I am. Gathering of ideas, knowledge or content from the large group of people.
Yes, a little bit.
What is your specialty? I am in my third year of this profession. Currently a student studying digital media
I am easy and calm person and I try to do my work as soon as possible. I have great skills for web.
My specialty in web design and development.
I can create an “Eye Catching Design“.
What grade would you give yourself as a professional? (1-5 scale)
3, I rate myself this as I am aware that I am new to the profession and have a lot of experience to gain.
4 By profession I’ll give myself 3 as professional.
4.5
Main task
Create Combination Mark initial logo draft for the company. The company specializes in production and distribution of chocolate with messages for certain occasions on their package.For example: Thanksgiving chocol-ate, Chocolate for the doctor, Chocolate for the Boss, Chocolate for new family member, Love chocolate, etc. You only have to provide initial logo draft for the company with de-scribed background Target population is North Amer-ican continentType of logo: Combination Mark.Company name: Say ChocoProvide your result in two files: native format and exported jpeg
1. How much time did you spend for logo draft creation?
I spent a total of 28 minutes on this draft logo
20 min Its takes about 25 to 30 minutes to complete the draft.
About 20 minutes.
2. Is given specification for logo draft good enough to provide you with all needed information for the task? Your opinion.
Yes, as soon as I read the specification I had a few ideas that sprung to mind.
No.
There is no specified colour and size of logo and even not there about the company slogan. Etc.
Well provided information is enough to complete the rough task, but for complete logo brand-ing there will be some more point to be clear to make 100% unique and awesome logo.
It’s excellent . Very easy to under-stand.
3. What is your opinion on task time limitation?
The limitation on time restrained me to fully fulfil the logo to its full potential however it’s enough time to get basic ideas and a draft sketch made.
It’s challenging. For creativity, time limit is a huge hurdle, time limit will lower the thinking capability.For branding there should be free time for the designer to produce something great.
It’s normal time for this type of task.
4. Do you rather prefer short tasks or more elaborate ones? Why?
I don’t mind however the elabor-ated tasks I feel you are able to learn a lot more from.
More elaborate ones so that I can provide a quality output for the client.
Yeah I prefer short tasks, because they finish quickly and provide good profit.
Obviously elaborated one’s because I can easily understand the task.
5. Did you complete the task at once or with interruptions?
This task was completed without any interruptions apart from having to go get a coffee
There were no interruptions. It depends on complexity of project and requirement understanding. Mostly my projects completed without interruption.
I completed the task at once but it depends on description.
6. Describe your creative process in 2 sentences
Once I read the brief I instantly had some ideas come to mind
I thought about a design, draw a concept and decided about the
There is no Limit for creativity. Firstly I focused on targeted audience.Used the creativity on given descrip-
74
where I put down in a simple sketch. I then opened illustrator and roughly made up this sketch. The colours and fonts wouldn’t be the same and the end product would look a little more 3D just help make it a little more eye catching.
colour. Then I wrote a company name and chose font colour. Then I used a blur tool.
tion to complete the process.
7. Were you motivated for the task? Why?
I found this task great fun and I think it leaves a lot of opportunity to create a great logo. I also think what the company does is a good business idea and with the right company design and marketing company would be very success-ful
Yes. Because it’s simple. Truly speaking I Bid for this project for some bucks and a review. So these are my motivations for the task.
I was self-motivated to complete the task.
8. Task complexity (1-5) 2 – This was not a complicated task, it was fun and easy to do
1 3.5 1
9. If you would like to add your opinion, a problem regarding the task or anything that you think should be mentioned please provide it here:
- The problem is in deciding about the design and the colour needed for the perfect match.
I don’t think there is any problem regarding task, Experience something different.
-
Task 2 - voting task(voters are 31 unknown workers on microworkers.com who had to choose the best logo)
3 9 8 11 (This is a winning solution and it becomes a specification for the next task.)
Task 3 Participant 5 Participant 6 Participant 2 Participant 4
1. How do you feel? (Possible answers: Very poor, Poor, Average, Good, Excellent )
Good Average Good Excellent
2. How many years of experience do you have in your profession?
2-3 4 2 5
3. Are you familiar with crowd-sourcing?
yes, a little No yes Yes
4. What is your specialty? Frontend design and develop-ment
Webmaster I have experience in graphics design.
I’m multi talented
5. What grade would you give yourself as a professional? (1-5 scale)
2-3 3 4 5
Main Task:
There is initial draft logo provided (attachment). Your task is to refine the logo by adding or changing some design elements.
1. How much time did you spend for logo refinement?
20 min 20 min 30 min 25 min
2. What is your opinion on task time limitation?
I do not like it in general Time limit is fair Time is limited plus all the layers are merged. If there was more time the result would be better.
Perfect time for refinement.
3. Do you rather prefer short tasks or more elaborate ones? Why?
Short tasks, cause it's often fast and easy.
Depends on the time feasibility and the money I’m getting for it.
I prefer more elaborate ones because I can invest more time to achieve adequate quality.
I prefer short tasks because they are easily done in couple of mins.
4. Did you complete the task at once or with interruptions?
Without interruptions. At once. At once.At once due to clear description.
5. Describe your creative process in 2 sentences.
EnthusiasticImaginative
I did blending. I just provided some blending moment because all the layers were merged.
Understand the specification and start working.
6. Were you motivated for the task? Why?
I liked it cause it was simple Kind of as it was comparatively a simpler task than I have done before.
Yes, because the task was challenging and timely taken.
Task complexity
7. Task complexity (1-5 scale) 2 3 3 1
8. What is your opinion about this task?
It was fairly easy and did not require much work
Tasks involving graphics and design are always interesting.
With more time and good budget the quality of refinement would be better.
Simple task.
Task 4 - voting task(Voters are 42 unknown workers on microworkers.com who had to choose the best logo)
9 9 9 15(This is a winning solution)
Task 5 Participant 7 Participant 3 Participant 2 Participant 4
75
1. How do you feel? (Possible answers: Very poor, Poor, Average, Good, Excellent )
Excellent ... Very confident. Good. Excellent
2. How many years of experience do you have in your profession?
2 & half years experience .. Almost 3 years. 2 years. 5 years
3. Are you familiar with crowd-sourcing?
Yeah , but not much. Only familiar.
Yeah, I’m familiar. Yes. Yes
4. What is your specialty? My Specialty is Client Satisfaction through my quality work ... Design ...
Graphics and web development. I am hard working and I always try to make my clients happy.
I’m multi talented
5. What grade would you give yourself as a professional? (1-5 scale)
4 3 4 5
Main Task
There is a logo provided (attach-ment).Your task is to refine the logo by adding or changing some design elements. You can change as many elements you want just keep in mind that this is refinement of existing logo so do not create a completely different logo.
1. How much time did you spend for logo refinement?
35 min 20 min 30 min 10 min
2. What is your opinion on task time limitation?
My Opinion is all that all logos should be designed in 30 to 40 minutes time.
I’m comfortable with time limits. It’s okey but as the given psd was image only in 1 layer.
About refinement ... 30 minutes is perfect time.
3. Do you rather prefer short tasks or more elaborate ones? Why?
Yes Prefer short tasks because of time efficiency..
I prefer short tasks because they finish quickly and take less effort.
I prefer more elaborate tasks. I prefer short task because its take less time.
4. Did you complete the task at once or with interruptions?
I have completed the task at once.
I completed the task at once. I completed it at once. The task was completed without interruptions.
5. Describe your creative process in 2 sentences.
Always Think Positively when approaching any logo and web design.
Think, refine, create. I just changed the font and colour and background.
Try to understand the logic behind the description and start the work accord-ing to it.
6. Were you motivated for the task? Why?
I was motivated for the main task and was not so eager to answer-ing the questions.
I am always motivated to do different tasks, and the client is a good person
Yes but the time limitation bind to do creativity.
Because I love to work with graphics.
7. Task complexity (1-5 scale) 3 1 4 2
8. Can this task be accomplished in less than15 minutes?
No, I don't think this task can be accomplished in less than 15 minutes.
Yeah. Yes Yes
9. Under what circumstances? None. If I do the same task again. If there would be all layer present and the authority to change almost things.
Since original design was created by me I could easily refine the logo.
10. What is your opinion about this task?
My opinion about this task is that it is very unique and powerful especially to me ..
Task is easy, described clearly, everything is just fine. The task was easy but without
layers it is hard to work in PSD. Additionally in logo design we also need a time to think... Since that was flat image, not so many changes can be made and even if it wasn't, there was no need to make bigger changes to original design.
The task very simple. I just refined the meaning of existing logo and applied the change.
Task 6 - voting task(Voters are 30 unknown workers on microworkers.com who had to choose the best logo)
11( winning solution)
82
9
Table 16. JavaScript Coding Case
First production cycle - prototype testing
76
Professionals known to the researcher No time limit No monetary incentive Participants are familiarized with expectations for crowdsourcing tasks All participants are engaged on every task No explicit cumulative metadata
Tasks & questionnaires
Task 1 Participant 1 Participant 2 Participant 3 Participant 4
1. How many years of experience do you have in your profession?
7 8 20 2
2. What is your specialty? Ruby/Java .NET C#, web development Web frontend PHP, HTML, web
3. Are you familiar with crowd-sourcing?
Yes :) Yes No Yes
4. Do you have experience working on tasks within any crowdsourcing platforms?
No No No No
5. What grade would you give yourself as a professional? (1-5 scale)
4, on a motivating job 5. 4 4 4.5
6. Do you use facebook and to what extent?
No Occasionally Extensively Moderately
Main Task:
Create a popup window 200*200px at the centre of the screen.The window opens on page load after 500 milliseconds.Place a 50*50px picture in the upper right corner of the window.Place a textbox of 20px width in upper left corner.Place a close button in the lower centre.
Participant 1 JavaScript code Participant 2 JavaScript code Participant 3 JavaScript code Participant 4 JavaScript code
1. Is given specification good enough to provide you with all needed information for the task? Your opinion.
Everything is clearly specified. Questions that could be asked are probably even not important for the task itself.
Very concise, clear and exact. The Specification vas completely clear. There is one thing to mention though and that is that the pop up windows are not used as often as before because almost all browsers are blocking them automatically and exactly that happened to me when I tried to test my solution.
Seems sufficient.
2. How much money would you ask for the time spent on this task?
Around 10$ with a fun modifier depending on how interesting the task is. Programmers will usually ask a lower price for a piece of work which they like and want to do. If they are good at communic-ating this it could give a good idea about their work and to whom it might be cheaper than it would normally be. Discount season :)
9$ 16$ 10$
3. How much time did you spend for coding?
60 min 60 min 70 min 35 min
Task 2 - voting task
Give a unique grade in a scale from 1 to 5 for every proposed solution (every participant votes for 3 solutions from other participants):
Participant 2 solution = 4Participant 3 solution = 2Participant 4 solution = 1
Participant 1 solution = 5Participant 3 solution = 3Participant 4 solution = 2
Participant 1 solution = 3Participant 2 solution = 4Participant 4 solution = 2
Participant 1 solution = 4Participant 2 solution = 5Participant 3 solution = 3
Sum of grades for participant's solution
5+3+4=12 4+4+5=13(This is a winning solution - becomes initial artefact for refinement in second cycle)
2+3+3=8 1+2+2=5
Second production cycle (JavaScript snippet coding) - freelancer.com
Professionals are from freelancer.com Time limit for task is 30 minutes Monetary incentive for the task is 10$ Brief explanation of the project aims given to participants No cumulative metadata
77
Tasks & questionnaires
Task 1 Participant 1 Participant 2 Participant 3 Participant 4
1. How do you feel? (Possible answers: Very poor, Poor, Aver-age, Good, Excellent )
Good Average Good Excellent
2. How many years of experience do you have in your profession?
2-3 4 2 3
3. Are you familiar with crowd-sourcing?
Yes, a little No Yes A bit.
4. What is your specialty? Java Apps development Web sites and services I’m designer as well as developer
5. What grade would you give yourself as a professional? (1-5 scale)
2-3 3 4 4.5
Main taskThere is a JavaScript snippet provided.Your task is to add this features:The upper left textbox should accepts only numbers.Popup window cannot be closed until a number is entered in the textbox.When clicking on Close without entered number, open an alert window with "You must enter a number" and focus on the textbox.
Participant1 JavaScript code Participant 2 JavaScript code Participant 3 JavaScript code Participant 4 JavaScript code
1. How much time did you spend for coding?
32 min 10 min 20 min 10 min
2. Is given specification good enough to provide you with all needed information for the task? Your opinion.
The information you gave was perfectly informative.
Yes, good enough. Yes. Well Formed.
3. What is your opinion on task time limitation?
I don't really like it in general. As it was a very simple task, 30 mins was more than sufficient.
Yes it was challenging and the task for experts in not more then 20 minutes.
30 minutes is adequate time for this task.
4. Do you rather prefer short tasks or more elaborate ones? Why?
Short tasks, cause it's often fast and easy.
Depends on the time feasibility and the money I’m getting for it.
I will prefer elaborated one. Because there we can do a quality work.
I prefer short task that task not take too much time.
5. Did you complete the task at once or with interruptions?
With interruptions. At once At once The task was completed at once because the description of this project is in very informative and easy to understand.
6. Describe your creative process in 2 sentences
Devise a concept based on specification. Implement a concept. Test. Refine a concept.
Used the textbox key press event and assigned a function to it that limits the input to only numbers. On the close buttons click event checked if the textbox is empty, or textbox still contains letters, if not then the dialog close event is invoked.
Implementing the field validation within existing code.
Understand the description and start developing.
7. Were you motivated for the task? Why?
I liked it cause it was simple. Not much as it was a fairly simple task.
Is was interesting but there were some difficulties.
Because I like programming.
8. Task complexity (1-5) 2 3 2 2
9. What is your opinion about this task?
The task was easy. It’s a simple task, those experi-enced in JavaScript programming should be able to complete this fast.
Actually the task was short but interesting. Few more things could be done on the code to make it perfect.
It is a simple task.
Task 2 - voting task 3 4 2 5(winning solution)
Task 3 Participant 1 Participant 2 Participant 3 Participant 5
1. How do you feel? (Possible answers: Very poor, Poor, Aver-age, Good, Excellent )
Good Average Excellent Excellent
2. How many years of experience do you have in your profession?
2-3 4 2 2
3. Are you familiar with crowd-sourcing?
Yes, a little No Yes Yes
4. What is your specialty? Java Apps development Web sites and services I am very hardworking code lover.
5. What grade would you give yourself as a professional? (1-5 scale)
3 3 4 5
Main task
There is a JavaScript snippet
Participant 1 JavaScript code Participant 2 JavaScript code Participant 3 JavaScript code Participant 5 JavaScript code
78
provided.Your task is to add this features:Close is possible by clicking outside the popup window (also initiates the alert function ).Create an arbitrarily effect (fade in, slide in...choose one) on the picture 1000ms after page load.Do not break existing JavaScript features.
1. How much time did you spend for coding?
15 min 37 minutes 45 min 50 min
2. Is given specification good enough to provide you with all needed information for the task? Your opinion.
Yes, I understood what I had to do .
Good enough. Yes specification was good. yes it was good
3. What is your opinion on task time limitation?
Not that bad. If the task is pretty easy it's ok.
30 minutes was a bit challenging. Yes it’s challenging but as fresher it’s something hard.
One hour should be enough.
4. Do you rather prefer short tasks or more elaborate ones? Why?
Short cause you can easily see the progress. With big tasks it feels more rewarding to complete.
Depends on the time feasibility and the money I’m getting for it.
In the case of java script now I prefer short.
I like short tasks because they are more time efficient.
5. Did you complete the task at once or with interruptions?
At once. At once. At once but very hardly. I completed this task without interruptions.
6. Describe your creative process in 2 sentences
Full of energy, full of good ideas. Defined click event for the outer-most div for close. Used the settimeout method to get the effect.
As a requirement I did an image fade and popup close by clicking outside of the popup.
I tried to find and implement solution for given specification.
7. Were you motivated for the task? Why?
Yes, because it was easy and fun. Yes, this was a bit challenging. To add new feature without touching already available code was very interesting.
Yes I was very motivated for the task. I learned something new.
8. Task complexity (1-5) 2 4 4 1
9. Can this task be completed in 15 minutes?
It can for sure. It’s possible but difficult. Yes, more experienced coder can do it in 10 minutes.
yes
10. What is your opinion about this task?
IT was easy and fast but fun to do. Only those experienced in JavaS-cript programming should be able to complete this fast, rest will need to do some thinking.
It was interesting and had some logic behind it.
It was very interesting.
Task 4 - voting task 5(winning solution)
3 4 2
Task 5 Participant 1 Participant 2 Participant 3 Participant 4
1. How do you feel? (Possible answers: Very poor, Poor, Aver-age, Good, Excellent )
Average Average Good Excellent
2. How many years of experience do you have in your profession?
2-3 4 2 3
3. Are you familiar with crowd-sourcing?
Yes No Yes Yes
4. What is your specialty? Java Apps development Web sites and services I’m designer as well as developer.
5. What grade would you give yourself as a professional? (1-5 scale)
2 3 4 5
Main Task:
There is a JavaScript snippet provided. (attachment)Check JavaScript snippet featuresYour task is to add this features:Create a link on a page so that a user can open a popup without the need to refresh the page.Change the text on the popup button from "close" to "submit".After a number is entered in a popup textbox and submit button clicked - write entered value within the page body together with date and time of submittance.If values are added multiple times, every new value-date pair is added within the page body as a next row.Do not break existing features.
Participant 1 JavaScript code Participant 2 JavaScript code Participant 3 JavaScript code Participant 4 JavaScript code
1. How much time did you spend for coding?
30 min 30 min 45 min 25 min
2. Is given specification good enough to provide you with all needed information for the task? Your opinion.
I got the all the information I needed.
Yes. Good enough. Yes specification was good and logical.
Specification is Well maintained.
3. What is your opinion on task time limitation?
If the task is easy it's ok, but if the task is hard it can be stressing.
30 mins was a bit challenging. Yes it’s challenging. As fresher, when something is hard I just try to find helpful information from the
Enough time.
79
internet.
4. Do you rather prefer short tasks or more elaborate ones? Why?
Short , because you can see the progress fast.
Depends on the time feasibility and the money I’m getting for it.
In the case of JavaScript I think small tasks are ok.
I prefer short task that not take too much time.
5. Did you complete the task at once or with interruptions?
At once. At once. At once. At once.
6. Describe your creative process in 2 sentences
Imaginative and new thinking. Used the same code as docu-ment.ready on click event of the link for displaying the popup. Used JavaScript date functions to get date and time of submission.
As a requirement I created a link and then tried to show date and time. Lastly, I tried not to change existing functional parts of the script.
Understand the description and start working.
7. Were you motivated for the task? Why?
Yes. Because I like to help. Yes, this was a bit challenging. Yes the task was interesting and very logical, and I succeeded in solving it.
Because it was simple.
8. Task complexity (1-5) 3-4 4 4 0.5
9. Can this task be accomplished in 15 minutes?
No. At least I would not be able to. It’s possible. Maybe I am not sure.
10. Under which circumstances? - If you understand the JavaScript code which was already there and are familiar with date functions.
Experienced programmer can do it in 20ish minutes.
-
11. What is your opinion about this task?
It was hard and I got stuck. I got stuck when listing new lines to the history, when a new line was added, all the lines before will change to the text in the newest one.
Only those experienced in JavaS-cript programming should be able to complete this fast, rest will need to do some thinking.
The task was interesting and logical.
The task is so simple just refine and existing style change and present in different style.
Task 6 - voting task 1(disqualified)
4 5(winning solution)
2
Task 7 Participant 2 Participant 3 Participant 4 Participant 5
How do you feel? (Possible answers: Very poor, Poor, Aver-age, Good, Excellent )
Average Good Excellent Excellent
How many years of experience do you have in your profession?
4 2 3 2
Are you familiar with crowd-sourcing?
No Yes Yes Yes
What is your specialty? Apps development Web sites and services I’m designer as well as developer I am very passionate and code loving person.
What grade would you give yourself as a professional? (1-5 scale)
3 4 4 5
Main Task:
There is a JavaScript snippet provided. (attachment)Check JavaScript snippet features.Your task is to add this feature:Calculate the sum and average for all entered numbers and write them under the value date list.Do not break other existing fea-tures.
Participant 2 JavaScript code Participant 3 JavaScript code Participant 4 JavaScript code Participant 5 JavaScript code
1. How much time did you spend for coding?
15 min 50 min 25 min 50 min
2. Is given specification good enough to provide you with all needed information for the task? Your opinion.
Yes good enough. Yes it’s enough. Yes. Yes it was good.
3. What is your opinion on task time limitation?
Quite doable in 30 mins. It’s interesting because task was logical for me.
Perfect time. One hour should be long enough for this task.
4. Do you rather prefer short tasks or more elaborate ones? Why?
Depends on the time feasibility and the money I’m getting for it.
Yes, I prefer short task because it takes less time and you get output asap.
I prefer short tasks. I like short tasks cause they save the time and effort .
5. Did you complete the task at once or with interruptions?
At once. Yes, at once. I completed the task at once. I completed this task without interruption.
6. Describe your creative process in 2 sentences
Used 3 global variables to store the sum, count and average.
I provided the functionality to add the calculation and then provided the actual space to give the output.
Understand and start working. I have taken simple coding for summing and average.
7. Were you motivated for the task? Why?
Fairly. Yes I was motivated because task was logical and I wanted to do it asap. And it’s looking easy.
Yes. The task was simple. Yes I was very motivated for the task cause I love core program-ming.
8. Task complexity (1-5) 2 2 1 1
80
9. Can this task be accomplished in 15 minutes?
It’s possible. yes I don't know yes
10. Under which circumstances? If you’re quite experienced in JavaScript.
If you know all about basic functions like adding and average and only need to implement the knowledge then it could be done in 15 minutes.
- Task is simple so there are no special circumstances.
11. What is your opinion about this task?
Fairly simple task. This is very simple 15 minutes task and it shouldn’t take more than 30 minutes. It was very easy but logical.
It's a simple task. It was very interesting.
Task 8 - voting task 4 3 2 5(wining solution)
APPENDIX B. JAVASCRIPT CODE SNIPPETS
First production cycle
Participant 1
Index.html<html>
<head><title> Proba </title>
</head>
<body></body><script>
function popupCenteredWindow(url, title, w, h) { var left = (screen.width/2)-(w/2); var top = (screen.height/2)-(h/2); return window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no,
resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left);}
window.onload = function () {
setTimeout(function(){popupCenteredWindow("popup.html", "Popup prozor", 200, 200);
},500);
}
</script></html>
Popup.html<html>
<head><style type="text/css">
#close_btn {position: absolute;left: 40%;top: 80%;
}</style>
</head>
<body><input type="text" style="width:20px"><img src="a50.png" style="float: right"><button id="close_btn" onClick="window.close()">Close</button>
</body>
</html>
81
Participant 2
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><link rel="stylesheet" href="/resources/demos/style.css"><script>
setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500);
</script></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:20px" /></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="2" align="center" valign="bottom"><input type="button" value="Close" onclick="$('#dialog').dialog('close');" /></td> </tr> </table></div>
</body></html>
Participant 3
Index.html<html lang="en"><body>
<script>var popup;
var div = document.createElement( "div" );div.id = "div";div.style.width = div.style.height = "200px";div.style.position = "relative";div.style.display = "block";div.style.top = div.style.left = "50%";div.style.marginLeft = div.style.marginTop = "-100px";div.style.border = "1px solid #f00;";div.style.backgroundColor = "#f00";div.style.textAlign = "center";
var img = document.createElement( "img" );img.style.width = img.style.height = "50px";img.style.position = "absolute";img.style.right = img.style.top = "0";img.src = "mysti_04_by_gpphotos-d32osqu.jpg";div.appendChild( img );
var txt = document.createElement( "textarea" );txt.style.width = txt.style.height = "20px";txt.style.position = "absolute";txt.style.left = txt.style.top = "0";div.appendChild( txt );
var butt = document.createElement( "input" );butt.type = "button";butt.onclick = function() { popup.close(); }butt.style.position = "relative";butt.style.margin = "0";butt.style.left = "-50%";butt.value = "close";
var buttDiv = document.createElement( "div" );buttDiv.style.position = "absolute";buttDiv.style.bottom = "0";buttDiv.style.left = "50%";buttDiv.appendChild( butt );
82
div.appendChild( buttDiv );
window.onload = function() {
setTimeout(function() {
popup = window.open( '', '', 'width=200,height=200,top=' + (screen.height/2 - 100) + ',left=' + (screen.width/2 - 100) );
popup.document.body.style.overflow = "hidden";popup.document.body.style.margin = "0";popup.document.body.style.padding = "0";popup.document.body.appendChild( div );
},500
);};
</script></body></html>
Participant 4Index.html<!DOCTYPE html><html><head></head>
<script type="text/javascript">function open_on_entrance(url,name){ window.open("a.html",'google', ' menubar,resizable,dependent,status,width=300,height=200,left=500,top=300')}</script><body onload="open_on_entrance()"></body></body></html>
a.html<html><head><style>body { background-color: linen;}.main{height:100%;width:100%;margin:0px;}.image{height:150px;width:5%;float:right;
}.textbox{height:150px;float:left;width:90%;
}.submit{margin-left:50%;width:20px;height:150px;margin-bottom:20px;}</style></head><body><div class="main"><div class="textbox">
<input type="text" style="width:20px;"/></div><div class="image"><img src="IMG_24102014_214428.png"alt="Smiley face" style="width:50px; height:50px;"/>
</div>
</div><div class="submit">
<input type="submit" value="Submit"></div></body></html>
83
Second Production Cycle
Participant 1 Task 1
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><link rel="stylesheet" href="/resources/demos/style.css"><script>
setTimeout(function () { function isNumeric(){ var numexp = /^[0-9]+$/; if(document.getElementById('text').value.match(numexp) ){ return true; }else{ return false; } }; document.getElementById('button').onclick = function() { if(isNumeric() === false){ alert("You must enter a number"); }else{ $('#dialog').dialog('close'); } } $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500);</script></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:20px" id="text" /></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="2" align="center" valign="bottom"><input type="button" value="Close" id="button" /></td> </tr> </table></div>
</body></html>
Participant 2 Task 1
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><link rel="stylesheet" href="/resources/demos/style.css"><script type="text/javascript"> setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500);
function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
return true; }
function checkclose() { if (document.getElementById("txtInput").value == "") { document.getElementById("txtInput").value = "enter a number"; document.getElementById("txtInput").focus(); } else if (isNaN(document.getElementById("txtInput").value)) {
84
document.getElementById("txtInput").value = "enter a valid number"; document.getElementById("txtInput").focus(); } else $('#dialog').dialog('close');
}</script></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input id="txtInput" type="text" style="width:20px" onkeypress="return isNumberKey(event)" /></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="2" align="center" valign="bottom"><input type="button" value="Close" onclick="return checkclose();" /></td> </tr> </table></div>
</body></html>
Participant 3 Task 1
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><link rel="stylesheet" href="/resources/demos/style.css"><script>function isNumberKey(evt) { var charCode = (evt.which) ? evt.which : event.keyCode if (charCode > 31 && (charCode < 48 || charCode > 57)) return false;
return true; }
setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500);
function Validate() { var txt = document.getElementById("txt"); if (txt.value == "") { txt.value = "Please enter something"; txt.focus(); } else if (isNaN(txt.value)) { txt.value = "Please enter a number"; txt.focus(); } else $('#dialog').dialog('close');
}
</script></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input id="txt" type="text" onkeypress="return isNumberKey(event)" style="width:100px" /></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="2" align="center" valign="bottom"><input type="button" value="Close" onclick="return Validate();" /></td> </tr> </table></div>
</body></html>
85
Participant 4 Task 1
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="close" onClick=""></td> </tr> </table></div><script>$(document).ready(function(){
setTimeout(function(){ $(function(){ $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500);
$("#dialog").dialog({open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); },modal: true,width:800
});$(".onlynum").keydown(function (e)
{ // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39))
{ // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim( $('#num').val() )
if (textBox == ""){
alert('Please Enter Value');}else{
$('#dialog').dialog('close');}
});
});
</script></body></html>
86
Participant 1 Task 3
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="close" onClick=""></td> </tr> </table></div><script>$(document).ready(function(){ $("#dialog").fadeIn(1000);
setTimeout(function(){ $(function(){ $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500);
$("#dialog").dialog({open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); },modal: true,width:800
});$(".onlynum").keydown(function (e)
{ // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39))
{ // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim( $('#num').val() )
if (textBox == ""){
alert('Please Enter Value');}else{
$('#dialog').dialog('close');}
}); $("html").click(function () {
var textBox = $.trim( $('#num').val() )if (textBox == ""){
alert('Please Enter Value');}else{
$('#dialog').dialog('close');}
}); $('#dialog').click(function(event){ event.stopPropagation();});});
87
</script></body></html>
Participant 2 Task 3
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" style="display:none" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="close" onClick=""></td> </tr> </table></div><script> $(document).ready(function () { setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }, modal: true, width: 800 }); $(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } });
$('.ui-widget-overlay').click(function (e) { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); }
});
setTimeout("$('img').fadeIn(2000)", 1000); });</script></body></html>
88
Participant 3 Task 3
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" style="display:none" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="close" onClick=""></td> </tr> </table></div><script> $(document).ready(function () { setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }, modal: true, width: 800 }); $(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } }); $("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } });
$('.ui-widget-overlay').click(function (e) { // var position = 'X: ' + (e.layerX || e.offsetX) + ' Y: ' + (e.layerY || e.offsetY);
// var x = e.layerX || e.offsetX; // var y = e.layerY || e.offsetY;
// var width = $(".ui-dialog").width; // var height = $(".ui-dialog").height;
// if ((x >= $(".ui-dialog").position().left && x <= $(".ui-dialog").position().left + $(".ui-dialog").width()) && (y >= $(".ui-dialog").position().top && y <= $(".ui-dialog").position().top + $(".ui-dialog").height())) {
// } // else { // alert('Click position within image: ' + position); // }
var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); }
89
});
setTimeout("show()", 1000);
});
function show() { $('img').fadeIn('slow'); }
</script>
</body></html>
Participant 5 Task 3
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"></head><body>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img id="image" src="50x50.jpg" style="display:none" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="close" onClick=""></td> </tr> </table></div><script> $(document).ready(function () {
setTimeout("$('#image').slideDown('slow')", 1000);
setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }, modal: true, width: 800 }); $(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } });
$('.ui-widget-overlay').click(function() { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value');
90
} else { $('#dialog').dialog('close'); }
}); });</script></body></html>
Participant 1 Task 5
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><link rel="stylesheet" href="/resources/demos/style.css"></head><body> <div> <a href="#" id="popupLink">add</p> </div>
<ul id= "history">
</ul><div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="Submit" onClick=""></td> </tr> </table></div><script>$(document).ready(function(){
var d = new Date(); var day= d.getDate(); var month = d.getMonth(); var year = d.getYear(); var sec = d.getSeconds(); var min = d.getMinutes(); var hour = d.getHours(); var test = true; $("#popupLink").click(function(){ $("#dialog").fadeIn(1000);
setTimeout(function(){ $(function(){ $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500);
$("#dialog").dialog({open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); },modal: true,width:800
});$(".onlynum").keydown(function (e)
{ // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39))
{ // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
var para = document.createElement("p"); var oldNode = node; var node = document.createTextNode("error");
$("#close").click(function () { var textBox = $.trim( $('#num').val() )
91
if (textBox == ""){
alert('Please Enter Value');}else{
node.nodeValue=textBox + ". " +"date: " + day +"/"+month+"/"+year+" time:" + hour + ":" + min + ":" + sec; para.appendChild(node);
$('#dialog').dialog('close');}
}); $("html").click(function () {
var textBox = $.trim( $('#num').val() )if (textBox == ""){
alert('Please Enter Value');}else{
$('#dialog').dialog('close');}
}); $('#dialog').click(function(event){ event.stopPropagation(); }); var element = document.getElementById("history");
element.appendChild(para); });});
</script></body></html>
Participant 2 Task 5
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"></head><body><div id="link" style="display:none"><a href="#" onclick="ShowDialog();">Open</a><div id="values">
</div></div>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="submit" onClick=""></td> </tr> </table></div><script> $(document).ready(function () { $("#dialog").fadeIn(1000); setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); },
92
modal: true, width: 800 }); $(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); SetValues(); } }); $("html").click(function () {
var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } }); $('#dialog').click(function (event) { event.stopPropagation();
}); });
function ShowDialog() { setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); $('#link').toggle(); }); }, 500);}
function SetValues() { var date = new Date();
$('#values').html($('#values').html() + "<br/>" + $('#num').val() + " " + date.getMonth() + "/" + date.getDate() + "/" + date.getFullYear() + " " + date.-getHours() + ":" + date.getMinutes() + ":" + date.getSeconds()); $('#link').toggle(); }
</script></body></html>
Participant 3 Task 5
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"><style>#open{display:none}</style></head><body><div id="open"><a href="#" onclick="OpenPopUp();">Open</a><div id="display"></div></div>
93
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="submit" onClick=""></td> </tr> </table></div><script> $(document).ready(function () { $("#dialog").fadeIn(1000); setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }, modal: true, width: 800 }); $(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); ShowValue(); $('#open').toggle(); } }); $("html").click(function () {
var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } }); $('#dialog').click(function (event) { event.stopPropagation();
}); });
function makeArray() { for (i = 0; i < makeArray.arguments.length; i++) this[i + 1] = makeArray.arguments[i]; }
function ShowValue() { var months = new makeArray('January', 'February', 'March', 'April', 'May','June', 'July', 'August', 'September', 'October', 'November', 'December'); var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var yy = date.getYear(); var year = (yy < 1000) ? yy + 1900 : yy; var display = $('#num').val() + " " + month + "/" + day + "/" + year + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); $('#display').html($('#display').html() + "<br/>" + display); }
function OpenPopUp() { setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); $('#open').toggle(); $('#num').val(""); }); }, 500);}
94
</script></body></html>
Participant 4 Task 5
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"></head><body>
<a href="#" id="showModal"> Show Modal</a>
<div id="text"></div>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr>
<td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="Submit" onClick=""></td> </tr> </table></div><script>$(document).ready(function(){
$('div#dialog').dialog({ autoOpen: false })$('#showModal').click(function(){
$("#dialog").dialog({open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); },modal: true,
});$('div#dialog').dialog('open');
$("#dialog").fadeIn(1000);setTimeout(function(){
$(function(){$("#dialog").dialog({
width: 200,height: 200
});});
}, 500);});
$(".onlynum").keydown(function (e){
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||(e.keyCode == 65 && e.ctrlKey === true) ||(e.keyCode >= 35 && e.keyCode <= 39)){
return;}
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {e.preventDefault();
}});$("#close").click(function () {
var textBox = $.trim( $('#num').val() ) var textVal = $('#num').val(); var dNow = new Date(); var localdate= (dNow.getMonth()+1) + '/' + dNow.getDate() + '/' + dNow.getFullYear() + ' ' +
dNow.getHours() + ':' + dNow.getMinutes();if (textBox == ""){
alert('Please Enter Value');}else{
$('#text').append('<p> '+ textVal +' '+ localdate +'</p>');$('#dialog').dialog('close');
} });
/* $("html").click(function () {
var textBox = $.trim( $('#num').val() )if (textBox == ""){
95
alert('Please Enter Value');}else{
$('#dialog').dialog('close');}
});*/
$('#dialog').click(function(event){event.stopPropagation();
});});
</script></body></html>
Participant 2 Task 7
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script> var sum = 0; var avg = 0; var count = 0;</script><link rel="stylesheet" href="/resources/demos/style.css"><style>#open{display:none}</style></head><body><div id="open"><a href="#" onclick="OpenPopUp();">Open</a><div id="display"></div><div id="total"></div></div>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="submit" onClick=""></td> </tr> </table></div><script> $(document).ready(function () { $("#dialog").fadeIn(1000); setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }, modal: true, width: 800 }); $(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); }
96
});
$("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); ShowValue(); $('#open').toggle(); } }); $("html").click(function () {
var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } }); $('#dialog').click(function (event) { event.stopPropagation();
}); });
function makeArray() { for (i = 0; i < makeArray.arguments.length; i++) this[i + 1] = makeArray.arguments[i]; }
function ShowValue() { var months = new makeArray('January', 'February', 'March', 'April', 'May','June', 'July', 'August', 'September', 'October', 'November', 'December'); var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var yy = date.getYear(); var year = (yy < 1000) ? yy + 1900 : yy; var display = $('#num').val() + " " + month + "/" + day + "/" + year + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); sum += Number($('#num').val()); count += 1; avg = sum / count; $('#display').html($('#display').html() + "<br/>" + display); $('#total').html("<hr/>sum="+ sum + " avg=" + avg); }
function OpenPopUp() { setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); $('#open').toggle(); $('#num').val(""); }); }, 500);}</script></body></html>
Participant 3 Task 7
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script> var sum = 0; var count = 0; var average = 0;</script><link rel="stylesheet" href="/resources/demos/style.css"><style>#open{display:none}</style></head><body><div id="open"><a href="#" onclick="OpenPopUp();">Open</a><div id="display"></div><div id="summary">sum=<span id='sum'></span>average=<span id='average'></span></div></div>
<div id="dialog" style="display:none">
97
<table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="submit" onClick=""></td> </tr> </table></div><script> $(document).ready(function () { $("#dialog").fadeIn(1000); setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }, modal: true, width: 800 }); $(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); ShowValue(); $('#open').toggle(); } }); $("html").click(function () {
var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } }); $('#dialog').click(function (event) { event.stopPropagation();
}); });
function makeArray() { for (i = 0; i < makeArray.arguments.length; i++) this[i + 1] = makeArray.arguments[i]; }
function ShowValue() { var months = new makeArray('January', 'February', 'March', 'April', 'May','June', 'July', 'August', 'September', 'October', 'November', 'December'); var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var yy = date.getYear(); var year = (yy < 1000) ? yy + 1900 : yy; var display = $('#num').val() + " " + month + "/" + day + "/" + year + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); sum += Number($('#num').val()); count += 1; average = sum / count; $('#display').html($('#display').html() + "<br/>" + display); $('#sum').html(sum); $('#average').html(average); }
function OpenPopUp() { setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); $('#open').toggle(); $('#num').val("");
98
}); }, 500);}</script></body></html>
Participant 4 Task 7
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script>
</script><link rel="stylesheet" href="/resources/demos/style.css"><style>#open{display:none}</style></head><body><div id="open"><a href="#" onClick="OpenPopUp();">Open</a><div id="display"></div></div>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="submit" onClick=""></td> </tr> </table></div><script> $(document).ready(function () { $("#dialog").fadeIn(1000); setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }, modal: true, width: 800 }); $(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); ShowValue(); $('#open').toggle(); } }); $("html").click(function () {
var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } }); $('#dialog').click(function (event) {
99
event.stopPropagation(); }); });
function makeArray() { for (i = 0; i < makeArray.arguments.length; i++) this[i + 1] = makeArray.arguments[i];
} function ShowValue() { var months = new makeArray('January', 'February', 'March', 'April', 'May','June', 'July', 'August', 'September', 'October', 'November', 'December'); var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var yy = date.getYear(); var year = (yy < 1000) ? yy + 1900 : yy; var display = "<div class='sum'>"+$('#num').val()+"</div>" + " " + month + "/" + day + "/" + year + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds() + "<div class='totalsum'></div>" + "<div class='totalavg'></div>"; $('#display').html($('#display').html() + "<br/>" + display);
var sum = 0;var num = 0;$('.sum').each(function(){
sum += parseFloat($(this).text()); //Or this.innerHTML, this.innerTextnum += 1;
});$('.totalsum').last().html(" Sum :" + sum);$('.totalavg').last().html(" Avg :" + sum/num);
}function OpenPopUp() { setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); $('#open').toggle(); $('#num').val(""); }); }, 500);}</script></body></html>
Participant 5 Task 7
Index.html<html lang="en"><head><meta charset="utf-8"><title>Popup</title><link rel="stylesheet" href="http://code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css"><script src="http://code.jquery.com/jquery-1.10.2.js"></script><script src="http://code.jquery.com/ui/1.11.1/jquery-ui.js"></script><script type="text/javascript"> var sum = 0; var cnt = 0; var avg = 0;</script><link rel="stylesheet" href="/resources/demos/style.css"><style>#open{display:none}</style></head><body><div id="open"><a href="#" onclick="OpenPopUp();">Open</a><div id="display"></div><div></div></div>
<div id="dialog" style="display:none"> <table width="100%" height="100%"> <tr> <td align="left" valign="top"><input type="text" style="width:40px" class="onlynum" id="num"/></td> <td align="right" valign="top"><img src="50x50.jpg" /></td> </tr> <tr> <td colspan="4" align="center" valign="bottom"><input type="button" id="close" value="submit" onClick=""></td> </tr> </table></div><script> $(document).ready(function () { $("#dialog").fadeIn(1000); setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); }); }, 500); $("#dialog").dialog({ open: function (event, ui) { $(".ui-dialog-titlebar-close").hide(); }, modal: true, width: 800 });
100
$(".onlynum").keydown(function (e) { // Allow: backspace, delete, tab, escape, enter and . if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 || // Allow: Ctrl+A (e.keyCode == 65 && e.ctrlKey === true) || // Allow: home, end, left, right (e.keyCode >= 35 && e.keyCode <= 39)) { // let it happen, don't do anything return; } // Ensure that it is a number and stop the keypress if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) { e.preventDefault(); } });
$("#close").click(function () { var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); ShowValue(); $('#open').toggle(); } }); $("html").click(function () {
var textBox = $.trim($('#num').val()) if (textBox == "") { alert('Please Enter Value'); } else { $('#dialog').dialog('close'); } }); $('#dialog').click(function (event) { event.stopPropagation();
}); });
function makeArray() { for (i = 0; i < makeArray.arguments.length; i++) this[i + 1] = makeArray.arguments[i]; }
function ShowValue() { var months = new makeArray('January', 'February', 'March', 'April', 'May','June', 'July', 'August', 'September', 'October', 'November', 'December'); var date = new Date(); var day = date.getDate(); var month = date.getMonth() + 1; var yy = date.getYear(); var year = (yy < 1000) ? yy + 1900 : yy; var display = $('#num').val() + " " + month + "/" + day + "/" + year + " " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds(); $('#display').html($('#display').html() + "<br/>" + display); Calculate(); }
function OpenPopUp() { setTimeout(function () { $(function () { $("#dialog").dialog({ width: 200, height: 200 }); $('#open').toggle(); $('#num').val(""); }); }, 500);}
function Calculate() { cnt += 1; sum += Number($('#num').val()); avg = sum / cnt; $('#open div:last-child').html("<b>Sum</b> - " + sum + "<br/> <b>Average</b> - " + avg);}</script></body></html>
101
APPENDIX C. VOTING QUESTIONNAIRE EXAMPLE
Choose the best logo for the company!
A start-up company requires a new logo. The company specializes in production and distribution of chocolate with messages for certain occasions on their package. For ex-ample: Thanksgiving chocolate, Chocolate for the doctor, Chocolate for the Boss, Chocol-ate for the new family member, Love chocolate, etc.
Please choose the best logo for the company.
Logo1
Logo2
Logo3
Logo4
Which logo do you like the best?
102