A (kind of) Brief History of App Development
The history of app development is a largely undocumented event. As with most things in app development, the official documentation and conventions are implemented much later after the original discovery. The apps that we use today though, all stem in some way from their “ancestors”.
What is an app?
When we use the word “app” we are referring to “applications”. An application is a piece of software that is designed to be used by the end user to perform specific tasks. An example of an application would be a word processor such as Microsoft Word, it’s a piece of software designed to help you write and format text on a computer.
Nowadays the word “app” is most commonly used as a reference to mobile applications. However, there are other categories of apps such as desktop apps, web apps and many more. Each is similar, yet different from one another and each has their own origins.
A brief history of apps
In relation to Web 2.0 and mobile apps, the starting point begins with the invention of the Internet. The Internet was birthed during the late 1950s but didn’t truly take off until 1969 with ARPANET. Then in 1983, TCP/IP was introduced to unify all the different networks and thus the Internet as we know it today was born. Up until 1994 when the Internet became accessible to the mainstream population, it was used mostly by government and academic institutions. But the earliest form of web apps had already begun to surface before 1994.
Larry Wall developed Perl in 1987, which is seven years before Internet access was available to the mainstream population. Nowadays, Perl is used by websites such as IMDb, Craiglist and Ticketmaster. Apps in their infancy were quite simple, but by the 90s they had evolved and were becoming much more complex.
A very simple example of a web app would be an in-browser email manager such as Gmail. Technically any software that runs in a browser is a web application. Before the app-store era, where most apps were obviously named to avoid confusion, any web software that allowed advanced interactions and capabilities could be considered a web app. Other examples of web applications include online retail shopping carts, Wikipedia and Google Maps.
How does a web app differ to a website?
The lines between web apps and websites in today’s online environment are quite blurred. No one can agree on the proper definitions or specifics that distinguish one from the other. Using an example taken from an article by CSS-Tricks, if a restaurant lists its menu and hours on a website, then its a website. But if it adds an interactive map and the option to make reservations, is it now a web app or a website with embedded web apps? The results and comments they received in their “Sites vs Apps” poll reflect the confusion between what defines a web app and a website.
The key difference is: websites, by default, are static pages rendered by your web browser. Web apps can receive input, produce output and perform specific actions asked of them via a web browser. But since they are so synonymous with one another, it is difficult to categorize what is and isn’t a website/web app.
Mobile apps are programs designed to run on a mobile device. Since the majority of mobile app history and development happened during the last decade, it is much easier to follow the origins and evolution of mobile apps.
Mobile apps began with the release of the Motorola DynaTAC 8000X in 1983. The DynaTAC 8000X had a simple mobile app that managed the user’s contacts. In the early 90s, Nokia phones started to include apps such as the famous Snake game. One of the earliest examples of more advanced mobile apps came with the Psion EPOC, which was a portable digital assistant (PDA), also known as a handheld computer.
The reason that we did not see a huge jump in mobile app development during the 90s was due to the fact that mobile phone manufacturers only used in-house mobile app development to keep their competitive edge in the mobile phone market. This meant that unless you were employed by the companies themselves, you had very little to no chance of working on mobile apps.
The first big boom for mobile apps came with the release of the original iPhone in 2007 and the subsequent launch of the Apple App Store in July 2008. The combination of better mobile software and hardware and open app development paved the way for the evolution of mobile apps.
The demand for better mobile functionality pushed developers to create better apps. As mobile technology became better, the mainstream consumers wanted to do more than make calls and play a game of Snake with their mobile devices. Thus the boom in mobile apps began, and over the past ten years, we have reaped the benefits of new apps and technologies.
Mobile apps have completely changed the way we use our smartphones. Apps such as productivity tools (eg. word processors), communication services, games and other categories of apps all offer features that can improve our lives in some way. Without apps, all we would be able to do is make calls with our mobile phones, now they are essentially mini computers.
A testament to the importance of mobile apps in our day-to-day lives is the transition of mobile app development from secrecy to a billion-dollar industry anyone can enter.
The Increasing Popularity of Apps
It was very clear by the release of the Apple Apps Store in July 2008 that apps would play a huge part in how we would use technology. However, the mainstream population have been using apps, mainly web apps long before then. Google Maps was launched on February 8, 2005, and became the premier web app for web users to navigate and find locations around the world.
Web apps such as the famous Hotmail (launched on July 4, 1996) and other email services were also used long before our modern day smartphones became available on the market. Even in our day-to-day use of the Internet, we are constantly interacting with apps, even though we may not be aware of their existence.
As with most technology, change and evolution is sparked by a need in the market. Originally the idea of the Internet was envisioned by Leonard Kleinrock in 1961 and later added upon by J.C.R. Licklider in 1962 with his idea of a “galactic network”. The idea of interconnected computers that allowed anyone to access information and programs from any site in the world eventually evolved into the Internet.
The introduction of the Internet to the mainstream population generated momentum for web technology development. The needs of the average consumer, businesses, corporations and many others all pushed for change. Remember the Dot-com Boom? The influence of the Internet went far and beyond web development and Internet technology.
Once we realized that the Internet was capable of instantaneous global communication, email started to replace traditional snail mail. But then email wasn’t fast enough so instant messaging apps and services such as MSN Messenger and ICQ started to show up. However, we no longer wanted to spend all day on the computer typing to one another and installing chat applications was tedious, so Facebook and Facebook Chat took over.
As the needs and behaviors of Internet users changed, so did web apps and web development. Web apps allow richer interactions and functions within internet browsers. Nowadays there are web and mobile apps that enrich our lives through entertainment, productivity, communication and much more.
Development and Rise of Web Applications
Web apps have been shaping the way we interact with the Internet over the past two decades and possibly longer. The world entered the Information Age many years ago. Although no one can agree on an exact time, most believe that the main Digital Revolution began in the 90s. The Digital Revolution changed what technology we were using and how we were using it.
One of the biggest changes that the Information Age brought along with it is the automation of tasks. All the simple actions that we take for granted in our day-to-day lives are byproducts of the Information Age. Purchasing items from a website is completely automated by an online shopping cart web application. Receiving and transferring money around the world can be done easily through PayPal which automates and handles the entire process.
Our current generation is all about speed, convenience and efficiency. How can we get all the boring things done so we can enjoy the good things in life? Automation increases productivity and reduces wastes. The development of web apps to take payments, remember personal information, store and access documents from any location are all examples of web apps that in some way increase speed, convenience and efficiency.
Not only did apps cater to these three attributes of our generation, but they also broke down complex tasks into simple steps. Web apps such as calendars help us schedule and keep track of events. More complex processes such as analytics and campaign tracking are handled by applications and they return a statistics report for us to analyze. The simplification of our lives through apps is another reason why apps have become so popular over the last few years.
Flash allowed the development and deployment of rich Internet applications (RIA). Deeply interactive forms and apps were popping up all over the web. The most famous of them were the Flash games. Flash games were the web version of mobile games in the late 90s and early 21st century. In-game advertizing allowed Flash game developers to make some income from their creations much like app developers can do today. The market and earnings were much smaller than the gigantic app industry, but it was definitely a viable source of income for many Flash game developers.
Flash had many other uses. It transformed the web and heavily contributed to the rich Internet experience that we have today. With Flash, we were able to do many things that weren’t possible before, and many of today’s web apps draw inspiration or ideas from past Flash apps. However, the use of Flash in web applications is declining and newer technologies are taking its place.
The percentage of users accessing the Internet from mobile devices started to rise during the early 21st century. Once the modern-day smartphones such as the iPhone and Android phones entered the market, the percentage of mobile internet users greatly increased. Better telecommunication infrastructures and access to full-fledged internet browser apps translate to more online mobile users. The increase in online mobile users forced developers to re-think their reliance on Flash and Flash technologies.
While Flash is responsible for transforming the web experience, it is far from a perfect software platform. There are many notable complaints about Flash such as poor performance, requiring a plug-in to run and stability issues. The final nail in the coffin occurred in April 2010 when Steve Jobs published an open letter detailing the reasons why Apple would not allow Flash on their iPhone, iPod and iPad devices. Steve also spoke about the future of HTML5, which is what the majority of web and mobile apps are built upon.
As the needs and behaviors of Internet users change, so did web apps and web development.
Web apps of all sorts exist now that are accessible through mobile and desktop browsers. As the Internet changed the world and vice versa, new web apps are developed to cope with the changing supply and demand.
Present-day State of Web Apps
The present-day state of web apps is very healthy. There are a huge amount of web apps circulating the Internet. Ranging from free apps, paid apps and embedded apps. We come across them every day even though we may not be aware of them.
Web applications are becoming more complex as time goes by. We are now able to use web apps to manage projects across the globe with software such as Basecamp. Pixlr is a free online image editor which you can use straight out of the browser. Technologies such as HTML5’s new Canvas and continual improvements on existing technology enable developers to build new software.
Web apps are built and improved to meet our ever-changing needs. As Internet users expected to be able to do more with the Internet, their needs could not be met with HTML alone. Web apps were created to help fill the void created by Internet users. This has led to their popularity and prominence in our online experiences.
As the needs and behaviors of the average Internet user begin to change further, we will once again see a shift towards new web apps and technologies. For now, there is no evidence to suggest a big change in how we use the Internet, but change can come at any time.
The Effect of Mobile Devices on the Popularity of Apps
The mobile smartphone has forever changed the mobile and web app market. A majority of web apps and web experiences have been rebuilt to allow for mobile smartphone accessibility. The increase in online mobile users also pushed for the replacement of Flash as the standard web application platform. Last but not least, the popularity of apps took off on the smartphone.
The word “apps” was voted as 2010’s Word of the Year. In October of the same year, Apple trademarked the phrase “there’s an app for that”. Mobile apps weren’t just popular among Apple fans or gadget geeks, they had entered mainstream popularity. Mobile devices changed how people thought about apps and how they used them.
The initial boom of mobile apps came with the launch of Apple’s App Store on July 8, 2008, followed by Android Market on October 22, 2008. Every smartphone user was fascinated with all the new free and paid apps that were at their disposal. Apps such as Angry Birds, Jetpack Joyride and Tinder are all examples of extremely popular apps.
The idea of a centralized distribution and marketplace for mobile apps undoubtedly contributed to the popularity of apps. The ease of finding, downloading and potentially buying apps gave developers and consumers the needed platform for the growth of the mobile app industry.
The introduction of tablets also presented another opportunity for apps to showcase themselves. Initially, people were confused about the iPad and thought it was just an overgrown iPhone. As the years have gone by, the tablet carved a niche market for itself. Tablets and smartphones played a huge part in shaping the Internet as we see it today. Smartphones popularized the term “apps” and started the entire mobile app industry.
How Did Mobile Apps Become a Billion Dollar Industry?
The short answer: investors. As with most other ideas that changed the world, investors gave the necessary funds to see them reach their full potential. Once the initial investors took the leap of faith to fund a relatively new venture, other investors were more willing to take a chance with mobile apps. Now there are numerous ad networks and other app monetization methods that continue to grow the industry.
Once the smartphone had infiltrated and integrated itself into various different aspects of our daily lives, it wasn’t long before companies worked out how to generate money from their position. Snapchat is an example of how an app can grow from a simple idea to a billion dollar application. Even though Snapchat has only just started earning revenue through ads within the last month or two, the company was valued at $10 billion in August 2014. Snapchat started out as a college project and by June 2013, it had raised over $60 million in funding.
The growth of the app market for developers, consumers and investors mean the industry will continue to expand. Of course, there were many other factors that contributed to the success of the app industry, but it all began with investors who took a chance.
App Development in the Earlier Years
The app development process in the earlier years was much different to what we are familiar with today. And many of the methods and findings are undocumented because developers and engineers were focused on creating new technologies. The following sections will help to shed some light on mobile and web app development in its early years.
Earliest Appearance and Development of Apps
The most basic web apps most likely appeared around the time that Perl was released. On December 18, 1987, Larry Wall officially launched version 1.0 of his programming language. Perl is a powerful general-purpose programming language. Perl was very popular during the 90s, but a number of modern websites such as IMDb, BBC and Craigslist still use Perl to power their websites.
Programmers praised the power and flexibility that Perl could provide, but also disapproved of its inelegant nature. Some jokingly named it the “Swiss Army chainsaw of scripting languages” to reflect both its inelegance and power. Perl was also used as a glue language (a language that helps to connect system components), giving it the name of the “duct tape that holds the internet together”.
Perl allowed developers to pioneer web technology through the use of itself and CGI (Common Gateway Interface) to create dynamic web pages. This was important because dynamic web pages led to the development of modern web applications. The implementation of dynamic web pages involving Perl and CGI was very clunky, but the idea was there and later expanded with modern web apps.
Perl was one of the key technologies that advanced the Internet. It was the preferred platform for many web developers and programmers in the early 90s until other languages became available. Although the majority of the web pages were still static HTML pages from 1990 – 1995, Perl opened the possibilities for a richer web experience.
Java applets on the other hand, are the closest representation of modern web applications that existed in the earlier years. Java applets can run complex processes and run outside of HTML. They are often embedded into a web page through HTML, but the actual application itself runs on a JVM (Java Virtual Machine). Java applets are capable of performing tasks that are not possible with HTML. Think of Java applets as a “standalone” mini-application that added extra functionality to a web page. They aren’t integrated into the web page, but they can be embedded through HTML.
Java applets provided interactive features to a web page. They could track mouse inputs and user actions. Then change the content or perform specific tasks depending on user input and actions. This made them very popular for educational purposes such as studying psychics, among many other things. Java applets were also used for styling effects such as rollover buttons since CSS was not a standard part of web page technology just yet.
Then in 1996 Flash was introduced and we already covered how it changed the Internet. Flash eclipsed the other technologies and became the main platform for web apps in the late 90s and early 21st century.
Early web apps are much simpler than their modern counterparts. But the emergence of tools and techniques that we take for granted in modern app development originated during these early years. It is interesting to note that the recognition of a need for a more dynamic web experience occurred in the early 90s. In two decades we went from static HTML pages to complex applications that run completely in-browser.
How Did Developers Write Web Apps In the Early Years?
App development was very different to how it is now. It was nowhere near as organized and there were only a limited number of tools available to developers. It is still possible to write an entire web page and application in a text editor, but there were no language libraries or shortcodes to speed up the process. Also, since languages and platforms weren’t as extensively supported, many developers had to come up with fixes and hacks to make things work.
There also weren’t many frameworks or templates to lay out the groundwork. Most applications would have to be written from scratch. Also, developers would sometimes have to knock back creative ideas from advertising agencies because they simply were not possible with the current technology at the time.
App development in its infancy was not a pretty scene. The first and foremost priority for developers was to build something that actually worked. App development in the early years didn’t have the luxury of engaging in fancy UI design or using language libraries like we do today.
The process of developing an app has been severely streamlined since these times. Early developers and programmers pioneered the entire app creation process. The professionalism and elegance of app development today owe much of their success to early developers. They made costly mistakes so that we don’t have to, and they invented techniques to help us create more effective applications.
Early Mobile App Development
The earliest mobile app came in the form of a contacts manager. The Motorola DynaTAC 8000X was the first consumer mobile phone and it also contained the first mobile app. Then SMS was added to mobile phones in the early 90s. Though the concept of SMS was created in the early 80s, it wasn’t until 1993 that it was made available as a commercial service. The sending and receiving of SMS messages are controlled by apps, but they had to be developed to follow specific standards.
In comparison to early web app development, mobile apps were much more regulated. The earliest mobile apps were developed in conjunction with the handset manufacturer. These handset manufacturers were very secretive about revealing their technologies in order to win the mobile phone race. Since handset manufacturers were so concerned with secrecy and quality, they would control the development of their apps.
Compared with early web app development this is a stark contrast. Web apps had very little quality assurance but they were available to anyone who wanted to work on them. Access to mobile app development was very selective. Early mobile applications were also very limited. They could not access the Internet and mobile telecommunication technology was still developing. Most mobile apps at this point operated offline and were very simple. More complex mobile apps could be seen on a PDA (personal digital assistant) such as a word processor and simple productivity tools.
In the mid-90s, mobile manufacturers began to band together to create a network that could offer interactive data services. Customers were pushing for more features on mobile phones, but the current telecommunication technology could not meet their demands. At first, Nokia and Ericsson developed separate technologies, then the WAP forum was founded in 1997 which standardised WAP (Wireless Application Protocol) development.
WAP was the next step in mobile app development and the first major evolution towards our modern online mobile experience. With the new WAP network and new apps, we were able to send and receive emails from our mobile phones, use MMS (Multimedia Messaging Services) messages and access news and other information. WAP also enabled the distribution of music downloads, multimedia such as mobile background images and other data. Mobile manufacturers were starting to become more collaborative but they still did not fully share all their technologies or secrets. And mobile application development was still mostly done in-house.
Ultimately WAP would fail to meet customer demands and by 2013 most of the services surrounding WAP have been abandoned. Its initial implementation was poor and expectations were unmet. Even WAP 2.0, a re-design of WAP in 2002 could not save this failing technology. WAP usage was already diminishing during the mid-2000s but saw a resurgence with the introduction of WAP 2.0. Much of this had to do with the disconnection between developers, content providers and the customers.
Developers had created the platform and the apps that would allow customers to access the platform. However, they had no control over anything else. The content and distribution of data were out of their hands. Conservative communication and loose collaboration between different companies meant that problems with WAP were too poorly and too slowly fixed. Also, WAP did not access information via traditional TCP/IP networks. Instead, they would access a special WML (Wireless Markup Language) or WAP version of the website. This forced content providers to create a mobile-specific version of their website, which was not a pleasant experience for developers or customers.
Many factors led to the failure of WAP. Developers soon realized that their vision of an online interactive environment was not possible with WAP. Applications with heavy graphics and intensive processing could not be done with WAP. Mobile phones of this era didn’t provide a great platform for the transmission of WAP data either. Screens were too small and the use of a number pad to enter inputs was unpleasant. Development in WAP and WAP mobile apps came to a halt and the search for a new solution began.
The next step in mobile app development was the release of new mobile operating systems. Why develop systems and networks that mimic computers when we can run a computer on a mobile? Mobile operating systems such as Windows Phone, Linux-based systems (such as Android) and the game-changing Apple iOS were being developed. These mobile operating systems which had roots in traditional desktop software started to resemble portable computers.
It also meant that desktop developers could cross over to mobile development since the code would be quite similar. Initially, the Apple iPhone OS (as it was originally called before its rebranding in 2010) would not support third-party applications. Instead, Steve Jobs said that developers would be able to create web applications that “would behave like native apps on the iPhone”. But Apple changed their mind on this issue and released an SDK (Software Development Kit) in October 2007.
Companies had learnt that to meet customer expectations they could not rely solely on themselves and were more willing to support third-party developers. This meant that mobile app development was no longer strictly in-house and the app developer community exploded in growth. And since the newer mobile operating systems resembled computer operating systems in some form, developers could create more complex native apps.
We may never know how the earliest mobile apps were written and developed. Most of it was done under secrecy, and we can only assume and infer from the information we are given. The process of mobile app development has undergone rapid changes since its earliest days. While there may have been less “hacks” and fixes like with web applications, there were still many setbacks in mobile app development. It is important to study those that came before us, so that we may learn from their mistakes.
Modern App Development
Modern app development is a much more structured environment when compared to its early stages. Governing bodies have come together to create coding conventions and standardised development practices. App development has become more complex but also simpler at the same time. There is more to do but the process is heavily streamlined. Even in the last decade, there have been major changes to the workflow of app development.
Increased Requirements for App Development
As customers demand more features and functions, it is the job of developers to meet these requirements. The creation of modern apps usually involves a team of specialized workers collaborating to create one piece of software. It is common to see designers and developers working together on a single app, each offering their expertise and skills to the one project.
The increased workload isn’t limited to meeting customer expectations, there are new technologies and methodologies that need to be implemented. Modern apps must comply with new web and mobile standards. Many more considerations have to be taken into account in modern app development.
Heavy Focus on Design
Greater emphasis is placed on the design of an app. The design of an app extends beyond just the aesthetics. The user experience and interface are given a high priority, especially when creating mobile apps. The choice of color, layout and other visuals are all deliberate. It is the designer’s job to style the app for easy navigation and effective communication.
User experience design is a growing profession and the demand for good UX designers is rising each year. Marketing and advertising agencies recognize the impact that good user experience has on the success of apps. The flow and interactions of an app dictate how the user will navigate and access information.
Good design is one of the reasons why it is hard to distinguish between a website and a web app. The web app is so well integrated into the style of the webpage that it appears to be a native part of the webpage. The appearance of a cohesive design helps to sell your product.
Modern apps are also often products or part of a product, so their presentation is of utmost importance. From a commercial perspective, there needs to be a heavy focus on design to help sell the product.
Wireframing is a part of the design process. Wireframing helps to simplify the layout in the initial phases of the design process. A heavy focus on design meant that we had to come up with methods of streamlining the design process. Wireframes help designers to structure their layouts to reach the end result quicker.
There are various wireframing tools such as Adobe Photoshop, Illustrator, Balsamiq Mockups and free online web apps such as Moqups. Wireframing is an example of streamlining the app development process. The heavy focus on design means there is more work to be done to create an attractive app, but at the same time, we have developed techniques to help simplify and streamline the process.
Prototyping comes in many different forms, but the common goal is to create a preliminary representation of the final product. Different prototyping techniques for apps include: paper prototyping, low fidelity prototyping, software assisted prototypes and click-through prototyping. Prototypes are useful for demonstrating the core concept, designing interfaces, planning the flow of the user experience and can also be used for user testing.
Prototypes provide a practical real-world representation of the final app. They will lack features and will be very primitive, but they demonstrate a concept or idea. Prototyping has always been a hallmark of good software development, however, in modern times, we are capable of much faster prototyping. Since prototyping is such an integral part of the development process we have new tools to enable rapid prototyping.
Prototypes are used throughout the entire process of app development. They are useful in the beginning to help design the overall experience and then later on when development is almost nearing completion a prototype can be used for testing.
New Tools and Technologies
There are also frameworks and libraries such as Bootstrap, JQuery and Foundation which help to establish a strong base for your apps. Frameworks and libraries compile advanced capabilities into one location which you can call upon to create complex apps. They essentially do the dirty groundwork for you so you don’t have to worry about technicalities such as browser compatibility.
Development of new technology also opens up new possibilities for developers. For example, HTLM5 video enables more visually interesting apps and simultaneously supports more devices. Flash was used as the primary platform for online video, but the introduction of HTML5 video gives more possibilities especially on mobile devices for video playback.
Tools and technologies are constantly changing and we each passing day developers are coming up with new ways to utilize them.
Standardised Coding Practices
One of the biggest changes from app development in the early years and modern app development is the introduction of standardised coding practices. Developers can no longer do what they feel is “right”, there are certain coding standards they must adhere to. These standards are set by multiple communities coming together and agreeing on specific conventions. It is an arduous process and one that can take a very long time. For example, even though HTML5 has been the new developer standard for the past few years, it wasn’t adopted by the W3C until October of this year.
Standardised coding practices are important because they establish an even ground for all developers. This prevents compatibility issues and allows different technologies to interact with one another easier.
Converging Development of Web and Web Apps
Ever since the abolishment of Flash as the interactive platform for the web, we’ve seen a convergence of web and web app technology. The Internet is becoming more universal and provides access to information for devices on different platforms. Since an increasing number of users accessing the Internet are doing so from a mobile device, the development of web apps needs to address the change of user behavior.
We are seeing more cross-browser and cross-device technologies being used. The Internet has become a common playground for developers in all fields and they often crossover with one another when it comes to web technologies.
Diverging Development on Mobile Platforms
In comparison to web and web apps, mobile development is going the opposite direction and has been diverging. The introduction of different mobile operating systems that have very little cross-over means that the mobile developer community is segregated and divided. Mobile apps require specific platform versions and sometimes specific device versions. There are iPad and iPhone versions of the same apps and while iPhone apps will work on an iPad, the iPhone can’t run iPad apps.
The diverging development of mobile apps exists because of the differences in mobile devices. Both smartphones and tablets are built for different purposes. They may have some similar features, but they were clearly built for different usage patterns. The most obvious difference is screen size. Tablets lend themselves as better reading devices while smartphones offer a much more pleasant “in the hand” experience.
A diverging development community is not necessarily a problem, at least not in the near future. It is just the nature of mobile devices and how they exist in our current world.
Support for Third-Party Developers
There are more official documentation and software kits (SDK) released by companies to support third-party developers. The entire mobile app market runs on the back of applications developed by third-party entities. It is almost like a gentleman’s agreement between developers and companies to release software kits and supply official support for third-party app development. Companies take a cut of an app purchase and developers want to establish themselves in the app market. It is advantageous for these two parties to work together instead of being secretive like in the early years of mobile app development.
Greater Developer Communities
The developer community has vastly grown in the last decade. Overall, the developer community is largely positive. They use the Internet to communicate with one another and evolve their practice. There are few communities (online and offline) where you can ask a question and get a working answer free of charge. Websites such as SitePoint and StackOverflow are meeting places for developers to connect and bounce ideas off one another.
A community that fosters a positive and helpful nature will benefit everyone in the long-term. The constant discussion of ideas helps to promote new advancements in app development. And a community that helps fellow members encourages the growth of developers and strengthens the community as a whole.
Increased Focus on Commercialization
Modern app development has a much greater focus on commercialization. The end goal for many app developers is to gain monetary value from their creation. Modern apps have to be functional and marketable. Every app has an idea or audience in mind, but greater emphasis is placed on user research and pinpointing the target audience.
Modern software development is much more concerned with sustainable development than they were in the past. Technologies are developing at an alarming rate but they are managed in a way that prevents us from being inundated by new technologies. Developers are laying down strong scalable operations that can support eventual growth in application development.
Too much of anything can be bad, which is the way the development of new technologies has to be somehow managed. If sustainable development is neglected the developer community would implode on itself and become segregated. We should look to build a future in app development where developers can help one another and grow at a rate that we can sustain.
What starts out as an obscure app could turn into an overnight success. So, you have to be ready for anything and be able to quickly adapt to customer demands. Snapchat, an app that started out as a university project now sends over 700 million photos and videos per day. Without the proper systems in place, the app wouldn’t be able to keep up with the server load and amount of users on the app.
Luckily most modern programming languages and system components are built to easily scale. But you need to plan for scalability from the beginning or risk having to deal with big problems later on in the app’s life. Scalability is fast becoming one of the primary concerns of app development. Bigger userbases and complex apps require more resources to run smoothly.
How App Development is Different Today
Modern app development is a different practice altogether. The change of both web and mobile apps industries has brought drastic changes to the development process. There is a much heavier focus on design and coding standards. New tools and technologies mean developers have to adapt and constantly update their knowledge or risk being left behind.
As reiterated many times throughout this article, a change in development is often started by a change in user behavior. When companies and customers push for more features, developers must then look for a way to satisfy their desires. As crude as it may sound, an app is meant to improve our lives in some way. This can be a quick restaurant reservation system or a game to keep our interests.
Apps have evolved from being small and simple to become complex programs. Webydo is an example of a sophisticated modern web application. It is capable of building a website without the user ever writing a single line of code. The concerns of modern app development are different to the ones of the past. Obviously, the first priority is to build something that works, but beyond that, the concerns of modern app developers are more about growth, scalability and compatibility.
Getting Involved in App Development
Getting involved in app development is both easy and difficult at the same time. Even though you may personally know nothing about app development, that won’t stop you from becoming involved. The Internet has given people the opportunity to collaborate with one another from remote locations scattered throughout the world. Finding and assembling a team for app development is much easier than it has ever been.
How to Get Involved in App Development
As a developer, it is easy to get involved in app development. You can go solo and create apps on your own or put together a team. But what if you aren’t a developer? What if you know nothing about the development process?
There are still many ways to get involved in app development even if you aren’t a developer. You could be the person with a great idea for an app but you don’t have the technical skills to make it a reality. That’s fine, not all great ideas weren’t built by the same people who came up with the idea. It would obviously be beneficial to know about app development, but we will show you how to get involved without any prior knowledge.
Becoming a Developer
Of course, to actually master a language or reach a high level would take much longer. If you dedicate yourself and constantly improve your programming skills, you can become a very good programmer within 1-2 years.
However, not everyone has the time or desire to become a developer. There are other ways to become involved in app development.
Using DIY App Builder Tools
There are a number of DIY (Do It Yourself) application builder tools that you can use to build your very own app without any coding. These app builders are mostly for mobile apps, and they can also help get your app published on the iTunes and Android marketplace.
A DIY app builder will probably lack certain features and functions that an actual developer will offer. But for some people, it might just be the perfect tool. Using drag and drop tools you can design and build your very own app without writing a single line of code.
Finding App Developers to Build Your Idea
There are a large number of app developers in the world. In a recent study, they counted a total of 19 million software developers in the world and 8.7 million of these were employed as mobile developers. There isn’t a shortage of app developers, but there can be a problem with finding a developer that suits you.
Depending on your budget, location and ambitions, it might be difficult to find a match. Not all of the 8.7 million mobile developers will have the same experience or qualifications (if any at all). Your budget will largely dictate the quality of developer you are able to hire.
Many developers have begun working as freelancers which makes finding them even easier. In fact, a growing number of start-ups are started by a group of skilled individuals from all around the world, and they work together remotely. Assembling a team is the easy part, making it work is harder.
You can find freelancers from job bidding sites like oDesk and Elance. The quality of developers on job bidding sites can range from excellent to terrible. As a general rule of thumb, you get what you pay for. Hiring a developer for $5/hour will most likely end as a horrible experience. Most freelancers on job bidding sites will probably not have the related qualifications and most will be self-taught developers. There are very good developers on these sites, but you will have to get past all the rubbish to find the gems.
As with traditional recruiting, you can view the developer’s portfolios and job history. However, the job history is only limited to past jobs they have completed via the website’s system. For example, viewing a job history in oDesk will only display the past jobs a contractor has worked on oDesk. This doesn’t give a complete job history but it should be adequate. Be sure to check reviews and past comments to determine their quality of work. These reviews and comments act as references.
Reviewing someone’s portfolio will give you a good idea of their current skill level as a developer. It is important to be able to see live apps that they have created. Anyone that can’t or won’t show you a live app should be immediately cut as a potential candidate. It is an app developer’s job to create working applications for the web and mobile. If they fail to demonstrate the ability to do so, they should be removed from the list of potential candidates.
Hiring an app designer will also be a good idea if you want to make a serious attempt at building a successful application. The design of your app reflects on the quality of your app. A poorly designed app looks like you’ve cut some corners. Luckily designers are also quite abundant and you shouldn’t have any problems with finding a good designer. Just keep in mind that you want to hire someone that has skills in app design. Mobile and web apps require different skills and specifics, so be sure to find a designer who is suitable for your project. Hiring a web designer for a mobile app isn’t an effective use your resources. Even if the designer is really good, there are differences between mobile and desktop interfaces.
Job boards are also another opportunity for finding developers. You might be able to find higher quality developers from job boards. Popular design and developer job boards including Smashing Jobs, Dribbble Jobs, Behance Jobs and Authentic Jobs. You can also try directly contacting potential contractors. Portfolio websites are a great place to start scouting for potential talent, especially for designers.
Assuming that you have an idea for an app you can delegate tasks and milestones that eventually lead to a finished app. If you don’t have an idea yet, it will be a better idea to figure that out before you begin building a team.
Becoming an Investor
Another option for entering app development is to become an investor. You can fund the development of someone else’s idea. The number of online and digital start-ups increases every year and there are no signs of it slowing down. The prospect of becoming an overnight success makes investing in app development a very attractive idea. But there is a lot of risks involved and there is no guarantee that you will make money.
For every app that succeeds there are hundreds or thousands that fail. It is extremely hard to predict which apps will be a success in today’s oversaturated app market. As an investor, you may provide funds for the app development, but you will most likely have very little say when it comes to the actual management. However, if you still want to take the plunge then the number one location for finding new start-ups and apps is AngelList.
AngelList is a website designed to be a platform for entrepreneurs and start-ups. It can be used to find jobs in start-ups, connect with the start-up community and to find a potential start-up to invest in.
Becoming an investor might be ideal for someone that wants to get involved in app development but doesn’t want to closely manage the entire process. You will be funding someone else’s idea in the hopes of a financial return in the future.
Managing the App Development Process
Create a business plan – Before you even begin to look for potential developers or think about assembling a team to build your app you need to create a business plan. Research your competitors, pinpoint your audience and carefully refine your idea. If you can’t explain the details of your app idea to yourself, how are you going to convince others?
If you are going to fund the project, you will need to also figure out your budget. Then you will need to decide how you are going to make money from your app. Popular options for mobile apps including ads, “freemium” payment model where the base app is free but users pay for certain premium features or charging a fee to purchase. Web apps are monetized slightly differently. It is uncommon to see ads on a web app because it is super tacky. A more common method of generating income from a web app is to charge a subscription for access to the app, or offering basic features of the app for free and charging a fee for access to the full app. Figuring out the monetization method is essential because it can affect the development process of the application.
Building a strong team – Finding people who work well with you is a lot harder than it sounds. You have to find people who are technically able to execute what you envision, but they also have to loyal to your cause as well. Many attempts at creating apps and start-ups dissolve because communication breaks down and the team wasn’t built on a strong foundation.
It is the same idea that superstar sports teams don’t always work out. It takes more than technical ability to make a team work.
Managing your team – Once you’ve assembled a team that you feel will serve you well it is time to put them to work. Managing your team involves setting goals, organizing tasks and setting up communication for collaboration. You need to continually keep track of your team to ensure that you stay on task and meet the goals that you have set.
Online tools such as Dropbox, Google Drive, Basecamp and other group productivity tools are great for bringing a team together.
Overseeing development – Sadly there is not too much you can manage during the actual development. If you have no knowledge of app development there is very little you can do except trust that your team will pull through and bring your idea to life. You will have to wait and evaluate the end product that they come up with.
A good strategy is to set milestones along the way, so as they reach each milestone you have the opportunity to review their progress. Breaking the development process into smaller pieces makes it easier to manage and helps to correct mistakes along the way.
Distribution of your application – Once your app is completed or very close to completion it is time to think about distribution. If you are developing a mobile app your first priority is to get your app on the app stores. The app stores are the easiest way to distribute your apps and also where the majority of the market look for new apps.
Make sure you know the terms and conditions of listing an app on iTunes, Google Play, etc. Also, ensure that your app meets the minimum requirements, a good mobile developer should already know these.
Ongoing development and/or maintenance – After your app is up and running it is important to keep ongoing support. You can decide to continue development on your app, improving it over time and adding new features. Or, at the very least have someone dedicated to maintenance so it continues to run smoothly.
How the History of App Development Applies To Us Today
The history of app development can be an interesting subject to follow, but more importantly, there are lessons to be learnt. You can see that there were a number mistakes and shortcomings, especially in mobile app development. The failure of WAP as an online mobile platform will forever serve as a warning against promising more than you can deliver. It was hyped to be this incredible mobile information network that would have the same speed and features as a desktop with internet access. Instead, we were given an unstable network that severely under-delivered.
The evolution of the app development process is a great study on how to streamline your workflow to increase productivity and cope with increasing demands. Of course, the improved modern tools help to reduce the amount of work a developer has to do, but it’s the streamlining of the workflow that produces maximum efficiency. Analyzing the change in the app development process helps us to understand where we should place the focus and how to be more effective.
Getting Involved in App Development is Easier Than You Think
As the app industry continues to grow the barrier of entry for developers and non-developers has dropped considerably. There are DIY app builder tools that can build mobile apps for you without writing a single line of code. However, entering the market and succeeding in the market are two very different things.
There are many pathways you can take you to become involved in app development. You can take the obvious route of becoming a developer or fund a project as manager or investor. Whichever route you take, there are ample opportunities to be a part of this vibrant community.
It All Starts With the Customer
The common spur for change throughout the lifespan of apps has always been the customer. The changing needs and demands of customers drive developers to create better apps. At the end of the day, an application is meant to please the end user so it makes sense that apps change depending on user behaviors.
Customers will always expect more features and it is almost impossible to completely satisfy customers no matter what you do. At the current time, there is no strong push or shift in customer usage of mobile and web apps. There is an app for almost everything and perhaps too many apps. Developers now have to think about the marketability of their app to compete with other similar apps.
Constant Advancements and Developments
There are constant developments being made in the technologies behind app development. New libraries and frameworks are constantly being introduced and developers are finding new ways of utilizing the tools available to them. As new technologies come out, developers need time to adapt and learn how to effectively use them. There is a danger of overwhelming developers with the constant release of new technologies if a system of sustainable growth is not implemented.
Looking Towards the Future
The future looks very bright for app development on both the web and mobile. Both industries are blooming right now, particularly mobile apps. As we continue to move towards the future we may see even more convergence between web and mobile technologies. This is just speculation and no one can truly predict what we occur in the future. The announcement from Steve Jobs to drop support of Flash on Apple mobile devices was unforeseen considering the close relationship that Adobe and Apple had with one another. Yet this one event has reshaped the entire Internet.
No one knows for certain what the future holds for app development.
Hopefully, you were able to learn something about the history of app development through this article. We have come a very long way in two decades and as technology improves It’s sure that applications will continue to advance. It is important to study those that came before us so that we can build upon their successes and learn from their mistakes.
It is also important to analyze the last two decades of app development to predict where possible problems could occur. The systems that we have now aren’t perfect and in the future, there could be radical changes, just like the ones we’ve seen in the last two decades.