Archive for the ‘Art/Design’ Category:
Adobe responds to Apple’s attacks on Flash
Adobe responded to Apple’s attacks on flash with a new ad campaign:
A colleague of mine just forwarded this hilarious (and fake) response from Apple.

Personally I think both Apple and Adobe can suck it.
Controlling iTunes remotely
So I just got this shiny new MacBook Pro. Absolutely love the thing. I’ve been away from the Macintosh platform for far too long…
Anyway – I’m sitting in my office listening to music and realized that the speakers, while okay for what they are, suck by most standards. So I pop over to my PC and fire up iTunes, hit play, and use my sound system that’s hooked up to it. Sounds great. But, I’m lazy and I got tired of switching over to it change tracks, stop, pause, etc. I figured there had to be a way to control iTunes remotely from the Mac. Doing a bit of research, I found some stuff for the Mac and a PHP script that did me no good.
Finally I came across a Perl script (can’t remember where…) that simply runs a Daemon. Everything that I needed was already there! All I needed to do, was point a browser at the box and it had a nice simple stripped down interface for play, pause, stop, next, etc…
After some time, I realized I hated having to keep the browser window open. Enter MacOS dashboard widgets.
After some quick fiddling with Dashcode, I came up with this little dashboard widget to send the requests to the PC. The current track name only updates after a command is sent, so it isn’t updated dynamically.

Now my iTunes controls are at my fingertips, and I don’t have to spend the time moving my hands the whole 24 some inches to the right to do it on the PC.
gZip your JavaScript
Most browsers these days (with the exception of Safari, I think?) will accept gzip encoded content. This means you can drastically reduce the size of all those bloated javascript libraries you might be using on your web site.
So how do you serve gzipped js files?
There a few methods out there. I chose the one below since it was fast, easy and I’m hella freakin’ lazy.
The first step is to gzip all of the javascript files that you might be serving up. The fastest way I found was to just telnet into the server, and execute the following bash command:
gzip -cr <javascript directory>
Of course you’ll need to replace <javascript directory> with the correct directory that your javascript files are located in. The -c option tells gzip to keep the originals. This is important so that you can still serve non gzipped versions to browsers that don’t handle gzip! The -r option tells it to recurse through the directory. Now you should have a directory full of javascript files and their gzipped counterparts.
init.js
init.js.gz
jquery-ui.js
jquery-ui.js.gz
jquery.easing.js
jquery.easing.js.gz
jquery.history.js
jquery.history.js.gz
jquery.js
jquery.js.gz
swfobject.js
swfobject.js.gz
Yay. How exiciting, no?
The next step is to modify .htaccess to do some URL rewriting.
AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
Essentially your telling the web server to server up gzip files, if the browser accepts them and the user is not on Safari and if there is a compressed version of the file available.
That’s really about it.
Here’s the difference in file sizes:
| File | Size | Size (gZip) |
|---|---|---|
| init.js | 7628 | 1992 |
| jquery-ui.js | 127787 | 50756 |
| jquery.easing.js | 8097 | 2003 |
| jquery.history.js | 5079 | 1771 |
| jquery.js | 31033 | 15666 |
| swfobject.js | 6722 | 2233 |
Pretty significant size difference!
Force directed node interface 2
Here’s an example of the force directed node interface that I’ve been talking about. It’s not complete. It’s just a working prototype. You still cannot load project details, but I’m waiting to add that if I decide I want to take this any further.
Since the dimensions of the interface have been reduced to fit in this blog post, things might be a bit small (try zooming in). You can also drag nodes around. Helpful when things get pushed off the screen. Nodes can be opened and closed by clicking on them.
Force directed node interface
I’ve been working on the experimental Flash front-end I spoke about in the last post. The idea is to use a force directed or force based system for displaying categories, keywords, projects and their relationships. I was curious about what kind of user experience that would create.
Here’s a video of the force directed layout interface in action.
So, what is a force directed layout?
It is a method for positioning nodes of a graph in a way that is aesthetically pleasing as well as easy to digest. This is accomplished by creating a simulated physical system where all nodes are like electrically charged particles (Coulomb’s law) and the connections or associations are like springs (Hooke’s law). After running through thousands of iterations, the entire system begins to become stable until all the forces are in somewhat of an equilibrium.

Fig. 1 Interface with only the category and technology nodes expanded.
Fig. 1 is a screenshot of the layout. In this example there are only a few nodes expanded, but it gives you an idea of how things end up looking. There are two base nodes: “Category” and “Technology”. Clicking these returns the appropriate set of subnodes. The association of these subnodes is shown with a line connecting the child and parent node. When clicking on a specific technology keyword or category, that category/keyword subnode expands into another set of nodes which are projects.

