Web 2.0 Applications

Introduction to Web 2.0 Applications

What is Web 2.0?

Web 1.0 was the Read web. Web 2.0 is referred to as the Read & Write web.

Web 2.0 is the generation of the interactive and the dynamic internet, where websites, platforms, portals and applications are formed via active participation, collaboration and involvement of the end users.

Unlike web 1.0, web 2.0 apps are not just static sites providing us with information anymore.

Infact, Web 2.0 denotes a paradigm shift in technology.

This term is now used refer to this category of desktop and web based applications which are most commonly in use and in popularity today like Myspace, Facebook, Linked In, blogger, wordpress etc.

Key Features of Web 2.0 Applications

Web 2.0 typically refers to web as a platform. Most of the web 2.0 applications take the user generated content and make software on top of that that crates value e.g. interactive encyclopedia and dictionaries, advanced gaming, content hosting and sharing, bookmarking, tagging and classifying content, online word/PowerPoint/excel etc.

  1. The web 2.0 applications run on the browser, they are platform and operating system independent and they do not require installation of any software.
  2. They can be created quickly and easily.
  3. They have massive user participation and contribution:
    • Users enter a lot of content and may also edit that content
    • Users express their views and have discussions
    • Users form communities, have followers, have friends, form a network
    • Users share content like ideas, photos, videos, other mass media online
    • Users exchange brief messages and have dialogues via chat/tweet
    • Users participate in forums, compete in events, take part in polls
    • Users tag content and classify information in various ways, do bookmarking
    • Users like, comment on news, articles and form a virtual community
  4. Most of them are also Rich internet applications which support a rich user experience.
  5. They allow for active data communication back and forth which may happen synchronously or asynchronously via web services and API's - example are aggregators and mashups. i.e. they both expose and consume information in form of RSS feeds.

Advantages of Web 2.0 Applications

  1. Web 2.0 applications bring people together and they signify the power of collective force and mass influence.
  2. People can easily express their views. Web 2.0 supports free flow of information.
  3. They allow for personalized recommendations and personalized suggestions where web 2.0 apps create value by offering that which is as per the end user's location, taste and preferences.
  4. They allow for content to be classified and tagged in various ways thereby allowing for efficient search.
  5. Spread of news has become easier with content syndication possible through web 2.0.
  6. Web 2.0 applications are easily available on any browser and are operating system and platform independent.

Here are some examples of how web 2.0 helps us in our day to day life:

Entertainment - Internet has become a fun place where people can blog, share, watch and comment on videos, do podcasting, do microblogging.

Enterprise - Helps create a connected community across geographic boundaries, increases creativity and coordination amongst users, reduces cost of communication and operations.

Marketing - Executives develop better relationships with their customers, suppliers and partners. Products can be promoted through interesting ways like interactive games, campaigns etc.

Governance - Citizens can report crimes and issues to government officials quickly and easily. They may vote in favor or show resentment on a bill/law. Applications for government procedures like visa, passport etc. get expedited and done online via web 2.0, eGovernance and surveillance becomes easy.

Travel - web 2.0 applications provide access to reviews and recommendations about places, hotels, destinations, things to do. We can plan itinerary, compare prices and get access to beast deals.

Medicine - caregiver portals on the internet are being used to track medical adherence by patients. One may access info about latest medical drugs, their side-effects, as well as to monitor health, heart rate using web 2.0 applications.

Library and Classroom - Learning management systems are being made that allow teachers to post assignments, lectures, exams, attendance online. Students can collaborate, share notes, discuss material with each other, see videos and have Q and A (questions and answers) sessions with teachers.

Collaboration tools built on web 2.0 apps like google docs and spreadsheet have replaced Microsoft Office which requires fees and license plus installation.

Technologies involved in Web 2.0 Applications

The architecture of a web 2.0 application is very different:

Client - side (FRONTEND)

  • Includes heavy usage of HTML (HTML5), CSS (CSS3) and JavaScript (JQuery). JavaScript based frameworks like jQueryUI, extJS, angularJS, bootstrap.js, kendoUI are very popular for making frontend of web 2.0 applications.
  • Ajax is used heavily to support prefetching, lazy loading and constant content update without affecting user's experience.
  • Browser side technologies like Adobe Flex, Adobe Flash, Microsoft Silverlight also allow for creation of web 2.0 applications

Server-side (BACKEND)

  • Languages like PHP, RUBY, MS .NET FRAMEWORK, JAVA & SERVLETS, PYTHON are commonly used to write server side logic of web 2.0 applications.
  • DBMS technology both relational (MYSQL) and document oriented (MONGO DB, COUCH, CASSANDRA) are used to store data relations and key value pairs.

Communication and transportation

- web services in SOAP, REST are exposed by web 2.0 applications to send out data. Many provide for RSS feeds, mashups. Web API's are proprietary to many apps and allow for selective consumption and export of data whilst accounting for all authorization and authentication. Facebook and Linked for example, export graph API's that can be used by any web 2.0 application get user's data from Facebook and LinkedIn.

Data Transfer protocols

- JSON, XML, ATOM are popular amongst web 2.0 applications. Data from Facebook about my contacts may be received in form of JSON.

Open source tools

- Web 2.0 applications allow for easy integration and plug and play of various open source libraries and tools like apache Solr for search and indexing, nodejs for concurrent file I/O on server end, openFire for chat and messaging, osTicket for online ticketing, apache Hadoop for big data number crunching, apache Nutch for crawling etc.

When coding with PHP, for example, web 2.0 applications are developed using the LAMP or WAMP stack which includes:

  1. Linux or windows as the operating system
  2. PHP as the server side language which supports object oriented programming, and which is very robust and cross platform.
  3. MySQL as the backend DBMS (Database management system).
  4. Apache as the web server

With advancements in web 2.0 technology, one can replace apache with many available open source as well as commercially available proprietary servers like passenger, Unicorn, Microsoft IIS, nGinx and so on.

Web 2.0 in Desktop and Web applications

We see and use a lot of web 2.0 desktop and web applications:

  • Social networking and collaboration sites like myspace.com, facebook.com, orkut.com, linkedin.com, pinterest.com
  • Content sharing and hosting like flikr.com, youtube.com, Instagram.com
  • Messaging and exchange like WhatsApp
  • Site aggregators and mashups like news.google.com, reddit.com, maps.google.com
  • Task management like taskrabbit.com
  • Travel, reviews and ratings - tripadvisor.com, kayak.com, expedia.com
  • Health and Medicine like painspot.com
  • Social bookmarking sites like delicious.com
  • Podcasting like gapcast.com, podomatic.com, odeo.com
  • Content management sites and tools like wordpress, Drupal
  • Blogs - blogger.blogspot.com, LiveJournal.com
  • Microblogging - twitter.com
  • Wikis like Wikipedia.com, PBwiki, Doku Wiki

Atlogys Way of Web 2.0 Application Development

Web 2.0 Application Development

It refers to the engineering and science behind creation of web2.0 based applications, and all that which goes along with it to successfully launch, maintain and monitor the same.

PROCESS

At Atlogys, we follow rapid prototyping and agile methodology for developing web 2.0 applications. Our processes followed during SDLC development for making web 2.0 applications are available on the process excellence area of the website.

We believe in milestone based deliveries where the end user can test and do UAT (user acceptance testing) on a subset of the application's featureset very conveniently, and where feedback is integrated iteratively to create a holistic end product.

ARCHITECTURE ELEMENTS

The core architectural elements which we (Atlogys) account for during our system design of web 2.0 applications are:

Rich User Experience - Such apps must allow for a neat, easy to use interface where data is mostly pre-fetched or loaded lazily in background without affecting user experience. Users can use various effects and animations like rollovers, swipe, lightbox, drag & drop and never have to wait for data to load on a page. The UX and UI (user interface) is very slick, rich built with uses latest html5, css3 based browser elements. It is also fluid and responsive in nature and adapts to changes in screen sizes and resolutions automatically.

Dynamic Content -

The contest is loaded from databases and it is processed on server side. There is no static content, but instead interactive and dynamic content that depends on the logged in user's session and cookies. The dynamic content requires proper handling which is done via server side scripts like PHP, Ruby, Enterprise Java, .NET etc.

Storage -

web 2.0 apps create and access a lot of data. This data needs to be properly stored and accessed. Depending on need of application, the storage configs, setups and requirements will vary. This refers to all of data stored in relational database management systems like MySQL, data stored as key-value pairs in document oriented databases like MongoDB as well as data stored on flat files on the file systems. Data entities and relations need to be carefully designed for efficient storage and retrieval. Load balanced systems call for shared storage units like Amazon S3. DBMS sometimes need to be partitioning and data gets sharded across different tables. Master-Slave replicas need to be created to handle read vs. write intensive web 2.0 apps differently. Backups and failovers for storage need to be configured.

Data Exchange -

