March is a little late for 'year-ahead' prediction stories; the looking back - looking ahead story tactic is usually reserved for the Christmas silly season when we're all a little more amenable to lighthearted (or serious) postulating.
So do technology prognostications ever warrant any credence? After all, it was American baseball player Casey Stengel who said sometime back in the 20s, "Never make predictions, especially about the future."
Of some note perhaps are the industry ruminations of David Intersimone, VP developer relations and chief evangelist at Embarcadero, a company known for its software tools for application developers & database professionals.
Intersimone has laid down his top five major software development trends for 2012 backed by examples of how developers and enterprises are already starting to use these developments.
Trend #1 -- HTML5 vs. native applications in the context of desktop and mobile convergence. With the consumerisation of IT, enterprises are now looking to provision the more specialised B2B desktop applications (e.g. CRM, ERP) in the mobile environment - going beyond the standard applications such as email and calendars. For developers there is a dilemma - should these mobile applications be developed in native code or using HTML5?
Trend #2 -- Cloud computing. For developers cloud computing presents a huge opportunity, but they need to understand the "use" case of cloud applications better -- it is not just about developing applications for the cloud, but also maintaining them.
Trend #3 -- Big Data and NoSQL. Relational databases are falling short in their ability to store and manage the exponential data growth, resulting in NoSQL databases gaining mindshare. As with most technologies, there are benefits and challenges. What approach can developers take to ensure easy storage and access to data for their applications?
Trend #4 -- Next generation user interfaces. Enterprise users are beginning to expect consumer style UIs including voice, touch, gestures and kinect in business applications. From a developer's perspective, delivering against this requirement is important as it will enable end users to get the most out of applications, greatly increasing adoption of the software. What constitutes next generation UI in the practical sense and what considerations must developers bear in mind when developing them?
Trend #5 -- GPU computing. Many business applications still offer limited intuitive and interactive elements - making them cumbersome to use and difficult to learn. Developers must take full advantage of hardware to drive rich and interactive business applications by maximising CPU and GPU usage equally to create visually-engaging, front-end applications; and ensure performance and connectivity to back-end systems and data.
Editorial note: If you heard that a database and developer tools company was trying to predict developer futures listing cloud, user interfaces and Big Data as key drivers, I wouldn't blame you for turning off. But Intersimone is clearly a code purist and developer champion without a single marketing flavoured bone in his body. Yes his agenda is somewhat led by his employer, but how can you not like a man in a smiley face T-shirt with a Twitter profile that lists his location as Planet Earth?