HTML 5 C# Web Sockets server and ASP.NET client implementation

In the previous post we saw that Web Sockets are the best invention since sliced bread: they bring to the web the bidirectional full-duplex communication traditional desktop applications have been enjoying for quite some time now. It solves many current problems, and enables much more powerful applications than current standards.

I’ve developed a very basic Web Socket server implementation in C# just as a proof of concept. It handles the most basic operations you would expect from a server: start a new connection, disconnect, and send and receive data. Besides, I’ve developed the client part as well using regular ASP.NET. Actually it’s just plain HTML and JavaScript being served from an ASP.NET server – this example doesn’t use any fancy runat=server controls or anything of the like. The functionality is achieved with very simple and easy to understand JavaScript.

Read the rest of this entry »

HTML 5 Web Sockets

Following the series of posts discussing AJAX calls, today we’ll see what is going to be its evolution: Web Sockets. It’s still a very new technology, and support is starting to be implemented in most major browsers and web servers. But don’t count on using it yet, since most of the clients of your web app will not be able to use them. I’ll discuss web sockets here just so you know what the future is going to bring to the web apps world.

The history: the beginning of AJAX

The world wide web and the Internet started as a stateless content delivery mechanism, taking a step backwards compared to traditional desktop applications. Early Internet applications needed to explicitly request every piece of information, and the server sent only the requested data.

Then came what we now call “Web 2.0 application development”: Dynamic HTML, heavy usage of JavaScript, AJAX, and various plugins (Adobe Flash and Microsoft Silverlight). These applications were dynamic and responsive, and they brought much of that rich interactive experience users enjoyed in desktop client/server applications to the Internet. However, due to the request and response architecture that these applications are based on, the latest Rich Internet Applications still cannot match the connectivity and the capability to get real-time data that client/server applications had more than a decade ago.

Read the rest of this entry »

CSS 3: one more step in the evolution of the web

CSS 2 was released in 1997, and after more than 10 years it needs to be updated to reflect the new uses and trends we’ve been seeing in the web. This new version of Cascading Style Sheets brings new features long awaited that will make web development easier. Alongside with HTML 5, this new version represents the evolution of the web, and aims to take the concept of semantics into the core of the web.

CSS 3 has quite a few new concepts. Let’s take a look:

Read the rest of this entry »

HTML 5: dramatic improvements in the web language

HTML 5 is a new revision of the standard language that moves the web. The increase in needs has brought new uses in HTML and new tags to support them, paying special attention to the semantic web. There are quite a few elements added to the new HTML standard to encapsulate different types of information:

Read the rest of this entry »

The Semantic Web

Semantics, as defined in Wikipedia:

Semantics is the study of meaning, usually in language. The word “semantics” itself denotes a range of ideas [...]. It is often used [...] to denote a problem of understanding that comes down to word selection or connotation.

The Semantic Web is an extended web, with a greater meaning, in which users will be able to find answers to their questions faster and easier due to a better-defined information. This meaning-based web is supported by a set of standardized  languages that solve the problems the semantic-less web has, in which access to some information is a difficult and frustrating task.

Read the rest of this entry »

HTML 5 canvas tag demonstration: Sierra adventure games

Can you imagine playing good old games you used to play when you were a kid in your browser? Yeah sure, there’s plenty of cool games developed in flash, you would say. Well, leave out flash. Leave out Java as well. Leave out any plugin that needs to be installed in your browser. What do we have left? Just plain HTML and Javascript. Now, that’s something different from what we’re used to see.

Martin Kool has made this possible. He has developed an open source engine to play games straight in your browser, using the canvas tag from HTML 5. And besides, he has ported many of the old Sierra adventure games, like Leisure Suit Larry in the Land of the Lounge Lizards, Space Quest I: The Sarien Encounter, Gold Rush, etc.

Read the rest of this entry »