Get Onto My Cloud

April 4, 2012

PREAMBLE

The following text is an informative paper on the current state of the Internet—specifically cloud apps—on post-pc devices (smartphones, tablets, .etc). This paper will also discuss the future of cloud apps and cloud technology on these post-pc devices. I will be answering some questions you (the reader) may have, and I will try to include any important information that you may need to fully understand any concepts that I introduce throughout the text.

I also intend for this paper to be readable to audiences with a web-savvy background. This is not to say that people who don’t have this advantage will not be able to enjoy this text, but I would say that those without this advantage may not be able to comprehend everything I say by skimming through paragraphs. If you do not have a web background, I advise you to reread paragraphs if they stump you. Also, I will be going into detail on a lot of the technologies, ideas, and projects that I mention. That being said: I hope that you enjoy this text. It is not the most exciting thing to those who don’t care for the development of applications, but it will inform you on the subjects that I have proposed. So, first things first: What is cloud computing and a web app, and what can they do for me, a consumer?

CLOUD COMPUTING AND WEB APPS

Cloud computing, according to the US National Institute of Standards and Technology (NIST), is “A model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.” (Mell)

With cloud computing, we can have web apps. An app is a small application, usually serving one or two specific tasks. Web apps allow your device to talk to computers attached to the internet that host the information we need for our software that we use every day, instead of downloading and installing all of these programs or apps onto our computers. This means that if your device is connected to the Internet, a computer that has the software will do all of the calculating and processing for you, giving you just the results that you need via the Internet.

Web apps made today are written in a language called HTML (hypertext markup language), and more specifically, the fifth version of HTML, HTML5. Before HTML5, there were languages like regular old Java and ActionScript (Used for Flash) that would create app-like content on the internet, but have been deemed both slow and of high power consumption—things that are extremely bad for mobile markets. But HTML5 is here to save the day.

HTML5 AND AN AWESOME NEW WEB ATMOSPHERE

HTML5 was made to completely remove the aforementioned languages and bring out the functionality of them all into one language, while still being fast and easy to use (HTML5 Introduction). Today, 9 of the top 10 most visited sites on the internet use HTML5 to produce their content (Maine). HTML5 contains new technologies that have never reached the web before. The most prominent would be offline storage, WebGL, device access, video/audio embedding, and a new CSS specification list.

Offline storage is huge for web apps. Let’s say that you travel a lot, but you like to use Google Docs as your main office suite. Google Docs is a web app, and because of that, you need to be connected to the internet to be able to use said app. So, in this situation, you wouldn’t be able to use your favorite app. But, because HTML5 is awesome and has offline storage, Google Docs can be stored locally on your device, making it possible to use offline when you’re on the go. No other web language can do this. Also, web apps are small in size. Web apps would open extremely slowly if they were large in size, thus making them unattractive to new users, which is something no developer wants to do. So you don’t have to worry about a web app cluttering your computer’s valuable storage.

WebGL is another HTML5 technology that can be used for many applications. It stands for web graphics library. WebGL enables a developer to use your device’s graphics processing unit (GPU) to create 3D objects within the browser, not needing a plugin, like you did in the past. What does this mean for web apps? It means instead of having to download another plugin to access your computer’s hardware, every browser now must come with WebGL, as it is a standard set by the W3 Consortium (I’ll get to them later). Also, Google has released a website dedicated to experimental applications using advanced HTML5 features like WebGL. This website is for developers to come to one site and exhibit different experiments with HTML5 technologies. There are many that are on the site, like interactive 3D models of the human body, being able to inspect every artery, organ, and nerve. Applications using these technologies such as this are the future of education and many other fields. Other features such as device access, video/audio embedding, and the new CSS specification list (aka “spec” pronounced spek) are pretty cool, too.

Device access is much like WebGL, but instead of just the GPU, it can now access your GPS and other hardware devices. This means if you are checking in somewhere on Facebook’s web app, but you want to use WiFi, you can now do so because HTML5 allows web apps to talk to your GPS, and get your location.

In the past, video/audio embedding has always been a hassle. You needed a plugin to embed a video or audio file before, like Adobe’s Flash Player. This is a problem, because

  1. Anyone who wanted to view the file had to download and install something and
  2. Developers had to pay for a Flash server, so they can stream the audio or video to the client (you).

The first reason is tedious and a deterrent, and the second reason is extremely expensive. Now, with HTML5, you just type a little thing before and after the link to your video, and Presto! You have a streamable video/audio file for anyone to view!

If HTML5 is the language of the internet, then CSS would be the accent it has. CSS determines what font the viewer sees the text in, the colors, the size of the images, basically everything visual. The new CSS3 enables new features such as 3D transformations (making an image distorted without photo-editing software), text-shadow, and other neat aesthetic intricacies for web designers.

