SlideShare a Scribd company logo
1 of 14
Download to read offline
Personal dashboards for individual learning and
            project awareness in social software engineering

      Wolfgang Reinhardt, University of Paderborn, Germany – wolle@upb.de
       Sebastian Nuhn, University of Paderborn, Germany – spider@upb.de
Abstract
Software is created by people, with people, and for people. These people work in
ever-changing environments, they have their particular backgrounds and act under
different conditions. The successful work in such teams of developers requires
regular learning as well as high dimension of coordination, communication, and
collaboration of the developers. To facilitate the cooperative work and individual
learning of those teams many synchronous and asynchronous tools, focusing on the
re-establishment of shared content and context are available. Those cooperative
development environments (CDE) are most often made to support single projects.
We introduced eCopSoft as a solution approach to overcome organizational and
usability issues for developers in social software engineering teams. eCopSoft’s
main desire is to support the individual developer in being more aware of actions and
tasks in his multiple projects and thus to improve individual learning opportunities
with the developers. eCopSoft provides customizable interfaces that connect data
from multiple projects and relevant information resources from outside the project,
hence serving as PWLE (Personal Working & Learning Environment). Furthermore
eCopSoft tries to enrich the project’s artifacts with additional metadata to expose the
connections between artifacts and developers from different data sources or
projects. In this paper we introduce the concept and prototypical implementation of
three types of dashboards: a) a community dashboard, b) a project dashboard, and
c) a my-eCopSoft dashboard that are to enhance the project and user awareness in
software teams. A dashboard is a software application that is able for hosting
multiple single-purpose mini applications. The developed dashboard concept is
geared to existing web dashboard approaches but as existing approaches did not fit
to the eCopSoft environment we decided to design and implement an own
dashboard based on an existing Adobe Flex codebase. Our dashboards are
designed to be executable in the browser and on the desktop using Adobe’s Flex
and AIR technologies. Doing this, it becomes feasible to synchronize the states and
views of the dashboards between the Web and the local version, maintaining the
work context of a learner. For learners in this enables context consistency across the
borders of applications and furthermore enhances group and artifact awareness
within the group of developers.
1.      Introduction
The requirements for software solutions are constantly increasing. Both the technical
tasks as well as the internal qualities of the software must always meet higher
requirements. The development of modern software systems is a complex process
that is executed almost exclusively in cooperative software development teams no
matter whether the development takes place in companies, in university
environments or in open source applications. Within the development team the
technical, social and cultural backgrounds of members vary. As Altmann and
Pomberger (1999) point out, the cooperation within such teams and between the
team and other projects is one of the decisive factors for the success of a
project. The formation and coordination of teams is a difficult task, in which the
communication amongst and awareness about the project and the team members
are important.
The successful work in a development teams requires a high level of coordination,
communication, and cooperation of the developers. The size of teams varies from
small local groups to large globally distributed communities. As technical support for
the partially spatially and temporally separated working teams, different applications
are used. Booch and Brown (2003) classified those so-called collaborative
development environments (CDEs) and point out that these applications support
both, synchronous and asynchronous work but are often designed to only support
one single project. On the one hand, it is therefore necessary that new application
instances must be created for each new project. On the other hand, correlations
between different projects cannot be displayed. In addition, the artifacts of the
different applications within a project are seldom explicitly linked with each other.
This fact negatively influences the awareness of developers and project
artifacts. Through the above-mentioned problems with existing software solutions
used for software development, the transparency of the development process, the
awareness about people, processes and artifacts as well as the organization of the
teams is not supported properly.
In this paper we introduce a concept for three awareness dashboards tempting to
overcome these limitations and providing a customizable Personal Learning and
Working Environment interfacing our community-embedded collaborative
development environment (CCDE) eCopSoft (Reinhardt and Rinne, 2010). The main
endeavor of the dashboards is to enhance awareness within software development
projects, to support developers with a more compendious overview about their work
contexts and co-workers and finally to leverage communication and cooperation
within social software engineering projects.
2.      Informal learning in social software engineering projects
The term social software engineering denotes both the engineering process of so
called social software and the software engineering within social relationship in
collaborative teams. For this paper the latter denotation is the focus of interest.
Studies show, that the main part of today’s software engineering is carried out in
teams, requiring many social interactions between the people involved in a project
(Jones, 1986, DeMarco and Lister, 1987, Ahmadi, 2008). Social activity thus
represents a substantial part of the daily work of a developer. Whereas network
structures in social networking sites (SNSs) mainly emerge by adding explicit
friendship connections between users, social networks in software engineering
mainly result from artifact-based sociality (see Knorr-Cetina’s (1997) effectuations
regarding sociality with objects). Developers do not just communicate with each
other – they connect through shared artifacts that may serve as boundary objects
(Star and Griesemer, 1989) to connect several communities. The social connections
normally exist only within a project even though many of the used artifacts come
from outside of the project. The consulted domain specific experts often do not
reside within the own organization, but in other communities. Learning thus takes
place in a personal learning network comprising domain expert, fellow developers
and relevant artifacts such as matured source code, examples, documents, and
other objects. Koper and Sloep (2003) as well as Siemens (2005) emphasize the
importance of learning in such connected learning networks.
In the last 15 years the social side of software engineering moved more and more in
the focus of research after software engineering be solely regarded as a domain of
technical interest. Research focused on optimization of data structures, algorithms
and software to support the developmental processes. The engineering process was
often regarded as a knowledge management project, where knowledge could be
shifted from one project to another, from one developer to his fellows. But Nonaka et
al. (2001) prod to the fact that “you cannot store knowledge“ because knowledge is a
rational capacity and not a transferable item. Nevertheless, the social interaction
between individuals in the process, where the developer is centered in the
development process and surrounded by eventually more knowledgeable peers
(Vygotsky, 1978) was long underestimated. Nowadays it became more obvious, that
the informal learning activities during water cooler talks and other ad-hoc
communications, in reciprocal help with upcoming issues and unofficial personal
relations are the situations where learning takes place in software engineering and
other learning systems. Informal learning is characterized as a process that does not
follow a specified curriculum but rather happens by accident, sporadically and
naturally during daily interactions and shared relationships. Cross (2006) shows that
the majority of individual learning is informal and happens when tacit knowledge
(Polyani, 1966) of an individual is communicated to another person, which cognizes,
interprets and internalizes the data and thus expands his own knowledge (see also
Nonaka and Takeushi, 1995).
Examples of such informal learning situations within social software engineering
projects are spontaneous meetings, short messages, phone calls but also
asynchronous communication like entries in bulletin boards, comments in source
code or comments in blogs. As hardly any formal training for developers takes place,
in software engineering informal learning is the only way to stay up to date. Previous
approaches for supporting ad hoc communication focus on intra-project
improvements and do not include experts from outside the project (Robillard, 1999).
Connecting with others, using artifacts and people from outside the own project –
and thus profit by the power of one’s learning network – seem to be a crucial factor
in supporting learning within a project (Siemens, 2005, Downes, 2005). The PLE
approach to facilitating user-centered, self-directed and reflective learning marks a
major shift from traditional institutional learning and has gained a lot of attention and
has matured in recent years. In PLEs learners are connecting with people and
resources of their choice, relevant for the individual learning goals and knowledge
deficits.
Regardless of the ambiguous definitions of knowledge and the claims for necessity
and importance for knowledge management, software engineering is a dynamic
process, which is reliant on latest know-what and know-how in the subject domain.
This knowledge evolves with technology, organizational culture and changing needs
of both the individual and the organization (Aurum, Daneshgar, Ward, 2008).
Knowledge management in software engineering can be improved by recognizing
the need for informal communication, perennial learning and interchange of data in
order to support the exchange of implicit knowledge amongst developers. Personal
Learning and Working Environments (PLWEs) thus should support awareness of
projects and fellow developers, allow for easy interaction with co-workers. Moreover,
PLWEs should support sharing of implicit knowledge and foster informal, ad hoc
exchange of short messages (Robillard and Robillard, 2000, Reinhardt, 2009) as
well as facilitating inter-project social networks in form of communities of interest.
Following one of the main PLE ideas (Wilson 2005, Educause, 2009) the user
interface for learners (developers) should be customizable and not limited with
regards to the composition and configuration of the content. For us, a combination
between web-based dashboard and desktop application with single-purpose mini-
applications that can be freely arranged and configured is a suitable approach for
supporting the request for user-centeredness and self-directed composition of
learning environments.


3.      Theoretical foundation, solution concept and implementation of
eCopSoft dashboards
In the context of a student research project at the Computer Science Education
group at the University of Paderborn, the eCopSoft platform was created. eCopSoft
is a collaborative, event-based multi-project software development platform
incorporating various tools for coordination, cooperation and communication
between software development teams. Belonging to these tools is a community
application with bulletin boards, blogs, wiki and groups, an issue tracking system, a
version control system and a wiki. The eCopSoft platform facilitates the
organizational efforts by providing developers a one-click-deployment of new
projects with all the means for communication and cooperation that they desire
(Reinhardt and Rinne, 2010). The data from the single tools and projects are stored
in various semantic and relational databases and need to be provided to the user in
an understandable and easily to use system. The goal of the eCopSoft dashboards
is to combine the system-wide distributed data and to provide the developer with a
central access point to the stored data in order to enhance his project awareness
and ease his work. The customizable dashboards thereby allow the developer to
decide what data is display. The scope for visualization can be one single project or
aggregated data from multiple projects.
3.1     Dashboards to support learning and awareness in mashup environments
The concept of eCopSoft dashboards is based on the ideas of the Personal Learning
Environment (PLE) and the concepts of mashups. In the following we introduce two
established Web-based platforms, which already have been successfully integrated
dashboards. The aim is to derive properties from the existing systems that serve as
requirements for this concept. In IT systems, a dashboard represents an executive
information system user interface, usually comprising multiple single-purpose mini-
applications that are designed to be easy to handle and to allow comprehensive
customization. Following Sorenson (2002) most dashboards integrate “information
from multiple components into a unified display” following the now mainstream
design pattern of mashups.
The first examined platform is SourceForge1. SourceForge is a proprietary, free-to-
use platform for collaborative software development projects, whose aim is to
support teams of software developers with tools for software development in various
fields. SourceForge provides dashboards in the user and in the project area. Widgets
that can be placed within the dashboard visualize specific data from the respective
information sources. Available widgets are selectable from a shelf at the top of the
dashboard. Widgets in the project area are primarily visualizing data from the
available software development tools of the project. In contrast, user area widgets
are providing cross-project or general data of the SourceForge platform. The
developer decides what widgets are shown in the respective areas by enabling or


