Skip to main content

Web 2.0 some features ... some concepts ...

Web 2.0 Features


Objective

The objective of this document is to provide the insight to the web 2.0 features and general requirements associated with the feature. The document also attempts to provide information on the Semantic markups, Mashups, Tableless design.

Pre-requisites
Web application development experience, HTML/XHTML/DHTML/Java scripting/DOM knowledge
UI development experience
Ability to provide user’s perspective to enable good user experience

Below listed are some concepts that will be handy while designing Web 2.0 sites.

Rich user experience

The richness is very subjective. The idea here is to enhance the look and feel, experience of the User interface so that the users of the web site are emotionally connected which would result in long lasting association. In today’s world, sustaining and increasing the user base are the biggest challenges; to make it much more difficult, the competition is severe.

Semantic markup

Traditional usages of HTML tags which are meant for presentation of the content do not provide any meaning to the content embedded within the tags. The idea of semantic markup is provide meaning to the embedded content. The semantics can be achieved through RSS format, embedding XML in the script or through XHTML.

Tableless design

It is a method of designing web pages without using HTML tables for page layout designing. Instead of HTML tables, CSS are used to arrange elements and text on page.


Mashups

Mashup is a web application that combines data from more than one source to derive a information or to provide integrated web service. Client mashups process the information at HTML page through javascript/DHTML. The server side mashups process the information at the server side and presents the information after server side processing.


Widgets

Widget (Web widgets) is a portable chunk of reusable code that can be embedded and executed within HTML page without additional compilation. HTML widgets can be built using DHTML, JavaScript. Widgets are used to add dynamic content. They are also often referred to as modules, snippets, plug-ins.

Web API

Web APIs are the information exchange interfaces over HTTP designed to exchange resource based information. Web APIs are a kind of web services, where the response can be in JSON format, XML format, PDF format, PNG format.
The APIs are exposed as http URL in GET or/and POST methods. This kind of web APIs usually do not need infrastructure that is needed to host web services of SOAP like. These kind of web apis are used to develop Mashups.

Content syndication (Feed generation and aggregation)

The Web 2.0 has opened up web communication through simple XML syndication. Through this XML the web application can transmit and receive information. RSS and ATOM are the popular formats. The information from other sources through RSS/ATOM can be processed to derive aggregated feed.

Component syndication

Here, the owner of the component will syndicate the component so that business affiliates can use the same component in their web applications.
Example:
A video player owned by a company X, can be syndicated with other affiliates or partners. This opens up the feasibility of revenue generation through partner sites.

Web 2.0 Features list

Feature Description
1 Rich appearance
2 Feed generation
3 Feed aggregation
4 Notification
5 Voting
6 Rating
7 Forwarding
8 Video hotspots
9 Image hotspots
10 Bookmark content
11 Trackback
12 Tagging
13 Chatting
14 Commenting
15 Content syndication
16 Component syndication
17 Widgets and Web API

Requirements Description
1 Rich appearance
1.1 Well thought UI layout that supports skinning
1.2 Well thought good looking UI component design that supports skinning (personalization)
1.3 Should support configurability
2 Feed generation
2.1 Ability to Generate RSS/ATOM feeds
2.2 Ability to read RSS/ATOM through web browser readers like Google reader.
2.3 Subscribe other website feeds using via RSS reader.
2.4 Display the subscribed feeds into the play list section.
3 Feed aggregation
3.1 Ability to aggregate RSS/ATOM feeds
4 Voting
4.1 Ability to flag the content/participant that it/participant can be voted
4.2 Ability to vote content
4.3 Ability to integrate with Voting system
5 Rating
5.1 Ability to display ratings (5 stars)
5.2 User ratings should be persisted 1 being poor and 5 being awesome.
5.3 Once rated User should not be able to rate the same content again
6 Forwarding
6.1 Ability to share the content with friends via email.
6.2 The email should have a link which will launch the content
6.3 Ability to embed the content in Blog
6.4 Ability to provide inline comment for selected content
7 Video hotspots (Video content)
7.1 Ability to manage video hotspots
7.2 Ability to enable users to create/edit hotspots
8 Image hotspots
8.1 Ability to manage image hotspots
8.2 Ability to enable users to create/edit hotspots
9 Bookmarking
9.1 Ability to enable users to bookmark through Digg, Del.ico.us
10 Blog this/Trackback
10.1 Ability to link between the blogs
10.2 Ability to provide embedded code to use in blogs
11 Folksonomy/Tagging
11.1 Ability to enable users to tag the content
12 Chatting
12.1 Ability to display online users
12.2 Ability to select rooms
12.3 Ability to send/receive messages
12.4 Ability to disable private messaging, when a channel is moderated (other similar business rules)
13 Commenting
13.1 Ability to enable users to comment on the content
13.2 Ability to moderate comments before making it online
13.3 Ability to moderate online comments and make it offline
13.4 Ability to configure limit of number of words per comment
13.5 Ability to display N comments in one go, and rest will be paginated; N should be configurable
13.6 Option to display all comments in one go
13.7 Ability to flag the comments as abusive
14 Content syndication
14.1 Ability to generate RSS/ATOM feeds
15 Component syndication
15.1 Ability to mask the component functionality (disable/remove). The component should adjust its layout and maintain consistent look and feel, when component/control is hidden or removed.
15.2 Ability to signup the affiliate or business partner
15.3 Ability to track syndicated component for content usage
16 Widgets and Web API
16.1 Widget development
16.2 Web API development – JSON
16.3 Web API development – REST services


