Difference between Progressive Advancement and Graceful Degradation

These two concepts are related to responsive web design in general, which requires different products or web designs to fit on any screen size, whether it is a desktop, tablet or mobile.

So what is Progressive Advancement:

This concept means that most basic features or functions should be picked and a layout for mobile devices should be developed. After that, it is completed. More features and functionalities should be added, and the layout for the tablet should be constructed. In the end, the most advanced version of the web app or website is attained. So, as the name indicates, it is a progressive advancement.

A strategy known as “agile development” is one method for approaching progressive advancement in programming. Agile development is a methodology that emphasises collaboration and the capacity to adapt to change.

It involves dividing a software development project into “sprints” and releasing new versions of the software on a regular basis that incorporate feedback and enhancements. This allows for more rapid, incremental progress and facilitates adaptability to shifting priorities or requirements.

Some ways to practice progressive advancement in programming include:

  • Participating in online communities and forums to learn from other programmers and share knowledge
  • Attending educational workshops, conferences, and other events to learn about new technologies and best practises
  • Staying up-to-date with industry trends and developments through reading blogs, articles, and other online resources
  • Seeking opportunities to work on side projects or contribute to open-source projects in order to gain experience and build a portfolio.
  • Practising good coding habits, such as writing clean and well-documented code and keeping up with best practices for software development.

Graceful Degradation:

On the other hand, as compared to the previous concept discussed, this term indicates that the product should be started to develop for the desktop, the most advanced version and the best functionality and features. After this is achieved, separate versions for lower screen sizes, like tablets and mobiles, are created by degrading functionality.

The benefit of this approach is that you have a bigger picture in mind when developing a site because you consider all of the project requirements and test a large number of parameters and browsers on which the user can view the site.

Even though it is used much less as compared to the previous discussed approach, it is still a must-have approach to follow for some projects.

For example, if an application relies on a database to store and retrieve data, it can be designed to degrade gracefully if the database fails. This could include informing the user that the database is unavailable and providing alternative methods of accessing the data (such as by using cached data or providing a read-only version of the application).

Graceful degradation is frequently used to improve the user experience because it allows the application to continue functioning even if certain components or features fail. It can also be used to improve system reliability and uptime by allowing the system to continue operating in the face of failures or errors.

Comparing both concepts:

When we compare both concepts, we come to the conclusion that Progressive Advancement is the call of the day. A more advanced term, which is basically derived from this term, is used nowadays. It is called the “mobile first layout” and it is highly supported and recommended by Google. Some people take mobile first and responsive design as the same concepts, but they are completely different. Mobile first layout refers to Progressive Advancement, while responsive design refers to Graceful Degradation.

Add a Comment

Your email address will not be published. Required fields are marked *

ABOUT CODINGACE

My name is Nohman Habib and I am a web developer with over 10 years of experience, programming in Joomla, Wordpress, WHMCS, vTiger and Hybrid Apps. My plan to start codingace.com is to share my experience and expertise with others. Here my basic area of focus is to post tutorials primarily on Joomla development, HTML5, CSS3 and PHP.

Nohman Habib

CEO: codingace.com

Request a Quote









PHP Code Snippets Powered By : XYZScripts.com