WebStartupsInsightsMobileAleksandra Samsonova

How was YouTube Developed?

PHPWeb DevelopmentObjective-CMySQLWhat is CSSWhat is HTMLWhat is JavaScriptWhat is PHPphp websiteWeb and mobile programmingweb apps programmingJavaScript librariesjQuerypythonyoutube development

Recently we updated you on how Slack was developed and how Asana was developed. Today, we would like to shed light upon the story of YouTube – the second most popular website in the world!

 

YouTube was created by 3 former PayPal employees Chad Hurley, Steve Chen, and Jawed Karim who became good friends and often discussed potential business ventures. Their first idea was to create a video dating website called “Tune In, Hook Up”, where people would upload the videos of themselves to find dates. The idea did not take off. They were on the right track though. Their serendipity struck one day when Jawed noticed how hard it was to find a video of Janet Jackson’s wardrobe malfunction at the Super Bowl. The lack of a platform to share any videos in a convenient manner led to the creation of YouTube. Hurley, Chen and Karim funded it by bonuses received following the eBay buy-out of PayPal.

 

Background

To help you follow the YouTube success story, we added a few milestones to the timeline of all the years YouTube existed. It all started in 2005 when the 3 entrepreneurs registered the logo, website domain and trademark for YouTube. A year later Google paid $1.65 billion to acquire YouTube, which at that point hit more than 700 million views a week.

 

It led to the launch of YouTube Partner Program (YPP). YPP made it possible for everyone to earn money on their viral content. To attract more users to the platform YouTube started to work on the quality of the uploaded videos. As a result, it introduced HD videos in 2008. This triggered the interest to such alternative uses for the site as gaming and vlogging channels. From 2010 it offered its users to view the Netflix and Apple content and later on –  movies from Paramount, Disney, Sony, Warner Brothers and others. Thus, YouTube could no longer be called an amateur video-sharing site that kicked off the next year with the introduction of the new version of the site interface.

 

 

 

In 2012 YouTube launched its first app for the iPhone. It is the third most popular app on the market: 35% of all smartphone owners use it daily! The smartphones were everywhere, and their ubiquity resulted in new forms of capitalism for YouTube. In 2014 in an effort to throw down against Apple and Spotify YouTube announced the “Music Key” subscription service that allowed users to listen to ad-free music, offline YouTube video playback, and background listening.

 

A year later YouTube focused its efforts on its most vulnerable customer segment and released a secondary mobile app known as YouTube Kids making it safer and easier for children to explore the world through online video. In 2017 Google has announced YouTube Go, a new app designed to broaden the accessibility of the video-sharing service and make YouTube easier to access on mobile devices in such emerging markets as India, Nigeria, Indonesia, Malaysia, the Philippines, Vietnam, South Africa, and Kenya, where connectivity is more limited.

 

YouTube’s current statistics is shocking! It exists in over 91 countries covering 95% of the Internet population. It means that in an average month, eight out of ten 18-49 year-olds watch YouTube. Being initially exclusively a general amateur video sharing site, it turned into an entire ecosystem with an incredible variety!

 

 

YouTube Technology Stack

A solid basic product let Google significantly expand the YouTube product portfolio. Let us now look at YouTube from the technical perspective, having the above timeline in mind. To make it an easy read for everyman, we incorporated a few technical insight boxes into the main story.

 

The programming language used to develop YouTube changed significantly throughout the years. In 2005 Hurley, Chen, and Karim built it in PHP with the help of HTML, CSS, and JavaScript.

 

  • PHP is the server-side scripting language suited for the development of static websites, dynamic websites, web applications and used by the most popular CMS (such as Drupal, Joomla, and WordPress) that make it possible to create a site without much programming skills.
  • HTML is the markup language that uses tags to identify different types of content and the purposes they each serve to the webpage. It provides the basic structure that you can later modify with other technologies like CSS and JavaScript.
  • CSS ia the programming language that dictates how the HTML elements should appear on the frontend of the page.
  • JavaScript is the logic-based programming language used to design interactive sites. It modifies the website content and makes it behave differently in response to a user's actions.
  • To sum up, HTML, JavaScript and CSS are the front end languages used to dictate how things should look. PHP (as well as Python, Java, C+) are the back-end languages used to dictate how things should work.

 

After the acquisition in 2006, Google wanted to make YouTube more robust and changed the core part of its backend programming. From 2007 to 2010 YouTube was in the transformation phase. The company switched the main programming language behind the development of the platform from PHP to Python.

 

In the beginning, YouTube was just a video sharing platform, so PHP was enough to fulfil the basic programming needs. As YouTube grew, the PHP version showed a lot of restrictions and clutters. It pushed Google towards taking a step back and developing a completely new product while keeping the main idea alive. Despite being less prevalent than PHP, Python is more maintainable, secure and comprised of very few keywords. With the new programming language came the new design. It simplified the user interface greatly and positively affected the user experience.

 

The PHP and Python languages are used for different purposes. The developers mostly use PHP in web development, whereas Python is a general-purpose full-stack programming language.

 

PHP has a short learning curve, however in a long-term perspective Python is more productive than PHP.

 

