Posts Tagged ‘Web Apps’

The Definitive Modal Layer

For the last couple of years we’ve been using modal layers where it made sense, basically most places where we would’ve used pop-ups in the old days, i.e. modal layer is to Web 2.0 what the pop-up was previously. But all the while I never felt like I was able able to lock down any solid way of doing this. Every time the issue came up I’d re-visit the functionality, never overjoyed with my latest implementation, so I never came up with a final solution. Depending on the website I was working with and the libraries they were already using I’d sometimes use Prototype or YUI, or if it was a good fit I’d implement a pre-built lightbox gallery, or even just code up something quick and simple from scratch.

And it’s not just me, I’ve noticed throughout the web bad implementations of this technology. I won’t get specific with names but I’ve seen some funky stuff even on well-known popular sites when it comes to the modal layer. Typical issues I’ll see is where the grayed out background doesn’t fill the whole screen, or it fills too much of the screen and triggers scrollbars, or if the page is really long you can still scroll and the modal layer isn’t sticky and you can lose where it’s at.

So the solution sort of hit me when I was having trouble graying out the background – when calculating the width some browsers include the vertical scrollbar in the result where as other browsers don’t, so in some cases it was overflowing and actualy creating a horizontal scrollbar.  This is not surprising as we have made a career out of fighting the various browser discrepancies and it would be normal to have multiple javascript conditions to query the user agent and modify the width accordingly.  But as I started to write those conditionals I watched my nice simple code quickly get complex and it suddenly hit me – why have the horizontal scrollbar at all?  Really it was that simple.  Good UI design dictates that if the modal content is bigger than the screen space available then a modal box is not the right approach, at which point the content does in fact require its own page (or dare I say a popup), or in cases where it is acceptable for the modal content to be bigger than the screen space available then the modal box itself should have the scrollbars.  So why even have it?  There’s no reason, and I would even go as far as saying that if there is no reason for having it then it is better UI design to actually remove it.

Okay so here’s the code, I used jQuery but it would be simple to convert it to any library or even make it stand alone:

//Create Modal Layer
modalLayer = document.createElement("div");
modalLayer.setAttribute("id","modalLayer");
var cssObj = {
	'background' : 'url(img/gray_opacity_80_percent.png)',
	'height' : '100%',
	'width' : '100%',
	'margin' : '0 auto',
	'padding-top' : '25px',
	'text-align' : 'center',
	'position' : 'absolute',
	'top' : '0px',
	'left' : '0px',
	'z-index' : '1000',
	'display' : 'none'
}
$(modalLayer).css(cssObj);
modalLayer.innerHTML="<div id='modalBox'>Modal Content</div>";
$("#page").after(modalLayer); //insert after a valid page object

function showModalLayer(){
	$('body').css('overflow','hidden'); //disable browser scrollbars
	$("#modalLayer").css("top",$('body').scrollTop()); //move modal layer to scroll position
	$("#modalLayer").css("display","block"); //display modal layer
}

function hideModalLayer(){
	$('body').css("overflow","visible"); //enable browser scrollbars
	$("#modalLayer").css("display","none"); //hide modal layer
}

An example of where I’ve used this code is on the CCS donation page, but it’s not that great of an example because the page content isn’t long enough to trigger scrollbars.

Friday, October 16th, 2009

Masters of the Universe – A Web Systems Suite

He-Man-Movie-To-Start-Fresh-At-New-StudioOkay so this is really fun. Just over four years ago I was working at a popular mortgage company as a back-end Tech Lead and was tasked with developing a PHP web framework to replace the dated and abominable system they currently had in place. Their current “framework” was like the ugly bastard child of an MVC with grade three burns. In other words it was total shit (all these years later and I still seem to harbor a great hate for it). The web had been advancing quite nicely and we were now looking at the birth of Web 2.0, so not only was it a misery for us developers to code in the current system, but it had now become a hindrance on what we were able to accomplish. So management finally understood the necessity to invest in a new system and I was charged with leading it’s development, I was finally able to realize a vision for a framework I’d been dreaming up for a while.

The first step of course was to come up with a cool name for the framework. After much brainstorming with the front-end Tech Lead (who was the co-creator of the framework) we finally came up with a name we both agreed on – Skeletor – not only a powerful villain from one of my favorite childhood toy franchises, but the name just seemed so damn appropriate for a framework. I was super excited with the name and the project, and I wanted everyone else to get on board and be as excited as I was. I also had the vision that the framework would belong to a web suite and comprise of various user interfaces to manage things like the URL catalog, error reporting, and debugging.