1
    http://sourceforge.net/
disabling individual widgets. The two dashboard areas are supporting the developer
in the process of keeping track of his various projects. The division of the dashboard
into different areas such as project and user area flows into the concept of the
eCopSoft dashboard.
The second examined platform is iGoogle2. The central feature of the platform is to
encapsulate information and services from various sources in the so-called gadgets
that are provided to the user within its dashboards. Similar to the SourceForge
platform, the gadgets can be selected from a directory service and be placed within
the three-column iGoogle Dashboards by the user. Noteworthy is the easy authoring
of new gadgets for iGoogle. This is made possible by a three-component gadget
architecture that allows the developer to develop and publish new gadgets with
common techniques such as XML, JavaScript and HTML. In addition to a web-based
runtime environment, iGoogle offers also a desktop runtime environment for
Windows and Linux. Decoupling the gadgets of the Web-based platform gives users
a highly flexible tool to embed the latest information within their individual working
environment. This idea also flows into the concept of the eCopSoft dashboard.
As iGoogle already provides essential characteristics of the desired eCopSoft
dashboards one could be suggesting building on this platform. At time of writing,
Google only supports the development of iGoogle gadgets; an adaptation of the
runtime environment for the eCopSoft platform is currently not possible. Google
currently offers integration capabilities for gadgets in their own websites and projects
but this is limited to viewing those gadgets. For now, there is no runtime environment
available, which makes it possible to arrange these gadgets within the own project,
or to allow a communication between the gadgets. Moreover, the SourceForge
dashboards can only be used within the proprietary framework of their webpage.
Those circumstances require that a new dashboard concept be designed for the
application within the eCopSoft platform.
3.2    Solution concept
Based on these findings, further requirements on the eCopSoft dashboards are
specified in the following section. To avoid confusion with existing dashboards
approaches and the used terms widget3 and gadget, a mini-application within our
dashboard is called a pod. A pod prepares data from a data source and displays this
data within the dashboard. The eCopSoft dashboard should support developers
taking part in multiple projects simultaneously with a condensed view on their
working activities and their professional networks comprising people and artifacts.
Doing so the dashboard shall ease the cognitive load during re-contextualization and
re-focusing on new tasks and contexts and simplifying cross-project networking and
sharing.




2
 http://www.google.com/ig
3
  Besides the usage of the term within the SourceForge platform, the term widget is