Try out ..


Add atleast five web 2.0 features to the existing feature list.
Provide real life examples with URLs for above listed web 2.0 feature list.
How do you track syndicated video player?
Provide at least ten Web APIs and list what are formats of the resulting response?
Design a simple Google MAP mash up application and apply Tableless design for UI layout.
Explain Trackback feature with use case flow.
Design RSS 2.0 reader widget in HTML
Why do we need Folksonomy? Give atleast 2 reasons.

Comments

Popular posts from this blog

Key to adopt open source product

Friends, I am working on business solution implementation on open source product called Kaltura. Kaltura is a media management solution and has loads of features that compel any business to take a peek into it. More-over this is the only complete end-to-end open source software available to handle digital assets. But it comes with its own head ache. Considering its open source, its understandable. I feel, handling these would ensure you the success in your open source product implementation. 1. In my opinion, before adopting any open source software, build the capability to deal with the inconsistency bundled in the open source software. 2. I would avoid involving external consultants for 2 reasons.      a. I am not sure, they would bring necessary expertise on to table      b. I fear that there would be little ownership, they will not see big picture of my business (neither I am interested to share it all) 3. Alternative to that is to build the team that is capable of debuggin

Secure your application on cloud

Handling sensitive data Define sensitive data for your application. Classify as sensitive data and confidential data. Sensitive data is something like password, credit card account number, something that you should not compromise at all. Confidential data could be your customer’s health record, something that requires your permission before its usage. So, you need to define sensitive data in the context of your application. There are many ways to protect the sensitive data in transit; the easiest way is to use SSL. This is nothing different than handling sensitive data in any traditional application.   However, make sure you apply this rule while designing your application for cloud deployment. Alternatively, you can encrypt the sensitive data and transport. Be noted that any kind of protection you design, will have implications on performance. However this is ignorable considering the nature of sensitive data. If you just want to protect your data from being tampered during

Sub-netting: Divide a network into 2 or more networks

Points to keep in mind: 1. Computers that belong to a subnet are addressed with an identical most-sig bit group in the IP addresses 2. IP is logically divided into NetworkIdentifier/Routingprefix and Restfield/HostIdentifier 3. Routing prefix can be expressed as CIDR (Classless Inter-Domain Routing) notation. Ex. 198.51.100.0/24 Implies NetworkIdentifier has 24 bits allocated and Rest field has 8 bits allocated 4. A network is characterized by subnet mask or netmask, applied by bitwise AND operation Ex. For 198.51.100.0/24, the subnet mask is 255.255.255.0 Subnet masks are used to identify the networks *If 198.51.100.0 is NetworkIdentifier, then 198.51.100.255 is BroadcastIdentifier For Class A, mask is 255.0.0.0; Class B, mask is 255.255.0.0; Class C, mask is 255.255.255.0 5. Traffic is exchanged between subnets through routers, when the routing prefixes of the source and destination addresses differ; A router serves as a logical boundary between the subnets. Advantag