Why on earth do we still design and implement user interfaces by hand? Shouldn't 99% of development be about creating semantic models and let generic clients take care of rendering it properly based on form-factor, context, preferences, etc?
Today, every single app needs to re-implement the user class, authentication system, profile management interface, responsive design, loading indicators, caching and offline support, third-party access, sharing, filtering, theming, localization, accessibility, etc. This is insane.