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.
Archive for the ‘original content’ Category
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.
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.
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!
<script> "IE6 mode" </script>
This 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.
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.
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.
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.
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.