Welcome to the new world of development

Credit: Hemera

IT consumerization is affecting much more than application design and device delivery, moving into the world of development and bespoke application design. If Bring Your Own Device is changing infrastructure and security thinking, what will be the longer term effects of Bring Your Own Developer?

While we’ve always had end-users building applications in tools like Access and Excel, a new generation of languages and development tools has changed the way applications are built – substituting scripting languages for C++, cloud services and public data sources for line-of-business systems, and web-based visual development environments for the command line. It’s a democratization of development, much like the combination of cloud and bring your own device is a democratization of infrastructure.

The new world of development, with web-savvy user-developers, owes much to the work done by Web 2.0 developers. Open APIs from web giants like Google made it easy to quickly mash-up your own data with the web, and popularized the technologies that are at the heart of today’s new generation of API-as-a-Service companies like telephony service Twilio.

Development consultancy ThoughtWorks' quarterly Technology Radar report gives an interesting overview of the current development landscape, looking at the tools, methodologies, technologies and APIs that are moving in and out of fashion in organizations around the world. While ThoughtWorks focuses on the technologies used in IT departments, the same trends are affecting the ad-hoc and end-user development.

Perhaps the most important insight from the latest edition of the report is the increasing adoption of micro-services as a way of delivering distributed applications. Instead of working with monolithic applications, end-users can bring together their own scripted tools from a selection of services. While deploying micro-services inside an organization will take time, simple, easy-to-describe APIs are becoming the main way of interacting with cloud services – especially with ReST-based APIs that make it easy to use JavaScript and HTML to build new composite user interfaces. That’s the approach used by tools like Twilio, which provide a selection of APIs for specific functions. You don’t have to use the whole service, just the elements you need.

As ThoughtWorks points out, some of the newer tooling available for web applications is designed to simplify building what might have been complex user interface tasks. One, Highcharts, is a set of tools that adds interactive charts to a site. Like many JavaScript libraries it’s free for development and testing, and for non-profits; Highcharts then charges a per-developer license that’s easily expensed for applications that get wider deployment in an organization. 

User interface isn’t the only part of application development that’s been simplified by new technologies with NoSQL databases like Couchbase and MongoDB becoming increasingly popular. They can be quickly added to a system, and as they use key-value pairs, there’s no need to learn complex SQL expressions, or build complex stored procedures, and JavaScript APIs make it easy to build them into your apps.

Big data is also part of the story, with cloud-hosted analytic tools like Google’s BigQuery simplifying querying and exploring large amounts of information. Again, like the new generation of databases, there’s no need to construct complex SQL incantations, or to design OLAP cubes. A simple ad-hoc query language lets you quickly get insights from your data that can then be used to build more complex applications that can take a prototype query and turn it into part of a team dashboard.

Many of these changes can be traced to the maturity of JavaScript. As ThoughtWorks notes, looking at new JavaScript frameworks and languages like TypeScript that compile to JavaScript, “this makes us wonder if we should start to consider JavaScript as a platform and not just a language.” Certainly the rise of common frameworks and tooling is making it a lot easier to quickly build and deploy apps using JavaScript. Twitter’s Bootstrap CSS simplifies UI design, while JQuery makes it easier to build applications that work with external data sources (and run on mobile devices).

It’s not just JavaScript that’s being used. ThoughtWorks has begun to see growth in the use of Lua, an open-source scripting language originally from Brazil. Lua has become very popular in gaming development frameworks (and those 3D gaming environments are starting to be used as visualization tools for complex data sets). While Lua may not have the mindshare of JavaScript (or even Ruby), it’s likely to become an important tool for the end-user building their own applications – especially when designing and constructing workflows and business processes.

These trends all follow from the widespread enterprise deployment of service-oriented architectures. When combined with web- and cloud-technologies, SOA makes it very easy for users to put together their own applications, especially in conjunction with the tooling built into many cloud platforms like Azure and Salesforce. Scripting languages can glue elements together, and instead of waiting weeks or months for an application to be built using traditional means, a free download of Eclipse or Visual Studio and an account at Azure or Google App Engine are enough to get started. A weekend at a keyboard pulling together scripting elements from a Google search or a query on Stack Overflow, and there’s a cloud application in place, ready to share with colleagues. There’s no need for approval committees, project plans, or buying servers.

That’s perhaps the biggest difference between BYO development and the more traditional approaches: it’s cheaper, and it’s quicker. An end-user can put a subscription to Azure or Heroku on a corporate credit card (or even their own) and get to work. All they need is a little JavaScript experience and a web browser. Using the tools and tricks they’ve learnt building their own web mash-ups or in tutorials they’ve found online, they can quickly deliver, and quickly revise, applications that meet an instant need. It’s a fundamental change in the relationship between IT and end-users, and one that’s starting to reshape the way that organizations need to think about development – as well as changing the ways platform vendors are shipping their tooling.

From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies