Is it 2010 Already?

5 days ago

Last time we talked it was November 2009. I've been slack on the blogging and slightly overwhelmed with work (which I'll never complain about, just stating the facts). For brevity's sake, I'll just provide the highlights.

I provided a little Flash and Papervision3D assistance to BigNoise on the NASCAR Hall of Fame home page. Then, I worked with my pals at Nice Outfit, handling development on a website for Los Angeles graffiti legend RISK. After that, I helped launch a website and partnership with Serious&Ly in Richmond, VA. Most recently, I built a website for African American string band Carolina Chocolate Drops and Crips founding member Greg “Batman” Davis (via R. Rock Enterprises).

On the horizon is a web app launch for Novelope. With Serious&Ly, there are projects ongoing for Work Labs' new, internal collaborative app, Lab Rats, and the launch of a digital media label, The Acme Thunderer. As well, I'm gearing up for a few in-house projects and will make an effort to keep the blog fresh with content. 2010 already sounds busy — I hope I can keep up.

Food For Thought #12

3 months ago

Ambitious projects are by definition close to the limits of your capacity. A small decrease in morale is enough to kill them off.

Interaction Elasticity

4 months ago

Jakob Nielsen occasionally drifts into utopian usability fantasies in which he tries to convince us that we should all stop using Flash and Photoshop. On the other hand, he occasionally publishes ideas that are valid.

I recently browsed a year-old article on Interaction Elasticity that contained this:

A path with 5 easy clicks is vastly superior to one with 3 difficult clicks. And a menu with 10 easily understood items is better than a menu with 7 obscure ones.

To put this in context, I was debating the use of a dreaded drop-down menu when I came across said article. For me, Nielsen's quote argued against things like drop-down menus, since providing a clear logical navigation path to subpages (even with 2 to 3 clicks) would be usable, clean and better for information architecture.

Note: I'm downplaying the traditional drop-down. I think rollovers that are more akin to widgets or what Nielsen calls a Mega Drop-Down aren't so bad.

New Work in the Portfolio

4 months ago

I've updated the Work section with some recent projects. Amongst the added work, there's a trio of Richmond, VA based clients, with RVA Magazine, Redsalon Organics and Sticky Rice. As well, I'm trying out an interaction video for Dalek—seems to showcase movement better than a series of images, natch.

How to Tween the Alpha Value of a Plane with MovieMaterial in Papervision 3D 2.0

5 months ago

I spent an inordinate amount of time figuring out how to tween the alpha value of a Plane with MovieMaterial in Papervision 3D today. In case it saves anyone out there some time, here's how to access it:

MovieMaterial(plane.material).movie.alpha

The DisplayObject3D class has an alpha property, but it doesn't seem to affect the material inside the object. I can't say I completely understand why it works, but it works. Note: The "animated" property of your MovieMaterial must be set to "true."

Oddly, this does not work:

plane.material.movie.alpha

Even though "plane.material" seems to be a MovieMaterial object, "movie" comes back as an undefined property when compiling. I'm sure it has something to do with data type information in AS3 that I don't quite comprehend yet.

In case this happens to be a weird version issue, I'm using OS X 10.5.8, Flash CS4 and Papervision3D 2.0.869. Lastly, here's the gotoAndLearn() forum thread that pointed me in the right direction.

Food For Thought #11

6 months ago

What worries me are the consequences of a diet comprised mostly of fake-connectedness, makebelieve insight, and unedited first drafts of everything.

WordPress 2.8 Schema Change Bug

6 months ago

Normally, WordPress is a good platform to manage simple websites and blogs. Despite the recent worm outbreak, if you keep it up to date, I still recommend it. However, when digging into the innards of the system, you occasionally come across a bug here or there that boggle the mind. Case in point, I recently stumbled across an attachment bug in the core files caused by a database schema change by the WordPress team. As far as I know, attachments have been a tried-and-true part of WordPress since version 2.5.

I discovered the bug after a client started using the WordPress iPhone app to manage their blog. No matter what I tried, uploaded photos weren't being attached to posts. It became an issue, because the theme I built required images to be attached to posts in order to display properly. Moreover, I started noticing many regular posts' images were randomly not attaching, even when posting through the regular admin.

After an hour of scanning code and searching the web, I found out WordPress had changed their post ID fields to bigint(20) UNSIGNED as of version 2.8. Well, this change broke image attachments in the XML-RPC script and in the admin when uploading media prior to saving a draft. Coincidentally, it also broke attachments via the QuickPress feature on the on new WordPress Dashboard.

To fix the XML-RPC page, I applied this patch. Since the field is UNSIGNED, the temporary ID of -1 the XML-RPC function uses is invalid. However, that didn't address the admin bug. That's when I found the MySQL workaround by 3 Dog Media:

ALTER TABLE wp_posts MODIFY post_parent BIGINT(20) NOT NULL DEFAULT 0;

That query essentially removes the UNSIGNED attribute from the post_parent field in the wp_posts table, thus allowing the temporary negative IDs WordPress is still using, depsite the schema change. Note: The MySQL change fixes those all negative ID issues, so feel free to just apply that schema fix to your database.

Normally, I don't recommend core changes, because future updates will wipe them out. However, according to the bug ticket, the issue is deemed an edge case and won't be addressed until version 2.9. It's up to you to handle it until then.

Activity Streams

7 months ago

A couple months ago, I watched David Recordon's presentation at Webstock 09 on Vimeo. He covered a lot of ideas about how to build a better open social web.

A quick Google search on Recordon lead me to the Diso Project website, which aims to "facilitate the creation of open, non-proprietary and interoperable building blocks for the decentralized social web." The DiSo Project lead me to a blog post from Chris Messina about Activity Streams.

From the Activity Stream draft spec:

For the purpose of this specification, an Activity is a description of an action that was performed (the Verb) at some instant in time by some actor (the Subject see Section 6.1 (Feed Subject)), usually on some social object (the Object). An Activity Feed is a feed of such Activities.

Facebook and MySpace have already adopted Activity Streams as the standard way to disperse users' activity data out to the web.

What Facebook and MySpace are doing is a great first step, but the usefulness of this format would be completely realized if we could work towards something like what Chris Messina described in his blog post (i.e., "consume activities based on human-readable content types, rather than by the service name on which they were produced"). Meaning, it wouldn't matter where you uploaded your photo, posted your blog or updated your status, we could all follow each other independently of which network we were on. Sure, this is like what FriendFeed now offers, but as Messina said, we could offer this without "hardcoding support" for the myriad social networks' API or feed format. It would just be up to the individual services to build in support for Activity Streams (which is merely a beefed up Atom feed).

This may be another pie-in-the-sky movement for the social web, but this is the first one (since Microformats) I've seen that looks useful.

Ongoing Web Fonts Coverage

7 months ago

Safari 4 and Firefox 3.5 are surely the impetus for all this web font discussion. Designers and developers can see the promised land, but it's just out of reach. Nevertheless, here are two more good articles on the current state of things:

Food For Thought #10

8 months ago

If you want to do great work, focus on one thing at a time. Finish it and move on to the next thing. It means some things aren’t going to get done as fast as some people may want. It means some people aren’t going to get your full attention for a while. But doing a bunch of crappy work, or making a bunch of poorly considered decisions just to get through the pile isn’t worth it.

1 2 3 4 5 6