Tech Blog

Jay's Technical blog

The two ways one writes JavaScript code..

21 April 2009
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

I think sometimes in the past I have been guilty in my presentation on JavaScript (JS) of not defining for myself who my audience is. Actually I know that I’ve done a poor job of this. You see there are 2 ways to write JavaScript code. Something that I knew, but recently realized the importance of.

OO Baby
If you are building your own controls then you are all about building things in an OO manner because it helps you in the areas on manageability. You may or may not be testing your components with automated/unit test tools and quality is everything.. as well as browser compatibility. When doing this one of the major struggles in your world will probably be in the area of memory leaks (I’ve joined the coalition to kill IE6).

To be honest this is probably not you, but if you’ve come to one of my deep JS talks… this is my target (and my cardinal sin… sorry)

The way you probably use JS
Ok, the most common use of JS and the way that I think most people use it is to do minimal coding to wire up some validation or to wire up some interaction or even to include some Web 2.0 control (aka “Ajax Control”). Your mantra is “I want to get in and out quickly so that I don’t have to touch JS more than I need to…" We usually don’t take the time to test this stuff because it feels more declarative and that seems trustworthy (although you could test it)

This is exactly why jQuery is so popular. Not only does encourage this type of thinking (and even embraces it), but the re-usable plugins take on this same sort of thinking (the show/hide methods come to mind). That and the sheer fluency of the library makes it easy to use. The selectors are really a variation of the same selectors that CSS uses so you are re-using knowledge that should already be in your head as a web-developer/designer..

Anyway, while JS OO is cool.. most of us work the other way (and even those of us who use JS OO do most of our JS coding using the latter method)


What is UX (User Experience)?

09 April 2009
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

(and should I be afraid to talk at a user group that has UX as its focus)..

UX or User Experience or User Experience Design is a pretty hot topic right now… well in some circles. In other circles its a feared topic. Oftentimes when I ask someone to speak at my group Tampa UX, I get a response like “Isn’t that just for designers? I’m a developer, you don’t really want me there.” I usually end up coaching the speaker on what they should and should not do. Along the way I find that I have to explain what I’m about to explain here.

There are 7 pieces to the puzzle that we think of at Tampa UX as the foundations of what we are about: Usable, Useful, Desirable, Valuable, Findable, Accessible, and Credible.

We felt that it was pretty important which is why we have an ongoing series by Shawn Cady covering each of these topics.

Some things to notice on that list.. Do you see the word “UI” there? Do you see the word “Design?” “Desirable” is actually the concept that heads in the direction of what we think of as classic design. One could also argue that there are facets of “Usable” could be described as “Design” as well, but be careful there, developers can make things “Usable” as well. Something else that can make something “Usable” is good training manuals or trainers.. it’s not always IT that makes our systems have good UX.

To me there are also some terms there that scream classic developer mindsets: “Useful” is the one that jumps at me. In fact at Hydrogen Media (you can search for them yourself) we had the classic Designers vs. Developers mindset (and I’m ashamed to have taken part in those debates). Designers will say “if its ugly no one will be drawn to it and use it in the first place".” Developers always say “if it’s just pretty pictures with no substance, no one will use it more than once.” As I look back on those times (10 years ago), I can now see that the answer lies in the fact that both are equally important, and there are these other things that just jump out at us.

For instance, “Accessible” talks about how easily it is to access features and it also has implications in the new accessibility Laws for handicap impaired persons using applications on the Internet. “Credible” talks about whether someone believes your product is something they can trust. “Valuable” talks about the fact that your system gives a value that is not easily attainable elsewhere (it has a “value” for the user… and they can weigh that value in their minds in terms of money). The difference “Valuable” and “Desirable” is that desirable talks about features or a system that is something that the user wants.. (it’s not about needs.. “the system does more than I need…” “it goes over the top in what it offers..”)

Giving a UX Talk
“So what kind of developer talks do you have at Tampa UX? I mean could I speak on forwarding WCF requests over SMTP?” The short answer to that is “NOOO!!” At Tampa UX we try to balance everything. We are actually in a rhythm where we have a light developer talk and a light designer talk. Ultimately our goal is to not bore one half of the audience during each talk. We would like to get to a place where we view every topic in light of the above list, but that’s just not always possible. In our group the technologies we seem to be focused on are Ajax With ASP.NET and Silverlight (although we have had the occasional XNA talk as well as we are looking at bringing in some WPF speakers as well). Believe it or not Silverlight and WPF (and Blend) are extremely hot with some designers right now..


TAMPA UX: Re-MIX this Wednesday (April 8th)

06 April 2009
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

The flurry of activity from last month is over (March Madness??). Those of us who went to MIX09 have finally recovered, but we’re all still taking in the information that was presented. Look for MIX09 to have a deep impact on TUX.

Anyway, this week we’re going to go over the highlights of MIX. Shawn Cady, Jay Kimble, Nikita Polyakov, Bill Reiss, and Diane Leeper will each present a piece of it.

Here’s the hot topics of MIX09: Windows Mobile 6.5, Blend3, SketchView, Silverlight3, Super Preview, IE8. We’ll try to cover them all in one form or another.

As usual, we’ll have pizza and giveaways. The doors open at 6:30pm and things get started at 7:00pm.


Theruntime.com is no more… Hello ALT.NET… NOT!

01 April 2009
Jay Kimble

[WARNING! This is an archived post and as such there may be things broken/missing here.. you have been warned.]

At MIX09, i got an opportunity to really sit down with a number of the folks in the ALT.NET community, most notably Christopher Bennage and Rob Eisenberg of Bluespire Consulting. They walked me through a few scenarios and showed me some code and how they do things.

It all is started to making sense. i have been quietly plugging/pushing ALT.NET methodologies/tools over the last 2 weeks at work… The final straw happened yesterday where i was espousing refactoring our current architecture to a new architecture using SOLID principles and BDD to help us get there when a blog entry from this very site was used against my arguments. After a careful re-read I decided that something had to be done about the content. The ideas herein are dangerous (especially in my own blog), and could mislead a young programmer away from certain forms of architecture that are absolutely essential. Since i control TRT, i’ll be shutting it down in the next week (i’ll give everyone over here a chance to relocate). As for me, i’ll possibly go back to CodeBetter.com since i am now a much better match for them (and i still have an account over there i think… will have to ask Brendan if it’s ok) if not i have friends at Los Techies, so i’m sure i’ll find a blog home for my new improved ALT.NET blog).

[Wow, I managed to fool both Dana and Dave… No worries, TRT crew.. we’re still here (and will continue to be who we are); this was all just a joke…]