As web developers and designers, we all have features that we think should be included in future version of browsers; however, we do not see them at the moment in all browsers. I was talking some days ago with some friends about the state of browsers and their evolution during the last 15 years. We all agreed that the browsers should listen to the developers and designers and try to implement as quickly as possible certain features that developers need. Here in this post, I came up with some features that I would like to see implemented in all browsers to make our life easier and create better applications. Feel free to comment and add features you would be interested in seeing!

A Common CSS Reset

All websites without style sheets should look the same in all different browsers. Also, if the browsers uses a common CSS Reset, it would be very easier for web developers to deal with browser differences and issues. In addition, it would save some kilobytes in bandwidth. I also would like that the elements looks exactly the same in different browsers or operating systems. For example, a simple button should look the same in Opera, IE or Safari, no matter what Operating system or version of the Browser. That aspect alone would save some tweaks and hacks.

An Auto Update for New Versions of the Browser

There is lot of software that implement the automatic update feature. For example, FileZilla checks if there is a newer version available and alerts the user to update. If browsers implement this feature, we ensure that the users would have the latest version and the least problematic one, because with the automatic update the vendors would fix previous bugs and add new features without the intervention of the user.

Beta Prefix

Designers and developers that had work with CSS3 know what I am talking about. Right now, working with CSS3 is far from maintainable, because we have to repeat the code for each browser, because each browser has its own proprietary version of the feature. For example, to create a box with rounded borders we have to do this:

-moz-border-radius:6px; //Firefox
-o-border-radius:6px; //Opera
-ms-border-radius:6px; //IE
-webkit-border-radius:6px; //Safari, Chrome
  border-radius: 6px; //Supported Browsers

As developers we are supposed to work smarter and make life easier (without being lazy ;) ), because we already deal with really painful JavaScript issues and we should focus more in the business logic instead of browsers differences. I believe that they should keep their own proprietary browser, but for the features that they had implemented very similar to other browser they should use the –beta prefix like this:

  -beta-border-radius:6px; //Beta Implementation
  border-radius: 6px; //Supported Browsers

Why do I want to use both? Because as Eric Mayer says the vendor prefixes would accelerate the process of CSS development and implementation. For example, the implementation of background gradients in Firefox and Chrome is very different:

background:-moz-linear-gradient(100% 50%, #e2e4e3, #ebedec); //Firefox
background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#e2e4e3), to(#ebedec)); //Chrome, Safari

The previous example is the effect that I used to create the IPOD experiment which are different implementations and can be confusing at the time of development. In this case, it is a good idea to use a proprietary prefix because there is not a definitive decision on how to implement this yet. Moreover, it would be even harder to use only –beta prefix for something like this.

HTML5 Video and Flash

I am part of the ones that think that HTML5 is the future with the use of video and canvas to replace Flash. However, the browsers should not stop supporting Flash, because it is the developer’s decision to decide what tool to use for a specific task.

ECMASCRIPT 5, HTML5/CSS3

I know that this will come in a couple of year, but it is good for web developers to continue encouraging the implementation of EcmaScript 5 and HTML5 because we will be building the next generation of web applications. Just thinking about GeolocationlocalStorageHTML5 FormsOffline Web AppsCanvasCSS3 Selectors, and Native Selector Engine in JavaScript; the future seems exciting. :)

Common Widget Language

It would be nice to develop plugins/widgets for different browsers in a common API based in JavaScript. This would increase the amount of plugins and encourage more developers to work in the browser.

Sync

The majority of us have more than one computer, thus it would be nice to synchronize all bookmarks and browsing history through all of computers. Firefox already has this feature which help you to sync all devices that use Firefox.

Better Security

As Douglas Crockford states in different interviews, we are focusing too much on appearance and forgetting about security problems. At the moment we are capable of creating mashups with a bullet proof security that does not depend on XSS and we are ready to go to create the new version of the web.