How Much Better Could Your Applications Be?
It seems that developers are constantly re-inventing the wheel when it comes to starting new application development projects. Low-level routines that do things like handle database connections or write log files are needed, as well as higher-level features like a user account system or row/column data security. I'd like to suggest that time spent on these kinds of development is activities is fairly low-value. It's very rare that there's any unique skill or knowledge that a given developer has that makes his time spent on this kind of app under-pinnings valuable. Most people would agree that it's not strategic, that it's just a tactical thing that's part of the process of building an application – but it's something you have to do, so you do it. Right? Well, in most platforms, yes.
What makes Force.com unique–among other things–is that the platform's focus is more narrow than a general purpose platform like Java, PHP or .NET. It's this niche of data-centric, business applications that allows us to be more focused on the types of things that tend to be required in those types of applications: user account systems, data security systems, data validation rules, web service inputs and outputs, input forms, reports, charts, data grids, etc. The result of this is a whole suite of functionality built-in the system that allows you to leapfrog the foundational stuff and get right into the important things like defining your core data model, logic, and presentation. This is the high-value stuff.
Think about what extra features or what extra fit-and-finish you could put on your application if you didn't have to spend all the time that you normally do creating all the low-level under-pinnings of the application. How much better could your applications be?