So the following is the very first piece of work I did for the project. The document was put together before the project was completely sold to management and definitely helped seal the deal. I also had the requirement to teach the rest of the team the fundamentals of OO programming and MVC frameworks. So my idea here was that each member of the team would get a character from the MOTU world, which represented a module within the framework, and they would have to become that character and learn everything about the purpose of that character, and understand it well enough to present it to the rest of the team, and eventually develop-out their module. In the end it was only two of us that were assigned to developing the framework, which we did and we did well, and that same framework now serves up over a half a dozen websites with over five million page impressions a month. So this is just a mock-up for something that never really paned out as planed, in the end we never really fleshed out and finished what I was attempting here, but even still I think I came up with a really fresh approach to teaching the concepts of OO development, or teaching anything for that matter, and to this day I still look back and try to match that same vision I had then with the work I do now. Enjoy!


A Web Systems Suite


The web systems suite comprises of everything involved in the website process:

  • Framework
  • Framework Objects
  • CMS Application Interface
SKELETOR – The Framework

The framework for the web applications. All applications live within an instance of the framework. It consists of libraries, classes and run-time infrastructure.

  • Logical and concise directory structure
  • Extends PEAR
I HAVE THE POWER – Master File

The master file for the SKELETOR framework. Mod rewrite points to this.

  • Controls environment and global settings
  • Initializes common global objects
  • Routes, dispatches and renders the browser call
QUEEN MARLENA – The Model

The model defines the properties of an object.

ETERNIA – The View

The view contains all the output for the page call, with defined placeholders for logical driven content. An object may have multiple views.

KING RANDOR – The Controller

The controller contains the default behaviour and helper classes of an object. All Skeletor objects extend the Skeletor controller.

EVIL-LYN – The Error Handler

The error handler takes care of where to log, and how to react to an error.

TRAP JAW – The Database Abstraction Layer

The database abstraction layer sits between the framework and the databases and handles all queries and results.

MAN-AT-ARMS – The Security Layer

The security layer controls access and permissions for the user.

BATTLE CAT – The Content Catalog

The content catalog is both a CMS interface and a stored representation the its data. It defines what view and model a URL should dispatch.

RAM MAN – The Forms Catalog

The forms catalog is a CMS interface used to build the web forms and define how the captured data is stored.

CASTLE GRAYSKULL – The Session Handler

The session handler controls how session data is stored (e.g. serializing objects) and where it is stored to (e.g. written to the file system or a database).

STRATOR – Redirect Handler

The redirect object handles how all the various possible redirect types are handled. It will consult with the content catalog to know how to handle a URL redirect (301 moved permanently, 302 temporarily redirected, etc.)

TEELA – Form Handler

The form handler consults with the Forms Catalog

PANTHOR – The Request Dispatcher

Consults the catalogue hash map and calls the appropriate object.

SORCERESS – The AJAX Handler

Enables a page to speak telepathically with the server.

SNAKE MOUNTAIN – The Skeletor Control Center

GUI to configure and control many core aspects of the framework.

  • Generates new applications
  • Control user access
  • Control error handling
TRI-KLOPS – The Search API

The search appliance interface.

ORKO – Documentation System

This represents the importance of both automatically generated code documents (PHPDocs), and manually generated user-friendly documentation (HOWTOs).
Tuesday, October 6th, 2009

Overriding The Default Text Selection Color With CSS3

Finally getting round to testing out some CCS3 techniques I’ve been reading about and drooling over for the past year.  Noticed a site I swung by thats text selection color wasn’t the browser default so I looked it up and found out how to change the background and font colors. It’s nothing new, people have been doing it for a while, just this is the first chance I’ve had to start playing:

::selection {/* Safari */
	background: #FF5200;
	color: #FFFFF3;
	}
::-moz-selection {/* Firefox */
	background: #FF5200;
	color: #FFFFF3;
}

Guess each browser needs it’s own declaration which is kind of annoying, oh well. And I imagine it only works in Safari and Firefox. You can check it working by selecting some text on this page if you are using one of those browsers, otherwise there’s an example below. Don’t mind the colors, I didn’t think much about it, just wanted to make sure it worked.

text-select

As it’s a selector class you can apply different overrides to different elements within the page, so something like the following should work (haven’t tested):

p.sidebar::selection {/* Safari */
	background:#2E2E2E;
	color:#FFFFF3;
	}
