Thursday, December 15, 2011

A Review of Internet Technology Part 6: Data

Over the past 10 years three things are very evident with data.  It has become much more available, there are heaps more of it, and it is being stored in the cloud.  The web would be nothing without data to populate it.  There is no point in having services and devices communicate with each other if the services have nothing to share.

Google has put the internet at our fingertips.  The search engine giant is literally changing the way our brains remember things.  Any question you can think of you can probably type it into google and someone has asked it before.  Wikipedia is another great example.  It draws upon the knowledge of the entire word to populate the most popular encyclopedia that has ever existed.

All of this new web data is being stored in the cloud meaning it can be accessed from any device with an internet connection.

Real time monitoring of data is also a growing trend.  Google Analytics just released an update that allows you to see visits and monitor visitors as they browse your website through the control panel.  How amazing is that?  So much data is being captured and the real problem has become how to make the knowledge meaningful.

Energy Informatics is a good example of turning typically useless data into meaningful knowledge that helps reduce our carbon footprint and save money.  Let's say for example you had a meter on each electrical outlet that collects data every 30 seconds of how much power it has used the past 30 seconds.  Just looking at the data overview you would not see any trends or have any valuable information.  It is only when you use a statistical program such as R or even excel or a web application to create an analysis of the data are we able to create value.  You can begin to see where the most energy is being used by which appliances and will likely turn them off more often once you see how much energy they are actually using.

Google meter was a short lived initiative started by google.  It allowed homeowners to wirelessly monitor their electric meters from a website in real time.  Participants in google meter ended up using 10% less electricity on average after starting the program.  The data was always there for the participants but google meter made it much more available to them by providing a history of all of the meter reads and making it so they could access it from anywhere.

Monday, December 12, 2011

A Review of Internet Technology Part 5: Services

Web Services is a general term that comprises the modes in which devices or programs on the internet interact and communicate with each other.  There does not necessarily need to be any user interaction for web services to communicate with each other unless you are referring to SaaS (Software as a Service).  In that case web applications such as Gmail, Google Docs, Zoho, Ymail and even Facebook could be considered a web service.

There are two areas of web service - the original SOAP model that uses XML to set strict parameters of dialog between devices and the new RESTful model that is similar to a Web API.

Web services are the foundation for SOA (Service Oriented Architecture).  SOA is "a flexible set of design principles used during the phases of systems development and integration".  Basically meaning that software operates as a series of services rather than a massive program that attempts to do everything itself. This opens services up for modularity where additional functions can be plugged into the service without affecting other modules.

The image below illustrates the modularity of a web service and how many components interact through the service.



An example of a web service that everyone is common with is anti-virus.  In an office setting is is installed on each computer/server and the anti-virus is constantly monitoring the computers and network traffic suspicious activity.  In addition to constant monitoring it frequently checks with remote servers for new downloads to stay up to date.  If anything suspicious or harmful is found the anti-virus then alerts the user and can also send a ticket to tech support.  Anti-virus would be considered a RESTful service.  It checks for new updates on a set schedule and only performs system scans at a certain timeframe while.  Many anti-virus systems are modular allowing additional plugins to be installed for things like anti-spyware or email monitoring for specific clients like Outlook.

A Review of Internet Technology Part 4: Application

The code and markup language that is used to structure and style content on the web has made great progress in the past 10 years.  For Part 4 I will discuss the advancements of HTML, CSS, and Javascript Libraries.  For the longest time I had been developing with HTML 4.  I was formatting my content with tables and defining the style of the page inside the HTML.  CSS came along and really changed the way we make websites.  It is hard to believe that CSS (Cascading Style Sheets) has only been around since 1996 and is at its third evolution CSS3.  It includes many things that make the life of a designer easier like importing fonts and the ability to create 3D imagery among other things.  It's counterpart, HTML 5 is helping to turn the web into a semantic one replacing <div> tags with more common sense things like <nav> and <footer>.  This will help screen readers, search engines, and web browsers know what type of content is on a page. Below is an example of a site I recently built with HTML5/CSS3.  The text looks like it would need to be rendered as an image but it is actually an imported font file with a stroke and two sets of drop shadows to make it appear 3D.  All completed with CSS.



Javascript and Javascript Libraries like JQuery have also made things like AJAX possible.  Content on a page can be dynamically updated from a database or XML file or anything else really in real time without a page refreshing turning the web into a set of applications rather than pages.

