Dribbble Blog: Dribbble's Position on Spec Work


Well, we don’t like it at all.

But first, what is spec work? From the NO!SPEC website:

“‘Spec’ has become the short form for any work done on a speculative basis. In other words, any requested work for which a fair and reasonable fee has not been agreed upon, preferably in writing.”

In a…


Take me everywhere. 


Take me everywhere. 

What does $(‘[src$=jpg]’); mean?

This is a jQuery selector for searching src attributes that end with a .jpg file extension. The $= CSS selector is key, as this equates to ‘ends with’

For more information about simple and complex CSS Selectors, visit www.w3.org/TR/css3-selectors/

Google Chrome Developer Tools are amazing for editing code on the fly, trying to hunt down a misplaced tag, experiment with some new copy, or (my favorite) change the headlines on CNN.
Panic Coda

A Multiuser Perspective

I recently finished working on another learning project. Instead of focusing on a single user perspective such as motion capture, the Robin Class developed by Dan Zen (robinflash.wordpress.com) focuses on a multiuser approach to interacting with a game or application.

I found Robin quite challenging to get the hang of. However, Dan Zen’s instructions are very straightforward and if you have a background in developing back-end applications, Robin will not be an obstacle for you. The things you can develop with Robin could truly be remarkable. I created a game where users login to the application as drops of water. The goal of the game is to “make it rain”. Simply put, the goal is to move your cursor, which is tied to the water drop as fast as you can. This, in turn, can cause a counter to count up incrementally. What this could be used for is an application that can count how much the user ‘made it rain” and from that number the organization can donate water to developing countries. 

Ain’t that a neat idea? I think that users would definitely be interested in this idea, because it involves creating something physical out of the virtual. A multiuser experience is really only seen in videogames and social networking sites at the moment. I believe that if we brought multiuser perspectives to a social cause, as is my idea, society could be able to become immersed in the experience. 

I highly suggest you take a look at Dan Zen’s Robin Class. If you put enough idea creativity into it, you are guaranteed to come up with something quote remarkable. 

Developing For The Future Of The Web: Motion Capture

When you are first introduced to motion capture technology, it almost feels surreal. How can a video camera follow your moves? Is it thinking by itself? Will it follow me forever? Is it learning from my actions and thus becoming smarter and more powerful? I think it’s best to leave those impending questions on hold. 

Through the Ostrich Class developed by Dan Zen (ostrichflash.wordpress.com), this Class allows you to capture motion in Flash and create creative and interesting games/usability projects with motion. Ostrich can capture motions to trigger roll-overs, for instance. It was a true learning experience developing for motion capture technology. You really must leave the screen behind and focus on the user. Interface Design principles go out the window, if you ask me. That is because one is no longer developing for the web, one is now developing for the future of the web, one that will incorporate the physical realm as much as the virtual one. 

It seems like a paradox in nature, doesn’t it? How can the virtual world have so much affect on the physical realm without drastically morphing itself? I believe we have neglected to notice the importance of the portal into the virtual: the webcam. Many of us take it for granted, but the reality is that web cams were built for the future of the web. 

Actionscript is a very malleable language to develop motion capture technology. Even though it takes some time to get used to the fact you are not affecting virtual objects but rather physical spaces, Actionscript is able to provide an understandable syntax full of Objects and Sprites. Through the Ostrich Class, I developed a simple interface where the user had to throw a piece of paper in the garbage can. However, the piece of paper followed the user’s moving fingers, and the trash can moved left to right continuously. This interface evolved into an environmental game. 

Though simple, I believe that interfaces and games like the latter can provide what the web has been searching for years, the capacity to affect the physical realm in real time. I certainly enjoyed the experience of building an interface that could actually respond to the user’s movements. However, the challenge that this technology faces is right in your pocket. The mobile phone has erupted in popularity with more fervour than Mount Kilauea. Due to the fact that Actionscript is the language of Flash, mobile phones will not bother with it. Houston, we have a problem.

As the web becomes increasingly mobile, powerful applications such as motion capture must find a way to impact change uniformly. Call it an impossible idea, but I think that it would be ideal if Actionscript developers created a version of this language that was readable and natively suitable for the Web without any plug-in.

Am I asking for too much? As the web becomes mobile, so must developing for the web. Creating a natively run programming language could assure that technologies such as motion capture, gesture capture, and shape recognition don’t fall by the wayside. Creating a mobile Actionscript language benefits not just the future of technology, but the future of Actionscript itself.

Universes of virtually unlimited complexity can be created in the form of computer programs.
Joseph Weizenbaum

Style Checklist

Let’s say you want to know the font-family property for an element. The first thing to check is:

  1. is there a selector in your CSS file that selects your element?
  2. If there are no selectors that match your element, then you rely on inheritance. So, look at the element’s parents, and parents’ parents, until you find the property defined. 
  3. If your element doesn’t inherit the value from any of its ancestors, then you are using the default value defined by the browser. 

<div id=epicness”>

I’m going to create a div tag called like that one day.