p.sidebar::-moz-selection {/* Firefox */
	background:#2E2E2E;
	color:#FFFFF3;
}

Anyways this is just a taste of CSS3, it has some really amazing features and I need to jump in and play around soon!

Wednesday, August 26th, 2009

Yellow Bird Camera – Video Unbound

Today I came across a tweet linking to a demo of what the Yellow Bird camera has to offer. I was blown away but I had work to get on with so I put it to the back of my mind and moved on, but I couldn’t stop thinking about it. Then later at lunch I was explaining it to some colleagues, it was the first free moment I’d had to reflect on the technology after a busy morning, and I started to get overloaded with ideas of how this technology can be implemented. And more than that I never really imagined a technology like this existing before, it’s really inspired me, opening my mind to the fact that all current technology is in it’s infancy compared to where it will be in 100 years, we’re in the digital stone age people! I feel really lucky to be around at a time like this, witness the digital revolution first hand. Be inspired!

“By using a Google Streetview-like camera, a system with six lenses, not as a photo but as a video camera, an all-encompassing picture is captured. […]
From the point where the images were recorded, the viewer can look in any direction, let his eyes wander through the crowd, or stare at the ground or the air, which makes viewing a video an experience without boundaries.” – Yellow Bird press release

The company has by far the longest domain name I have ever seen:
www.yellowbirdsdonthavewingsbuttheyflytomakeyouexperiencea3dreality.com

Tuesday, July 28th, 2009

More Augmented Reality

Our team recently had the agency’s first stab at the Augmented Reality craze that’s going down lately. We launched this a few weeks back. We didn’t have much of a budget at all so it’s no great masterpiece and we’re relying on our target audience (8-18 years) not having been previously exposed to the technology, so hopefully they’ll find it fresh and fun. Basically the packaging and magazine ads have the image needed for the experience, we’re not promoting it in any way, it’s just a viral seeded campaign. Here’s a neat example of how it works:

For the most part it seems many of the implementations of this technology so far have been very gimmicky, though I just recently came across the USPS Package Simulator which is the first practical usage of the technology I’ve seen. Of course as practical as it seems to be, its real world usefulness could be limited which could land it back in the gimmick column, I don’t send packages ever so I just don’t know.

Gaming so far seems to be the best way to highlight this technology. And I really love what Topps has done, in a time when the baseball trading cards industry was in serious decline due to modern day gaming, they found a way to marry their product with gaming, by using the augmented reality technology. I’ve yet to try it out for real, though I keep telling myself I’ll buy a pack of baseball cards next time I’m at the 7-11. It looks really fun (as in innocent, simple fun), I hope it’s helping turn the industry around. Checkout the instructions and watch the video below:

Another game I’ve come across, which is breaking away from the confines of the desktop, is a Tegra Zombie game. I won’t go into it much, if you haven’t seen it yet it’s pretty amazing, just watch the video:

I can picture this taking place on a huge scale, the size of a football field or bigger, with hundreds of gamers walking around with the device in their hands, all connected wirelessly in one giant game! And better yet the devices wouldn’t be hand held but tv goggles, and the buildings and zombies would be life size! It’s really not that far away folks, in fact Jobs and Gates probably play this shit already in each others basements!

Of course all this isn’t really true augmented reality, it is to an extent, but it’s limited to a certain environment and true augmented reality lives in the real world. This type of technology has just started coming out recently thanks to mobile devices with built-in camera, GPS, compass, and fast internet that are capable of placing what they see with pinpoint accuracy. I can barely imagine what’s to come, what’s currently being developed, or even what currently exists in some mad scientists laboratory. But check the following video out if you haven’t already. It’s a true augmented reality app released by IBM for Android phones for people wandering around at the Wimbledon tennis club. With the entire Wimbledon complex tagged and hooked up to monitors you can look through your device and see what’s going on around you with supplemental information. I think what really blew me away was the fact you can look across the lawn club and see where all the restrooms are and it even shows you how long the lines are so you can make sure you join the one with the shortest wait!

Thursday, June 25th, 2009

Video Slideshows With Animoto

Researching for a client recently I came across a neat little service called Animoto. The problem we had was needing a photo gallery that lives on a single page. Not a huge problem in itself and any of these would work, or numerous others I’ve worked with or built over the years. But the issue here is the CMS we have to work with doesn’t have the ability to upload media, this has to be done separately via FTP, so it’s a messy process and not ideal to leave in the hands of the account team. So I figured the best option would be to find some third party service that we could embed, the files would live on a remote host and eliminate the need to upload files to our server. So naturally I thought Flash would be a good fit for this and pretty quickly found myself at Animoto.

