=Paper=
{{Paper
|id=Vol-445/paper-4
|storemode=property
|title=Current Research on the Design of Web 2.0 Applications Based on Model-Driven Approaches
|pdfUrl=https://ceur-ws.org/Vol-445/02icwe2008ws-iwwost04-bozzon.pdf
|volume=Vol-445
|dblpUrl=https://dblp.org/rec/conf/icwe/BozzonCFT08
}}
==Current Research on the Design of Web 2.0 Applications Based on Model-Driven Approaches==
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
Current Research on the Design of Web 2.0 Applications
Based on Model-Driven Approaches
Alessandro Bozzon, Sara Comai, Piero Fraternali, Massimo Tisi
Dipartimento di Elettronica ed Informazione, Politecnico di Milano, Milano – Italy
{bozzon, comai, fraterna, tisi}@elet.polimi.it
Abstract been proposed to address particular issues of a social appli-
cation design (e.g., [2, 4, 1]).
This paper presents our research activities on the design From a technological point of view richer interfaces are
of Web 2.0 applications currently ongoing at Politecnico di needed to improve user experience. Indeed, traditional
Milano. Our approaches are based on model-driven devel- HTML interfaces are showing their limits, compared to
opment techniques: in particular, they extend Web 1.0 mod- desktop applications, both in terms of content presentation
els to cope with the technological characteristics of the new and manipulation (HTML was designed for documents, not
applications and exploit design patterns to capture the de- GUIs, and multimedia support is limited) as well as in terms
sired behaviors. Two main research activities are presented, of interaction (server-side computation implies full page re-
considering two orthogonal issues of Web 2.0 applications: fresh at each user-generated event). Web 2.0 applications
the social and the technological aspects. Moreover, other demand a novel development paradigm [12], to overcome
ongoing research directions are outlined. such limitations: the technological answer is represented by
Rich Internet Applications (RIAs) [7, 6]. RIAs extend tradi-
tional Web architectures by allowing computation to be re-
liably partitioned between the client and the server; they are
1 Introduction an essential ingredient of the Web 2.0, because they blend
the best of Web-enabled and desktop architectures and ad-
The advent of the so-called Web 2.0 has shifted the focus dress core Web 2.0 requirements, like real-time collabora-
of Web application development towards a more prominent tion among users, sophisticated presentation and manipu-
role of the end-users, now considered as the critical success lation of multimedia content, and flexible human-machine
factor. Among the many facets of Web 2.0 in our research interaction (synchronous and asynchronous, connected and
at Politecnico di Milano we have considered both the social disconnected). As RIA adoption is growing, a multitude of
and the technological aspects. programming frameworks have been proposed to ease their
From a social point of view, we are witnessing a shift development (e.g., Flex, OpenLaszlo, Google Gears, Sil-
towards collaborative and community-based applications. verlight, AIR, Java Web Start, JavaFX, just to name a few).
Community-driven applications can be defined as Web ap- These increase productivity, but are bound to a specific tech-
plications targeted to a set of users (the community), pur- nology and therefore not easily portable across different
posely designed for encouraging the social interaction of platforms.
community members: content production and dissemina- In this paper we show how conceptual and platform-
tion, content processing (rating, categorization, transforma- independent models can be used in the design and devel-
tion), and inter-user relationship development. The success opment of Web 2.0 applications (considering both social
of Web 2.0 community-based applications depends on sev- and technological aspects), in the tradition of Model Driven
eral factors, some of which are immaterial: quality of con- Development (MDD). Compared to several frameworks ad-
tent, cohesion of interests, suitable mechanism for emer- dressing social issues and supporting specific RIA plat-
gence of outstanding contributions and contributors, which forms, our approach is technology-neutral and can be au-
add up to the well-known “traditional” criteria of usabil- tomatically converted into implementations in all the most
ity of the interface and global quality of the user’s experi- popular RIA technologies and frameworks.
ence. Many tools and algorithms have been developed for The envisioned development paradigm is based on the
addressing specific topics related to social network analy- extension of MDD approaches conceived for traditional
sis [13] and several frameworks, patterns and models have Web 1.0 applications and on the usage of design patterns.
19
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
For convenience, we will refer to the WebML [14] nota- Concept Front-end Back-end
Design Pattern Design Pattern
tion, but the considerations discussed in this paper apply to
Item Clustering Organization -
other Web engineering notations and methodologies that al- Browse by Tag
low the specification of the interface composition and navi- User Clustering Group Creation -
gation. Group Participation
The paper is organized as follows: Section 2 explains Item Relevance Rating Rel. Adjustment
Flagging
how social aspects have been integrated in our methodol-
User Reputation Social Visualization Rep. Adjustment
ogy. Section 3 gives an overview on the extensions of the Connections Relationship Setting -
WebML model to capture the technological features. Sec- Browse by Connection
tion 4 briefly describes other current research directions re- Scoring - Payment
lated to Web 2.0. Finally, Section 5 presents future trends Reward
Communication Talk Notification
and draws the conclusions. Recommendation
Invitation
Permissions Permission Setting Permission Check
2 Capturing Web 2.0 Social Features in Interoperability Exportation Syndication
WebML
Our research on Web 2.0 social features aims to inte- Table 1. Community-driven design patterns.
grate the social perspective typical of emerging Web 2.0 ap-
plications within a structured Web Engineering approach,
based on model-driven development. The result is a seam- content and the individuation of interesting items can be
less development paradigm that is capable of capturing both eased by providing the user with a group hierarchy. Secon-
conventional Web development issues (data storage, publi- darily, Item Clustering can be used by the community mem-
cation, management, Web service publication and invoca- bers, like any metadata, as further information to understand
tion, user profile management, etc.) and the essential de- the properties of a given item. While traditional Web appli-
sign patterns that appear in state of the art social Web 2.0 cations usually provide users with a standard classification
applications. Our current results comprise a set of classified (e.g., a hierarchy) for content items, most social application
model-driven design patterns for community-based Web ap- prefer to implement a collaborative approach to Item Clus-
plications, validated by means of an analysis of pattern oc- tering.
currence in top-ranking Web 2.0 social applications and the A general solution for collaborative Item Clustering is
extension of well-known Web development processes (i.e., the Organization front-end pattern [10]. The pattern is pro-
RUP [9] or WebML [14]) to incorporate activities specific posed together with several variants that describe different
to community-driven development. implementation mechanisms. One of the more common
To identify best practices in social Web applications we variants of the Organization pattern is the content tagging
analyzed ten of the most popular Web 2.0 community appli- variant. A tagging mechanism gives to the users the pos-
cations and distilled a number of recurring design patterns. sibility to associate freely chosen words with the shared
The analysis of the pattern set lead to the individuation of items and can be considered as an instance of the Orga-
nine core concepts that are the main focus of the social ac- nization pattern where any user determines the inclusion
tivities in Web 2.0 applications. Table 1 shows the design of each item into an implicit container associated with the
patterns grouped by their underlying social concept. Pat- tag. In general, tag containers are public and they can be
terns are further distinguished into front-end patterns and freely created by any community member. Figure 1 shows
back-end patterns: front-end patterns relate to the inter- the Organization pattern variant based on content tagging,
face for the community members to express their activity, expressed using the WebML notation.
back-end patterns reflect the system responses to member- Design patterns are not applied in isolation, but within
generated interaction. the framework of analysis and design activities forming the
The complete list of social features and relative patterns development process of a certain class of artifacts. Several
can be found in [10]. As a simple example, Item Clustering process schemes have been tailored to Web applications,
is the feature that allows to group in a Container Element starting from the more general notion of software life-cycle
items that share some common properties. Depending on model. We extended the WebML process [14] to cope with
the type of items, the Item Clustering feature is usually im- community-based Model-Driven development. In essence,
plemented allowing the user to create and manage photo the focus on community features affects both the require-
sets, content hierarchies, playlists, and so on. Item Clus- ments analysis phase, in which ad hoc functional require-
tering answers a twofold purpose. First of all, it provides ments stem from the goal of fostering community life, and
a structured access to content items: the browsing of shared design, where the data model must reflect the members pro-
20
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
Figure 1. Organization design pattern (Tagging variant).
file meta-data and the application design must incorporate users’ hierarchy consists simply of moderators and
the appropriate community patterns in the front-end and in contributors. Alternatively, in more structured commu-
the back-end. nities, the governance model could reflect some exist-
In the analysis of requirements of social Web applica- ing formal organization (e.g., a company’s hierarchy).
tions, community governance and social processes emerge
with a prominent role. Communication experts should iden- • Social behavior: another classification of users can be
tify the social processes needed to foster user participation: obtained by the observation of their participation: be-
which user activities are critical for the community, which haviors such as pioneers, killers, lurkers can be defined
strategies are due for community monitoring (e.g., moder- and help monitor the community’s status and plan re-
ation, codes of conduct), and what reward and reputation inforcement or corrective activities.
mechanism to install; social network experts, instead, de-
fine the abstract models that represent member relationships Besides users’ roles, the analyst should pinpoint the re-
and meaningful indicators for monitoring them, which will lationships that members can set-up (e.g., group creation,
allow community administrators to trace the community’s friend-of-a-friend linking, etc) and the degree of collabora-
trends and govern its evolution. Furthermore, the analysis tion they can establish (e.g., application sharing, invitation,
of requirements about users is expanded, to address multi- etc). Once user roles are identified under all the relevant
ple perspectives: perspectives and the allowed relationships are determined,
roles can be mapped into user types and associated to the
• Content management: as in conventional Web applica-
activities that each type is entitled to perform, including
tions, functional roles must be identified, e.g., by clas-
relationship-setting activities.
sifying users into stakeholders, administrators, editors,
In the design of Web applications, several tasks are af-
etc. The question is “who can read/update what?”.
fected by a community-driven focus: 1) the design of the
• Governance: social roles must be elicited. The ques- data model of the application should encompass the meta-
tion is: “who is controlled by whom?”. Different gov- data needed to reflect the members roles, relationships, pro-
ernance models may require alternative social roles: file data, and reward policies; 2) the design of the hypertext
democratic moderation relies on a shared code of con- front-end should integrate the selection of the navigation,
duct whereby every member can monitor others and contribution and social interaction pattern; 3) the design of
draw attention to violations. In such a system, the the hypertext back-end should comprise the back-end de-
21
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
sign patterns needed to support the supported social com- asynchronous, possibly bidirectional client-server commu-
munity governance and processes. nication. The proposed RIA model extends the WebML no-
Once the main design patterns are identified, the model- tation conceived for traditional data-intensive applications:
driven design of the Web application is guided by the pat- the same notation can be used both for Web 1.0 and Web
tern instantiation process and by the gradual integration of 2.0 applications.
the pattern instances. When WebML is used as the mod- A RIA application can be described by its structure and
eling language, the WebML models for the front-end and behavior. The former comprises a data model, which spec-
back-end can be directly obtained by instantiation and com- ifies the content objects underlying the applications, and an
position of the proposed patterns. interface model, which describes the front-end exposed to
As an example, the instantiation procedure of the Orga- the user. The latter is represented by a dynamic model that
nization pattern follows these subsequent steps: describes what happens when the user or other sources of
events interact with the application.
1. The units specified in the pattern and their connections Data distribution among client and server can be re-
are first instantiated in the page (e.g., into a page called flected by refining the data model in order to provide a de-
My Videos). The instantiation requires the use of a par- signer with entities and relationships to represent distributed
ticular entity (e.g. a Video entity) to perform the Item query execution: in RIAs, contents reside both on the server
role in the pattern. The role instantiation is usually re- and in the clients, in the form of main memory objects as-
flected by the data model where the role entity and in- sociated with the server/client applications both in terms of
stantiated entity are both included in the model, linked visibility and duration; persistent storage is provided, on the
by the means of a specialization relationship (e.g., the server, by means of standard mechanism (e.g., database, file
Video entity is a specialization of an abstract Item en- systems etc.), while, on the client, some technologies also
tity). allow the permanent storage of data for local (or offline)
application access. Data of RIA applications are therefore
2. The pattern is enriched by selecting the suitable data
characterized by two different dimensions: (1) the architec-
elements to show (e.g. the information attributes of the
tural tier of existence, which can be the server or the client,
current video in the Video DataUnit, typically Title,
and (2) the level of persistence, which can be permanent
Description and the Video itself).
or temporary. Figure 2 depicts an example of a RIA data
model: it represents a simplified version of a multimedia,
3. The pattern is integrated with other patterns and model
collaborative platform for the publication, sharing and dis-
elements to obtain the desired functionalities. For ex-
covery of contents produced by user’s communities. Graph-
ample, by design-time decision, the upload function-
ically, we mark client entities and relationships with a “C”
ality can be added to the My Videos page eventually
icon, and server elements with a “S” symbol; a filled icon
reusing suitable units of the pattern. Finally the page
denotes temporary persistence and a non-filled icon perma-
is integrated with the rest of the application with in-
nent persistence.
coming and outgoing hypertext links.
The entities/relationships on the left-hand side represent
The last phase is particularly delicate, as it can involve data persistently stored on the server, like in traditional Web
a high level of complexity, especially when the design re- applications. Content items are the main interaction ob-
quires merging several patterns in the same hypertext page. jects for the application: the MMItem entity represents con-
The definition of a formal procedure to address the WebML tent published on the platform (e.g., photos, videos or au-
pattern composition issues is one of our current research dio tracks), while the Member entity represents all applica-
topics. tion users. A self-relationship connects each user with his
friend list; members manage one or more Playlist, each one
aggregating a set of content items. A MMItem belongs to
3 Capturing RIA Technological Features in a given member and it is associated to one or more Tag and
WebML Comment instances, created by registered users. Data about
content items, playlists, comments and tags are persistently
Our works on the technological aspects of Web2.0 ap- stored also on the client, to allow disconnected usage of the
plications focused on the definition of a conceptual model application: while off-line, the user can process new items
that supports RIA application design, by abstracting from to upload on the platform, update his playlists, and man-
specific implementation technologies [3]; this model cap- age associated tags and comments. Reconciliation with the
tures the essential features offered by RIAs such as: dis- server can be triggered when he goes online.
tribution of computation and logic across client and server, As data model elements are partitioned considering the
temporal and persistent data storage at the client-side, and architectural tier of existence, a similar approach can be
22
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
NotificationFilter S 0:N Friend
Member S C
OID MMItem
QueryString
0:N Comment S
CreatedBy OID OID
FilterFileType 1:1 0:N Name OID Title
WrittenBy
Text
0:N Username 0:N 1:1 Description
Password Timestamp 0:N File 0:N
AddressedTo 0:N E-mail MMFileType
1:1
S 0:N UploadTS
Message
PublishedBy 0:N
OID
TimeStamp Contains
0:N 1:1 About
Subject S TaggedWith
Body MMItem About
OID 0:N 1:1
BelongsTo 0:N
Title
Description
Tag S 0:N Tag C Comment C
1:1 0:N
Playlist S
File OID Playlist C OID OID
TaggedWith
OID 0:N MMFileType Text OID Text Text
UploadTS 0:N 0:N Timestamp Timestamp Timestamp
Name Contains Name
Figure 2. Data model with permanent client and server Entities/Relationships.
used to mark interface model elements in order to distribute nisms, and the operations that may be triggered by the user
computation competencies across client and server. In par- using the provided interaction mechanisms. To this aim,
ticular, the designer should be able to specify how the com- we refined all the WebML concepts related to content pub-
putation of the page and of its content is distributed between lication and management with the explicit specification of
the client and the server, how distributed data are managed distribution between the server and the client: content and
(to minimize data transmissions), how and when replicated operation units, selectors, and ordering clauses can be de-
data are synchronized, etc. We therefore distinguish three fined either as server or as client, with some constraints
different aspects of interface modeling, each one related to on the possible combinations. Units contained in a server
a specific feature to represent: structural composition, con- page are computed by the server and are defined as server
tent publication, and content management. units, while units contained in a client page are computed
From the technological standpoint, RIAs have a different by the client (possibly invoking the server) and are defined
physical structure than traditional Web 1.0 applications: the as client units. For a client unit it is possible to: 1) publish
latter consist of multiple independent templates, processed or manipulate content locally stored at the client-side or (by
by the server and simply rendered by the client. RIAs, invoking the server) at the server-side (i.e., the reference en-
instead, typically consist of a single application “client- tity/relationship of the unit can be either a server or a client
container” (e.g., a Java applet or a FLASH movie), which one, persistent or temporary, as seen in the data model);
loads different data and components based on the user’s in- 2) have client-side selector conditions and/or server-side se-
teraction, Moreover, the structure of the interface consists lector conditions; the former are computed locally at the
of a topmost page (eventually contained into a traditional, client, whereas the latter are executed at the server-side.
server-computed HTML page) partitioned into peer-level 3) have client-side or server-side ordering clauses; the for-
sub-pages, independently calculated and rendered by the mer are computed locally at the client, whereas the latter are
client, possibly in collaboration with the server. As a con- executed at the server-side. Instead, server units are entirely
sequence, we design the structural composition of RIAs computed by the server and therefore cannot use client-side
by distinguish between two types of pages, classified into entity/relationships and cannot comprise client-side selec-
server pages (marked with a circled “S”, and represent- tors and ordering clauses.
ing traditional Web 1.0 pages, where content and presen- As in Web 1.0 applications all the computations per-
tation are calculated by the server, whereas rendering and formed by the server must rely only on data and operations
event detection are handled by the client) and client pages computable at the server side to cope with the asymmetric
(marked with a circled “C”, and representing pages incor- nature of the Web (where the client calls the server and not
porating content or logics managed – at least in part – by vice versa), in RIAs, instead, Web applications are allowed
the client). To reflect the complex, single-application shell to manage bidirectional communications in order to provide
structure of RIA applications, client pages can contain other advanced features like distributed event management. Pre-
client sub-pages. vious works [8] explored the implications and possibilities
For each page (or sub-page) the interface model speci- stemming from such capabilities but, due to space reasons,
fies the data to be shown, the available interaction mecha- we invite the reader to refer to the original paper.
23
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
C Content Navigation
Search Content Search Result Content Details
Keyword: String selItem: OID
g
trin
:S
pe
File Type Filter Ty
file
S MMItem S MMItem
[ S Title contains Keyword] [ S OID = selItem]
[ C MMFileType = fileType]
Figure 3. Example of RIA interface model.
Figure 3 shows an examples of RIAs interface models a portion of the interface of the application and to main-
based on the data model for the multimedia, collaborative tain unchanged all the pieces of information that are not af-
platform of Figure 2. The Content Navigation client page fected by the interaction, so that unneeded re-computation
contains two entry units: Search Content accepts a key- can be avoided. Dually, the interaction may cause some
word to be matched in the item’s title, while File Type Fil- pieces of content, which were previously displayed, to be
ter accepts its file type (e.g., audio, video). Both entry units deactivated or invalidated because they are no longer con-
are linked to the Search Result index unit, defined over the sistent with the rest of the page. The interface model pre-
server entity MMItem and provide the parameters to be used sented in the previous subsection has been extended in [5]
in the parametric conditions of the index unit (e.g., param- with the specification of the behavior required to support the
eter Keyword:string is used by the selector condition possible effects of user’s interaction, expressed as compu-
[Title contains Keyword]). Notice that the com- tation sequences activated in response to interaction events.
putation of the page is managed by the client: however, be- The proposed dynamic model associates each occurrence of
ing the Search Result defined over a server entity, the data interaction with the application (e.g., link navigation, Web
of the searched items are retrieved from the database server. service calls, temporal events, and data-driven events like
The query is then refined by the client, through the appli- data updates) with an ordered sequence of operators that
cation of the second, client selector condition, which filters allow to (re)compute or invalidate the content and the pa-
the retrieved instance without the need for a further server rameters (used in parametric selectors) of the units of the
request. The selection of a result from the list triggers the application.
calculation of the Content Details data unit, which retrieves
the data about the selected item from the server.
4 Other Research Directions
This example shows how the computation of the selec-
tors of the client index unit can be partitioned between the
server to comply with the trade-off between efficiency and Currently, we are working also on other research
usability of the designed functionality: server-side selec- projects, which can benefit from the Web 2.0 features.
tors allow reducing the data to be transmitted to the client, Within the European PHAROS project1 we are devel-
client-side selectors avoid to invoke the server for their com- oping an audio-visual Web search portal, permitting users
putation. Similar considerations apply also to the partition- to pose advanced queries to multi-media materials, access
ing of ordering clauses. results of queries using multi-modal and multi-channel in-
Further examples combining units defined over client terfaces, and personalize the search experience by saving
and server entities/relationships to exploit the client storage queries in a personal profile, so that they can be exploited
capacities are available in [3]. for asynchronous notification of new relevant audiovisual
information. This ongoing research demonstrates that the
While the data and interface model allow to represent
model-driven approach can help the design of such a com-
how content and data management can be distributed be-
plex application and the generation of code of sophisticated
tween the client and the server, the dynamic model explains
Rich Internet Application front-ends, typical of the multi-
what happens upon the interaction of the user or, possibly,
media portals of the future.
of other events (like, for example, Web service calls). Rich
Internet applications offer a very flexible runtime behavior: 1 Platform for searcHing of Audiovisual Resources across Online
they allow one to selectively (re)compute or refresh only Spaces – http://www.pharos-audiovisual-search.eu/
24
ICWE 2008 Workshops, 7th Int. Workshop on Web-Oriented Software Technologies – IWWOST 2008
We are addressing also the problem of defining a Web [5] S. Comai and G. T. Carughi. A behavioral model for rich
design process suitable for the multi-cultural audience of internet applications. In ICWE 2007, 2007.
a Web application in the globalization era [11]. Cultural [6] M. Driver, R. Valdes, and G. Phifer. Rich Internet Applica-
markers are defined as Web design elements and patterns tions Are the Next Evolution of the Web. Technical report,
that meet the preferences of a specific cultural group, due to Gartner, May 2005.
[7] J. Duhl. White paper: Rich Internet Applications. Technical
some influential cultural factor. We are studying a method- report, IDC, November 2003.
ology for identifying cultural markers, validating them by [8] G. Toffetti Carughi et al. Modeling distributed events in
user testing and turning them into design guidelines. data-intensive rich internet applications. In WISE 2007,
pages 593–602, 2007.
5 Future Trends and Conclusions [9] I. Jacobson, G. Booch, and J. Rumbaugh. The unified soft-
ware development process. Addison-Wesley Longman Pub-
lishing Co., Inc., Boston, MA, USA, 1999.
In this paper we have presented some research directions [10] P. Fraternali and M. Tisi. Building community-based Web
ongoing at Politecnico di Milano on Web 2.0 applications, applications with a Model-Driven approach and design pat-
mainly focussing on the social and the technological aspects terns [Submitted]. IGI Global, 2008.
of Web 2.0. The two aspects are orthogonal and in the de- [11] P. Fraternali and M. Tisi. Identifying Cultural Markers for
sign of an application including both of them, they can be Web Application Design Targeted to a Multi-Cultural Audi-
considered in different steps: for example, first the design of ence. In ICWE2008, 2008.
the application including the patterns for the social aspects [12] Preciado, J.C. et al. Necessity of methodologies to model
can be defined, then it can be refined with the extensions Rich Internet Applications. In WSE 2005, pages 7–13,
September 2005.
proposed for implementing the application in a RIA plat-
[13] J. Preece. Online Communities: Designing Usability and
form. Supporting Socialbilty. John Wiley & Sons, Inc., New York,
We believe that in the future social Web applications will NY, USA, 2000.
be more and more integrated in conventional Web applica- [14] S. Ceri et al. Designing Data-Intensive Web Applications.
tions: we foresee that in the next years companies will start Morgan Kaufmann Publishers Inc., 2002.
integrating also social features in their B2C portals, organi-
zations will foster user generated content and peer to peer
interaction in their Intranets, and so on. As far as the tech-
nological aspects are concerned, the current trend is already
showing an increasing supply of new tools and several new
Web applications are adopting the new technologies. How-
ever, the focus of the available tools is on the implementa-
tion of the applications for a specific framework/platform.
We believe that the integration of traditional model-
driven Web Engineering methods supporting conventional
Web development issues (data storage, publication, man-
agement, Web service publication and invocation, user pro-
file management, etc.) with RIAs and social Web 2.0 char-
acteristics is an essential factor for supporting the devel-
opment of well-crafted, maintainable, usable, and socially
effective Web 2.0 applications.
References
[1] Welie Interaction Pattern Library.
http://www.welie.com/patterns/.
[2] J. Bishop. Increasing participation in online communities:
A framework for human-computer interaction. Comput.
Hum. Behav., 23(4):1881–1893, 2007.
[3] A. Bozzon, S. Comai, P. Fraternali, and G. Toffetti Carughi.
Conceptual modeling and code generation for Rich Internet
Applications. In ICWE, pages 353–360, 2006.
[4] R. Cheng and J. Vassileva. User- and community-
adaptive rewards mechanism for sustainable online commu-
nity. pages 332–336. 2005.
25