often related to a W3C specification for a client-side application that is authored
using Web standards, packaged into a zip archive together with a configuration file
and executable in web documents (see the W3C specification at
http://www.w3.org/TR/widgets/.
3.2.1 Extensibility
The idea of the eCopSoft dashboard is to provide a central information point for
members of the eCopSoft community. In its current implementation eCopSoft
provides applications like wiki, issues tracker, project mail, and version control. The
data from these sources are shown in eCopSoft dashboard. In future increments the
platform will be extended by additional services like blogs and microblogs or social
bookmarking. Data from those services should also be accessible within the
dashboard and custom pods shall be made available. A simple pod deployment is
therefore one of the key requirements of the eCopSoft dashboards and will
significantly contribute to its extensibility. The extensibility of eCopSoft dashboards is
further relevant as pods should not only display data from within the platform but also
external data from data sources outside eCopSoft (e.g. calendar data, RSS).

3.2.2 Flexibility
In the fashion of the SourceForge platform, the eCopSoft dashboards should be
available for different objectives. In the first prototypical implementation we will
realize the following three dashboard types:
    • A community dashboard,
    • A project dashboards, and
    • A user-centered dashboard called my-eCopSoft.
The dashboards make different demands on their runtime environment and provide
different pods that can be used.

3.2.3 Customizability
A PLE should be individually customizable to support the informal learning process
of the user as much as possible. This refers not only to graphical design and
changing colors, but also to the information to be displayed, their arrangement and
level of detail. The user-specific settings should be stored on the server. Following
the stateless client design pattern, the state of the eCopSoft dashboard should be
recovered from the latest stored settings file whenever a user comes back to his
dashboard. The dashboard configuration should be stored for all previously
mentioned dashboards.

3.2.4 Communication
Derived from the above-mentioned earlier dashboard systems, in particular the
architecture of the iGoogle gadget and its runtime environment, the eCopSoft
dashboard architecture will comprise the following components:
    • The eCopSoft dashboards as runtime environment,
    • Pods as mini-applications, and
    • Data sources for the pods within the eCopSoft server.
Table 1 lists the conceptual communication between the three components. The
following discusses the communication between different dashboards and on
communication between pods.
3.3   Architectural design and implementation of the solution
The architectural concept of the eCopSoft dashboards is based on two basic
components that are divided into modules. Following the client-server-principle one
module is used as data source and the other as data consumer. The respective
communication pairs and their positioning within the basic components are shown in
Figure 1.



Table 1:      Conceptual communication possibilities between             the   central
              components of the eCopSoft dashboard concept
              community    my-         project      desktop      pod       eCopSoft
              dashboard    eCopSoft    dashboard    dashboard              server
                           dashboard
community                                                                     
dashboard
my-eCopSoft                                                                   
dashboard
project                                                                      
dashboard
desktop                                                                     
dashboard
pod                                                                       
eCopSoft                                                         
server




Figure 1:     Schematic overview of the client-server architecture

The first basic component is the Dashboard-Manager, whose responsibility is to
manage the pods within the dashboard area and to visualize the dashboard for the
client. The second basic component is the pod itself. A pod visualizes data from any
data source and provides them to the user. The modular design ensures scalability
of the system. Complex calculations can be performed server-side to spare the
resources of the client. The pod is connected to the server via its server-side living
pod adapter.
The main task of the Dashboard-Manager is to manage the pods and to arrange
them within the dashboards. Additionally, it coordinates and controls the data flow
between the dashboards and the server and is thus in charge of exerting the
communication between the components (see Table 1). The information referred to
in Section 3.2.2 are represented by classes of dashboards, whose specific tasks ill
be explained below:
    • Dashboard class projectweb: each user of the eCopSoft system can participate
       in multiple projects. The purpose of this dashboard class is to provide the
       developer with information from a selected project. It mainly serves pods that
       rely on project-specific data, for example open tickets in the current project,
       the latest wiki entries or contacting other project members.
    • Dashboard class projectdesktop: This dashboard class represents an addition to
       the projectweb class. This dashboard allows interacting with project-specific
       data on the desktop of the user.
    • Dashboard class communityweb: In order to provide a centralized, user-
       independent and cross-project information point to the users of the eCopSoft
       platform this dashboard class is necessary. The pods within this class are
       visualizing data like new members, latest wiki changes, new projects and calls
       for participation.
    • Dashboard class my-eCopSoft: The purpose of this class dashboard is to
       provide developers with a central place in which to cross-project information is
       presented. For example an issue pod aggregates the issues from all projects
       the user is assigned to.
The dashboard manager takes the following tasks for each dashboard class:
    • Initializing the dashboard,
    • Adding and removing pods,
    • Customizing the dashboards,
    • Assuring pod-to-pod communication, and
    • Assuring dashboard-to-dashboard communication.

3.3.1 Initializing the dashboard
During the initialization of the eCopSoft dashboards, the Dashboard-Manager is
looking for the following parameters: (1) URI of the dashboard adapter, (2)
dashboard class, (3) user name, (4) user password, (5) name of the project. The first
parameter is used for the connection between Dashboard-Manager and dashboard
adapter. Depending on the dashboard class the initialization is performed. To
generate the dashboard interface the Dashboard-Manager needs information
describing which pods are loaded into the single views and where the pods are to be
place in the respective view. The server-side dashboard adapter manages this
information. Using the dashboard class, the corresponding configuration file from the
server-side dashboard adapter is located and its content is transferred to the
Dashboard-Manager. During the initialization of the dashboards different containers
within the Dashboard-Manager are filled with content. Figure 2 depicts the containers
and their respective components.




Figure 2:     Containers in the Dashboard-Manager and their components

View-Container
To meet the requirements of Section 3.2.3 for a customizable surface, the view
container provides basic operations for the arrangement of pods. These include the
administration of maximized and minimized pods within a view and the positioning of
the pods within the surface. Moreover, it is possible to semantically group pods in
views. Multiple views are visualized as tabs in the dashboard, allowing the easy
extension of the dashboards. Each view container is filled with pods and a pod
container surrounds each pod.

Pod-Container
Each pod is providing a basic set of functionalities that are needed for the realization
of the eCopSoft dashboard. Amongst them are (1) minimizing, maximizing and
closing of pods, (2) restoring of minimized pods, (3) loading of a pod in the view
container and (4) calculating the size and location of a pod within a view.
During the initialization of the eCopSoft dashboards, each pod-container is assigned
to one view-container
If any of the above-mentioned basic functions of the pod-container is called, the
associated view container is being updated. Depending on the function it performed
all other pods within the same view are updated. If for example, a pod container is
minimized or closed then the view-container calculates the size of the cells and re-
adjusts the size of the other pods (cf. Figure 3). Once the container is initialized with
the basic information, the actual pods in the pod container are loaded and the user
can use the dashboard.

3.3.2 Pod-to-pod communication
In addition to the initialization, the Dashboard-Manger secures communication
between active pods within the eCopSoft dashboards. Therefore, the Dashboard-
Manager provides an interface that accepts pod events and broadcasts those events
to all active pods within the dashboards. The components of pod events are: (1) the
event-source-PID, (2) the event type and (3) additional event information. The event-
source-PID is set by the producing pod and serves as unique identifier of the
pod. Using the event type, the receiving pod determines whether it responds to the
received event or not. The event information contains information about the pod
event and is stored as key value pairs. Using this information the producing pod can
define what actions the receiving pods should be executing.




Figure 3:    Adjustment of the visible cells in the dashboard after the closing of a
             pod




Figure 4:    Distribution of events between pods

3.3.1 Dashboard-to-dashboard communication
One key requirement of the eCopSoft dashboard concept is to provide dashboards
for both the Web platform as well as for the desktop. The dashboard classes
projectweb and projectdesktop realize this requirement and may be synchronized with
each other. This is made possible through a synchronizer, which is integrated in both
dashboards. The task of the synchronizers is to share events between the partnering
dashboards and to execute the related tasks. To synchronize the dashboards, both
dashboards need to connect with each other. Regardless of the technology used, it
can proceed as follows:
The projectdesktop dashboard on the user’s device provides a predefined service
endpoint. The projectweb dashboard then connects to this endpoint. During
connection, the dynamic service endpoint of the projectweb is transmitted to the
desktop dashboard. At the time of the connection the dashboards can exchange
data bidirectional. Regarding the synchronized events the concept supports the
following operations:
    • Matching the key-value pairs of a pod,
    • Minimizing, maximizing and closing of a pod,
    • Changing the position of a pod,
    • Adding and deleting of pods from a dashboard.
3.4    Implementation
The proposed concept of eCopSoft dashboards was implemented as a prototype
and integrated in the eCopSoft platform (see Reinhardt and Rinne (2010) for more
information about the implementation of the eCopSoft server). The server-side
components are implemented as Java OSGI bundles. The client-side components
are developed with Adobe Flex 44. Flex allows the easy integration of the dashboard
in the PHP-based interface of the eCopSoft platform. On the other hand Flex offers
the possibility to easily provide the eCopSoft dashboards as desktop application. The
dashboard manager was built on top of the modified and extended Flex 3 dashboard
WASI5 that already implemented the basic functions of the proposed eCopSoft
dashboards. Table 2 shows, which features were modified in the existing
implementation and added during our implementation.

Table 2:       Modified and added functions of the Flex-based WASI dashboard
                        function               modified   added
                        prepare views            
                        prepare pods             
                        layout pods              
                        drag & drop pods         
                        minimize pods            
                        maximize pods            
                        close pods                            
                        save          pod                     
                        configuration
                        save views                            
                        create views                          
                        dynamically     load                  
                        pods


The Web-based dashboards are implemented as Flex 4 applications (see Figure 5
for a screenshot). The desktop dashboard is a derivation of the Web-based
dashboards with many reworking and developed using the Adobe AIR runtime. The
synchronization between the desktop and web dashboards is implemented using the

4
    http://www.adobe.com/products/flex/
5
    http://www.adobe.com/devnet/flex/samples/dashboard/dashboard.html
Flash concept of LocalConnections. For now the following events are synchronized
between the two dashboards: (1) adding new pods, (2) minimizing a pod, (3)
restoring a pod and (4) closing a pod.
5.    Recapitulation and application possibilities
In this paper we introduced a dashboard concept for the community-embedded
collaborative development environment eCopSoft whose main goal is to support
developers in keeping track about their activities in multiple projects and thus
enhancing the overall person and project awareness. Following the goals on
Personal Learning Environments and taking into account existing dashboard
implementations we implemented a Flex-based Web dashboard that synchronizes its
configuration with a desktop equivalent and thus minimizing the developers need to
re-contextualizing when changing his working environment. The dashboards were
integrated into the eCopSoft server and tested during the student research project
eCopSoft. The tests showed that the prototypical implementation got well accepted
and enhanced developers overall overview about their cross-project tasks and
connections between fellow developers and other projects. On the other hand the
tests also revealed room for conceptual and developmental makeover of the solution
especially regarding stability and synchronization between the dashboards.
Figure 5:    Web-based project dashboard for the project TightVNC showing a
             member pod and a ticket pod




Figure 6:    Synchronized desktop dashboard for the project TightVNC showing a
             member pod and a ticket pod


6.     References
Ahmadi, N., Jazayeri, M., Lelli, F. and Nescic, S. 2008. A survey of social software
engineering. Proceedings of 23rd IEEE/ACM International Conference on Automated
Software Engineering - Workshops, pages 1–12.
Altmann, J. and Pomberger, G. 1999. Cooperative Software Development:
Concepts, Model and Tools. In Firesmith, D. and Riehle, R. and Pour, G. and Meyer,
B. (eds.) Tools 30:194 et seq.
Aurum, A., Daneshgar, F. and Ward, J. 2008. Investigating Knowledge Management
practices in software development organisations – An Australian experience.
Information and Software Technology, 50:511-533.
Booch, G. and Brown, A. W. 2003. Collaborative development environments.
Advances in Computers, 59:2–29.
Cross, J. 2006. Informal Learning – Rediscovering the Pathways that inspire
innovation and performance. Pfeiffer.
DeMarco, T. and Lister, T. 1987. Peopleware: productive projects and teams. Dorset
House Publishing, New York.
Downes, S. 2005. E-learning 2.0. ACM eLearn Magazine, 2005(10).
Educause Learning Initiative. 2009. 7 things you should know about … Personal
Learning Environments.
Jones, C. 1986. Programming productivity. McGraw-Hill, New York.
Knorr-Cetina, K. 1997. Sociality with Objects: Social Relations in Postsocial
Knowledge Societies. Theory, Culture & Society, 14(4):1-30, 1997
Koper, R. and Sloep, P. 2003. Learning Networks - connecting people,
organizations, autonomous agents and learning resources to establish the
emergence of effective lifelong learning. Programme plan, Open University of the
Netherlands.
Nonaka, I. and Takeuchi, H. 1995. The Knowledge Creating Company: How
Japanese Companies Create the Dynamics of Innovation. Oxford University Press.
Nonaka, I. et al. 2001. Emergence of “Ba”. Knowledge Emergence.
Polyani, M. 1966. The Tacit Dimension. Routledge & Kegan Paul, London.
Reinhardt, W. 2009: Communication is the key – Support Durable Knowledge
Sharing in Software Engineering by Microblogging. Proceedings of Software
Engineering 2009.
Reinhardt, W. and Rinne, S. 2010. An architecture to support learning, awareness,
and transparency in social software engineering. In Ebner, M. and Klamma, R. and
Schaffert, S. (eds.) International Journal of Emerging Technologies in Learning
(iJET): Special Issue: ICL2009 - MashUps for Learning, 5.
Sorenson,        M.      2002.      Dictionary      definition   of     dashboards.
http://searchcio.techtarget.com/sDefinition/0,,sid182_gci804078,00.html
Robillard, P. N. 1999. The role of knowledge management in software development.
Communications of the ACM, 42(1):87-94.
Robillard, P. N. and Robillard, M. P. 2000. Types of collaborative work in software
engineering. Journal of Systems and Software, 53(3):219–224.
Siemens, G. 2005. Connectivism: A learning theory for the digital age. International
Journal of Instructional Technology and Distance Learning, 2(1):3–10.
Star, S. L. and Griesemer, J. R. 1989. Institutional ecology, ’translations’ and
boundary objects: Amateurs and professionals in Berkeley’s museum of vertebrate
zoology. Social Studies of Science, 19(3):387–420.
Vygotsky, L.S. 1962. Thought and Language. Cambridge University Press.
Vygotsky, L.S. 1978. Mind and society: The development of higher mental
processes. Harvard University Press.
Wilson, S. 2005. Architecture of Virtual Spaces and the Future of VLEs.
http://zope.cetis.ac.uk/members/scott/resources/itslearning.ppt

More Related Content

What's hot

Compile version communication in consruction
Compile version communication in consructionCompile version communication in consruction
Compile version communication in consructionYap Xin
 
Hcm p137 hilliges
Hcm p137 hilligesHcm p137 hilliges
Hcm p137 hilligesokeee
 
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Margaret-Anne Storey
 
Integrating agile software development and user-centered design
Integrating agile software development and user-centered designIntegrating agile software development and user-centered design
Integrating agile software development and user-centered designMüller-Birn Claudia
 
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...Dr. Vidya Priya Rao, Founder
 
2011 04-04 (educon2011) emadrid grobles urjc new trends from libre software t...
2011 04-04 (educon2011) emadrid grobles urjc new trends from libre software t...2011 04-04 (educon2011) emadrid grobles urjc new trends from libre software t...
2011 04-04 (educon2011) emadrid grobles urjc new trends from libre software t...eMadrid network
 
Prem chandran Masters Interaction Design Thesis
Prem chandran Masters Interaction Design ThesisPrem chandran Masters Interaction Design Thesis
Prem chandran Masters Interaction Design ThesisPrem Chandran
 
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools Nathalie Reid
 
2015-11-11 research seminar
2015-11-11 research seminar2015-11-11 research seminar
2015-11-11 research seminarifi8106tlu
 
Presenting constructive design research as a doctoral dissertation
Presenting constructive design research as a doctoral dissertationPresenting constructive design research as a doctoral dissertation
Presenting constructive design research as a doctoral dissertationHans Põldoja
 
Nciia 2009 Delcore Mehta Speer
Nciia 2009 Delcore Mehta SpeerNciia 2009 Delcore Mehta Speer
Nciia 2009 Delcore Mehta Speerhdelcore
 
Peer d7 assessment workshop methodology
Peer d7 assessment workshop methodologyPeer d7 assessment workshop methodology
Peer d7 assessment workshop methodologyMaria Schwarz-Woelzl
 
Twelve lessons to Develop and Sustain Online Knowledge Communities
Twelve lessons to Develop and Sustain Online Knowledge CommunitiesTwelve lessons to Develop and Sustain Online Knowledge Communities
Twelve lessons to Develop and Sustain Online Knowledge CommunitiesJose Claudio Terra
 
FSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projectsFSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projectsMassimiliano Di Penta
 
Digital Capabilities: Where people and technology intersect
Digital Capabilities: Where people and technology intersectDigital Capabilities: Where people and technology intersect
Digital Capabilities: Where people and technology intersectAnne Bartlett-Bragg
 
Linking Technologists And Humanitarians
Linking Technologists And HumanitariansLinking Technologists And Humanitarians
Linking Technologists And Humanitarianshtepper
 
Virtual Communities of Practice – does technology make a difference?
Virtual Communities of Practice – does technology make a difference?Virtual Communities of Practice – does technology make a difference?
Virtual Communities of Practice – does technology make a difference?Paul Penfold
 
Leveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-developmentLeveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-developmentDimitris Panagiotou
 
User Centred Requirements Processes in MATURE: The Big Picture
User Centred Requirements Processes in MATURE: The Big PictureUser Centred Requirements Processes in MATURE: The Big Picture
User Centred Requirements Processes in MATURE: The Big PictureAndreas Schmidt
 

What's hot (20)

Compile version communication in consruction
Compile version communication in consructionCompile version communication in consruction
Compile version communication in consruction
 
Hcm p137 hilliges
Hcm p137 hilligesHcm p137 hilliges
Hcm p137 hilliges
 
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
Towards the Social Programmer (MSR 2012 Keynote by M. Storey)
 
Integrating agile software development and user-centered design
Integrating agile software development and user-centered designIntegrating agile software development and user-centered design
Integrating agile software development and user-centered design
 
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
Effective Remote Design Thinking: A Basic Essential For Global Companies To D...
 
2011 04-04 (educon2011) emadrid grobles urjc new trends from libre software t...
2011 04-04 (educon2011) emadrid grobles urjc new trends from libre software t...2011 04-04 (educon2011) emadrid grobles urjc new trends from libre software t...
2011 04-04 (educon2011) emadrid grobles urjc new trends from libre software t...
 
Prem chandran Masters Interaction Design Thesis
Prem chandran Masters Interaction Design ThesisPrem chandran Masters Interaction Design Thesis
Prem chandran Masters Interaction Design Thesis
 
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
Virtual Network Building: Connecting Trauma Experts Through Collaboration Tools
 
2015-11-11 research seminar
2015-11-11 research seminar2015-11-11 research seminar
2015-11-11 research seminar
 
Presenting constructive design research as a doctoral dissertation
Presenting constructive design research as a doctoral dissertationPresenting constructive design research as a doctoral dissertation
Presenting constructive design research as a doctoral dissertation
 
Nciia 2009 Delcore Mehta Speer
Nciia 2009 Delcore Mehta SpeerNciia 2009 Delcore Mehta Speer
Nciia 2009 Delcore Mehta Speer
 
Peer d7 assessment workshop methodology
Peer d7 assessment workshop methodologyPeer d7 assessment workshop methodology
Peer d7 assessment workshop methodology
 
Twelve lessons to Develop and Sustain Online Knowledge Communities
Twelve lessons to Develop and Sustain Online Knowledge CommunitiesTwelve lessons to Develop and Sustain Online Knowledge Communities
Twelve lessons to Develop and Sustain Online Knowledge Communities
 
FSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projectsFSE 2012 talk: finding mentors in software projects
FSE 2012 talk: finding mentors in software projects
 
Digital Capabilities: Where people and technology intersect
Digital Capabilities: Where people and technology intersectDigital Capabilities: Where people and technology intersect
Digital Capabilities: Where people and technology intersect
 
Linking Technologists And Humanitarians
Linking Technologists And HumanitariansLinking Technologists And Humanitarians
Linking Technologists And Humanitarians
 
Virtual Communities of Practice – does technology make a difference?
Virtual Communities of Practice – does technology make a difference?Virtual Communities of Practice – does technology make a difference?
Virtual Communities of Practice – does technology make a difference?
 
Leveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-developmentLeveraging software-reuse-with-knowledge-management-in-software-development
Leveraging software-reuse-with-knowledge-management-in-software-development
 
User Centred Requirements Processes in MATURE: The Big Picture
User Centred Requirements Processes in MATURE: The Big PictureUser Centred Requirements Processes in MATURE: The Big Picture
User Centred Requirements Processes in MATURE: The Big Picture
 
Hybrid Publishing Design Methods For Technical Books
Hybrid Publishing Design Methods For Technical BooksHybrid Publishing Design Methods For Technical Books
Hybrid Publishing Design Methods For Technical Books
 

Viewers also liked

New Media Boot Camp NYC Dec. 2010 - Day One20091203
New Media Boot Camp NYC Dec. 2010 - Day One20091203New Media Boot Camp NYC Dec. 2010 - Day One20091203
New Media Boot Camp NYC Dec. 2010 - Day One20091203Eric Schwartzman
 
Final presentation of the project group Knowledge Awareness in Artefact-Actor...
Final presentation of the project group Knowledge Awareness in Artefact-Actor...Final presentation of the project group Knowledge Awareness in Artefact-Actor...
Final presentation of the project group Knowledge Awareness in Artefact-Actor...Wolfgang Reinhardt
 
Año 2005 Las agencias de publicidad en España
Año 2005 Las agencias de publicidad en España Año 2005 Las agencias de publicidad en España
Año 2005 Las agencias de publicidad en España fairweather/ssba
 
Social Media Boot Camp, Chicago June 17, 2010
Social Media Boot Camp, Chicago June 17, 2010Social Media Boot Camp, Chicago June 17, 2010
Social Media Boot Camp, Chicago June 17, 2010Eric Schwartzman
 
EDF Staff Retreat - Intro to Social Media
EDF Staff Retreat - Intro to Social MediaEDF Staff Retreat - Intro to Social Media
EDF Staff Retreat - Intro to Social MediaEric Schwartzman
 
Proyecto JP EXPRESS EIRL
Proyecto JP EXPRESS EIRLProyecto JP EXPRESS EIRL
Proyecto JP EXPRESS EIRLFLOYDI
 

Viewers also liked (8)

New Media Boot Camp NYC Dec. 2010 - Day One20091203
New Media Boot Camp NYC Dec. 2010 - Day One20091203New Media Boot Camp NYC Dec. 2010 - Day One20091203
New Media Boot Camp NYC Dec. 2010 - Day One20091203
 
Final presentation of the project group Knowledge Awareness in Artefact-Actor...
Final presentation of the project group Knowledge Awareness in Artefact-Actor...Final presentation of the project group Knowledge Awareness in Artefact-Actor...
Final presentation of the project group Knowledge Awareness in Artefact-Actor...
 
Año 2005 Las agencias de publicidad en España
Año 2005 Las agencias de publicidad en España Año 2005 Las agencias de publicidad en España
Año 2005 Las agencias de publicidad en España
 
Social Media Under Fire
Social Media Under FireSocial Media Under Fire
Social Media Under Fire
 
Social Media Boot Camp, Chicago June 17, 2010
Social Media Boot Camp, Chicago June 17, 2010Social Media Boot Camp, Chicago June 17, 2010
Social Media Boot Camp, Chicago June 17, 2010
 
Porfolio
PorfolioPorfolio
Porfolio
 
EDF Staff Retreat - Intro to Social Media
EDF Staff Retreat - Intro to Social MediaEDF Staff Retreat - Intro to Social Media
EDF Staff Retreat - Intro to Social Media
 
Proyecto JP EXPRESS EIRL
Proyecto JP EXPRESS EIRLProyecto JP EXPRESS EIRL
Proyecto JP EXPRESS EIRL
 

Similar to Personal dashboards for individual learning and project awareness in social software engineering

NEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONNEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONcsandit
 
Exploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksExploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksDimitris Panagiotou
 
Understanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsUnderstanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsBetsey Merkel
 
Introduction to the cooperation principles in software development - Part II
Introduction to the cooperation principles in software development - Part IIIntroduction to the cooperation principles in software development - Part II
Introduction to the cooperation principles in software development - Part IIProf. Dr. Febe Angel Ciudad Ricardo
 
Mobilizing Learning.
Mobilizing Learning.Mobilizing Learning.
Mobilizing Learning.Roger Bateman
 
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...IJITE
 
A Shared Data Format For Describing Collaborative Design Processes @ Cumulus ...
A Shared Data Format For Describing Collaborative Design Processes @ Cumulus ...A Shared Data Format For Describing Collaborative Design Processes @ Cumulus ...
A Shared Data Format For Describing Collaborative Design Processes @ Cumulus ...Massimo Menichinelli
 
Communications needs of global and virtual project teams
Communications needs of global and virtual project teamsCommunications needs of global and virtual project teams
Communications needs of global and virtual project teamsSomashekar S.M
 
Pawlik
PawlikPawlik
Pawlikanesah
 
I2126469
I2126469I2126469
I2126469aijbm
 
COLLABORA: A COLLABORATIVE ARCHITECTURE FOR EVALUATING INDIVIDUALS PARTICIPAT...
COLLABORA: A COLLABORATIVE ARCHITECTURE FOR EVALUATING INDIVIDUALS PARTICIPAT...COLLABORA: A COLLABORATIVE ARCHITECTURE FOR EVALUATING INDIVIDUALS PARTICIPAT...
COLLABORA: A COLLABORATIVE ARCHITECTURE FOR EVALUATING INDIVIDUALS PARTICIPAT...ijseajournal
 
The Impact of a Geographically Distributed Team on Labour Social Network
The Impact of a Geographically Distributed Team on Labour Social NetworkThe Impact of a Geographically Distributed Team on Labour Social Network
The Impact of a Geographically Distributed Team on Labour Social NetworkFederico Díaz Aguirre
 
Final Project Report on Information Systems Project Management
Final Project Report on Information Systems Project ManagementFinal Project Report on Information Systems Project Management
Final Project Report on Information Systems Project ManagementAbbas Ahmed
 
Mining developer communication data streams
Mining developer communication data streamsMining developer communication data streams
Mining developer communication data streamscsandit
 
A case study analysis on digital convergent design: Skynet Platform
A case study analysis on digital convergent design: Skynet PlatformA case study analysis on digital convergent design: Skynet Platform
A case study analysis on digital convergent design: Skynet Platformdi8it
 

Similar to Personal dashboards for individual learning and project awareness in social software engineering (20)

50120130406031
5012013040603150120130406031
50120130406031
 
NEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSIONNEED FOR A SOFT DIMENSION
NEED FOR A SOFT DIMENSION
 
Lanubile@SSE2013
Lanubile@SSE2013Lanubile@SSE2013
Lanubile@SSE2013
 
Exploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasksExploiting semantics-in-collaborative-software-development-tasks
Exploiting semantics-in-collaborative-software-development-tasks
 
Understanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS ProjectsUnderstanding Continuous Design in F/OSS Projects
Understanding Continuous Design in F/OSS Projects
 
Intercultural
InterculturalIntercultural
Intercultural
 
Introduction to the cooperation principles in software development - Part II
Introduction to the cooperation principles in software development - Part IIIntroduction to the cooperation principles in software development - Part II
Introduction to the cooperation principles in software development - Part II
 
Mobilizing Learning.
Mobilizing Learning.Mobilizing Learning.
Mobilizing Learning.
 
Analysis Report
 Analysis Report  Analysis Report
Analysis Report
 
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
ANALYSIS OF DEVELOPMENT COOPERATION WITH SHARED AUTHORING ENVIRONMENT IN ACAD...
 
A Shared Data Format For Describing Collaborative Design Processes @ Cumulus ...
A Shared Data Format For Describing Collaborative Design Processes @ Cumulus ...A Shared Data Format For Describing Collaborative Design Processes @ Cumulus ...
A Shared Data Format For Describing Collaborative Design Processes @ Cumulus ...
 
Communications needs of global and virtual project teams
Communications needs of global and virtual project teamsCommunications needs of global and virtual project teams
Communications needs of global and virtual project teams
 
Pawlik
PawlikPawlik
Pawlik
 
Asld2011 cook
Asld2011 cookAsld2011 cook
Asld2011 cook
 
I2126469
I2126469I2126469
I2126469
 
COLLABORA: A COLLABORATIVE ARCHITECTURE FOR EVALUATING INDIVIDUALS PARTICIPAT...
COLLABORA: A COLLABORATIVE ARCHITECTURE FOR EVALUATING INDIVIDUALS PARTICIPAT...COLLABORA: A COLLABORATIVE ARCHITECTURE FOR EVALUATING INDIVIDUALS PARTICIPAT...
COLLABORA: A COLLABORATIVE ARCHITECTURE FOR EVALUATING INDIVIDUALS PARTICIPAT...
 
The Impact of a Geographically Distributed Team on Labour Social Network
The Impact of a Geographically Distributed Team on Labour Social NetworkThe Impact of a Geographically Distributed Team on Labour Social Network
The Impact of a Geographically Distributed Team on Labour Social Network
 
Final Project Report on Information Systems Project Management
Final Project Report on Information Systems Project ManagementFinal Project Report on Information Systems Project Management
Final Project Report on Information Systems Project Management
 
Mining developer communication data streams
Mining developer communication data streamsMining developer communication data streams
Mining developer communication data streams
 
A case study analysis on digital convergent design: Skynet Platform
A case study analysis on digital convergent design: Skynet PlatformA case study analysis on digital convergent design: Skynet Platform
A case study analysis on digital convergent design: Skynet Platform
 

More from Wolfgang Reinhardt

Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...
Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...
Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...Wolfgang Reinhardt
 
PUSHPIN: Supporting Scholarly Awareness in Publications and Social Networks
PUSHPIN: Supporting Scholarly Awareness in Publications and Social NetworksPUSHPIN: Supporting Scholarly Awareness in Publications and Social Networks
PUSHPIN: Supporting Scholarly Awareness in Publications and Social NetworksWolfgang Reinhardt
 
Formalized Processes at EATEL (here: SIGs and EC-TEL)
Formalized Processes at EATEL (here: SIGs and EC-TEL)Formalized Processes at EATEL (here: SIGs and EC-TEL)
Formalized Processes at EATEL (here: SIGs and EC-TEL)Wolfgang Reinhardt
 
Developing electronic classroom response apps for a wide variety of mobile de...
Developing electronic classroom response apps for a wide variety of mobile de...Developing electronic classroom response apps for a wide variety of mobile de...
Developing electronic classroom response apps for a wide variety of mobile de...Wolfgang Reinhardt
 
Mobile access to scientific event information: An Android tablet application ...
Mobile access to scientific event information: An Android tablet application ...Mobile access to scientific event information: An Android tablet application ...
Mobile access to scientific event information: An Android tablet application ...Wolfgang Reinhardt
 
PINGO: Peer Instruction in Very Large Groups
PINGO: Peer Instruction in Very Large GroupsPINGO: Peer Instruction in Very Large Groups
PINGO: Peer Instruction in Very Large GroupsWolfgang Reinhardt
 
Understanding the meaning of awareness in Research Networks
Understanding the meaning of awareness in Research NetworksUnderstanding the meaning of awareness in Research Networks
Understanding the meaning of awareness in Research NetworksWolfgang Reinhardt
 
Supporting Scholarly Awareness and Researchers’ Social Interactions using PUS...
Supporting Scholarly Awareness and Researchers’ Social Interactions using PUS...Supporting Scholarly Awareness and Researchers’ Social Interactions using PUS...
Supporting Scholarly Awareness and Researchers’ Social Interactions using PUS...Wolfgang Reinhardt
 
Exploration wissenschaftlicher Netzwerke und Publikationen mittels einer Mult...
Exploration wissenschaftlicher Netzwerke und Publikationen mittels einer Mult...Exploration wissenschaftlicher Netzwerke und Publikationen mittels einer Mult...
Exploration wissenschaftlicher Netzwerke und Publikationen mittels einer Mult...Wolfgang Reinhardt
 
A widget-based dashboard approach for awareness and reflection in online lear...
A widget-based dashboard approach for awareness and reflection in online lear...A widget-based dashboard approach for awareness and reflection in online lear...
A widget-based dashboard approach for awareness and reflection in online lear...Wolfgang Reinhardt
 
TEL-MOOC workshop at #jtelss12
TEL-MOOC workshop at #jtelss12TEL-MOOC workshop at #jtelss12
TEL-MOOC workshop at #jtelss12Wolfgang Reinhardt
 
Research 2.0 - Wie Forscher das Web 2.0 nutzen
Research 2.0 - Wie Forscher das Web 2.0 nutzenResearch 2.0 - Wie Forscher das Web 2.0 nutzen
Research 2.0 - Wie Forscher das Web 2.0 nutzenWolfgang Reinhardt
 
PhD Defense - Awareness Support for Knowledge Workers in Research Networks
PhD Defense - Awareness Support for Knowledge Workers in Research NetworksPhD Defense - Awareness Support for Knowledge Workers in Research Networks
PhD Defense - Awareness Support for Knowledge Workers in Research NetworksWolfgang Reinhardt
 
Idea presentation for the project group PUSHPIN
Idea presentation for the project group PUSHPINIdea presentation for the project group PUSHPIN
Idea presentation for the project group PUSHPINWolfgang Reinhardt
 
Awareness Support for Knowledge Workers in Research Networks - Very brief PhD...
Awareness Support for Knowledge Workers in Research Networks - Very brief PhD...Awareness Support for Knowledge Workers in Research Networks - Very brief PhD...
Awareness Support for Knowledge Workers in Research Networks - Very brief PhD...Wolfgang Reinhardt
 
ViLM im Einsatz in Tutorenschulungen an der UPB
ViLM im Einsatz in Tutorenschulungen an der UPBViLM im Einsatz in Tutorenschulungen an der UPB
ViLM im Einsatz in Tutorenschulungen an der UPBWolfgang Reinhardt
 
Informationsqualität in Unternehmenswikis
Informationsqualität in UnternehmenswikisInformationsqualität in Unternehmenswikis
Informationsqualität in UnternehmenswikisWolfgang Reinhardt
 
Awareness Support in Scientific Events with SETapp
Awareness Support in Scientific Events with SETappAwareness Support in Scientific Events with SETapp
Awareness Support in Scientific Events with SETappWolfgang Reinhardt
 

More from Wolfgang Reinhardt (20)

Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...
Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...
Studentische Softwareentwicklung - Warum es keine Alternative zu agilen Metho...
 
PUSHPIN: Supporting Scholarly Awareness in Publications and Social Networks
PUSHPIN: Supporting Scholarly Awareness in Publications and Social NetworksPUSHPIN: Supporting Scholarly Awareness in Publications and Social Networks
PUSHPIN: Supporting Scholarly Awareness in Publications and Social Networks
 
Formalized Processes at EATEL (here: SIGs and EC-TEL)
Formalized Processes at EATEL (here: SIGs and EC-TEL)Formalized Processes at EATEL (here: SIGs and EC-TEL)
Formalized Processes at EATEL (here: SIGs and EC-TEL)
 
Developing electronic classroom response apps for a wide variety of mobile de...
Developing electronic classroom response apps for a wide variety of mobile de...Developing electronic classroom response apps for a wide variety of mobile de...
Developing electronic classroom response apps for a wide variety of mobile de...
 
Mobile access to scientific event information: An Android tablet application ...
Mobile access to scientific event information: An Android tablet application ...Mobile access to scientific event information: An Android tablet application ...
Mobile access to scientific event information: An Android tablet application ...
 
Analysis of mLearn 2002-2012
Analysis of mLearn 2002-2012Analysis of mLearn 2002-2012
Analysis of mLearn 2002-2012
 
PINGO: Peer Instruction in Very Large Groups
PINGO: Peer Instruction in Very Large GroupsPINGO: Peer Instruction in Very Large Groups
PINGO: Peer Instruction in Very Large Groups
 
Understanding the meaning of awareness in Research Networks
Understanding the meaning of awareness in Research NetworksUnderstanding the meaning of awareness in Research Networks
Understanding the meaning of awareness in Research Networks
 
Supporting Scholarly Awareness and Researchers’ Social Interactions using PUS...
Supporting Scholarly Awareness and Researchers’ Social Interactions using PUS...Supporting Scholarly Awareness and Researchers’ Social Interactions using PUS...
Supporting Scholarly Awareness and Researchers’ Social Interactions using PUS...
 
Exploration wissenschaftlicher Netzwerke und Publikationen mittels einer Mult...
Exploration wissenschaftlicher Netzwerke und Publikationen mittels einer Mult...Exploration wissenschaftlicher Netzwerke und Publikationen mittels einer Mult...
Exploration wissenschaftlicher Netzwerke und Publikationen mittels einer Mult...
 
A widget-based dashboard approach for awareness and reflection in online lear...
A widget-based dashboard approach for awareness and reflection in online lear...A widget-based dashboard approach for awareness and reflection in online lear...
A widget-based dashboard approach for awareness and reflection in online lear...
 
TEL-MOOC workshop at #jtelss12
TEL-MOOC workshop at #jtelss12TEL-MOOC workshop at #jtelss12
TEL-MOOC workshop at #jtelss12
 
Research 2.0 - Wie Forscher das Web 2.0 nutzen
Research 2.0 - Wie Forscher das Web 2.0 nutzenResearch 2.0 - Wie Forscher das Web 2.0 nutzen
Research 2.0 - Wie Forscher das Web 2.0 nutzen
 
FSLN12 Introduction Paderborn
FSLN12 Introduction PaderbornFSLN12 Introduction Paderborn
FSLN12 Introduction Paderborn
 
PhD Defense - Awareness Support for Knowledge Workers in Research Networks
PhD Defense - Awareness Support for Knowledge Workers in Research NetworksPhD Defense - Awareness Support for Knowledge Workers in Research Networks
PhD Defense - Awareness Support for Knowledge Workers in Research Networks
 
Idea presentation for the project group PUSHPIN
Idea presentation for the project group PUSHPINIdea presentation for the project group PUSHPIN
Idea presentation for the project group PUSHPIN
 
Awareness Support for Knowledge Workers in Research Networks - Very brief PhD...
Awareness Support for Knowledge Workers in Research Networks - Very brief PhD...Awareness Support for Knowledge Workers in Research Networks - Very brief PhD...
Awareness Support for Knowledge Workers in Research Networks - Very brief PhD...
 
ViLM im Einsatz in Tutorenschulungen an der UPB
ViLM im Einsatz in Tutorenschulungen an der UPBViLM im Einsatz in Tutorenschulungen an der UPB
ViLM im Einsatz in Tutorenschulungen an der UPB
 
Informationsqualität in Unternehmenswikis
Informationsqualität in UnternehmenswikisInformationsqualität in Unternehmenswikis
Informationsqualität in Unternehmenswikis
 
Awareness Support in Scientific Events with SETapp
Awareness Support in Scientific Events with SETappAwareness Support in Scientific Events with SETapp
Awareness Support in Scientific Events with SETapp
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 

Personal dashboards for individual learning and project awareness in social software engineering

  • 1. Personal dashboards for individual learning and project awareness in social software engineering Wolfgang Reinhardt, University of Paderborn, Germany – wolle@upb.de Sebastian Nuhn, University of Paderborn, Germany – spider@upb.de Abstract Software is created by people, with people, and for people. These people work in ever-changing environments, they have their particular backgrounds and act under different conditions. The successful work in such teams of developers requires regular learning as well as high dimension of coordination, communication, and collaboration of the developers. To facilitate the cooperative work and individual learning of those teams many synchronous and asynchronous tools, focusing on the re-establishment of shared content and context are available. Those cooperative development environments (CDE) are most often made to support single projects. We introduced eCopSoft as a solution approach to overcome organizational and usability issues for developers in social software engineering teams. eCopSoft’s main desire is to support the individual developer in being more aware of actions and tasks in his multiple projects and thus to improve individual learning opportunities with the developers. eCopSoft provides customizable interfaces that connect data from multiple projects and relevant information resources from outside the project, hence serving as PWLE (Personal Working & Learning Environment). Furthermore eCopSoft tries to enrich the project’s artifacts with additional metadata to expose the connections between artifacts and developers from different data sources or projects. In this paper we introduce the concept and prototypical implementation of three types of dashboards: a) a community dashboard, b) a project dashboard, and c) a my-eCopSoft dashboard that are to enhance the project and user awareness in software teams. A dashboard is a software application that is able for hosting multiple single-purpose mini applications. The developed dashboard concept is geared to existing web dashboard approaches but as existing approaches did not fit to the eCopSoft environment we decided to design and implement an own dashboard based on an existing Adobe Flex codebase. Our dashboards are designed to be executable in the browser and on the desktop using Adobe’s Flex and AIR technologies. Doing this, it becomes feasible to synchronize the states and views of the dashboards between the Web and the local version, maintaining the work context of a learner. For learners in this enables context consistency across the borders of applications and furthermore enhances group and artifact awareness within the group of developers. 1. Introduction The requirements for software solutions are constantly increasing. Both the technical tasks as well as the internal qualities of the software must always meet higher requirements. The development of modern software systems is a complex process that is executed almost exclusively in cooperative software development teams no matter whether the development takes place in companies, in university environments or in open source applications. Within the development team the technical, social and cultural backgrounds of members vary. As Altmann and Pomberger (1999) point out, the cooperation within such teams and between the team and other projects is one of the decisive factors for the success of a project. The formation and coordination of teams is a difficult task, in which the
  • 2. communication amongst and awareness about the project and the team members are important. The successful work in a development teams requires a high level of coordination, communication, and cooperation of the developers. The size of teams varies from small local groups to large globally distributed communities. As technical support for the partially spatially and temporally separated working teams, different applications are used. Booch and Brown (2003) classified those so-called collaborative development environments (CDEs) and point out that these applications support both, synchronous and asynchronous work but are often designed to only support one single project. On the one hand, it is therefore necessary that new application instances must be created for each new project. On the other hand, correlations between different projects cannot be displayed. In addition, the artifacts of the different applications within a project are seldom explicitly linked with each other. This fact negatively influences the awareness of developers and project artifacts. Through the above-mentioned problems with existing software solutions used for software development, the transparency of the development process, the awareness about people, processes and artifacts as well as the organization of the teams is not supported properly. In this paper we introduce a concept for three awareness dashboards tempting to overcome these limitations and providing a customizable Personal Learning and Working Environment interfacing our community-embedded collaborative development environment (CCDE) eCopSoft (Reinhardt and Rinne, 2010). The main endeavor of the dashboards is to enhance awareness within software development projects, to support developers with a more compendious overview about their work contexts and co-workers and finally to leverage communication and cooperation within social software engineering projects. 2. Informal learning in social software engineering projects The term social software engineering denotes both the engineering process of so called social software and the software engineering within social relationship in collaborative teams. For this paper the latter denotation is the focus of interest. Studies show, that the main part of today’s software engineering is carried out in teams, requiring many social interactions between the people involved in a project (Jones, 1986, DeMarco and Lister, 1987, Ahmadi, 2008). Social activity thus represents a substantial part of the daily work of a developer. Whereas network structures in social networking sites (SNSs) mainly emerge by adding explicit friendship connections between users, social networks in software engineering mainly result from artifact-based sociality (see Knorr-Cetina’s (1997) effectuations regarding sociality with objects). Developers do not just communicate with each other – they connect through shared artifacts that may serve as boundary objects (Star and Griesemer, 1989) to connect several communities. The social connections normally exist only within a project even though many of the used artifacts come from outside of the project. The consulted domain specific experts often do not reside within the own organization, but in other communities. Learning thus takes place in a personal learning network comprising domain expert, fellow developers and relevant artifacts such as matured source code, examples, documents, and other objects. Koper and Sloep (2003) as well as Siemens (2005) emphasize the importance of learning in such connected learning networks. In the last 15 years the social side of software engineering moved more and more in the focus of research after software engineering be solely regarded as a domain of
  • 3. technical interest. Research focused on optimization of data structures, algorithms and software to support the developmental processes. The engineering process was often regarded as a knowledge management project, where knowledge could be shifted from one project to another, from one developer to his fellows. But Nonaka et al. (2001) prod to the fact that “you cannot store knowledge“ because knowledge is a rational capacity and not a transferable item. Nevertheless, the social interaction between individuals in the process, where the developer is centered in the development process and surrounded by eventually more knowledgeable peers (Vygotsky, 1978) was long underestimated. Nowadays it became more obvious, that the informal learning activities during water cooler talks and other ad-hoc communications, in reciprocal help with upcoming issues and unofficial personal relations are the situations where learning takes place in software engineering and other learning systems. Informal learning is characterized as a process that does not follow a specified curriculum but rather happens by accident, sporadically and naturally during daily interactions and shared relationships. Cross (2006) shows that the majority of individual learning is informal and happens when tacit knowledge (Polyani, 1966) of an individual is communicated to another person, which cognizes, interprets and internalizes the data and thus expands his own knowledge (see also Nonaka and Takeushi, 1995). Examples of such informal learning situations within social software engineering projects are spontaneous meetings, short messages, phone calls but also asynchronous communication like entries in bulletin boards, comments in source code or comments in blogs. As hardly any formal training for developers takes place, in software engineering informal learning is the only way to stay up to date. Previous approaches for supporting ad hoc communication focus on intra-project improvements and do not include experts from outside the project (Robillard, 1999). Connecting with others, using artifacts and people from outside the own project – and thus profit by the power of one’s learning network – seem to be a crucial factor in supporting learning within a project (Siemens, 2005, Downes, 2005). The PLE approach to facilitating user-centered, self-directed and reflective learning marks a major shift from traditional institutional learning and has gained a lot of attention and has matured in recent years. In PLEs learners are connecting with people and resources of their choice, relevant for the individual learning goals and knowledge deficits. Regardless of the ambiguous definitions of knowledge and the claims for necessity and importance for knowledge management, software engineering is a dynamic process, which is reliant on latest know-what and know-how in the subject domain. This knowledge evolves with technology, organizational culture and changing needs of both the individual and the organization (Aurum, Daneshgar, Ward, 2008). Knowledge management in software engineering can be improved by recognizing the need for informal communication, perennial learning and interchange of data in order to support the exchange of implicit knowledge amongst developers. Personal Learning and Working Environments (PLWEs) thus should support awareness of projects and fellow developers, allow for easy interaction with co-workers. Moreover, PLWEs should support sharing of implicit knowledge and foster informal, ad hoc exchange of short messages (Robillard and Robillard, 2000, Reinhardt, 2009) as well as facilitating inter-project social networks in form of communities of interest. Following one of the main PLE ideas (Wilson 2005, Educause, 2009) the user interface for learners (developers) should be customizable and not limited with regards to the composition and configuration of the content. For us, a combination
  • 4. between web-based dashboard and desktop application with single-purpose mini- applications that can be freely arranged and configured is a suitable approach for supporting the request for user-centeredness and self-directed composition of learning environments. 3. Theoretical foundation, solution concept and implementation of eCopSoft dashboards In the context of a student research project at the Computer Science Education group at the University of Paderborn, the eCopSoft platform was created. eCopSoft is a collaborative, event-based multi-project software development platform incorporating various tools for coordination, cooperation and communication between software development teams. Belonging to these tools is a community application with bulletin boards, blogs, wiki and groups, an issue tracking system, a version control system and a wiki. The eCopSoft platform facilitates the organizational efforts by providing developers a one-click-deployment of new projects with all the means for communication and cooperation that they desire (Reinhardt and Rinne, 2010). The data from the single tools and projects are stored in various semantic and relational databases and need to be provided to the user in an understandable and easily to use system. The goal of the eCopSoft dashboards is to combine the system-wide distributed data and to provide the developer with a central access point to the stored data in order to enhance his project awareness and ease his work. The customizable dashboards thereby allow the developer to decide what data is display. The scope for visualization can be one single project or aggregated data from multiple projects. 3.1 Dashboards to support learning and awareness in mashup environments The concept of eCopSoft dashboards is based on the ideas of the Personal Learning Environment (PLE) and the concepts of mashups. In the following we introduce two established Web-based platforms, which already have been successfully integrated dashboards. The aim is to derive properties from the existing systems that serve as requirements for this concept. In IT systems, a dashboard represents an executive information system user interface, usually comprising multiple single-purpose mini- applications that are designed to be easy to handle and to allow comprehensive customization. Following Sorenson (2002) most dashboards integrate “information from multiple components into a unified display” following the now mainstream design pattern of mashups. The first examined platform is SourceForge1. SourceForge is a proprietary, free-to- use platform for collaborative software development projects, whose aim is to support teams of software developers with tools for software development in various fields. SourceForge provides dashboards in the user and in the project area. Widgets that can be placed within the dashboard visualize specific data from the respective information sources. Available widgets are selectable from a shelf at the top of the dashboard. Widgets in the project area are primarily visualizing data from the available software development tools of the project. In contrast, user area widgets are providing cross-project or general data of the SourceForge platform. The developer decides what widgets are shown in the respective areas by enabling or 1 http://sourceforge.net/
  • 5. disabling individual widgets. The two dashboard areas are supporting the developer in the process of keeping track of his various projects. The division of the dashboard into different areas such as project and user area flows into the concept of the eCopSoft dashboard. The second examined platform is iGoogle2. The central feature of the platform is to encapsulate information and services from various sources in the so-called gadgets that are provided to the user within its dashboards. Similar to the SourceForge platform, the gadgets can be selected from a directory service and be placed within the three-column iGoogle Dashboards by the user. Noteworthy is the easy authoring of new gadgets for iGoogle. This is made possible by a three-component gadget architecture that allows the developer to develop and publish new gadgets with common techniques such as XML, JavaScript and HTML. In addition to a web-based runtime environment, iGoogle offers also a desktop runtime environment for Windows and Linux. Decoupling the gadgets of the Web-based platform gives users a highly flexible tool to embed the latest information within their individual working environment. This idea also flows into the concept of the eCopSoft dashboard. As iGoogle already provides essential characteristics of the desired eCopSoft dashboards one could be suggesting building on this platform. At time of writing, Google only supports the development of iGoogle gadgets; an adaptation of the runtime environment for the eCopSoft platform is currently not possible. Google currently offers integration capabilities for gadgets in their own websites and projects but this is limited to viewing those gadgets. For now, there is no runtime environment available, which makes it possible to arrange these gadgets within the own project, or to allow a communication between the gadgets. Moreover, the SourceForge dashboards can only be used within the proprietary framework of their webpage. Those circumstances require that a new dashboard concept be designed for the application within the eCopSoft platform. 3.2 Solution concept Based on these findings, further requirements on the eCopSoft dashboards are specified in the following section. To avoid confusion with existing dashboards approaches and the used terms widget3 and gadget, a mini-application within our dashboard is called a pod. A pod prepares data from a data source and displays this data within the dashboard. The eCopSoft dashboard should support developers taking part in multiple projects simultaneously with a condensed view on their working activities and their professional networks comprising people and artifacts. Doing so the dashboard shall ease the cognitive load during re-contextualization and re-focusing on new tasks and contexts and simplifying cross-project networking and sharing. 2 http://www.google.com/ig 3 Besides the usage of the term within the SourceForge platform, the term widget is often related to a W3C specification for a client-side application that is authored using Web standards, packaged into a zip archive together with a configuration file and executable in web documents (see the W3C specification at http://www.w3.org/TR/widgets/.
  • 6. 3.2.1 Extensibility The idea of the eCopSoft dashboard is to provide a central information point for members of the eCopSoft community. In its current implementation eCopSoft provides applications like wiki, issues tracker, project mail, and version control. The data from these sources are shown in eCopSoft dashboard. In future increments the platform will be extended by additional services like blogs and microblogs or social bookmarking. Data from those services should also be accessible within the dashboard and custom pods shall be made available. A simple pod deployment is therefore one of the key requirements of the eCopSoft dashboards and will significantly contribute to its extensibility. The extensibility of eCopSoft dashboards is further relevant as pods should not only display data from within the platform but also external data from data sources outside eCopSoft (e.g. calendar data, RSS). 3.2.2 Flexibility In the fashion of the SourceForge platform, the eCopSoft dashboards should be available for different objectives. In the first prototypical implementation we will realize the following three dashboard types: • A community dashboard, • A project dashboards, and • A user-centered dashboard called my-eCopSoft. The dashboards make different demands on their runtime environment and provide different pods that can be used. 3.2.3 Customizability A PLE should be individually customizable to support the informal learning process of the user as much as possible. This refers not only to graphical design and changing colors, but also to the information to be displayed, their arrangement and level of detail. The user-specific settings should be stored on the server. Following the stateless client design pattern, the state of the eCopSoft dashboard should be recovered from the latest stored settings file whenever a user comes back to his dashboard. The dashboard configuration should be stored for all previously mentioned dashboards. 3.2.4 Communication Derived from the above-mentioned earlier dashboard systems, in particular the architecture of the iGoogle gadget and its runtime environment, the eCopSoft dashboard architecture will comprise the following components: • The eCopSoft dashboards as runtime environment, • Pods as mini-applications, and • Data sources for the pods within the eCopSoft server. Table 1 lists the conceptual communication between the three components. The following discusses the communication between different dashboards and on communication between pods. 3.3 Architectural design and implementation of the solution The architectural concept of the eCopSoft dashboards is based on two basic components that are divided into modules. Following the client-server-principle one
  • 7. module is used as data source and the other as data consumer. The respective communication pairs and their positioning within the basic components are shown in Figure 1. Table 1: Conceptual communication possibilities between the central components of the eCopSoft dashboard concept community my- project desktop pod eCopSoft dashboard eCopSoft dashboard dashboard server dashboard community   dashboard my-eCopSoft   dashboard project    dashboard desktop     dashboard pod       eCopSoft      server Figure 1: Schematic overview of the client-server architecture The first basic component is the Dashboard-Manager, whose responsibility is to manage the pods within the dashboard area and to visualize the dashboard for the client. The second basic component is the pod itself. A pod visualizes data from any
  • 8. data source and provides them to the user. The modular design ensures scalability of the system. Complex calculations can be performed server-side to spare the resources of the client. The pod is connected to the server via its server-side living pod adapter. The main task of the Dashboard-Manager is to manage the pods and to arrange them within the dashboards. Additionally, it coordinates and controls the data flow between the dashboards and the server and is thus in charge of exerting the communication between the components (see Table 1). The information referred to in Section 3.2.2 are represented by classes of dashboards, whose specific tasks ill be explained below: • Dashboard class projectweb: each user of the eCopSoft system can participate in multiple projects. The purpose of this dashboard class is to provide the developer with information from a selected project. It mainly serves pods that rely on project-specific data, for example open tickets in the current project, the latest wiki entries or contacting other project members. • Dashboard class projectdesktop: This dashboard class represents an addition to the projectweb class. This dashboard allows interacting with project-specific data on the desktop of the user. • Dashboard class communityweb: In order to provide a centralized, user- independent and cross-project information point to the users of the eCopSoft platform this dashboard class is necessary. The pods within this class are visualizing data like new members, latest wiki changes, new projects and calls for participation. • Dashboard class my-eCopSoft: The purpose of this class dashboard is to provide developers with a central place in which to cross-project information is presented. For example an issue pod aggregates the issues from all projects the user is assigned to. The dashboard manager takes the following tasks for each dashboard class: • Initializing the dashboard, • Adding and removing pods, • Customizing the dashboards, • Assuring pod-to-pod communication, and • Assuring dashboard-to-dashboard communication. 3.3.1 Initializing the dashboard During the initialization of the eCopSoft dashboards, the Dashboard-Manager is looking for the following parameters: (1) URI of the dashboard adapter, (2) dashboard class, (3) user name, (4) user password, (5) name of the project. The first parameter is used for the connection between Dashboard-Manager and dashboard adapter. Depending on the dashboard class the initialization is performed. To generate the dashboard interface the Dashboard-Manager needs information describing which pods are loaded into the single views and where the pods are to be place in the respective view. The server-side dashboard adapter manages this information. Using the dashboard class, the corresponding configuration file from the server-side dashboard adapter is located and its content is transferred to the Dashboard-Manager. During the initialization of the dashboards different containers
  • 9. within the Dashboard-Manager are filled with content. Figure 2 depicts the containers and their respective components. Figure 2: Containers in the Dashboard-Manager and their components View-Container To meet the requirements of Section 3.2.3 for a customizable surface, the view container provides basic operations for the arrangement of pods. These include the administration of maximized and minimized pods within a view and the positioning of the pods within the surface. Moreover, it is possible to semantically group pods in views. Multiple views are visualized as tabs in the dashboard, allowing the easy extension of the dashboards. Each view container is filled with pods and a pod container surrounds each pod. Pod-Container Each pod is providing a basic set of functionalities that are needed for the realization of the eCopSoft dashboard. Amongst them are (1) minimizing, maximizing and closing of pods, (2) restoring of minimized pods, (3) loading of a pod in the view container and (4) calculating the size and location of a pod within a view. During the initialization of the eCopSoft dashboards, each pod-container is assigned to one view-container If any of the above-mentioned basic functions of the pod-container is called, the associated view container is being updated. Depending on the function it performed all other pods within the same view are updated. If for example, a pod container is minimized or closed then the view-container calculates the size of the cells and re- adjusts the size of the other pods (cf. Figure 3). Once the container is initialized with the basic information, the actual pods in the pod container are loaded and the user can use the dashboard. 3.3.2 Pod-to-pod communication In addition to the initialization, the Dashboard-Manger secures communication between active pods within the eCopSoft dashboards. Therefore, the Dashboard- Manager provides an interface that accepts pod events and broadcasts those events to all active pods within the dashboards. The components of pod events are: (1) the event-source-PID, (2) the event type and (3) additional event information. The event- source-PID is set by the producing pod and serves as unique identifier of the pod. Using the event type, the receiving pod determines whether it responds to the
  • 10. received event or not. The event information contains information about the pod event and is stored as key value pairs. Using this information the producing pod can define what actions the receiving pods should be executing. Figure 3: Adjustment of the visible cells in the dashboard after the closing of a pod Figure 4: Distribution of events between pods 3.3.1 Dashboard-to-dashboard communication One key requirement of the eCopSoft dashboard concept is to provide dashboards for both the Web platform as well as for the desktop. The dashboard classes projectweb and projectdesktop realize this requirement and may be synchronized with each other. This is made possible through a synchronizer, which is integrated in both dashboards. The task of the synchronizers is to share events between the partnering dashboards and to execute the related tasks. To synchronize the dashboards, both dashboards need to connect with each other. Regardless of the technology used, it can proceed as follows: The projectdesktop dashboard on the user’s device provides a predefined service endpoint. The projectweb dashboard then connects to this endpoint. During connection, the dynamic service endpoint of the projectweb is transmitted to the desktop dashboard. At the time of the connection the dashboards can exchange
  • 11. data bidirectional. Regarding the synchronized events the concept supports the following operations: • Matching the key-value pairs of a pod, • Minimizing, maximizing and closing of a pod, • Changing the position of a pod, • Adding and deleting of pods from a dashboard. 3.4 Implementation The proposed concept of eCopSoft dashboards was implemented as a prototype and integrated in the eCopSoft platform (see Reinhardt and Rinne (2010) for more information about the implementation of the eCopSoft server). The server-side components are implemented as Java OSGI bundles. The client-side components are developed with Adobe Flex 44. Flex allows the easy integration of the dashboard in the PHP-based interface of the eCopSoft platform. On the other hand Flex offers the possibility to easily provide the eCopSoft dashboards as desktop application. The dashboard manager was built on top of the modified and extended Flex 3 dashboard WASI5 that already implemented the basic functions of the proposed eCopSoft dashboards. Table 2 shows, which features were modified in the existing implementation and added during our implementation. Table 2: Modified and added functions of the Flex-based WASI dashboard function modified added prepare views  prepare pods  layout pods  drag & drop pods  minimize pods  maximize pods  close pods  save pod  configuration save views  create views  dynamically load  pods The Web-based dashboards are implemented as Flex 4 applications (see Figure 5 for a screenshot). The desktop dashboard is a derivation of the Web-based dashboards with many reworking and developed using the Adobe AIR runtime. The synchronization between the desktop and web dashboards is implemented using the 4 http://www.adobe.com/products/flex/ 5 http://www.adobe.com/devnet/flex/samples/dashboard/dashboard.html
  • 12. Flash concept of LocalConnections. For now the following events are synchronized between the two dashboards: (1) adding new pods, (2) minimizing a pod, (3) restoring a pod and (4) closing a pod. 5. Recapitulation and application possibilities In this paper we introduced a dashboard concept for the community-embedded collaborative development environment eCopSoft whose main goal is to support developers in keeping track about their activities in multiple projects and thus enhancing the overall person and project awareness. Following the goals on Personal Learning Environments and taking into account existing dashboard implementations we implemented a Flex-based Web dashboard that synchronizes its configuration with a desktop equivalent and thus minimizing the developers need to re-contextualizing when changing his working environment. The dashboards were integrated into the eCopSoft server and tested during the student research project eCopSoft. The tests showed that the prototypical implementation got well accepted and enhanced developers overall overview about their cross-project tasks and connections between fellow developers and other projects. On the other hand the tests also revealed room for conceptual and developmental makeover of the solution especially regarding stability and synchronization between the dashboards.
  • 13. Figure 5: Web-based project dashboard for the project TightVNC showing a member pod and a ticket pod Figure 6: Synchronized desktop dashboard for the project TightVNC showing a member pod and a ticket pod 6. References Ahmadi, N., Jazayeri, M., Lelli, F. and Nescic, S. 2008. A survey of social software engineering. Proceedings of 23rd IEEE/ACM International Conference on Automated Software Engineering - Workshops, pages 1–12. Altmann, J. and Pomberger, G. 1999. Cooperative Software Development: Concepts, Model and Tools. In Firesmith, D. and Riehle, R. and Pour, G. and Meyer, B. (eds.) Tools 30:194 et seq. Aurum, A., Daneshgar, F. and Ward, J. 2008. Investigating Knowledge Management practices in software development organisations – An Australian experience. Information and Software Technology, 50:511-533. Booch, G. and Brown, A. W. 2003. Collaborative development environments. Advances in Computers, 59:2–29. Cross, J. 2006. Informal Learning – Rediscovering the Pathways that inspire innovation and performance. Pfeiffer.
  • 14. DeMarco, T. and Lister, T. 1987. Peopleware: productive projects and teams. Dorset House Publishing, New York. Downes, S. 2005. E-learning 2.0. ACM eLearn Magazine, 2005(10). Educause Learning Initiative. 2009. 7 things you should know about … Personal Learning Environments. Jones, C. 1986. Programming productivity. McGraw-Hill, New York. Knorr-Cetina, K. 1997. Sociality with Objects: Social Relations in Postsocial Knowledge Societies. Theory, Culture & Society, 14(4):1-30, 1997 Koper, R. and Sloep, P. 2003. Learning Networks - connecting people, organizations, autonomous agents and learning resources to establish the emergence of effective lifelong learning. Programme plan, Open University of the Netherlands. Nonaka, I. and Takeuchi, H. 1995. The Knowledge Creating Company: How Japanese Companies Create the Dynamics of Innovation. Oxford University Press. Nonaka, I. et al. 2001. Emergence of “Ba”. Knowledge Emergence. Polyani, M. 1966. The Tacit Dimension. Routledge & Kegan Paul, London. Reinhardt, W. 2009: Communication is the key – Support Durable Knowledge Sharing in Software Engineering by Microblogging. Proceedings of Software Engineering 2009. Reinhardt, W. and Rinne, S. 2010. An architecture to support learning, awareness, and transparency in social software engineering. In Ebner, M. and Klamma, R. and Schaffert, S. (eds.) International Journal of Emerging Technologies in Learning (iJET): Special Issue: ICL2009 - MashUps for Learning, 5. Sorenson, M. 2002. Dictionary definition of dashboards. http://searchcio.techtarget.com/sDefinition/0,,sid182_gci804078,00.html Robillard, P. N. 1999. The role of knowledge management in software development. Communications of the ACM, 42(1):87-94. Robillard, P. N. and Robillard, M. P. 2000. Types of collaborative work in software engineering. Journal of Systems and Software, 53(3):219–224. Siemens, G. 2005. Connectivism: A learning theory for the digital age. International Journal of Instructional Technology and Distance Learning, 2(1):3–10. Star, S. L. and Griesemer, J. R. 1989. Institutional ecology, ’translations’ and boundary objects: Amateurs and professionals in Berkeley’s museum of vertebrate zoology. Social Studies of Science, 19(3):387–420. Vygotsky, L.S. 1962. Thought and Language. Cambridge University Press. Vygotsky, L.S. 1978. Mind and society: The development of higher mental processes. Harvard University Press. Wilson, S. 2005. Architecture of Virtual Spaces and the Future of VLEs. http://zope.cetis.ac.uk/members/scott/resources/itslearning.ppt