Dubbed “The end of slideshows” Animoto is a very tidy web application that instantly creates fun little video slideshows of a photo gallery. It is very clean and easy-to-use, comprising of two simple steps – upload images and pick a background song (you can pick from a simple selection of provided songs or upload your own), and a then just wait out a few minutes of rendering time. Within minutes I’d created a neat little video slideshow of my boy, shown above. It’s free to create a short 30 second video (12-15 photos recommended), and $3 to create a full length video or $30 for an unlimited amount for a full year and for $5 per video you can download it DVD quality. There’s also a professional license for $249 per year which gives you everything included at no extra charge as well as allowing a call-to-action button, white labeling the video, free commercially licensed music, and of course all the videos you make are approved for commercial use.

And once you’ve created the video it’s available to post to any social media (using Clearspring) or embed in your blog. And you can create a remix, which can be a one-click automatic process, or you can edit the remix – revolving images, adding text, spotlighting, as well as adding or deleting images. This is the one-click remix I made of the above video:

It wasn’t the ideal product for us to use for this particular project, but I was very impressed with the concept and the execution and it’s something I will be keeping in mind for the future. For personal use I think I could have a lot of fun with it – converting family photo albums, and work party or street barbecue photo mashups, and the fact it comes as an iPhone app and I can instantly create the videos from my photo reel on-the-go, as well I have all the ones I’ve previously created with me at all times, is pretty awesome.

Thursday, June 18th, 2009

Comic Effect using PHP GD

For some reason I decided I wanted to create a comic-ized image of myself from a photo. I think initially I wanted it to create myself some sort of digital avatar, but in the end it was out of pure obsession. See I figured it was a really normal thing to want to do and I’d find a bunch of free websites out there where I could upload a photo of myself and it would convert it. Not so (admittedly I was searching from ‘comicize’ when I think the correct term is more like ‘posterize’), there are some sites out there that do it but they’re pretty lame. In my mind I was looking to do something along the lines of A Scanner Darkly to a photo of myself. I was so convinced it was such a normal thing to want to do that I started researching how to do it in code. There’s a lot of websites out there explaining how to do it in Photoshop but nothing in code. So after an hour reacquainting myself with the PHP GD library I was all set and ready to do it, and I realized I didn’t have a clue how to actually achieve this. So after some messing around I came to the conclusion that GD just isn’t powerful enough, and there’s something new called ImageMagick that is way more powerful and seems like it really has the capabilities to pull something like this off. Except it’s not really available for Windows yet and it isn’t installed on my Linux box, and I’m way too impatient to switch gears and work on getting it installed before I continue of my quest to comicize a photo. So I found this tutorial which is showing how to achieve the look in some old software, it seems to do a fairly good job at a basic level, so I figured if I could replicate that in PHP I’d at least satisfy myself for the time being.

Step 1
Just as the tutorial says, the first step is to open the image.

<?php
$imgName="beard.jpg";
$imgSource = imagecreatefromjpeg($imgName);
?>

Step 2
The second step is to create the black and white canvas, using getimagesize() to size it to the original photo.

<?php
list($w,$h)=getimagesize($imgName);
$imgK=imagecreatetruecolor($w,$h);
?>

Step 3
The third step is the most complicated. Unlike the application used in the tutorial which has a nice interface, we have to create the code to do this ourselves. We loop through every pixel of the source image and compare its tone. This was the only variable in the code I had to tweak to match the example image in the tutorial. The RGB sum image can add up to a total of 765 (255*3). I played around and found that 300 was pretty much an exact match to the “Threshold Level” of 104 called out in the tutorial, this value may change depending on the contrast of the source image. So in the code if the sum of the RGB value is above 300 we allocate a white pixel to the coordinate, otherwise we allocate to it a black pixel.

<?php
for($y=0;$y<$h;$y++){
  for($x=0;$x<$w;$x++){
    $rgb = imagecolorat($imgSource, $x, $y);
    $r = ($rgb >> 16) & 0xFF;
    $g = ($rgb >> 8) & 0xFF;
    $b = $rgb & 0xFF;
    $bw=$r+$g+$b>300?imagecolorallocate($imgK,255,255,255):imagecolorallocate($imgK,0,0,0);
    imagesetpixel($imgK,$x,$y,$bw);
  }
}
?>


