Information Technologies and Sciences Department
Community Sharing Platform for Mobile Devices
João Silva
A Dissertation presented in partial fulfillment of the Requirements for the Degree of Master in Open Source Software
(Mestrado em Software de Código Aberto)
Supervisors:
Dr. Carlos J. Costa, Assistant Professor, ISCTE-IUL
Manuela Aparício, MsC, Invited Lecturer, ISCTE-IUL
April, 2012
Communities arise from the need to communicate and share information. The present study intends to facilitate the creation of open communities where users are concerned or passionate about a subject and are willing to share their knowledge with other members. Based on the theoretical concept of community of practice and the use of a technological hybrid approach, this work proposes a Community Sharing Platform for Mobile Devices. Initially, it describes a conceptual model using three different approaches: Operational, Technological and Economic. Later, validates this model by developing a functional prototype, which is available for a set of users. Finally, based on usage statistics, the prototype is validated.
Community of Practice, Mobile Applications, Cross-Platform Development for Mobile Applications, Hybrid Mobile Applications, Free based Business Models.
As comunidades surgem da necessidade que o ser humano tem em comunicar e partilhar informação. O presente estudo pretende encontrar solução que facilite a criação de comunidades abertas, onde os utilizadores conscientes e informados sobre determinadas áreas, estão dispostos a aprender e a partilhar o seu conhecimento. Baseado no conceito teórico de comunidade de prática e utilizando uma abordagem tecnológica híbrida, este trabalho propõe uma plataforma de partilha de informação comunitária para dispositivos móveis. Começa por descrever um modelo conceptual, dividindo-o em trê domínios diferentes: Operacional, Tecnológico e Económico. Posteriormente, valida este modelo através da construção de um protótipo funcional, que fica disponível para um conjunto de utilizadores. Por último, com base nas estatísticas de utilização, é realizada a validação desse protótipo.
Comunidades de Prática, Aplicaçoes Móveis, Desenvolvimento de aplcações Móveis Multi-plataforma, Modelos Híbridos em aplicações Mobile, Modelos de negócio baseados em preço zero.
First of all, I would like thank Manuela Aparício for accepting my thesis and supporting the idea even before we started working together. I would also like to thank Carlos Costa for the endless theoretical discussions which so many times resulted in valuable contributions.
To all MOSS students for the relevant discussions we have had concerning the Open Source revolution, I am very pleased to meet you guys.
Thank you very very much "all my parents" Eloi, Filomena, António and Maria for their unconditional help that make my life a lot easier.
The biggest thank you goes out to Raquel and Leonor who inspired and guided me through this adventure.
Table of Contents
List of Figures
Abbreviations
People use computers, because they tend to make their life simple. Smart devices such as smartphones or tablets are replacing desktop computers as Internet jumps into our pockets. The same way computers once replaced entire bookshelves, mobile devices are now becoming our Internet browsers, digital cameras, email clients, entertainment centers or even our credit cards.
Communities arise from the need of communication, socially speaking, since the Web allows people to interact differently (Castells, 2000). Individuals interact differently with systems, therefore, users tend to communicate with a larger number of users, in doing so they demand new web applications and different ways to interact with other users (Singh et al., 2008), (Bodker, 2008), (Clawson et al., 2008). A new leverage was launched by the social networks, also increased the number of virtual communities, some of them emerged to communities of practice. In this context, small display devices and specially mobile phones play an important role. Smartphones are used more frequently in these communities.
Nowadays, mobile devices are in our everyday life habits and people tend to use these devices for different purposes and in different contexts, professional, leisure, rescue, transportation.
Considering the fragmented mobile platforms market, this document addresses the cross-platform mobile application development using hybrid models, which use both, web and native technology. Based on the theoretical concept of community of practice this work proposes a Community Sharing Platform for Mobile Devices.
When defied to suggest a theme for this thesis, I immediately thought about two topics, Open Source and Mobile Development. The Open Source development is based on knowledge sharing and as we are living in a mobile revolution, it seems like the perfect time to take a step further into mobile application development.
Target Platforms
Worldwide consumers are changing from feature phones to smartphones at a rapid rate. There is a proliferation of mobile operating systems available on smartphones. Operating Systems are evolving fast thanks to the high range usage and monetization of mobile applications. A wide variety of mobile platforms with significantly different firmware, capabilities, features and restrictions impose challenges when developing and distributing a solution across multiple mobile platforms.
Software applications should be useful
One day, I was about to pay a pharmacy bill and I was asked for the client card number, a way to associate that particular shopping basket to my personal client account and automatically add some credit to it. At the time, my frustration led me to the following thought: "Why can’t I carry all my cards in a wallet?" After this episode, I started to pay attention to similar daily needs, collecting ideas and putting them together to end-up with a concept for this thesis.
A tool to keep my pocket documents, but also a place to find other peoples’ or companies public documents (i.e., timetables and event calendars).
Concept Challenges
In order to create a transparent system to support emerging communities, several key challenges need to be addressed:
This dissertation has the following research question: Is it possible for people to dispose from a mobile platform that allows people to interact around common interests?
Based on the theoretical concept of community of practice and the use of a technological hybrid approach, this work proposes a Community Sharing Platform for Mobile Devices.
To address the research question, several objectives should be considered separately:
This work intends to present a Community Sharing Platform for Mobile Devices. The platform will create a virtual space on the Web that enables people to share information that users perceive as useful information, based in the concepts of prosumers, folkonomies and sharing communities Tapscot (2006).
Bringing together and exploring concepts such as Social Interaction, Mobility, Interoperability and Economic Sustainability, this dissertation aims to create a cross-platform using hybrid models, which use both, web and native technology. Using this type of approach, we intend to demonstrate that web technology can be the key to achieve high quality applications, targeting all major platforms and at the same time, a reliable economic solution to several business areas.
The methodological Approach started with the literature review on Communities of Practice, Mobile Applications, Cross-platform development for Mobile Applications and Free Based Business Models.
Based on the literature review, a conceptual model was proposed, presenting the architectural designs of the several components in the system. The conceptual model includes individual approaches for operational, technological and economical dimensions.
A prototype has been developed to validate the feasibility of the presented model and a beta version of the system is available on the market.
Through backend collected logs and user's feedback it was possible to evaluate the prototype and to understand how the system was being used.
Also, a possible business model for the platform was presented. Business models are mostly verified using long term analysis; its evaluation is out of the scope for this thesis since there won’t be enough data to create a reasonable conclusion.
In chapter 1, the research problem is introduced as well as the objectives of the study, after this introductory chapter, 5 more chapters will be presented.
The literature review on Communities of Practice, Mobile Applications, Cross-platform development for Mobile Applications and Free based Business Models is presented in chapter 2.
In chapter 3, the development of a conceptual model is described, and the architectural designs of the several components in the system. The conceptual model includes individual approaches for operational, technological and economical dimensions.
Chapter 4 covers the development phase of a communication platform. It starts with requirements definition, then goes through system design detailing some important aspects, releases the prototype and finally presents a suggestion for the business model.
Additionally, the sustainability of the platform is described by presenting a possible business model. At the end of this chapter, the platform will be released into the market.
To evaluate the resultant prototype from the chapter 4, system’s usage will be exposed in chapter 5, based on the obtained results from user interaction with the system.
Finally in chapter 6, we will be checking if the proposed objectives were accomplished, make the final considerations and suggest possible future work.
In order to address the research question, the literature review
relies on the state of the art for wide range of terms. This review
will start by introducing the concept of Communities of Practice
as it helps us to understand the type of social reality
related to virtual communities. This is followed by a focus over the
Cross-platform development in the technological field for Mobile
Applications with particular emphasis into Hybrid Applications.
Finally Free Based Business Models are going to be described highlighting some suitable examples.
Communication is inscribed in Human Nature (Traber, 1999). In today’s technically advanced environment communication is taking on more forms than it ever has in the past. The dynamics of communicating is changing, and we are constantly learning and adjusting to these changes. It is also becoming increasingly more important to be aware of the way we interact with others, both in person and electronically (Mediated Communication, 2008). Over time, this collective learning results in practices that reflect both the pursuit of our enterprises and the attendant social relations. These practices are thus the property of a kind of community created over time by the sustained pursuit of a shared enterprise. It makes sense, therefore to call these kinds of communities, communities of practice. (Wenger 1998). Communities of practice are groups of people who share a concern or a passion for something they do and learn how to do it better as they interact regularly (Wenger, 2007). The basic argument considered by Lave and Wenger (1991) is that communities of practice are everywhere and that we are involved in some of them, whether it is at work, school, home or some pleasure activities. In some communities people are part of the core members, in others people just have a minor role (Lave & Wenger, 1991).
A Community of Practice involves much more than technical knowledge or expertise to solve a certain task. Its members are involved over time, in relationships (Lave and Wenger 1991) developing communities around common interests. The fact that these communities are concentrated around a certain area of knowledge and activity gives members a sense of joint enterprise and identity (Wenger, 1998).
In these communities, users might not know each other or meet face-to-face, even though they share information needs or common interests (Orhun & Hopple, 2008). Kleanthous (2007) identifies a community model that represents a community, users (members), relationships and topics of interest.
A Virtual Community of Practice (CoP) is a network of individuals who share a domain of interest about which they communicate online (Gannon-Leary & Fontainha, 2007). The authors also wrote that such communication results in the improvement of the knowledge of each participant in the community and contributes to the development of the knowledge within the domain.
Why do people share? According to Adam Smith (1776), enlightened self-interest is the most powerful force in humanity. Chris Anderson (2008) wrote that people do things for free mostly for their own reasons: for fun, because they have something to say, because they want people to pay attention, because they want their own views to catch on, and other personal reasons. Sometimes reputation credits can turn into cash, but it is hard to predict the exact path.
In the last decade, communities of practice could count with rudimentary software to communicate and collaborate, typically using email, forums and some Computer Supported Cooperative Work (CSCW) applications (Lewandowski & Bourguin, 2007). From communication feeds and working groups, communities practice is defined as "groups of people who share a concern or a passion for something they do and learn how to do it better as they interact regularly" (Wenger, 1999). The basic model in a community of practice is based on four concepts (Lewandowski & Bourguin, 2007): objective, activity, actor and resource. Other authors (Orhun & Hopple, 2008) go further and refer to various models for knowledge sharing in communities of practice. Kleanthous (2007) developed a model for identifying community relationships in virtual communities in various levels considering that members were aware of the fact of their knowledge related to others and the self-understanding of the community members in sharing information. In this case, we are facing a prosumer effect named by Tapscot (2006) as a social effect where users are information consumers and producers at the same time and even in the same information systems. Some authors, also refer the term folksonomie (Siersdorfer & Sizov, 2009), (Schmitz et al., 2006) as a knowledge sharing action by users that collaboratively share tags, index contents and do annotations in the Web. In this context, it is undeniable that mobile devices may play an important role, as these devices enable actors, individuals, to share resources, information and to achieve an objective.
The future of Internet
In 2009, there was roughly 1.5 billion net-enabled PCs and slightly over 1 billion net-enabled cellphones (Lynggaard, 2009). Lynggaard (2009) stated that the present "internet of PCs" will move towards an exponentially larger "internet of things". Within 5-10 years, Nelson expects that 100 billion devices will be connected to the internet (Nelson , 2009). Morgan & Stanley (2010) predict that mobile internet usage will surpass desktop internet usage in the next few years. These predictions are based on the fact that consumers move towards using data more than voice on mobile devices.
The lower cost and increased market share of the internet-enabled mobile devices are driving this growth. Desktops and laptops were first the primary channel to access the internet. Nowadays, widespread mobile access to the internet is changing the way users are consuming the content, buying online or playing (Hammersmith, 2010).
Smartphones have entered the mainstream in developed markets and are taking a growing proportion of device sales in more cost-sensitive markets around the globe. The following figure shows that in the third quarter of 2011, smartphone shipments penetration surpassed 29% globally, although this figure varies widely from nearly 65% in the USA and over 50% in Europe to 19% in Asia-Pacific, 17% in Latin America and 18% in Africa/Middle East (Vakulenko et al., 2011).
Smartphones have entered the mainstream in developed markets and are taking a growing proportion of device sales in more cost-sensitive markets around the globe. The following figure shows that in the third quarter of 2011, smartphone shipments penetration surpassed 29% globally, although this figure varies widely from nearly 65% in the USA and over 50% in Europe to 19% in Asia-Pacific, 17% in Latin America and 18% in Africa/Middle East (Vakulenko et al., 2011).
Smart devices
Smart Devices are electronic devices that typically include voice and video communication capabilities, high-resolution touchscreens, high-speed data access through Wi-Fi or mobile broadband. These types of devices are a combination of a mobile Operating System and its applications inside a manufacturer’s handset. Smartphones have recently gained much popularity and demand. A recent report shows that in July of 2011, the number of Android smartphone activations reached 550, 000 each day (Kumparak, 2011).
Operating Systems
A mobile operating system combines the features of a personal computer operating system with the extra touch-screen, cellular, Bluetooth, Wi-Fi, GPS, camera, speech recognition, voice recorder, music player and Near field communication capabilities. Mobile Operating Systems are usually powered by its pre-installed applications like call and text interface, web-browser, email client and map navigator. Additionally, extensions are also possible through external software development. Third-party applications are submitted and later, if approved, can be downloaded by users in the ecosystem applications stores.
To date the most used mobile OS are Google's Android, Apple's iOS, Microsoft's Windows Phone, Nokia's Symbian, RIM's BlackBerry OS, and embedded Linux distributions such as Maemo and MeeGo.
Mobile innovation will be driven by the fundamental insight that the information needs of users on the go are very different from the information needs of the same user while at a desktop computer (Hammersmith, 2010).
Mobile applications are software packages designed to install and run on smartphones and tablets. They are available through download and can be found in the application stores such as Google Play or Apple’s App Store. These apps can be free of charge or priced where the revenues are distributed between the platform and the developer. The figure below shows that paid apps are much less downloaded than the free apps. It also indicates that users are okay with advertising if they can see content for free.
Applications are the key to any platform as it attracts financial investment from developers, brands and investors. Because external developers are able to monetize their effort on producing applications, the ecosystem gets richer in terms of offer variety to the end-user. In the end, the platform will get more users, sell more devices, sell more advertising and get more attention from investors (Vakulenko, 2011).
On a rush to capture the largest mobile market share, big software companies, as well as mobile industry leaders, are competing intensively to create the best accepted mobile platforms, regarding the market demand on mobile applications (Kampwerth, 2006) (Sanchez & Goolsbee, 2010).
According to Nielsen's numbers, mobile audiences are indeed big. There are 145 million mobile media consumers, with 127 million using SMS, 70 million downloading mobile content, 48 million using the mobile Internet and 12 million using mobile video.
As the audience grows, so does the revenue generated by sales of mobile content.
Mobile Ecosystems
Several companies, or alliances, have been positioning themselves in the face of great expectation that is surrounding this phenomenon, heavily investing in the development and promotion of their platforms, which are in fact eco-systems based on an operating system and complemented by a wide range of services. The strategies adopted will be a determining factor for sales success. Any platform that fails to innovate or consolidate their services and systems will lose developers, manufacturers, partners and most importantly, users (Silva & Aparicio, 2011).
Business players
Like a strong web presence, which in a few years has become critical to any company, applications for smart devices will become a B2B and B2C necessity. The application’s market for these platforms are generating an unprecedented enthusiasm, creating new business through innovative services and organizations, radically changing the way companies relate to their customers and suppliers. Smartphones with advanced capabilities such as high resolution touch screens, web browsers and high-speed data access, make the mobile platform a great way to reach consumers (Collabera, 2011).
From 2011 to 2012, the web page view duplicated in all of the globe regions, except in North America, that only had an increase of 2.25%. Nielsen (2011) provides a snapshot of the current mobile media landscape and audiences. They report that in the Unites States the majority of 25-34 and 18-24 year olds now own smartphones (64% and 53% respectively); The majority of smartphone owners (62%) have downloaded apps on their devices and games are the top application category used in the past 30 days; The number of smartphone subscribers using the mobile Internet has grown by 45 percent since 2010; 87 percent of app downloaders have used deal-of-the-day websites like Groupon or Living Social;
Looking at these numbers, it is very surprising how many websites are not yet mobile-friendly. In cases where businesses have embraced the mobile web (e.g., Facebook, Twitter, etc.) a surge in mobile traffic has been experienced.
Thanks to the expansion of Android and iOS platforms, we are now moving toward a multi-screen reality, where brands will want to engage their users across a variety of different media touch points. As platforms compete and hardware complexity grows and the desire for immediacy dominates modern media consumption behavior, the question is: Which type of application development will take a larger share among both publishers and consumers? Is web technology the solution to the existent interoperability?
Native applications are binary executable files specifically designed to run on the device operating system and machine firmware. They are commonly downloaded from central repositories and installed in the device’s file system. Native applications may run offline due to the implementation of databases or cache files system (Google, 2011), (Apple, 2011).
Native programming can take full advantage of the operating system APIs features on a particular device however, they need to be adapted for different Operating Systems.
Each platform generates proprietary binary for distribution and there is no common programming language for all platforms. iOS apps are written using Objective-C, Android and BlackBerry use different dialects of Java, Windows Phone uses C#, a part of .NET framework, Symbian, Bada and BREW support commonly-used C and C++ and webOS uses JavaScript together with HTML/CSS as its primary development language (Google, 2011), (Apple, 2011).
A Web app or browser application relies on a server and is accessed through the Internet. It performs specified tasks for the mobile user, usually by downloading part of the application to the device for local processing each time it is used. The software is written as Web pages in HTML and CSS, with the interactive parts in JavaScript and Ajax. This means that the same application can be used by most Web-enabled mobile devices (Hazaël-Massieux, 2010).
Users access these applications by opening a page directly in the phone’s browser or from a home screen bookmark.
When Apple released the first iPhone model, the original plan for third-party developers was to use Web-technology (Charland & Leroux, 2011). Tree years later, for performance reasons but also because native environment can be controlled and profitable, native apps were all around. Later, other platforms started to emerge and built their own Software Development Kits (SDK), heading mobile applications market to fragmentation. Nowadays Building a different app for each platform is very expensive if written in each native language (Charland & Leroux, 2011). Software companies are facing hard times when it comes to defining what platforms to target.
Meanwhile Web applications are becoming incredibly richer. Browsers are no longer just rendering webpages, but also managing complex and demanding applications. Recent changes brought by HTML5 such as local storage, GPS capability, JavaScript performance improvement and the fact that mobile industry is quickly converging on WebKit, are some of the factors that make Web technology a reliable option to develop mobile applications (Silva & Aparicio, 2011).
Examples of web apps are m.hbeatrizangelo.pt and linkedin mobile version of its website available at touch.www.linkedin.com
Hybrid apps are native, downloadable apps that ran all or some of its user interface in an embedded browser component (Perry, 2011).
Even combining both web and native features, to the end-user, the hybrid approach is almost indistinguishable from a native. The apps are downloaded from the application stores, stored on the device file-system, and launched just as any other app. To the development however this approach saves a lot of time because instead of producing as much apps as the number of platforms to target, developers may reuse the web-based code (HTML, CSS and JavaScript) parts across the majority of the platforms. The reuse of HTML5 code across all platforms will speed up iterations of the app, too. It is possible to grow a feature set more quickly without having to build the whole all new clients.
There are different kinds of hybrid approaches. Some are totally web-based like the Linkedin (2011) and Facebook (2011) app in the iPhone version, simply load some layout adapted pages from their web site. Others, like PicPlz (2011) include a few embedded HTML pages together with native components. A third type of hybrid approach consists on having the entire user interface and logic written in web based code.
To develop using a hybrid model usually involves the creation of a native mobile application (front-end) and a server-side service to process part of the business logic in the system. These services are typically connected to a database and may have adapted front-ends to web-browsers. To improve performance, hybrid apps may include a copy of all web resources (i.e., HTML, JavaScript, CSS and images).
Pure mobile web apps are currently restricted in their access to features such as the camera, microphone, address book, and so forth. And while there is work in progress at the W3C to allow web apps to access such device services, mobile browsers do not currently provide such functionality (Perry, 2011).
Some frameworks emerged like the open source PhoneGap library that creates a bridge between the web technology and native the API’s, allowing the JavaScript to access the compass, use camera, interact with contacts and many other device features.
Based on the latest paragraphs, the following schema represents the typical structure of a hybrid mobile application.
Magretta (2002) mentioned in "Why Business Models Matter" that "a business model describes a variation of the value chain that supports every business (...) this chain has two parts.", then she explained that the first part was about "all the activities associated with making something" and second "all activities associated with selling something".
Osterwalder and Pigneur (2009) describe business model as the rationale of how an organization creates, delivers, and captures value. In their book "Business Model Generation" Osterwalder & Pigneur present a Business Model Canvas, a tool that helps to describe nine key variables, of a business model and at the same time allows to analyze and design a certain business. The next figure illustrates the several canvas elements as well as their position regarding the business model.
During his lessons and workshops, Osterwalder often interacts proximately with his participants by having a blank canvas on the wall and asking the attendees to draw their own business models. The Business Model Canvas gives a simplified overview and helps people visualize and communicate their ideas.
Moore's law describes a long-term trend in the history of computing hardware: the number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years. Just like Moore’s prediction several technologies had similar growing paradigms: computer processing power, digital storage and bandwidth are correct examples (Anderson, 2009). Anderson (2009) stated that never in human history have the primary inputs to an industrial economy fallen in price so fast for so long. He wrote that this is the engine behind Free. In economic terms, the inputs are mostly intellectual rather than material which allows ideas to propagate virtually without limit and without cost. Lower input costs allow radical pricing schemes that would otherwise seem insane. Anderson notes that "free" is an easier strategy for a new market entrant to employ because they have less market share, low budgets, no pre-existing business model structured around existing income levels and no anchor price, making a radical pricing strategy easier to implement. Anderson sets out a number of alternative strategies for using "free" to generate revenue including "freemium" and "Advertising".
Ads Model
Ads model is defined as income flows of the revenue that is generated by advertising companies and organizations. This investment made by organizations return as an income when clients buy their products or services. A producer creates a product that is given away for free to the consumer. Revenue comes from advertisers to the producer with the hopes that the consumer will eventually buy from the advertiser (Anderson, 2009).
Freemium
Freemium model is based on the idea that there are a great number of clients with free versions, but at the same time there are also customers that are willing to pay for privileged information and services. A producer creates a base version of a product that people can use for free. Alternatively, a slightly better "premium" product is available for users who pay. Typically, the 10% who pay support the 90% who don't pay. For example Flickr and Skype use Freemium model. The figure below shows Ads model Vs. Freemium model, both examples of free based business models.
Grandval, S. and Ronteau, S. (2011) propose several lines of thinking making it possible to renew the business mode and the organization. The figure illustrates the variety of revenue sources for internet business, whether manufacturing or distribution.
They consider that the revenue can be isolated or recurrent. The isolated revenue will usually give rise to only one transaction, for example a margin on a sale or a registration fee. The recurring revenues which originate from regular incomings may be derived from membership fees, advertising and commissions or transactions related to the use of the product or service (Grandval, S. and Ronteau, 2011).
This literature review gave a good background on Communities of Practice, helping us to understand what makes people want to share their knowledge, and above all, how do they actually communicate. In this context, smart devices were then identified as having an important communication channel which took us to study the Mobile Applications, highlighting the Cross-platform development for mobile applications. For a system to be sustainable, it is imperative that it generates its own revenue. The last part of the literature review explores the way that products based on zero prices may have to generate these revenues.
The objective of this chapter is to present the conceptual design for the proposed platform. In the last chapter, we have analyzed relevant concepts such as Communities of Practice, cross-platform development for mobile applications and free based business models. This analysis will be used as the basis for the conceptual model we are about to expose.
As stated in the introduction (1.1), the presented solution aims to create a Community Sharing Platform for Mobile Devices. The proposed design is then focused on offering a group of features that allow people to communicate around common interests. This communication should be platform independent and economically reliable.
To better describe and analyze the system, the conceptual approach will be divided into three different scopes: Operational, Technological and Economics.
From an operational perspective, the platform should add value to the end user, not only bringing innovation on the concept and features, but also granting the users a good experience.
To provide a means for people to interact around common interests, the system should allow users to add content to it. Later interaction between users may happen attached to the content itself. This could be direct comments to the item, sharing it across social networks or simply by giving feedback on a rating tool.
In the center of the figure above, represented by small circles, there are several examples of specific items stored in the platform (e.g., A, C, G, N, S and Z).
Surrounding this group of content delimited by the big circle "content", several users interact with the system.
User 1 is a producer - he creates an item and share it with everyone, (i.e., creates a public item);
User 2 is a producer and a reader - he not only creates and shares items but also, consumes other user’s items, in this case produces "content S" and reads "content A";
User 7 is a Reader + Evaluator - he reads other users items adding some personal opinion about it. He can bookmark the items, rate, give a like mark, report an abuse or write a comment about "content A";
We can say that, by interacting, users 1, 2 and 7 are creating a virtual community, which may emerge into a community of practice.
Users 3 and User 4 are readers - they both have bookmarked "content S" and read it frequently, occasionally they post some comments to the content's author (User 2);
Over time, by interacting, users 3, 4 and 2 are creating a virtual community, which may emerge into a community of practice.
Company Z is using the system to store Product Z catalog, User Z3 is the one who created the content, all the other users in the company are using this documents while working. At the same time all platform users have access to product Z catalog as this is a case of a public item. Some of them may rate, bookmark, comment or share the item in the social networks.
Over time, by interacting around content Z, users become aware of Product Z, this awareness may turn into revenue to Company Z.
User 6 is a producer - creates an item and blocks its access to other users (i.e., private item)
Using a hybrid approach, this work is proposing a system following a client-server model.
Clients are platform-independent devices running a modern Operating System and browser. For some specific platforms a hybrid application is also available, for example: iOS, Android.
The concept of Hybrid Model involves the creation of a native mobile applications and a server-side service to process part of the business logic and presentation that will be called web-parts.
When a client connects to the server and request a web-part, the server will first process the information and then react accordingly. Afterwards, the presentation code as well as feature/logic code is generated and delivered back to the client using web standards including HTML5, CSS3, JavaScript and base64 encoded images. This answer puts together User Interface & logical code packaged in a "one file only" format.
An important component in the technological approach is the cache system that may contribute as model for future hybrid applications. The following schema represents the interaction between User, App and Server regarding the proposed cache system.
In the next chapter (see Hybrid Applications Cache System), there will be a proof of concept for the above proposed cache system.
Identifying Resources and Agents, an economical approach is a suggestion on how value streams are conducted across the system, how the value is created and what does this helps to support the sustainability of the platform.
Following a freemium based business model, it is possible to identify two types of users: Free User and Paying/Freemium User.
Free UsersFree users such as user 1 or user 2 for example, are able to use the system for free, they have reading access to public content as well as permissions to rate and comment it.
These are the type of users that generate value by interacting with the platform.
Paying Users
Company ZZ is a paying user, as it pays for extra features such as massive upload, no tabbed content and some privacy specific rules. When advertising or promoting its contents on the system, company ZZ is creating awareness across the community. This awareness will be converted in product sales. These are the types of users that financially support the platform's maintenance and new developments.
Value Streams
By using the system, users are increasing its value as they are adding information such as new content, feedback (rating) or comments. Value increase will eventually attract more users (some of them may become paying users), brands and investors.
Next section will present a conceptual approach validation by implementing a functional prototype for the proposed model.
In the previous section, the architectural design model for the system was presented and it has been decomposed in three different scopes. In this chapter, we propose to validate the feasibility of the Operational and the Technological scopes by taking the proposed design from a concept to a real software implementation. Considering the theoretical concept of Communities of Practice regarding its needs and also adopting a technological hybrid approach, this chapter presents the development of Community Sharing Platform.
The system development is broken into several tasks and subtasks. The following set of activities is listed below with the estimated time for each part.
Several practices have been followed in order to minimize effort and development time such as Incremental approach to guarantee that components which serve another are completed first and Safeguard extensibility allowing us to add new components easily.
The following use case diagrams summarize the functional requirements for the system.
Referring to the system business level requirements, the following table specifies the list of features that the system must be able to perform.
User authentication The user is authenticated to get access to in-app personalization, such as bookmarks list, add and edit items or visualize private content. Authentication process is based on a username (or E-mail) and password match between the users’ input data and the system’s database. Register button should be present to suggest the register screen.
|
|
User registration User registration requires a valid email address, username and password. Repeated usernames or e-mails should not be allowed, users must be informed when trying to submit repeated data. The registration process should send a confirmation request for email validation. The first time that the confirmation link is requested and checked, the user should become automatically logged in. Back-button should be present so that user can return to the authentication screen.
|
|
User Bookmarks This will be the landing screen after successful login. In this area, users will be presented with bookmarks screen, a list of items previously marked as important (Pressing the heart icon in the detail-screen). In a first scenario, where there are no bookmarked items, a message should be displayed explaining how to populate this list. The "add-button" should be presented in the top-right-corner of the screen. This button links to the Add-Screen, composed by two tabs: Add-Content and Search-Content. Bookmarked items are described with a thumbnail, title and subtitle. When pressed they will link to item's detail. Back-button should be present so that the user can return to bookmarks-screen.
|
|
List by Tag All items are tagged to one or more topics. Pressing one of the tags used to classify an item (detail-screen) user reaches a list with all the items that are related with that same tag. Back-button should be present to return to detail-screen. |
|
List by User From a detail screen of an item, if the user presses the content's author, it reaches a list of all the public items created by that author. Back-button should be present to return to detail-screen. |
|
Add Content From the add-screen, users may add some content to their bookmark list, whether searching through a list of existing public items or by creating their own items. |
|
Search All non-private content should be searchable. Search algorithm looks into "Title", "Subtitle", "Description" and "Keywords" fields. Priority in the search list should consider the date of submission, where latest come first, but even more important, most well rated items should appear first. Search results are described with a thumbnail, title and subtitle. When pressed they will link to item's detail. Back-button should be present so that user can return to the bookmarks-screen. |
|
Add Item The content types to be submitted may be image files, that will be automatically resized to the maximum allowed size or simple formatted html that will be limited on tags usage for standardization and security control. This process should be extremely simple. Some associated meta-info should also be requested (Title*, Subtitle, Description, Image*, Icon, Tags*, Expires, Private) * mandatory fields Created items may assume different sharing options, such as ‘public’, ‘private’ or ‘shared with friends’. Back-button should be present so that user can return to the bookmarks-screen. |
|
Edit item If the user is authenticated and is the owner of a certain content, the edit button should appear in the top-right-corner of detail-screen. This button will lead to the edit-screen, where all fields of the items may be changed (Title*, Subtitle, Description, Image*, Icon, Tags*, Expires, Private). * mandatory fields Back-button should be present to return to detail-screen. |
|
Item Detail The detail screen of an item should respect the following structure:
Content Object The main information of an item is the image, usually representing the content itself. Images should initially assume 100% screen width and go to its real size (no scaling) when the users presses the zoom-button or double clicks the image area.
Meta-Info Title, sub-title and description are presented to complete the object information with some textual, indexable data.
Bookmark & Rating Bookmark - Items may be bookmarked if the user wants to put them in the home screen. Star-Rate - On a scale of one-to-five, items may be rated. Like mark - Users may express their sympathy for an item. Report Abuse - Opposing to "Like Mark", users may also report their disappointment (useful for inappropriate content). Comments Counter - Number of comments should be present.
Social Sharing Social sharing may be performed through a group of connectors. (i.e.: E-mail, Facebook, Twitter, Linkedin or GooglePlus)
Classification List of selected tags is displayed to add some context awareness to the item.
User feedback / comments Adding some social capabilities, this forum allows users to interact with others by expressing ideas or sharing information, related to the item.
|
|
Administration Level (Back-End)
The administration panel should allow all classes of the system to be managed. System's metrics/statistics should also be available. |
|
Nonfunctional requirements define user's implicit expectations about how well the software will work. The list below indicates the most relevant nonfunctional characteristics, considered during the solution analysis and design.
Availability: The system should be always available for normal use.
Portability: The system is expected to run on the main mobile platforms (i.e. iPhone, Android, Blackberry, Windows Phone), browser version should be available supporting Desktop computers access.
Flexibility: Extensions to the initial functionality of the system may be performed. Design, development, testing and deployment of the system should consider future needs.
Integrity: Unauthorized access to the system and its data is not allowed. Ensure the integrity of the system from accidental or malicious damage. Public content will be available to all authenticated users, non-authenticated and search engines. Private content can only be accessed by its owner or authenticated users with specific group-share permissions (granted by the owner). The access permissions for system data may only be changed by the system’s data administrator. All system data must be backed up every 24 hours.
Performance: All screens should load fast. All downloaded screens (not cached) have a bandwidth dependency, the "view detail" feature is clearly one of the sensible areas of the system.
Reusability: User's class and module should be designed with the ability to leverage common features across multiple systems.
Robustness: All errors should have friendly interfaces. All inputs should be cleaned up from malicious data. A robust system is able to handle error conditions gracefully, without failure. This includes a tolerance of invalid data, software defects, and unexpected operating conditions.
Scalability: Some of the possible ways to scale up this system are by increasing hardware capacity or the network speed.
Usability: The system should be easily understood, learned, and used by its intended users. When using for the first time, people should intuitively understand the most important features. Additional help content may be used.
This artifact is intended to gather information that people use in a daily base such as planting calendars, timetables, event schedulers, organizers or personal notes. As a collaborative platform, users can create, edit and share items, adding some social related aspects to them. The system will have a server side platform and a client application to be installed into user devices.
This application was taught and studied to be applied in multiple scenarios. Two of them are described. Users are named fictitiously for describing a scenario that is near reality. The first scenario reveals possible usages under a farmer community, in which users talk about specific areas of agriculture. The second scenario takes place in every day home to work journey and intends to represent a future application usage.
Roger is a British farmer who has a great vegetable planting calendar, and offered by a local store manager where he buys his seeds. Last year he had some wonderful carrots and cabbages and he believes those results were strongly related to the calendar information. He is in fact so happy that he decided to take a picture from it using his smartphone, so he can have it all the time. Over the last months, Roger decided to collect some more calendars, but reliable information is not easy to find. Roger decided to travel to France where he met his old farmers’ friends François and Caroline. One night, standing by the fire, they started to share some experiences and Roger talked about his calendar, he search across his photo library and few scrolls after he finally found his precious tool.
How can our application help Roger on his farming success?
He can upload his calendar to the platform and access anytime and anywhere he wants, using a smart device or a computer.
He can share his calendar with his French friends or if he prefers with the world's farmer community.
He can search through the platform and choose other planting guides, based on other farmers’ rates and comments.
He can discuss some subject with the communities that are created about some specific item.
Pedro, Jorge and Ana are talking in a subway coffee like they usually do. They met each other by chatting over the Lisbon urban train timetable. Coincidentally Ana, who is graphical designer, was the responsible user for the creation and submission of that specific item.
This section defines the architecture, components, modules, interfaces, and database structure for the system to satisfy the specified requirements.
The following figure illustrates the system's global overview, highlighting the main elements such as clients, servers and the way they communicate with each other.
Following a client/server model the system implements a distributed system where clients and servers communicate over the IP protocol on separate hardware. Client requests for server's content or service function. They typically initiate communication sessions with servers which await incoming requests. The server hosts processing capabilities and resources that will be shared with clients.
The following class diagram provides an overview of the target system, describing the relationship between its main objects and classes.
User: type = {admin, free, premium}
Feedback: bookmark = {true, false}
Feedback: rate = {0, 1, 2, 3, 4, 5}
Feedback: like = {true, false}
Feedback: report = {'', 'report text...'}
This section will briefly describe the design of the database developed for the system in terms of fields and keys.
User (id, title, status, lastupdate, author, access, picture, username, password, email, checkcode, language, remember, signup_date, lastlogin, user_agent, status)
Item (id, status author, lastupdate, createdate, subtitle, img1, description img2, color, title, user_id, tags, access, country, geo, private, expires, views, status)
Feedback (user_id, item_id, bookmark, rate, report, like, views)
Comments (user_id, item_id, text, date, status)
Stats (id, remote_addr, screen, item, timestamp, user, agent, refPage, mac)
Supporting tables
To support backend administration and some additional services to the system, other tables have been created such as: "backups", "banner", "email_template", "config" and "content".
The implementation of the proposed cache system for hybrid applications (see Hybrid Cache System Proposal) was considered separately from the client app so it can be understood in detail. A demonstration application is available1 for Android devices.
Server-side scripting is implemented using PHP (PHP: Hypertext Preprocessor). These scripts are deployed on a web-server hosted on an Apache web-server.
Its functionality is made available through a web-service which accepts HTTP requests from the mobile clients. The reason to choose PHP as the server-side language is related to its openness, performance, Object Oriented capabilities and usability as a programing language.
Back-end control panel, allows system administrator to manage item entries, control forum messages, and analyze platform usage or users interactions.
The following images are set of administration backend screenshots.
For the client-side, Open Standards such as HTML5, CSS3 and JavaScript was used. Web Services and JSON are responsible for communications level between client and server.
Bridging to native, can be done with several languages depending on the target platforms. For example, Java on Android SDK or Objective-C on iOS SDK.
All buttons have a convenient size to ensure cross-platform usability over the different mobile screens sizes and resolutions. The web codes delivered by the server into the clients are one-file-only, which means that all CSS, JavaScript and base64 format converted images are downloaded at the same time.
The search feature uses Ajax to query database and present the possible results. Also the user has options and can comments using ajax get/post methods to record user inputs to the system.
The comments feature is a light weight real time communication tool that allows users to have an instance messaging service. This feature was specifically developed for the prototype to be as small and simple as possible. It uses HTML5, CSS3 and JavaScript with periodic Ajax calls to get new posts. A user picture retrieved from Gravatar service was also added.
The social share options allow a user to share item details over the most common used social networks. When the user presses one of these options, it is redirected to the provider form.
Since we intend to run the system on a variety of devices, handling with specific screen sizes and densities was a major concern. Using media queries, an adaptive layout has been created to support the great range of display resolution and densities.
A simulation1 to perform several tests regarding different devices available in the market was created.
This screen is an example where the size of the screen leaves space to display extra information.
On the opposite side is an example of an extremely small Android device, in these cases the user must use scroll more often to view all content.
The prototype is available to test across all platforms through its browser version1. Additionally, it has been submitted to Google Play application store.
There was no official communication plan, final name (see appendix D), branding or market strategy, only some ideas about what kind of channels could be used.
Browser Apphttp://wallit.joaosantacruz.com
Google Playhttp://lay.google.com/store/apps/details?id=com.joaosantacruz.wallit
By definition, a "Business model" is the way a company creates value for all its stakeholders. Suggestion for the system's business model using the Osterwalder's canvas tool with some additional detail for each of the nine building blocks is presented below.
Key Partners: Users (prosumer effect);
Key Activities: Infrastructure development and maintenance;
Key Resources: The system itself;
Value Proposition: Basic Service + Premium Service + Additional developments;
Costumer Relationship: Allow system customization providing an enjoyable experience;
Costumer Segment: Free Users + Paying Users;
Distribution Channels: Internet (browser version), Google Play, AppStore and Social Networks;
Costs: System development and maintenance; Infrastructure;
Revenues
freemium (extra features)
Additional developments for users wishing to create or view items with additional functionality.
Client application customization for a specific use.
Partial sale of the platform to investors.
Advertising space / Super sponsor
Service integration for automatic submission
Ads sharing - Users receive a share of the Ads revenue related to their content.
Are there sufficient benefits in creating the system to make the cost acceptable? Are the costs of not creating the system so great that the project must be undertaken? Has the project some economic viability? These are some of the questions to address in the future, however this matter is out of the scope of this work.
The resultants artifacts from the last chapter were released on to the author's website1 and also into Google Play applications market. Three months after using the systems statistics and direct user comments to the system, a quantitative and qualitative analysis has been performed to study user adoption and feedback to the system.
While developing the artifact, there was a concern regarding the system's ability to track usage logs and register user comments. Real time stats2 are the basis for the quantitative analysis. On the other hand, qualitative analysis is going to consider a collection of comments posted by the actual users.
It is expected that this analysis helps us to understand, explain and improve user experience as well as suggest some features changing. These analyses will evaluate the prototype regarding its Operational and Technological dimension.
Three months after the systems release, there are 41 downloads through Google Play Application Store and 49 unique installations using the web-client. The total number is 90 installations which is quite reasonable to validate the developed prototype.
There is the total amount of 41 new application installs. It’s now time to analyze deeply and realize what kind of installation profile can be defined. The following is available at the Android Developer console, so its data refers to the Android devices usage.
From the group of 41 users, half are using the version 2.3.3 of Android Operating System. Android 2.2 has almost 30% of version share. The latest Android version 4 is not yet used, representing only 5% of the installations.
The picture above shows how dominant is Samsung in the Android mobile manufactures market with almost 30% all devices.
In terms of languages, English comes first, Portuguese is the second language. These values could be extremely important in the future, to decide what languages to target for the system interface and marketing campaigns. For further detail on Android statistics Appendix B shows more information taken from Google Play Android Developer Console for Wall-it application.
The system had 97 unique installations in the first three months of existence. At the moment there are two available clients, web-client which is a cross-platform application and Android native client. The following figure indicates that Android devices are the majority for both clients, most likely because the only native client developed in the course of this work was the Android client.
Another factor which may contribute to this trend is that the system was only presented to the group of 20 people who make up the class of "Master in Open Source Software" and those are, for obvious reasons, mainly Android users. The figure below shows how frequently registered users’ access to the system.
When it comes to creating content, the next figure shows that 43 new items were created at the moment, 41 are public showing a tendency for people to share what they own or create. These items had an average access of 36 views from registered/unregistered users as most of the items are public and also can be seen by unregistered users.
By Analyzing Figure 42, it can be said that almost half of the registered users had submitted at least one item, being the average of items per user equal to 1. Note that only one user decided to make its items private.
The system allows users to communicate around each item by using the feedback tools such as Bookmarks, Rates, Likes, Reports and Comments. In the next figure, it is possible to observe how frequently people use these tools.
The following figure indicates the most used screens of the client applications. "Login" is number one as it represents the landing point of the client, this screen is available to everyone even search engines. "View" is the second most visited screens, once more this a public area when the items are public. It also represents the true content therefore the goal of most uses.
Finally, we were curious about the relation between "View "and "Add" screen, meaning that people tend to consume rather than to create.
Within software development area, qualitative research is usually adopted to learn about environments, situations and processes. Table 1 gathers feedback from users of the system in an attempt to highlight the most relevant aspects that they experienced while using the prototype. The presented data was gathered from comments in Google Play and also through a form available during this period of testing.
Table 1: User comments to the system
Some comments directly suggest a change in the way the system should work (e.g., comments 2, 4, 6), others (e.g., 1, 5 and 12) report some minor bugs that are now mostly in a "resolved" state.
In comment 11, the user pointed out the fact that the application should be multi-language. Well it’s true that it really could and should be multilingual as that would remove the language barrier for non-English speakers. Nevertheless, there was a concern while designing the client application for making it intuitive enough for a user to dismiss the English labels and texts.
Comments 10 and 13 mentioned the fact that the idea behind for the concept is interesting, but the few available content is not enough to engage the user. For example, a user enters the system for the first time and looks for Ballet Events, with its actual content the search engine will return nothing, which can turn into frustration. This is known in software engineer as a Cold Star, a common problem in information systems which involve a degree of automated data modeling or a comprehensive data volume, and where the system is not ready to serve a user request because it has not yet gathered sufficient information.
Comment 14 refers to a concern that is related to any software that relies on a data connection. In fact, the transitions between screens can be slow since the download speed is not always the desired speed, causing some constraints, however this dilemma can be solved through cache systems (see section 4.3). Whatever the case, distractors should be used to indicate the current status of the application.
During the test period a group of users had installed and used the system, while operating through it several of them registered personal opinions, creating challenges or simply reporting bugs. This feedback together with the usage logs and statistic are the key to making the prototype validation.
Technological
At the moment, native apps can do a lot more than HTML5 apps. Hybrid apps may however reduce the gap between Native and Web, the hybrid app model presented in Section 3.1 proves to be suitable for the prototype development needs, allowing us to fulfill the requirements and providing a cost-effective cross-platform solution.
Operational
Regarding the Operational dimension, the user behavior had shown that users tend to assume one or more user roles within the system, after the registered users start to upload items as well as consuming or evaluating others content, confirming the prosumer effect named by Tapscot (2006). Considering the conceptual operational approach presented in Section 3.2 the emergence of small communities around the items shares was expected but this was obviously something that couldn't happen in such a short period of time. As we have studied in the Literature Review, Communities of Practice are based on solid relations that are established over time.
By the current analysis, it can be said that it is possible to create a Community Sharing Platform for Mobile Devices as the developed prototype has accomplished Functional and Non Functional Requests. People seem to be happy when using the system, finding the user interface nice and easy to use. The major and probably the most difficult obstacle will be to avoid a Cold Start, this is something that could be achieved by applying a good marketing plan which may include an initial content injection on the type of items users tend to search for.
This thesis began by presenting the research question "Is it possible for people to dispose from a mobile platform that allows people to interact around common interests?"
In order to address this question the literature review introduced the concept of Communities of Practice as it helped to understand the type of social reality related to virtual communities as well as the technology behind the tools that are used to communicate. Smart device proliferation made mobile devices a main channel to these communities which lead to a focus over the Cross-platform development for Mobile Applications with particular emphasis on the hybrid approach. Concerning the economic sustainability of the solution, several Free Based Business Models were analyzed attempting to explore how products based on zero prices can generate revenue.
Based on the literature review, a Conceptual Model was presented considering three different scopes: Operational – defining the information flow across the system; Technological – formalizing all technological elements included; Economics – suggesting possible ideas to generate revenues.
The proposed conceptual model was validated with a prototype. This platform entitled "wall-it" enables users to interact around common interests. "Wall-it" was released to a small group of people. After three months of collecting logs and statistic data, the user's reaction and experience while using the system was validated by a quantitative and a qualitative analysis.
From this study, it has been concluded that people are generally happy with the system, easily get involved with the idea of backing-up their documents in the cloud.
Considering the fragmented mobile platforms market, this work addressed the cross-platform mobile application development using a hybrid model, which uses both, web and native technology. The hybrid app model, although not suitable for all app development needs, has been considered the right solution to address the research question, showing that Web technology together with native code can make the difference, lowering development costs, bringing the competitiveness in mobile software market.
One of the main objectives for this work included the development of a fully operational Mobile Application, the prototype is ready, however there is always something to improve, features to add or concepts to change.
Regarding software development there are some suggestions such as iOS hybrid client, automatic tags while submitting, Geo-location information on items, share items with email list or group, to improve the cache system and using the user's feedback to infer some aspects in the client software (apps may learn from user action among the time).
Business model long term evaluation was out of the scope of this work, however this analysis is crucial for taking the prototype into a finished product state.
Allen, S. (2010) Pro Smartphone Cross-Platform Development: iPhone, Blackberry, Windows Mobile, and Android Development and Distribution, Apress, 2010.
Anderson, C. (2006) The Long Tail: Why the Future of Business is Selling Less of More, Hyperion, 2006.
Anderson, C. (2009) Free: The Future of a Radical Price, Hyperion, 2009.
Apple Inc. (2012) "Apple Developer", available at: http://developer.apple.com/ retrieved on: Abr 9, 2012
Bodker, S. (2008) "Design for reconfiguration," in Proceedings of the 26th annual ACM/SIGDOC International Conference on Design of communication, New York, NY, USA, 2008, p. 263–264
Castells, M. (2000) The Rise of the Network Society, Blackwell Publishers, Inc., Cambridge, MA
Charland, A. & Leroux, B. (2011) "Mobile Application Development: Web vs. native", in Communications of the ACM, Nº. 5, 2011, p. 49-53
Clark, J.(2010) Tapworthy: Designing Great iPhone Apps, O’Reilly Media, 2010.
Clawson, J. Voida, A. Patel, N. & Lyons, K. (2008) "Mobiphos: a collocated-synchronous mobile photo sharing application," in Proceedings of the 10th international conference on Human computer interaction with mobile devices and services, New York, NY, USA, 2008, p. 187–195
Collabera, (2011) "Native v/s Hybrid - What is the right choice for Enterprise Mobility", available at: www.collabera.com/documents/Native_vs_Hybrid_PositionPaper.pdf; retived at: Mar 29, 2012
Comscore (2011) "comScore Reports February 2011 U.S. Mobile Subscriber Market Share" available at: http://www.comscore.com/Press_Events/Press_Releases/2011/4/comScore_Reports_February_2011_U.S._Mobile_Subscriber_Market_Share
Evans, Da. (2008) Social Media Marketing - An Hour a Day , Wiley Publishing, Inc, 2008
Facebook nc. (2012) "Facebook Developers", available at: http://developers.facebook.com/, retrieved on May, 2012
Gannon-Leary, Patricia Margaret & Fontainha, Elsa (2007). "Communities of Practice and virtual learning communities: benefits, barriers and success factors", eLearning Papers, no. 5. ISSN 1887-1542.
Google Inc. (2012) "Android Developer ", available at: http://developer.apple.com/ retieved on: Abr 11, 2012
Grandval, S & Ronteau, S. (2011) "Business Model: Configuration et renouvellement," Hachette Livre, Paris ISBN: 978-2-01-146259-6
GSM (2011). European Mobile Industry Observatory 2011, available at: http://www.gsma.com/mobile-observatory/ on: Jan 6, 2012
Harris. S, (2007) "How is RIA Different From Traditional Web Applications?", in Apache, available at: http://apache.sys-con.com/node/458755; retrieved on: Apr 01, 2012
Hazaël-Massieux. D, "What is a Web-based mobile application or Web app? Here’s expert opinion from the W3C", in MobileThinking, available at: http://mobithinking.com/blog/what-is-a-Web-app; retrived on: Aug 13, 2010
ISSN 1887-1542.
Kampwerth, D. (2006) "Options Avaliable for Personal Pommunication", Bowie State University, Maryland, available at: http://faculty.ed.umuc.edu/~sdean/ProfPaps/Bowie/T3-0506/Kampwerth.pdf
Kleanthous, S. (2007) "Semantic-Enhanced Personalized Support for Knowledge Sharing in Virtual Communities, in User Modeling" 2007, Lecture Notes in Computer Science Vol. 4511/2007, Springer Berlin / Heidelberg: Corfu, Greece. p. 465-469
Kumparak. G, (2011) "Android Now Seeing 550,000 Activations Per Day", in TechCrunch, available at: http://techcrunch.com/2011/07/14/ android-now-seeing-550000-activations-per-day/; retrieved on: Feb 26, 2011.
Lewandowski, A. &. Bourguin, G(2007) "Enhancing support for collaboration in software development environments," in Proceedings of the 10th international conference on Computer supported cooperative work in design III, Berlin, Heidelberg, 2007, p. 160–169.
Linkedin Inc. (2012) "LinkedIn Developer Network", available at: http://developer.linkedin.com/, retrieved on May, 2012
Lynggaard, P. (2011). "Internet of Things and Smart Homes, Teaching at Department of Development and Planning", archived at: http://conf.cmi.aau.dk/presentationer/IoT_SH_v1.pdf
Magretta, J. (2012), "Why Business Models Matter", Harvard Business Review, May 2002
Morgan & Stanley (2010) Internet Trends - Presentation from Web 2.0 Summit, available at: http://www.morganstanley.com/institutional/techresearch/mobileinternetbook.html, retrived on: April 2, 2012
Orhun, E. & Hopple, J. (2008) "Theoretical frameworks for knowledge sharing in a community of practice", in Proceedings of the 2008 Euro American Conference on Telematics and Information Systems, New York, NY, USA, 2008, p. 4:1–4:7.
Osterwalder, A. Pigneur, Y. (2009) Business Model Generation, Self Published, 2009
Perry. R, (2011) "Hybrid mobile apps take off as HTML5 vs. native debate continues", in Venturebeat.com, available at: http://venturebeat.com/2011/07/08/hybrid-mobile-apps-take-off-as-html5-vs-native-debate-continues/; retrived on: Mar 29, 2012
Riehle, D. (2007) "The Economic Motivation of Open Source Software: Stakeholder Perspectives." IEEE Computer, vol. 40, no. 4 (April 2007). Page 25-32.
Sanchez, C. & Goolsbee, J. (2010) "Computers & Education", Elsevier available at: http://casanchez.faculty.asu.edu/pubs/size.pdf
Schmitz, C. & Hotho, A., R. Jaeschke, and G. Stumme (2006) Mining Association Rules in Folksonomies. pages 261-270
Siersdorfer, S. & Sizov, S. (2009) "Social recommender systems for web 2.0 folksonomies", in Proceedings of the 20th ACM conference on Hypertext and hypermedia, New York, NY, USA, 2009, p. 261–270.
Silva, J., & Aparicio, M. (2011). Community sharing platform for mobile devices. Proceedings of the 2011 Workshop on Open Source and Design of Communication, OSDOC ’11 (pp 7–11). New York, NY, USA: ACM. doi:10.1145/2016716.2016719
Singh,R. ,Bhargava, P. & Kain,S. (2008) "smartphones: A tutorial," Ubiquity, vol. 2008, p. 4:1–4:9, Apr-2008. Available at: http://ubiquity.acm.org/article.cfm?id=1366322
Tapscot, D. (2006) Wikinomics: How Mass Collaboration Changes Everything, New York : Portfolio, 2006, ISBN 1591841380
The Hammersmith Goup, (2010) "The Internet of things: Networked objects and smart devices", available at: http://thehammersmithgroup.com./reports/networked_objects.pdf; retrieved on: Mar 23, 2012
Traber. M, (1999) "Communication is Inscribed in Human Nature", Available online at: http://archive.waccglobal.org/wacc/content/pdf/1089; retrieved on Jan 5, 2012.
Vakulenko. M, (2011) "Mobile Platforms: The Clash of Ecosystems", in Vision Mobile, availabline at: http://www.visionmobile.com/blog/2011/11/new-report-mobile-platforms-the-clash-of-ecosystems/; retrived on: Mar 14, 2011.
Wenger, E. (1999) Communities of Practice: Learning, Meaning, and Identity, 1st ed. Cambridge University Press, 1999.
Wenger, Etienne (1998) 'Communities of Practice. Learning as a social system', Systems Thinker, http://www.co-i-l.com/coil/knowledge-garden/cop/lss.shtml. Accessed December 30, 2002.
Wenger, Etienne (c 2007) "Communities of practice. A brief introduction" Communities of practice [http://www.ewenger.com/theory/. Accessed January 14, 2009].
Wenger, Etienne and Richard McDermott, and William Snyder (2002) Cultivating communities of practice: a guide to managing knowledge, Cambridge, Mass.: Harvard Business School Press.
WriteWork contributors, (2008) "Mediated Communication"; in WriteWork.com, available at: http://www.writework.com/essay/mediated-communication; retrieved on: Feb 02, 2012.
First User Interface drafts
Suggested names for the system
Ref. |
Name |
Concept |
1 |
Crowdtable |
crowd + table |
2 |
PractCollab |
practice +collaboration |
3 |
PractShare |
practice +share |
4 |
Crowdsat |
crowd +saturn |
5 |
Ideazap |
ideas+zap |
6 |
meetinum |
Meet + forum |
7 |
CoPract |
Collaborative+Communicate+common+pratice |
8 |
Timezap |
time zap |
9 |
Praticarum |
practice+ forum |
10 |
in-for-community |
Inside + community |
11 |
community-inside |
Community + inside |
12 |
Sharum |
share+forum |
13 |
CommonIdea |
common+idea |
14 |
PractPlace |
practice+place |
15 |
TeamPlace |
team+ place |
16 |
Wall-it |
wallet + put it in your... |
17 |
in-my-pocket |
Inside + your + pocket |
18 |
Pocket-info |
Pocket + information |
19 |
The Pocket Revolution |
Change the way you organize the information inside your pocket |
Silva e Aparicio, 2011
Demonstration available at: http://wallit.joaosantacruz.com/hybrid-cache/
Simulator available at: http://wallit.joaosantacruz.com/devices/
More about the app at: http://joaosantacruz.com/jz2/uk/wall-it
MasterOpenSource article at: http://masteropensource.wordpress.com/2012/01/21/wall-it/
Author's website available at: http://www.joaosantacruz.com
Real time stats available at: http://wallit.joaosantacruz.com/app/stats/