So what does this mean for web apps? Well, any web app can do anything I just mentioned, and more, with the new HTML5 spec. New web apps can be created to further education with scientific 3D models like the example I mentioned previously, create games, build applications for enterprise use, or the next big social network using the easy-to-learn fifth edition of the hypertext markup language.

WEB APPS TODAY

Many web apps are currently available today. Every website that performs a service (e.g. research, communication, gaming, .etc) through the internet is a web app. So, websites like Facebook, Google, and Wikipedia are all web apps. These sites don’t seem very app-like, though. Web apps such as Wunderlist, Twitter, Evernote, and YouTube boast interfaces that look more like the apps we see on our smartphones and other internet devices. You can even play Angry Birds on your computer at home by visiting chrome.angrybirds.com with Google Chrome, Safari, or Mozilla Firefox. Also, you can go to cuttherope.ie with these browsers (and even the latest Internet Explorer) to play Cut the Rope online.

We can use apps like these in our everyday lives. Google Docs is great for writing papers (I’m using it right now) or creating presentations. Wunderlist is an incredible to-do list app with simple controls to help you get organized. Apps like these all provide one or two very specific functions, much like apps that we experience on our smaller devices, like smartphones and tablets.

CLOUD APPS VS. NATIVE APPS

These apps on our devices that come from web apps aren’t made using the same technology as the apps on our devices, though. Web apps are cloud-based, meaning you can’t lose any work made on them and you don’t download any of the software for them. They are also all made with HTML5 and JavaScript, both of which are extremely easy to learn computer languages made specifically for websites. These languages allow developers to create apps with ease. Apps made using device-specific do not always use cloud functionality, and are never written in HTML5 or JavaScript. They are written in languages specific to the device they are made for. iPhone and iPad apps are made in an entirely different language (Objective-C) than apps made for an Android device (Java).

Native applications, though, give you much more access to devices than a web-based app. Today, native applications on iOS (the operating system found on the iPhone, iPad, and the iPod Touch) are able to communicate with the built-in cameras, open your contact list, communicate with other applications, and much more. Web apps simply cannot do these things, because the companies that own these devices won’t allow them to. Entirely opening every app to the web would allow viruses to spread much faster, causing harm to personal information to the lives of millions of people.

Also, monetization is much easier with a native app. Using iOS as an example again; an app developer can create an app and easily put it up for sale on the App Store. Web apps today, though, are only available through word of mouth, making it harder to find good apps and harder to monetize on.

So, web apps seem to have some major pitfalls, and not only that, but they are against some stiff competition with native apps. Luckily, that’s changing with Google and Yahoo.

GOOGLE AND YAHOO IN THE NEW WEB APP MARKET

Google makes Google Chrome, a super fast and safe browser (it’s the one I use). One of the extended benefits of this browser is the Chrome Web Store. Developers can create an app, and (just like the Apple’s App Store or the Android Market) make it available for anyone to download in a marketplace letting the customer know that it will just work, because every app on this marketplace is made to work in Google Chrome.

The Guardian has featured an article in the technology section of their website discussing the differences between an HTML5 app and an iOS app (specifically the iPad). The Financial Times opted to write their iPad app not in native coding, but instead, made it available online, written in HTML5. The author wrote the article comparing the performance of the HTML5 app to how the app would perform if it had been written in native coding, stating that

“A native mobile app is more comfortable and natural than using the web-based equivalent” (Baxter-Reynolds, 2011).

To combat the performance issues related to web apps, Yahoo, known for its search engine, has been working on multiple other web projects, namely the Yahoo User Interface JavaScript Library and the Mojito JavaScript framework. Mojito allows extremely fast web apps performance-wise because it uses the same code on both server-side and client-side (Claburne 2012), making it easier for the server to talk to the client. This gap is the main reason web apps seem buggy, because you use a lot more code to create experiences in comparison to native app code. This new framework exponentially shortens the gap, and allows new development processes to create fluid experiences.

FUTURE OF WEB APPS ON SMARTPHONES

Web apps are coming along nicely today. Apple ditched Flash with their iOS devices and accepted HTML5 as the only way to distribute rich media content through the web. Google has been leading the charge of complete web-based apps with the Chrome Web Store and the new Chrome OS, the new operating system from Google based on their Chrome web browser. Millions of web apps have been submitted to the Chrome Web Store, and if you view the site, you will scroll down forever as the page loads more and more apps automatically—I haven’t ever reached the bottom of that page.