Step 4
Just like in the tutorial, in step 4 we merge the black and white image over the original with an opacity of 40%. We’ll also use this step to write out the image to the browser (sending the correct headers also).

<?php
imagecopymerge($imgSource,$imgK,0,0,0,0,$w,$h,40);
header("Content-type: image/png");
imagepng($imgSource);
?>

The dark shadows help give the image more shading, and the white layer helps smudge and tone down the number of colors that the original photo had, both of which contribute to a more comic-ish effect. It’s worked out quite well with this image when using the exact same settings as created replicating the tutorial, but testing it out on other images it’s obvious it all needs to be adjusted on a case by case basis, and as the tutorial points out, this technique only really works well with faces.

Anyways this has been a taste at something I’ve never tried before. For a long time I’ve thought about what makes up an image, where the light and colors come from and how they all work together to make or break and image. It’s all very interesting and I am eager to pickup Photoshop and really start learning how to do some usefull effects, and install imageMagick and replicate what I’ve learnt in my code.

Wednesday, June 3rd, 2009

Microsoft Tag: A Mobile Tagging System

A colleague of mine sent this my way http://www.microsoft.com/tag/. It’s a fairly new beta service that Microsoft is playing around with called Tag. Coincidentally it’s in a similar vain to something I am currently working on, Augmented Reality, which we’ll be launching later this week. Anyways back to the point, I love it when something that should be complicated is super easy to use, and that’s what I love about this. It took no longer than 10 minutes from receiving the link in an email to having a printout in my hand that launches my blog when my iPhone app points to it, and that time included reading up on it, creating the tag, and downloading the iPhone app. So obviously I can’t spend more than 10 minutes blogging about it!

In a nutshell it creates a visual “bar code” that its accompanying mobile app is able to recognize and react to. There are four Tag types to chose from which you pick when creating the tag, they all look the same but react differently upon scanning:

- URL – Takes the user to a web address. Would work just about anywhere – print or TV.
- Free Text – Sends a free text to the user. Would be ideal for magazine coupons, instead of having to cut it out, just scan to get it sent to your cellphone.
- vCard – Sends a mobile business card to the user. Ideal for an email signature, and obviously an actual business card, doh!
- Dialer – Automatically dials a phone number. Could be handy to just scan the menu and have it auto dial your favorite carry-out restaurant.

So I created a tag that links to my blog:

Download the app from http://gettag.mobi and point your mobile camera to my Tag. It seems the app is available for all mobile platforms, I’m on the iPhone and was redirected to iTunes to download it. You can print off the tag and scan it, or just scan it straight off the screen (this will be sweet for video!), it doesn’t hang around either, as soon as it recognizes the tag it just takes you straight there.

Now you’ve seen it in action create one yourself. It’s simple:

1. Login using you Windows Live ID

2. Create your Tag

3. Render the graphic

It seems you can customize the Tag to make it more brand specific, though I haven’t investigated this. There’s also some cool reporting functionality, now marketers can track the success rate of individual print and TV ads.

Okay so I just did a little research (which takes this post over the 10 minute mark!) and I guess this technology entirely original, and something similar called QR Code has been in effect for a number of years and is commonly used in Japan. In fact now that I see a sample image I definitely recognize it from different packaging I have seen over the years. Some people out there have tried to suggest Tag is just Microsoft trying to re-invent the wheel, but I would say this technology has a different goal in mind, to the QR Codes at least. An apparent Pro that the QR Code appears to have is more like a Con from how I’ve been looking at the technology – that it contains the information about it’s content embedded within it, so it doesn’t require a third party gateway to do a look-up and return instructions. But because of this the image is physically dependent on the instructions contained within it, whereas with the Tag technology it appears the image can be quite customized to match a brand or campaign regardless of what it does, and the gateway look-up guarantees being able to track all the interactions. And another plus with a gateway look-up is being able to change the images response (many times over) once it’s published.

Tuesday, May 26th, 2009

Brine Join the Tribe Campaign

This week was quite exciting for me and my newly formed team here at the agency. We re-launched our client’s website (an incredible feat we pulled off in only 4 weeks from design to launch, but something I’ll talk about in another post) and we launched the digital arm of the new campaign “Join the Tribe”, which in essence is built around the idea of featuring tribal warrior masks built from new 2009 Brine lacrosse products.