According to Business Insider, over 1.8 billion YouTube registered users watch over 4 billion hours worth of video monthly and upload 72 hours worth of video every minute, and yet YouTube operates smoothly. Why? Despite the most common use of C++ and Java is API building, YouTube most probably uses it to handle this huge amount of traffic efficiently.

 

In 2011, Google launched a new version of the YouTube interface that differed drastically from the old one. It was possible due to the implementation of the latest JavaScript technologies that help add interactive behaviour to web pages, create web & mobile applications, develop games and build webs servers. After the first YouTube app was launched in 2012, Google unleashed the full potential of JavaScript through the development of applications of various nature for YouTube – YouTube Kids, YouTube Go, Music Key, YouTube Gaming, to name a few.

 

With all that said, apart from Python and HTML5 the current technology stack for YouTube will be the following:

  • OpenSearch is a collection of simple formats that provides a way for websites and search engines to publish search results in a standard and accessible format. Safari, Microsoft Edge, Firefox and Google Chrome support OpenSearch
  • Adobe Flash is a cross-platform plugin that plays animations, videos and sound files in .SWF format
  • Atom  is a free and open-source text and source code editor
  • Google Maps provides the world’s most popular map data through API to help companies give their users a better user experience
  • Modernizr helps identify the availability of next-generation web technologies (HTML, CSS and JavaScript features) in your user’s browsers
  • NetBeans is a software development platform written in Java
  • MySQL is an open-source database that supports scalable web-based and embedded database applications
  • NotePad++ is a source code editor sup

 

YouTube Web App

YouTube.com is the second most popular search engine in the world. A user gets information by searching the video content but interacts with the platform by creating an individual profile, making video playlists, rating and commenting. Built in Modernizr, YouTube provides a tailored experience based on the capabilities of your browser (no matter if you use an old or updated version). Most probably you enjoy the coolest & latest features using the latest version of your preferred browser. However, if you fall under the category of less fortunate users using one of the old versions, you will not feel excluded either.

 

The other tool used to develop YouTube is JavaScript libraries. A JS library is a collection of earlier created codes by the programmers of the world. Let us give you an example. Imagine, you need to make a simple slideshow. You will probably think of writing your own JavaScript code for it. There is a high chance though that another programmer had already done it before you. So to save some time you can just reuse the existing code by using the JavaScript library.

 

JavaScript Library is a file that contains a bunch of functions, and those functions accomplish some useful task for a webpage.

 

YouTube Mobile App

When the era of smartphones had arrived, everyone surfed the internet from a personal device. To keep up with the fast technological development, YouTube introduced its first Mobile App in 2012. Today the YouTube Mobile App has more than 5 000 000 000 downloads!

 

To better understand the topic, we recommend you read the article Web App vs Mobile App, What is the Difference?

 

It is difficult to name the exact technologies used for YouTube Mobile App development, but we can definitely explain the principles behind building applications similar to those YouTube has. YouTube has a brilliant and simple application giving its users 2 abilities: 1) to upload videos; 2) to search & play them.

The very first step is to choose the programming language. Base your choice on the current technology stack of your website or web application. Generally, Swift/ Objective-C is your choice if you do iOS development. For Android development projects you might want to go for Java/ Kotlin.

 

No one can name the best programming language, since each language addresses specific issues. Solving perfectly one particular issue, each language leaves the other issues unaddressed. Thus, the choice of the best programming language might highly depend on the task specifics. Based on the project requirements you choose a programming language that can do the most without presenting many issue.

 

Then you will choose the streaming servers to host such heavy content. It is, however, very ambitious to compete with YouTube. It has thousands of servers and efficiently serves billions of requests every day.

 

If you want your application to be popular among users, make sure you create a decent user experience for your users by investing in the design of a comprehensive layout & intuitive User Interface (UI). The commonly used tools for creating mockups include Photoshop, HTML,  CSS, JQuery, JavaScript. After you have developed the code for the designed UI, integrate it with the streaming server. The last and most crucial step is to test your mobile application for bugs and common sense.

 

Jquery is is a fast, small, and feature-rich JavaScript library. It takes the standard tasks requiring many lines of JavaScript code to accomplish and wraps them into a single line of code.

 

Conclusion

Only 25 years ago streaming videos over the internet was science fiction. Now it is a reality! YouTube addressed a market need well enough to become the second largest search engine in the world. The internet technologies are constantly evolving, but YouTube throughout the years continues to prove why it is the best video platform by offering more & more innovative services.

 

From the technological perspective, it seems like Google has made the right decision to make the transition of YouTube from PHP to Python since it allows rapid flexible development and deployment. It is YouTube’s competitive advantage on the rapidly evolving market. Google believes that the web and computing have changed dramatically in the last ten years. Yet the languages powering that computing have not. Since 2006 Google has been working on its own programming language Go. Today the main languages behind YouTube are Python, JavaScript, HTML5, Go, Java, C++, and C. 

 

 

Whether you are a child, an adult, a sportsman, a dancer, a marketer, an entrepreneur or anybody else, YouTube is a powerful platform to reach niche audiences searching for relevant and engaging video content. 

Leave a Reply

Your email address will not be published. Required fields are marked *