Fig. 2 Interface with more nodes expanded
Fig. 2 shows the cross associations between categories and keywords.
So far it’s been a cool and somewhat successful little experiment. I’m not sure it would work as an interface as the node labels overlap too much and when there a lot of cross associations, things don’t look as organized and it’s much harder to read.
I still need to add node collapsing and make it so projects can be viewed. I’ll try to post a working example soon.
Free web based imaging software

Aviary has recently released another web-based application. Raven, which is still in beta (all of their applications are. that’s so web 2.0!), is a web-based vector editor. Their product suite consists of four applications at the moment:
- Peacock – a visual laboratory
- Raven – vector editor
- Phoenix – image editor
- Toucan – colors watches
Peacock is kinda cool. Image generation is done by patching together generators, effects, controllers and resources. Fun to play with, I must say. Pretty amazing use of Flash. Pretty cool to have this sort of development going out there…
The products, at the moment, are all free to play with. Go check ‘em out: http://aviary.com/
Flash is (or is not) coming to the iPhone
Somewhat of a sore spot for Flash and iPhone developers, the hope that the Flash player would make its way to the iPhone is still very much up for debate. A recent quote from Adobe CEO, Shantanu Narayen, has some left some believing it’s very much on its way and others thinking it’ll never make it.
“It’s a hard technical challenge, and that’s part of the reason Apple and Adobe are collaborating,” [Adobe CEO Shantanu] Narayen told Bloomberg Television at the World Economic Forum in Davos, Switzerland. “The ball is in our court. The onus is on us to deliver.”
Some claim the Flash Player could never be written in a way that would sit well with the ARM processor. The power requirements of running such an app would be too much for a mobile device. Others have said it’s a political/business decision on Apple’s part.
Who knows. I just hope it finally makes its way to the iPhone platform. I think it would open development up to a lot more people that don’t feel like trying to wrap their brain around Objective C. Apple still has very strict control over what applications make it to the iTunes store, so the concern about quality of apps shouldn’t be an issue.
I personally feel that it’s more political than anything else. But, I’m a cynic.
Rewriting the back-end, again…
I’ve decided to rewrite the back end for alien109.com again, taking advantage of OOP in PHP. Man, such a difference. Everything is so much easier to maintain and follow now. Plus, I’ve implemented more of an MVC pattern. Seemed like overkill for such a small site, but proved to be educational, if nothing else.
Site updates!
So I’ve finally updated my web site.
www.alien109.com
- Ported all of the javascript over to jQuery and ditched those ancient JavaScript libraries I’d written years ago
- Implemented some keyword searching on projects so you can see projects based on languages or technologies.
- Reworked the backend so that everything was a little more search engine friendly (url rewritting for prettier urls and hidden javascript calls)
- Added a bunch of new (and old) work into the mix.
Creating a search engine friendly ajax app is a pain in the butt, if it’s an after thought
WordPress for iPhone
Just testing WordPress for iPhone…
Microsoft Surface Parody
One day, your computer will be a big-ass table…
CSSVista: Tweak CSS and see it in IE and Firefox at the same time
CSSVista is a free Windows application for web developers which lets you edit your CSS code live in both Internet Explorer and Firefox simultaneously.
CSSVista is from the folks who gaves us Litmus
Saffron UML in AIR
Saffron is a pretty slick looking and powerfull UML modeling tool built on the AIR platform. Can’t wait to see the final release!
Top features:
- Wireframe editor allows both developers and/or designers to create wireframes for their projects
- Allows for Actionscript 2, Actionscript 3, PHP4 and Java Code generation directly from the app.
- Sports an entirely customizable UI which contains several dock-able panels that can be placed anywhere by the user.
- Enterprise level capability having the ability to support models with hundreds of classes without performance degradation
- Beautiful UI
- Integrated Version Control
- Sophisticated printing options give you complete control over how your diagram is printed
- Cross Platform on both OS X and Windows
- Full round trip support for both AS2 and AS3 (Java will soon follow), always keeping your model and code in synch every step of the way.
Time Lapse Painting
This one’s been around for a bit, but a fun watch nevertheless.
Double spaces, Jetpacks, and Kitchens of the Future
Just stop. Please.
It’s always been a slight pet peeve of mine. I understand that back in the days of mono-spaced fonts on typewriters it was necessary, and that some still have those old bad habits. But this, my friends, is the future. OK, we still don’t have jetpacks and kitchens of the future, but we do have variable width fonts that aren’t meant to have double spaces after periods (or full stops if you’re in other parts of the world).
I’m not one to cite style guides, but single spaces after punctuation is considered proper according to the MLA, APA, and the Chicago Manual of Style. So neener-neener.
logopond – Identity Inspiration
Great inspiration resource for logos and identity design
http://logopond.com/


