Color me impressed with the news in Mashable that Codeacademy signed up almost 100,000 users in 48 hours, and almost 350,000 users to date, for the New Year’s resolution class, Code Year. Learning to become a developer is not trivial, but even with a high drop-out rate, there will be tens of thousands of newly-minted developers at the end of the year. Mashable goes on to note that the number of new Codeacademy enrollees is more than double the number of current CS undergrads in the US. Flattening the learning curve on development is a very worthy goal, and one that portends even greater transformations.
The phrase “Democratization of Content” has long been a catch-phrase in the social media world and has been used to describe everything from “Lazy Sunday” to the Arab Spring. The concept is simple: provided the tools and the minimum of skill, users will take content production into their own hands and often discover new formats, start new trends, and celebrate overlooked talent, causing the respective content industries to scramble to adapt.
What if the same thing could happen to software development? The tools for development have been widely available for years – one can start writing code with a PC, and there are a multiple of free and/or cheap development software tools available. The skill component, however, has always been much less accessible. Development languages are exponentially more complex than creating digital content, and also much less forgiving. A bad camera angle won’t ruin an entire YouTube video, but a bad API call, or controller error will crash an app or a user’s computer. While the Internet has made learning the ins and outs of programming more accessible, the rules of development are still a Byzantine maze for average users.
Let’s say for a minute that the learning curve for development continues to flatten, and the tools evolve to a point that an average user can assemble a decent, functional application in a reasonable amount of time. People would begin to create millions of personalized programs that solve a myriad of problems and situations that fall under the radar of traditional development studios. Software has much more open and accessible distribution channels than entertainment content, and can support many more producers, as evidenced by the 500,000 apps currently available in the iOS app store, created by 130,000 publishers.
With distribution already open, the disruption would most likely occur on the innovation side. Too often, software is derivative, and feature-, rather than user-focused, resulting in products that are unnecessarily complex and solve problems that don’t exist. With more thinking from a broader base, it is possible to see millions of useful, personalized applications becoming available to smart phone users worldwide.
The obvious downside is that there would be an even larger flood of irrelevant applications with limited appeal, but we have seen the same issues resolved with user generated content. The crowd reviews, filters, and promotes staggering amounts of videos, blog posts, tweets, and music in real time to provide a robust and dynamic catalogue without sacrificing selection. Also, if this were to come to pass, mass development would need to happen within defined environments (analogous to WordPress and tumblr for blogging), which would help with promotion and usability.
To be sure, user-generated applications would present a myriad of challenges and concerns within the IP, legal, and security spheres, but the time to start the conversation to address them is growing near.