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.
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.
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.
The architecture of a web 2.0 application is very different:
- 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.
- JSON, XML, ATOM are popular amongst web 2.0 applications. Data from Facebook about my contacts may be received in form of JSON.
- 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:
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.
We see and use a lot of web 2.0 desktop and web applications:
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.
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.
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.
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.
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.
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.
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.
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.
Web 2.0 applications must be designed to be scalable. Read more on our scalability of web applications section here.
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.
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.
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.
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.
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.
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.