Now I must admit that I personally wasn’t involved in conceptualizing the campaign, this was spearheaded by our traditional diversified team back before its digital counterpart (my team – digital diversified) was even officially formalized. And when the campaign arrived on our doorstep and our team had to come up with a way to complement the campaign digitally I still wasn’t involved much as I was committed to other duties (like a project for Ford and um yeah becoming a new dad!). It was pretty obvious that we needed to create an online experience that generated these tribal masks, of course the budget wasn’t quite there to carry out the grandiose idea we originally had, which was pretty damn impressive and involved face recognition to automatically build the tribal masks. So we went back to the drawing board (at which point I was now fully involved) and came up with a more slimmed down version of the application which allows the user to create the mask themselves from a palette of Brine equipment. Now I may be biased at this point, but aside from the initial wow factor that the face recognition technology would have provided, and yes it would be cool if the mask generated really represented the characteristics of your face, but the finished product we’ve come up with where you actually build the mask yourself is pretty damn fun to interact with, and perhaps even, considering the 8-18 year old age range the campaign targets, is a better suited end product. You can check it out here.

So it’s pretty fun to play around with, and I’m proud to be a part of it. You can generate a mask in 3 ways – remix (which gives you a base mask to work from), template (which gives you a stenciled background to work on top of, or just go ahead and start from a blank canvas, and this is after you’ve selected whether you’ll be created a male or female mask (which uses male or female equipment respectively). And once you’re in design mode you can pick the equipment by category (mirror mode can be handy for this), or pick by facial feature (which offers you a mesh of equipment pre created to look like eyes, mouth, nose, etc…).

And when you’re done you can download your mask in a whole bunch of standard sizes (iPhone, chat icon, game icon, screen saver, etc…) and save it to the gallery for all to see.

And of course no digital campaign would be complete without the ad banners to drive traffic to it.

The Tribal Masks app was developed by Honest who did an amazing job with an extremely tight deadline and I am looking forward to working with them again.

Thursday, May 21st, 2009

Web Color Schemes using Colorschemedesigner.com

Unfortunately I can’t design. I can art direct websites to a certain extent, being that I have the web experience, taste level, and eye for detail that my opinion is always welcomed by my creative colleagues. But give me a blank canvas to work with and I am stuck. Even when it’s something as simple as personalizing colors for my Twitter homepage I don’t have the confidence to hand-pick a palette myself from scratch. Luckily I work alongside some of the top creative talents in the industry and am spoiled for choice when it comes to picking a designer for my work. But I can’t really afford to pay a designer for every random niggle I produce, and I only want to call in favors with my designer friends for things that really matter, and besides there’s some stuff that I just want to look at it and know I did it for myself. And that’s where I found myself today when I decided it was time I personalized my Twitter homepage.

So to personalize the homepage I decided I was going to disable the background image and just pick a color scheme, there’s 5 colors to pick in all – from background to sidebar to link color. When I’m picking a color palette I usually turn to the web for help and always come across some tool or other that is of some help in the moment, but I’ve never come across anything really that’s been worth remembering. Today was different, I came across colorschemedesigner.com and was instantly inspired by what it had to offer. To start with you enter your base color or hand-pick it from a hue chart, and from there you can make certain adjustments, from secondary hues to saturation/brightness and contrast, helping to move the color scheme in the direction you are looking for. There’s various models too, from Mono through to Accented Analogic, and once you’re closing in on your palette your can overlay the color grid with text and even have a light or dark web page preview. You can even go as far as to simulate what it would look like for people suffering from various types of color blindness, which is all very interesting. And once you’re done you can export your palette in various ways such as HTML+CSS or ACO (Photoshop palette). It’s the complete package for a novice with simple needs such as myself who finds Photoshop quite daunting, and I’m not even sure if Photoshop offers the kind of aid this application does, I’d be interested to know how useful it would be to a professional designer.

Analogic Model with text

Light page preview

HTML+CSS Palette export

In the end I went with quite a simple schema for my Twitter homepage, it may be boring to some but I think it’s very clean and easy on the eye. The light blue Twitter logo will always appear on the page so I incorporated the color into my palette. To be fair to myself I think that designers don’t just have their own training and experience to fall back on, they also have their arsenal of tools as well as other designers work they look to for inspiration. Just like when I turn to code samples and confer with fellow industry professionals when I’m looking for inspiration with coding. So when I lean on a tool such as colorschemedesigner.com it is not cheating in any way, it’s merely inspiration to help me design something for myself.

Thursday, March 19th, 2009