2010 Results

Building a Better, Faster, Stronger Navigation Menu

Tuesday, October 26th, 2010

In this article we are going to look at some very common mistakes that are made when building a navigational menu. We will then look at how to rebuild it making it better, faster and stronger. Okay, maybe not stronger, but certainly better, faster, lighter, more search-engine friendly and all around less sucky…

The navigational menu that we are going to rebuild is the one for the Rock Bottom Brewery restaurant that we love here in Denver.

Have a look at their main menu. It’s the one with: Home, Find A Restaurant, Menu, Beer & Spirits and Contact Us. You might be thinking, “What? Works just fine.” Yes is does, but why settle for “just fine” when we can make it better?

Now look at our Re-factored main menu. Once again, at first glance both menus work and look reasonable, but stick around and let’s see what makes the re-factored menu better.


Flash Is Dying, But It’s Not Apple Killing It

Friday, April 30th, 2010

After receiving many emails and instant messages the last couple days over the whole Apple vs Flash tit-for-tat that’s been going on. I feel compelled to give my thoughts.

For starters Steve Job’s article, Thoughts on Flash, is full of truth and fiction. The biggest part that rubbed me the wrong way was his lack of distinguishing between Flash and the SWF file format that Flash produces; Jobs conveniently leaves this out. Of course the average person knows nothing about the distinction between Flash, the tool that is used to create a SWF file and the actual SWF file that is used on a website. The SWF file is ‘open’ and there are other products, not made by Adobe, that can create SWF files. So it is fair for Abobe to wave the ‘open’ flag.

As far as Apple being ‘open’. Not so fast there Jobs. I can’t even use the SDK on my Windows machine. You must own a Mac if you want to create applications for an iDevice.

Is there anyone that truly believes Apple could not get Flash to play on their devices if they wanted to? Just say it Jobs, I don’t want to support Flash. Period.

Now my final thought and it’s not a good one for you Flash developers is this: Flash is dying, but it’s not Apple that’s killing Flash. It’s three things: 1.) Ajax 2.) jQuery and 3.) HTML5. These technologies have been slowly killing Flash the last few years. Look around, sites that once used Flash have fazed it out: Yahoo, MSN, IGN and many many others. Because of these technologies, Flash’s strengths are no longer there. It’s been relegated to advertisements and entertainment sites.

ASP.NET, LINQ, jQuery, JSON, Ajax – Oh my!

Monday, April 26th, 2010

In this article we will be looking at a different type of architecture. One in which we utilize jQuery’s ability to easily transfer data (via Ajax and JSON) from the client to the server. We then use ASP.NET and LINQ to SQL to query the database and return a collection of data which gets (automatically) serialized to JSON and sent to the client. The benefits of combining these technologies include: more responsive applications, more processing on the client, less processing on the server and reduced network traffic. Everything runs faster and uses fewer resources.

Still not convinced? Here are some additional benefits of this architecture:

Benefits of the Architecture

  1. Unlike an ASP.NET UpdatePanel we only pass what we need; we only receive what we need. We don’t pass ViewStates, in fact we don’t even have a ViewState. We also don’t pass entire HTML chunks and receive HTML chunks we don’t use. For more on this; read: Why ASP.NET AJAX UpdatePanels are dangerous.
  2. By using jQuery to call the web service directly, we’ve eliminated over 100 KB of JavaScript and three extra HTTP requests that’s included when you use ASP.NET Ajax.
  3. Less dependencies – because all our code is simply xHTML we could switch to a PHP or a Java backend and none of our code for the UI would have to change. That’s right, there are no server-controls; that means no GridViews, no Repeaters, no ListViews, nothing that uses runat server will be found on the page. Not even a ScriptManager.
  4. Usability – We can create RIA interfaces AND maintain usability, giving us the best of both worlds.
  5. Cross-Browser friendly – We use nothing but xHTML code and jQuery which works across browsers.
  6. The entire presentation for the UI is done via CSS. Change the CSS and the entire UI can look different.
  7. We maintain a ‘Separation of Concerns‘ – this means we have 3 distinct and wholly separate code bases. A content or HTML level. A presentation or CSS level and a behavior or JavaScript level. We don’t have code mixed together in a web-page jambalaya.
  8. Switching architectures from Web Forms to MVC is a breeze.

Hopefully you are salivating at these benefits enough to decide to get your feet wet and follow along.

In this article will be leveraging these technologies to build a grid (or what looks like a table). Later on, in future articles, I will then show you how to implement sorting, paging and filtering on the grid. I have divided this article up into four sections: 1. Sever-side code (ASP.NET). 2. HTML 3. jQuery and lastly CSS.


jQuery Enlightenment Review

Thursday, January 14th, 2010

jQuery Enlightenment

Over the past month I have been reading jQuery Enlightenment by Cody Lindley. Let me say now, that if you use jQuery or are thinking about using jQuery then you should most certainly buy this book. It’s a quick read (122 pages) that includes colorized code samples, easy to follow examples and solid explanations.

Author Cody Lindley is a member of the jQuery team and explains why he wrote the book.

jQuery Enlightenment was written to express, in short-order, the concepts essential to intermediate and advanced jQuery development. Its purpose is to instill in you, the reader, practices that jQuery developers take as common knowledge. Each chapter contains concepts essential to becoming a seasoned jQuery developer.

This book is intended for three types of readers. The first is someone who has read introductory books on jQuery and is looking for the next logical step. The second type of reader is a JavaScript developer, already versed in another library, now trying to quickly learn jQuery. The third reader is myself, the author. I crafted this book to be used as my own personal reference point for jQuery concepts. This is exactly the type of book I wish every JavaScript library had available.

I would argue that this book is perfectly suitable for beginners too. It’s simply a must have jQuery book. It’s the only one you need; it will take you from beginner to competent user.

I do ASP.NET / C# web development where I build web-based software for school districts. My preferred architecture is one in which I use NO server-controls. That means no GridViews, no Repeaters, no ListViews. If fact, nothing that uses runat server will be found on the page. The page will only consist of XHTML. So there is no need for a viewstate either. We end up using jQuery a lot in this architecture. We use jQuery / Ajax to call Web services that then query the database using LINQ to SQL and pass our data back to the client where we can then populate our XHTML controls. It works great and is extremely fast and efficient. The code couldn’t be cleaner. In addition, this methodology would allow you to easily change to a PHP or Java backend and you wouldn’t have to change a single thing on the frontend. I will give a full example on this methodology another time, but the point is – you need to learn jQuery.

For more information on the jQuery Enlightenment book, including a breakdown of each chapter go here. I would recommend buying the full color book from lulu.com as it’s well designed and very handy to have on your desk.

mulberry sale spyder womens jacket cheap new balance 574 mulberry outlet cheap new balance 574 arcteryx outlet mulberry sale spyder womens jacket mulberry sale spyder womens jacket mulberry outlet mulberry outlet new balance 574

Popular Articles

Top 10 Commentators

Subscribe to this feed! Subscribe by Email!

Random Bits Podcast

You need to download the Flash player from Adobe

Blogs Worth Reading