web 2.0 apps expose and consume lot of data. The data exchange layer and formats need to be carefully designed (json, xml) and the schema for data exchange needs to be set. Proprietary API's when exposed must take care of authentication and authorization properly. Rate limiting and throttling policies needs to be set. The protocol for web services - soap, rest needs to be set and defined.

Session and cookies -

User sessions allow users in the HTTP protocol to perform a sequence of steps like making a purchase or completing a transaction. Secure Session management must be done using cookies for secure web applications as this data must not get corrupted.

Traffic and Bandwidth -

Mass user engagement is common in web 2.0. The apps must be designed from the core to handle many users at one time without affecting each user's experience. The data incoming and outgoing bandwidth must be provisioned for post adequate traffic planning. Careful thought must be given to how to do web monitoring and cloud monitoring of the same post launch.

Scalability -

Web 2.0 applications must be designed to be scalable. Read more on our scalability of web applications section here.

Performance -

Web 2.0 applications should have less than 3 second page load time. The CPU time and network latency should be as minimal as possible. The Atlogys web Performance monitoring and optimization guidelines are listed here.

Security -

Web 2.0 applications must be safe from security threats like SQL Injection, cross site scripting, cross site request forging and must not allow for any malware or spam. Read on how we provision of web application security in our core architecture design of web 2.0 applications.

Network protocols -

Various application level protocols exist like HTTP, HTTPS, SMTP, TELNET, XMPP, SSH, RPC, IMAP. Depending upon the functionality of the application, we must select and provision for the correct protocol. Knowledge of Basic HTTP calls types along with HTTP REQUEST HEADERS & HTTP RESPONSE types & values is very crucial for application optimization. Knowledge of open networking protocol and new protocols being launch by Google like SPDY is also a must for evangelism and continuous growth.

CODING & TURNKEY IMPLEMENTATION

At Atlogys we believe in writing modular and maintainable code. All are applications scale very efficiently into phase 2 deployments. Our code allows for more code to be written on top without requiring re-factoring or code re-haul of any existing functionality.

We also committed to providing well tested code. We also provide for white box testing in form of Unit Tests and automation testing in form of selenium web driver for the frontend and the web services.

Enjoy turn-key and state of the art web 2.0 application development with Atlogys as explained under Process excellence.

What Applications do we develop?

We have provided turnkey development and implementation for many state of the art web 2.0 applications. These are for fortune 500 clients as well as for new ventures. We have given over 15+ successful web startup launches.

We do a lot of custom web applications development.

Some sample web 2.0 applications that we have developed include:

Painspot -A state of the art web 2.0 site built on scalable technology which presents users with a friendly & educational body modelling tool to identify their pain location, and then answer a series of questions about the pain to get to the right diagnosis. It has built it a complex scoring algorithm for finding the right diagnosis based on user inputs.

Conmasys - A SaaS based web 2.0 application being used for scheduling, managing and supervising and tracking all activities involved in a construction based project, especially for construction of water projects systems. Allows for complex reporting toolkit on the web complete with all analytics.

Guru.com - One of the world's largest marketplace on the web for connecting freelancers with employers, Atlogys did the entire frontend web 2.0 development of freelancer profiles and portfolio thereby providing for an extremely rich interface.

Kuhono - It is a technology infrastructure centered around Social Network Aggregation and Business Contact Management. It is an extremely cutting-edge web platform which can withstand a lot of user traffic. It is also scalable, robust and has a distributed architecture. The platform used complex API's around intelligent search, social integrations and various 3rd party integrations.

Dotodo - A web 2.0 based semantic search tool that allows users to connect in real time which those who want to do similar things. Users micro blog about their activities and the tool auto connects them with those who may want to do something semantically similar at around that time.

Sl8Z - A crowdsourcing executive recruitment portal that handles complex rules and collaboration requirements of employers and headhunters in the CXO recruitment industry.

Whatever your requirement - social dating, matrimony, social aggregation, social networking, task management, eLance portal, examination online classroom, recruitment portal, epublishing suite etc., we can device a custom web 2.0 application for your requirement.

Technologies We Use

We use most of the technology required to make web 2.0 applications as listed in the technologies for web 2.0 applications section above.

These include:

  • PHP, .net, Ruby, Python
  • Html 5 and css3 frameworks like html5 boilerplate, bootstrap
  • Responsive UI design using CSS media queries
  • Ajax and JS based frameworks like extJS, KendoUI, angularJS
  • MySQL, portgreSQL, noSQL like mongoDB and Cassandra
  • Rest, soap, XML, JSON, web services, RSS feeds, atom
  • Apache, nGinx, IIS
  • Unix, centOS, Linux, Windows
Web 2.0 Applications
Testimonials