Lesson 1 Web 2.0 - An Introduction
Lesson 1 Web 2.0 - An Introduction
0 An Introduction
1.1
Lesson Objectives
The concept of Web 2.0 is a new definition of the Web and the internet, that aims to enhance creativity, information sharing and user collaboration. This lesson introduces the key characteristics of Web 2.0. Important developments in web technology such as the SaaS (Software as a service) model and multiple delivery channels are also discussed in this lesson. The lesson also provides an explanation of internet based folksonomies and social networking.
1.2
Web 2.0 is a term that describes the trend in the use of World Wide Web technology and web design that aims to enhance creativity, information sharing, and, most notably, collaboration among users. These concepts have led to the development and evolution of web-based communities and hosted services, such as social-networking sites, wikis, blogs, and folksonomies. Web 2.0 is the business revolution in the computer industry caused by the move to the Internet as platform, and an attempt to understand the rules for success on that new platform.
1.2.1
Level-3 applications These are the most "Web 2.0"-oriented applications and only exist on the Internet. Level-3 applications derive their effectiveness from inter-human connections and from the network effects that Web 2.0 makes possible. These applications grow in effectiveness as people make more use of them. Examples include eBay, Craigslist, Wikipedia, del.icio.us, Skype, dodgeball, and AdSense. Level-2 applications - These can operate offline but gain advantages from going online. An example of a Level-2 application is Flickr, which benefits from its shared photodatabase and from its community-generated tag database. Level-1 applications These can operate offline but gain features online. Examples include Google Docs & Spreadsheets and iTunes music store.
Lesson 1: Web 2.0 An Introduction _____________________________________________________________________________ Level-0 applications These work both offline and online. The examples are MapQuest, Yahoo! Local, and Google Maps (mapping-applications using contributions from users to advantage could rank as "level 2").
1.2.2
Rich user experience User participation Dynamic content Metadata Web standards and scalability Openness Freedom Collective intelligence by way of user participation
1.3
Folksonomy is the practice and method of collaboratively creating and managing tags to annotate and categorize content. Folksonomy is also known as collaborative tagging, social classification, social indexing, and social tagging. In contrast to traditional subject indexing, metadata is generated not only by experts but also by creators and consumers of the content. Usually, freely chosen keywords are used instead of a controlled vocabulary. The term Folksonomy is a blend of the words folk and taxonomy. Hence, a folksonomy is a user-generated taxonomy. Folksonomies became popular on the Web around 2004 with social software applications such as social bookmarking or annotating photographs. Websites that support tagging and the principle of folksonomy are referred to in the context of Web 2.0 because participation is very easy and tagging data is used in new ways to find information. For example, tag clouds are frequently used to visualize the most used tags of a folksonomy. The term folksonomy is also used to denote only the set of tags that are created in social tagging. Typically, folksonomies are Internet-based, although they are also used in other contexts. Folksonomic tagging is intended to make a body of information increasingly easy to search, discover, and navigate over time. A well-developed folksonomy is ideally accessible as a shared vocabulary that is both originated by, and familiar to, its primary users. Two widely cited examples of websites using folksonomic tagging are Flickr and del.icio.us, although it has been suggested that Flickr is not a good example of folksonomy. As folksonomies develop in Internet-mediated social environments, users can (generally) discover who created a given folksonomy tag, and see the other tags that this person created. In this way, folksonomy users often discover the tag sets of another user who tends to interpret and tag content in a way that makes sense to them. The result is often an immediate and rewarding gain in the user's capacity to find related content (a practice known as "pivot browsing). Folksonomy creation and searching tools are not part of the underlying World Wide Web protocols. Folksonomies arise in Web-based communities where provisions are made at the site level for creating and using tags. These communities are established to enable Web users to label and share user-generated content, such as photographs, or to collaboratively label existing content, such as Web sites, books, works in the scientific and scholarly literatures, and blog entries.
1.4
Software as a service
Software as a service (SaaS, typically pronounced 'Sass') is a model of software deployment where an application is hosted as a service provided to customers across the Internet. SaaS eliminates the need to install and run the application on the customer's own computer. As a result, SaaS eases the customer's burden of software maintenance, operation, and support. Conversely, customers relinquish control over software versions or changing requirements; moreover, costs to use the service become a continuous expense, rather than a single expense at time of purchase. Using SaaS can also reduce the expense of software purchases, through less costly, on-demand pricing. From the software vendor's standpoint, SaaS has the attraction of providing stronger protection of its intellectual property and establishing an ongoing revenue stream. The SaaS software vendor may host the application on its own web server, or this function may be handled by a third-party application service provider (ASP). This way, end users may reduce their investment on server hardware too.
1.4.1
History
The concept of "software as a service" started to circulate prior to 1999 and was considered to be "gaining acceptance in the marketplace" in Bennett et al., 1999 paper on "Service Based Software". Whilst the term "software as a service" was in common use, the CamelCase acronym "SaaS" was not coined until several years later in a white paper called "Strategic Backgrounder: Software as a Service" by the Software & Information Industry's eBusiness Division published in Feb. 2001, but written in fall of 2000 according to internal Association records.
1.4.2
Philosophy of SaaS
As a term, SaaS is generally associated with business software and is typically thought of as a low-cost way for businesses to obtain the same benefits of commercially licensed, internally operated software without the associated complexity and high initial cost. Consumer-oriented web-native software is generally known as Web 2.0 and not as SaaS. Many types of software are well suited to the SaaS model, where customers may have little interest or capability in software deployment, but do have substantial computing needs. Application areas such as Customer relationship management (CRM), video conferencing, human resources, IT service management, accounting, web analytics, web content management and e-mail are some of the initial markets showing SaaS success. The distinction between SaaS and earlier applications delivered over the Internet is that SaaS solutions were developed specifically to leverage web technologies such as the browser, thereby making them web-native. The data design and architecture of SaaS applications are specifically built with a 'multi-tenant' backend, thus enabling multiple customers or users to access a shared data model. This further differentiates SaaS from client/server or 'ASP' (Application Service Provider) solutions in that SaaS providers are leveraging enormous economies of scale in the deployment, management, support and through the Software Development Lifecycle.
1.4.3
The key characteristics of SaaS software, according to IDC, include: Network-based access to, and management of, commercially available software activities that are managed from central locations rather than at each customer's Site. Enabling customers to access applications remotely via the Web application delivery that typically is closer to a one-to-many model (single instance, multitenant architecture) than to a one-to-one model, including architecture, pricing, partnering, and management characteristics. Centralized feature updating, which eliminates the need for downloadable patches and upgrades. SaaS applications are generally priced on a per-user basis, sometimes with a relatively small minimum number of users and often with additional fees for extra bandwidth and storage. SaaS revenue streams to the vendor are therefore lower initially than traditional software license fees, but are also recurring, and therefore viewed as more predictable, much like maintenance fees for licensed software.
1.4.4
SaaS Implementation
According to Microsoft, SaaS architectures generally can be classified as belonging to one of four "maturity levels," whose key attributes are configurability, multi-tenant efficiency, and scalability. Each level is distinguished from the previous one by the addition of one of those three attributes: Level 1 - Ad-Hoc/Custom: At the first level of maturity, each customer has its own customized version of the hosted application and runs its own instance of the application on the host's servers. Migrating a traditional non-networked or client-server application to this level of SaaS typically requires the least development effort and reduces operating costs by consolidating server hardware and administration. Level 2 - Configurable: The second maturity level provides greater program flexibility through configurable metadata, so that many customers can use separate instances of the same application code. This allows the vendor to meet the different needs of each customer through detailed configuration options, while simplifying maintenance and updating of a common code base. Level 3 - Configurable, Multi-Tenant-Efficient: The third maturity level adds multitenancy to the second level, so that a single program instance serves all customers. This approach enables more efficient use of server resources without any apparent difference to the end user, but ultimately is limited in its scalability. Level 4 - Scalable, Configurable, Multi-Tenant-Efficient: At the fourth and final SaaS maturity level, scalability is added through a multitier architecture supporting a loadbalanced farm of identical application instances, running on a variable number of servers. The system's capacity can be increased or decreased to match demand by adding or removing servers, without the need for any further alteration of application software architecture. Virtualization also may be used in SaaS architectures, either in addition to multitenancy, or in place of it. One of the principal benefits of virtualization is that it can increase the system's capacity without additional programming. On the other hand, a considerable amount of programming may be required to construct a more efficient, multi-tenant application. Combining multi-tenancy and virtualization provides still greater flexibility to tune the system for optimal performance. In addition to full operating system-level virtualization, other virtualization techniques applied to SaaS include application virtualization and virtual appliances. Various types of software components and frameworks may be employed in the development of SaaS applications. These tools can reduce the time to market and cost of converting a traditional on-premise software product or building and deploying a new SaaS solution. Examples include components for subscription management, grid computing software, web application frameworks, and complete SaaS platform products.
1.5
1.5.1
VoiceXML is a Web-based markup language for representing human computer dialogs using audio output devices (computer-synthesized and/or recorded) and audio input device (voice and/or keypad tones).
1.5.2
Architectural Model
Figure 1.5.2 VoiceXML Architectural Model Document Server: process request form a client,ex. a web server. VoiceXML Interpreter: process VoiceXML documents and conduct the dialog. VoiceXML Interpreter Context: acquire VoiceXML documents, detect and answer calls.
Lesson 1: Web 2.0 An Introduction _____________________________________________________________________________ Implementation Platform: controlled by VoiceXML Interpreter Context and VoiceXML Interpreter;generate events in response to user actions and system events;require: audio output(TTS, audio files),audio input (SR,audio record, DTMF).
1.5.3
Voice applications
Information retrieval Electronic transactions Telephone services Call centers Voice e-mail Voice Access Control Voice Recognition
1.5.4
VoiceXML History
1.5.5
Usage
Many commercial VoiceXML applications have been deployed, processing millions of telephone calls per day. These applications include: order inquiry, package tracking, driving directions, emergency notification, wake-up, flight tracking, voice access to email, customer relationship management, prescription refilling, audio newsmagazines, voice dialing, real-estate information and national directory assistance applications.
Lesson 1: Web 2.0 An Introduction _____________________________________________________________________________ VoiceXML has tags that instruct the voice browser to provide speech synthesis, automatic speech recognition, dialog management, and audio playback. The following is an example of a VoiceXML document:
<vxml version="2.0" xmlns="http://www.w3.org/2001/vxml"> <form> <block> <prompt> Hello world! </prompt> </block> </form> </vxml>
When interpreted by a VoiceXML interpreter this will output "Hello world" with synthesized speech. Typically, HTTP is used as the transport protocol for fetching VoiceXML pages. Some applications may use static VoiceXML pages, while others rely on dynamic VoiceXML page generation using an application server like Tomcat, Weblogic, IIS, or WebSphere. In a well-designed web application, the voice interface and the visual interface share the same back-end business logic.
1.6
Social networking
A social network is a social structure made of nodes (which are generally individuals or organizations) that are tied by one or more specific types of interdependency, such as values, visions, ideas, financial exchange, friendship, kinship, dislike, conflict or trade. The resulting structures are often very complex.
Figure 1.6 Social networking A social network is a description of the social structure between actors, mostly individuals or organizations. It indicates the ways in which they are connected through various social familiarities ranging from casual acquaintance to close familiar bonds. Building Rich Internet Applications with Adobe Flex 1-11 ______________________________________________________________________________
Lesson 1: Web 2.0 An Introduction _____________________________________________________________________________ Social network analysis views social relationships in terms of nodes and ties. Nodes are the individual actors within the networks, and ties are the relationships between the actors. There can be many kinds of ties between the nodes. Research in a number of academic fields has shown that social networks operate on many levels, from families up to the level of nations, and play a critical role in determining the way problems are solved, organizations are run, and the degree to which individuals succeed in achieving their goals. In its simplest form, a social network is a map of all of the relevant ties between the nodes being studied. The network can also be used to determine the social capital of individual actors. These concepts are often displayed in a social network diagram, where nodes are the points and ties are the lines.
1.7
Summary
The advent of Web 2.0 has led to the development and evolution of web-based communities and hosted services, such as social-networking sites, wikis, blogs, and folksonomies. There are four kinds of Web 2.0 applications. Websites that support tagging and the principle of folksonomy became popular around 2004. Such websites are referred to in the context of Web 2.0 because participation is very easy and tagging data is used in new ways to find information. Creation of web services standards such as XML has enabled the web to transform into platform for building services. This phenomenon known as Web 2.0 provides the rich environment for SaaS (Software As A Service) providers to succeed. The emergence of Web 2.0 has led to the creation of a new generation of web applications built around web services. VoiceXML is becoming the standard language used for developing interactive voice enabled applications.