Archive for the ‘original content’ Category

Web App or Web Site?

Monday, June 4th, 2012

When Twitter went to an all-AJAX UI, I cheered that, especially the first real use of AJAX SEO, but I also questioned it. As a front end developer it was great for me to point to as an example of what could be done now and in the future. But I honestly didn’t understand why Twitter did that, since I don’t see Twitter as a web application — it’s content, like a newspaper, and really should be delivered by server.


(more…)

A Dear John Letter to Firefox

Monday, April 9th, 2012

Dear Firefox Letter
Dear Firefox,

We met when you were 1.5, and started dating when you were 2.0. We enjoyed making fun of my clueless ex, Internet Explorer. IE seemed great at the time, but you showed me the error of my ways. IE was selfish and wanted to do everything its own way. You truly believed in collaboration and gratefully accepted suggestions. When you brought Firebug to the party, I became deeply committed to our relationship. Before Firebug I had no idea how difficult my life was, or the abuse of “error on line 0 character 0″; or blank, failed, pages and the silent treatment. You were very up-front with my errors, and kept life spicy with tabs, smart bookmarks, and an Awesome Bar that was truly awesome. Sure you didn’t load pages as fast as the other browsers, but I’m not greedy and the most important thing in my life was never… “cache”. Life was never boring, and at the nearest hint that it was, you would whisper in my ear, “I have a new AddOn…” And boy oh boy, I’ll never forget the first night with that Greasemonkey.
(more…)

HCI Breakthrough: No More Keyboards!

Sunday, April 1st, 2012

First we had keyboards, then we had a mouse, then we had a stylus, then we had touchscreens. Now… none of the above!

Built by Rapiscan, thanks to help from from a six billion grant from the federal government, this new, simple device uses a completely unobtrusive set of electronic sensors that detects the slightest shift in brain activity and translates it into alphanumeric data.

The futuristic technology is on display in the following image which depicts a high-end developer writing code by only thinking.
(more…)

HTML5: Undocumented IE6 Mode

Sunday, April 1st, 2012

EDIT: Due to the insistence and flurry of comment activity, links have been added throughout the post for reference. Thank you so much to all my fans!

There is an undocumented feature in HTML5: “IE6 mode”. After all the pain and suffering all these years, all we had to do was:


<script>
"IE6 mode"
</script>

(more…)

Basic Photoshop Etiquette

Wednesday, February 22nd, 2012

Photoshop LayersThis happens to me constantly, but I only design a small part of my work week. I imagine this happens to full time designers enough to drive them mad.

When you send a Photoshop document to another designer, pay some attention to how the layers and groups are named. It’s really hard managing the file of someone else where everything in it is named Layer 2, Layer 2 copy, Layer 2 copy 8, etc., etc. The first thing I generally do is start toggling the visibility of each to figure out which is which and naming things accordingly. But ironically, this has even burned me in the past. The sender actually had the nerve to complain that I wasn’t able to send the file back with changes because it no longer matched his “layer structure”.

And you know, I guess I also disrupted the communication as now we can’t refer to Layers in the file: “Look at Layer 13 copy 12. No, no, the other Layer 13 copy 12 in group 3 copy 6.”

I’m just saying, garbage in, garbage out. Show some professional courtesy before you send that PSD.

JavaScript Context, Call and Bind – Ninja Level

Monday, December 5th, 2011

In my previous article I showed the differences between scope and context, basic problems that arise and how to fix them. If you are just using some JavaScript and maybe jQuery, an understanding of scope is all that is needed to get you by. Once you start using objects or namespaces however, you’ll start to run into issues with context and will need to use the keyword this. But when you get into object oriented JavaScript, you’ll need an advanced understanding of context and how to make it work for you. To do this, we’ll use the call() and apply() methods, and then a backwards compatible version of the new feature Mozilla recently released in JavaScript 1.8.5 called bind().
JavaScript Function Context Bind
(more…)

JavaScript Scope and Context – Not the Same Thing!

Tuesday, November 29th, 2011

In forums and other places I often see people incorrectly use the term scope when they should be using the term context. Scope applies to the variable and functional access of a function, whereas context is the property and method access of a function. Essentially, scope is function-based, and context is object-based.
JavaScript Scope
(more…)

Don’t Ask the Client for the Answer

Monday, November 21st, 2011

When reading the title of this article you may immediately think that it seems obvious. You’re the commissioned expert, why would you be asking the client how to do your job? That’s precisely the point; I’m giving you the answer and not the problem. When given a solution the natural tendency is to take the easy way and simply… implement it. But what is the problem you’re addressing? And is that the right solution? Will it work? How would you even know? So maybe, it’s not so obvious. In fact I would argue that being provided the solution is much more common than being told the problem.
Bailing Water
(more…)

Building Web Applications with MDV

Wednesday, November 2nd, 2011

MDV or “model-driven views”, eschews the concept of widgets in favor of template-based views which are behavior-based and update themselves when the data has changed.

Max Motovilov gave a presentation on MDV which was enlightening and thought provoking. He showed how he leveraged The Dojo Toolkit to create behaviors and data stores which update his views through his custom-built template system.

Max’s detailed presentation can be seen here, and you can also see the examples he used on GitHub.

Simple and Easy JavaScript Inheritance

Tuesday, June 14th, 2011

For object inheritance, I had been using the traditional method of assigning methods and properties to the function’s prototype. Because my project was relatively simple, I could get away with this for a while. But as the project grew in scope, using the prototype started proving unwieldy. It worked, but the code was getting messy and hard to read. I decided it was time to implement an inheritance system. Not too complex, just something to help me organize my code. I ended up creating what I call my Declare Inheritance Helper.
inheritance
(more…)