The combination of CSS3, HTML5, and javasript libraries are really changing how the web works and is fostering  This has lead to cloud applications like gmail and online calendars that I will discuss in part 5.

A Review of Internet Technology Part 3: The Web Server

Web Servers can range from your laptop computer to a super computer housed in a giant data center in the middle of the dessert.  The biggest trend I am seeing in terms of web servers is that they are becoming increasingly more open and accessible to the masses.  I am first going to discuss how this trend can be seen at the micro level with personal and business server usage and at the macro level with DNS (Domain Name Systems).

Traditionally one would setup local servers to host their business or personal applications.  Ten years ago this was the only option for many unless you could afford your own private data center.  With advancements in hardware and internet infrastructure the use of servers is seeing a shift from local based servers to remote servers i.e. the cloud.  Businesses no longer need to spend money on purchasing local servers and staffing tech support to maintain them.  Options like Amazon Web Services now allow a business to setup managed servers anytime they need them and have the option to only be charged for the time that they are being used.

Servers are used for more than just hosting and running applications.  One very important type of server is a DNS server.  DNS servers have been around since the early days of the web and have helped it to become a decentralized network.  Rather than touch on the technical aspects of DNS I will simply say they are the routers/phone book for the internet.  In the past there were a very limited number of these DNS 'routers'.  They of course did their job, but it raises the question of who is in control.  Sometimes those in Washington and governments abroad try to limit the openness of the internet, passing laws to build 'great firewalls' and controlling what content citizens can see and not see.  Thankfully no one country controls DNS servers.  Every country has begun to take its own slice of the DNS pie which is further decentralizing traffic on the internet.  Now no one country or group of countries can turn off the internet by disabling DNS servers. While there are only 13 root name servers.  Duplicates of those servers appear all around the world and is now at around 100 instances as seen in the map below.

Saturday, December 10, 2011

A Review of Internet Technologies Part 2: Internet Infrastructure

Most of us remember the crackling of trying to connect to the internet with our dial-up modems only to have someone pick up the phone 30 seconds later after making a connection.  Great advancements have been made in internet infrastructure in the US and abroad in the past 10 years.

A study by the Pew research group shows broadband internet adoption is now up to 60% in the US.  An even more interesting number is that 93% of teens report to regularly using the internet which will create an even stronger demand for broadband access in the US.  Notwithstanding the US, huge growth in international markets and the massive growth of internet connected mobile devices here, abroad, and especially emerging markets in Africa will fuel more and higher quality mobile and desktop client applications.




One adverse side effect of the growth in devices is that we have begun to run out of IP addresses for them.  Each device aka host requires an IP address to communicate.  The current format of IP addresses (IPv4) is running out of unique possibilities.  Internet Protocol (IPv6) should permanently address this problem by providing a larger address space and optimizing how IP addresses are assigned.

Gone are the days of going to a store to buy a CD to install a software package.  The access to quality bandwidth has dramatically reduced the barrier to entry and is super charging innovation on the internet.

Tuesday, December 6, 2011

A Review of Internet Technologies Part 1: Client Side Applications

Client side applications are software that act as an interface to access network and internet applications.  They can be full blown software applications or simple scripts and can be written in any programming language.  Common examples of client side applications include web browsers (firefox, internet explorer etc) used to browse websites, messenger clients used to communicate (aim, skype, text messaging) and desktop applications like microsoft outlook used to access email.

There are many client side applications that we never think of that are constantly running and interacting with a web server.  Anti-virus programs are always running and checking for new definitions/patches to download to keep our computers (and other client side applications) safe from attack.  Those of us without anti-virus (and even sometimes with anti-virus) may find that hidden client side applications can become installed on our computer to steal information and to make our lives miserable.

Client side applications are a rapidly evolving group of software.  I attribute much of the growth in diversity and quality of the applications over the last 10 years to much faster and widely available broadband internet which I will discuss in Part 2: Internet Infrastructure.  Updated infrastructure has created an explosive new market for mobile applications.  There are over 520,000 apps currently available for download in the Apple App Store.  The introduction of the Android Marketplace has tipped the mobile application scale to over 1,000,000 applications available for download.

Mobile apps have begun to take-over the marketplace.  Studies show that daily time spent on mobile applications now surpasses that of desktop and mobile web consumption.



Mobile applications have even started taking over time and money from gamers.  No market is safe from mobile.