Wednesday, August 26, 2009

TCP vs. UDP

Transmission Control Protocol versus User Datagram Protocol

TCP and UDP are two of the most widely used transfer protocols on the internet today. They each have their own benefits and they perform those roles well. First off TCP is used mostly for HTTP or web access. It is perfect for this role because it has built in error checking. Each packet is checked and if there is an error the packet is requested again. This is great for relatively small web pages because it ensures that all the data is transferred and available to the client machine to display. On the other hand UDP is all about speed and is used primarily for transfering large amounts of data as quickly as possible and not worrying about lost or dropped packets. It is the primary protocol for streaming audio (pandora.com), video (hulu.com), and multiplayer game data over the internet. While a web page may not load correctly if a packet is dropped an audio or video file will still play if a packet is lost or a collision occurs.

TCP is a slower transfer protocol because it requires two way communication. After a packet is sent the client machine verifies that it received the packet and if it is missing it contacts the server again and asks that the packet be resent. This would not work well for streaming a video. The video would stop playing every time a packet was dropped and requested again. TCP is also too slow for multiplayer online games. Therefor most online real time games rely on UDP.

Below is a diagram that shows the difference between UDP and TCP connections. As you can see TCP is always in contact with the server to ensure data integrity. Whereas UDP is just worried about how fast the data can be sent to the client machines.



Sources:
http://www.skullbox.net/tcpudp.php
http://ntrg.cs.tcd.ie/undergrad/4ba2.02/gaming/report04.html

Monday, August 24, 2009

HTML 5

Background
Work on HTML 5 has been going on since 2003. In 6 years the web has changed a lot. How can they possibly come up with something relevant after 6 years? By constantly keeping a finger on the pulse of web trends they are able to build in new features directly by using APIs. Most of the web functionality that we see today is made possible by 3rd party addons or code. This makes it difficult to have standards that will allow all browsers to display every page accurately. To try to address some of this problem HTML5 will make it easier on developers to make awesome websites that will work on all browsers without having to use 3rd party addons that may not display correctly.

Benefits
Just 2 semesters ago I learned how to build a drag and drop application using the dojo toolkit. The dojo toolkit is a great 3rd party library of javascript files that allow for some awesome stuff to happen on webpages. But this took a lot of time to understand how to use this toolkit and it also took a lot of storage space on the server to upload all of the support files. With HTML5 drag and drop support is built in with no need for hundreds of supporting javascript files. Drag and drop is not the only new feature though. There are many more such as better layout and menu support that will make developing good looking functional websites easier and quicker for developers.

Some of the built in new technologies
Geolocation
Drag and drop
Embedded audio & Video
Structural Elements (header, footer, aside etc.; allows for more control over legacy div tags)
Offline support (file cache to run apps offline)

Mobile Device Support
With the wide use of smart phones and small mobile devices it is key for HMTL5 to offer a great experience for those users. Apple safari uses the webkit rendering engine which currently supports most HTML5 standards except for audio.
Rim Blackberry just bought Torch Mobile, a Webkit development company that own Iris web browser. This is probably an attempt to compete with the apple iphone in the mobile internet arena.

Conclusion
HTML5 is a big leap forward for developers. It allows them to quickly develop functional websites using the core HTML & CSS features.

Sources:
http://www.smashingmagazine.com/2009/07/16/html5-and-the-future-of-the-web/
http://dev.w3.org/html5/spec/
http://news.cnet.com/8301-13506_3-10316027-17.html

Thursday, August 20, 2009

Welcome

This blog is dedicated to discussions about IT related issues. I will post updates weekly. Most posts will be a more in depth discussion of classroom topics. I will probably reference different news articles related to information technoloy.