Businesses have the hubris of designing their own custom UIs for everything, deeply tainted with their branding, and they all end up reinventing the wheel because standard solutions aren't compatible with their designs.
It's time to dissociate software from branding, so we can free 90% of developers and have them do something useful for once.
And how should we do that? Isn't that what CSS tried to do (but failed)?
Perhaps we should invent a different title for programmers that do relatively simple work, like writing CSS and perhaps some easy javascript. That way, the real programmers can more easily say "that's not in my job description".
I want all apps to look and behave the same, to the point where they're all just one app.
Nobody asked for their shopping experience to be different when shopping on Amazon vs eBay vs Craigslist. I see no compelling reason to have different UI for services that are essentially identical.
What if one browser does something others won't, and you can't do it custom, how do you get around it? Wouldn't that put us back to IE6 web?
What if your site really needs something browsers don't have? Will we have sites telling us to install a plugin and put us back to Flash era?
Custom things will be done through a canvas, but that should only be used in last resort.
Or do you want to enforce it somehow?