Thoughts About HTML5

by jmorris 24. August 2010 14:15

A colleague sent me a link to an HTML5 slide show and I must say that if and when the standard is completed it will offer an amazing cornucopia of web technologies in a single package.  It’s interesting that it’s even called “HTML” at all; it’s really the combination of markup (HTML), presentation and formatting (CSS) and behavior (Javascript API’s) that comprise HTML5. It also strikes me that HTML 4.01 (notice the space between the “L” and the “4”? HTML5 interestingly enough, has no space) was Recommended  by W3C in 1999 and HTML5 specification was started in 2004 and still has not been completed! That aside, with the recent exclusion of flash from Apple IPhone and IPad, interest and demand have taken off for HTML5.

Javascript API’s

HMTL5 offers several new JavaScript API’s that allow developers to do things that were not easily possible on  the browser before: Web Sockets for client server interaction via TCP, Web Storage for storing data on the client browser, a Web SQL Database (yes a local database that is accessed via Javascript directly, so much for SOC!), an Application Cache, Web Workers to provide asynchrony with a language (JS) that does not support multithreading,  a Notification API for broadcasting messages to the client, and a GeoLocation API so that your location can always be known! Additionally there is a new Selectors API and JS Drag and Drop API.

From the offerings above, I can see HTML5 being the killer app for a number of existing web technologies: javascript libraries such as JQuery and Scriptaculus, FLASH/FLEX/AIR/Silverlight as well as methodologies such as Ajax and even proprietary offerings such as LightStreamer.

HTML

HTML5 also extends the extends the existing HTML 4.01 tags with new tags for the semantic web, link relations, Microdata, ARIA attributes (for disability accessibility),  form field types (range, input validation, etc), audio and video (Apple’s big beef), and Canvas for 2D and 3D SVG/WebGL graphics.

CSS

The new CSS extensions include typography enhancements, visuals (columns, textwrapping, rounded corners, etc.) and transitions, animations and transformations (dynamically manipulating DOM elements kinda like some of the JQuery UI features).

Summary

All in all this is an amazing and revolutionary toolkit for developing Web applications and will likely lead the way in what and how we develop in the future. A couple of the features (namely Web SQL and Web Sockets) make ne cringe slightly, in that we know that they will be abused, however the potential here is enormous. it’s also interesting to note, that none of the new features are truly revolutionary by themselves, it’s the standardization which is revolutionary. 

References

Tags: , , , ,

HTML5

Cheap hosting solution: Winhost.com

by jmorris 22. August 2010 17:06

I host sites at both winhost.com and discountasp.net and I would like to compare the yearly costs of hosting on each:

  • Winhost - 4.95 a month 50GB/1000MB disk plus MSSQL 2008 or MySQL database included (total 59.40 per year)
  • Discountasp.net - 10.00 a month 80GB/1000MB disk plus 10.00 a month for MSSQL database (total 255.00 a year)

It costs me nearly 4x more to host with discountasp.net! ARGH!!!! The worst thing about this is that I didn't pick up on this until AFTER they billed me for the 255.00 for next year!

Tags: , ,

rant

Flashback to 1997: Java owner sues Java extender

by jmorris 13. August 2010 13:43

In a flashback to 1997, the owner of Java (was Sun now Oracle) sues another company (was Microsoft now Google) that has extended the language: http://money.cnn.com/2010/08/13/technology/oracle_android/index.htm

Of course the way this is done is different matter and is totally unrelated, but wow! I guess the Java platform isn't so "open" after all!

Tags: , , ,

Android

Scary Code

by jmorris 12. August 2010 13:31

First off, I am the first to say that if you are a developer, sooner or later you will write a bug or krufty code; it goes with the business they say. At some point you'll either make an improper assumption, misuse a feature, or simply "have a holiday" or write an obvious or non-obvious bug I'll also offer straight up that I am not the best or most talented developer in the world. There are legions of developers that create amazing work that I will never in a million years, pretend to be able to produce.

That being said, I recently reviewed some code a third party vendor offered as an API and I am a bit shocked…The API is pretty simple; it's a single class for adding SEO metadata and attributes to videos embedded on a web page via Yahoo! SearchMonkey RDFa and Facebook Share so that the pages are more discoverable and relevant to search engines.

Let me share a few of issues with the code I discovered after I downloaded the API:

public class SEOFriendlyVideo{

static String partner_code;
static String secret_code;
static String embed_code;
static int cache_for_num_seconds;
static String title;
static String description;
static String metadata;
static String labels_html;

public SEOFriendlyVideo(String partnerCode, String secretCode, String embedCode) {
partner_code = partnerCode;
secret_code = secretCode;
embed_code = embedCode;
cache_for_num_seconds = 900;

fetch_data();
}

Setting static variables using a non-static public constructor? OMG! Whatever happened to thread safety? Note that this is meant to run on a web server, an inherently multi threaded environment!

From there things simply got worse; rest assured I did not use this ;)

Tags:

The Microsoft.Data.Dll Brouhaha

by jmorris 3. August 2010 13:45

There has been a lot of noise in the dotnet blogasphere regarding Microsoft's latest offerings, Microsoft.Data.DLL and WebMatrix...most of it negative:

To get a feeling for the community sentiment on these two ms products, you really need to read through the comments! It seems that a lot of dotnet developers are miffed with MS for releasing these tools which, according to contemporary software architecture standards, promotes poor practices and the development of security ridden software.

Understandably, the community is upset sense they have been pushing MS (we all know MS’s record with quality software) towards the acceptance of better software development practices for some time now and releasing an API intending to promote bad practices is counter-intuitive. To Microsoft however, this is an opportunity to reduce the barriers of entry to MS offerings and provide API’s similar to some of the PHP offerings like Drupal and Wordpress, which currently have a huge market share.

If you’re wondering what Microsoft.Data API is, it’s simply a couple of wrappers over raw ADO.NET…nothing different from any of the wrappers we have all created in the past. It’s very similar to using the Enterprise Data Access Library with updated syntax and language features found in dotnet 3.0 and better. It basically allows developers to declaratively combine data access and markup on a webpage much like PHP developers do now (and PHP consultant’s en masse). An architectural Achilles’ heal with respect to maintenance, but a boon to quick n’ durty development…exactly user base MS is targeting (and largely owned by the PHP/ROR crowd).

Will I ever use Microsoft.DLL API or WebMatrix? Probably not…however I question the wisdom in a strategy that alienates one core developer group (professional) in an effort to gain another developer (amateur) which is clearly not even interested.

Tags: , , ,

rant

Jeff Morris

Tag cloud

Month List

Page List