The future is bright for web apps and the mobile market. The World Wide Web is run by the World Wide Web Consortium, an “international community that develops open standards to ensure the long-term growth of the Web.” The World Wide Web is written in HTML, and the HTML5 language is updated nearly every day by the World Wide Web Consortium, and every time it is updated, it gets better and better. This means that in the years to come (heck, it might even be this year) we will see more and more web apps pop up into our app markets on our little devices, because of the increase in performance, stability, and security in every update to HTML5 and the technologies contained within this diverse language.

Appcelerator, a company who builds frameworks for mobile developers to make apps easier, polls all of its customers and produces a report from every fiscal quarter. According to the report in Q1 (the first fiscal quarter, which is October 1 - December 31) of 2012, 79% of developers said they will integrate HTML5 into mobile apps in 2012 (Appcelerator/IDC Q1 2012 Mobile Developer Report, pg 4). Also, in Q3 (April 1 - June 30) of 2011, 66% of developers of any platform said that they interested in developing in HTML5, and 67% said the same in 2012 (Appcelerator/IDC Q3 2011 Mobile Developer Report, pg 4).

But it is important to remember that the HTML5 languages and web-based smartphone apps are only a few years old, and much younger than the iPhone or any Android device. You should remember that there is still a gap between web apps and native-coded apps in the performance field, but it should be closing in soon.

Andre Charland and Brian Leroux say it best in a recent journal, stating that

“The Web technology stack has not achieved the level of performance we can attain with native code, but it’s getting close. We’re confident that Web technologies will become indistinguishable from native experiences.” (p. 53)

CONCLUSION

So, let’s recap on all of this information that I’ve laid out for us: Cloud computing, a way for computers on the internet to talk to each other and better the communication between computers, enables fully-featured applications to be shared in “the cloud.” These web apps are specific in their purpose, and are readily available to be used by large audiences through the Internet. These web apps are written in the markup language HTML. The newest version of HTML (HTML5) enables new features that were never found before in any other language for the Internet, such as interactive 3D elements, offline storage, and more. This language powers thousands of apps found today, such as Facebook, twitter, and all of Google’s services. We also learned that these web apps aren’t welcomed on devices other than a computer, being restricted and competed against on smaller computing devices like smartphones and tablets. But this is being worked on by the engineers at Google and Yahoo, who are both working hard every day to increase rich experiences for mobile web app users. In the future, we can almost guarantee that web apps are going to at least be a major source of your daily app consumption on post-pc devices, like smartphones and tablets.

The Internet is one of man’s greatest inventions. When the Library of Alexandria was destroyed, we lost an extreme amount of information that the Ancient Greeks may have recorded from their time of existence. We have an infinite amount of knowledge, spanning more than that library could have ever contained, and it can be used in our daily lives, right at our fingertips. Let’s watch it get better.


WORKS CITED

Appcelerator. Appcelerator/IDC Q1 2012 Mobile Developer Report. Appcelerator and IDC, 25 Jan. 2012. PDF. http://appcelerator.com

Appcelerator. Appcelerator/IDC Q3 2011 Mobile Developer Report. Appcelerator and IDC, 20 July 2011. PDF. http://appcelerator.com

Baxter-Reynolds, Matthew. "Will HTML5 Replace Native Apps? It Might: Here's How to Figure out When." The Guardian. Guardian News and Media, 3 Nov. 2011. Web. 09 Apr. 2012. http://www.guardian.co.uk/technology/blog/2011/nov/03/will- html5-replace-native-apps

Claburn, Thomas. "InformationWeek: The Business Value of Technology." Yahoo Hopes Mobile Devs Will Guzzle Mojito. InformationWeek, 03 Apr. 2012. Web. 09 Apr. 2012. http://www.informationweek.com/news/development/open- source/232800147

Charland, Andre, and Brian Leroux. "Mobile Application Development: Web vs. Native." Communications of the ACM 54.5 (2011): 53. Print. Chrome Experiments. Google, n.d. Web. 8 Apr. 2012. http://www.chromeexperiments.com/

Gobry, Pascal-Emmanuel. "HTML5 Will Replace Native Apps--But It Will Take Longer than You Think." Business Insider. Business Insider, 09 Jan. 2012. Web. 7 Apr. 2012. "HTML5 Introduction." W3 Schools. N.p., n.d. Web. 7 Apr. 2012. http://www.w3schools.com/html5/html5_intro.asp

Maine, Kurt. Binvisions Quarterly HTML Census, Q3 2011. Binvisions, 30 Sept. 2011. PDF.

Mell, Peter, and Timothy Grance. The NIST Definition of Cloud Computing. Gaithersburg, MD: U.S. Department of Commerce, Sept. 2011. PDF. “W3C Mission.” W3 Consortium. Web. 13 Apr. 2012. http://www.w3.org/Consortium/mission.html