Es Bueno is a weblog.

POWERED by FUSION

 February 8
2010




 February 4
2010




 February 3
2010




 February 1
2010




Contest: Will I Pass Out?

Dear God, I hope not.  What say you?

 January 29
2010




“Design for yourself fast. You shouldn’t need to think about what you want, you are what you want. It just comes out of you, and it will be good. But sometimes, you have this feeling that you have to think about it like you would for some detached client project where they sell gutters; your stuff ain’t like that, you know it by heart… so design it by heart. Fast. Don’t get trapped.”

— Alana Twelmeyer on designing for yourself.

 January 26
2010




Two By Two Business Cards - Letterpressed & Screenprinted

Here are some shots of the lovely Alana Twelmeyer who not only designed, but is hand making my new business cards.  They are both letterpressed and screenprinted in her shop in Ohio.

Needless to say, I’m quite excited to get these in my hands!

 January 25
2010




Using ExpressionEngine To Toggle Content Dynamically

I just wrapped an ExpressionEngine project that was a blast to work on.  We made extensive use of Playa, FF Matrix and structured the site with, well Structure.  The site just launched and as I was browsing through it today, I was reminded of a little trick I used to toggle content without using any javascript, just straight up ExpressionEngine.

Here is the scenario:  the client has a multi-language site with some pages having multiple translations.  Using FF Matrix we built the back end so the client could easily add copy for as many languages as they wanted.  We would then take that data and build the toggle buttons and populate the text on the page.  Initially I assumed we would just use a little javascript to toggle between the languages, but then the valid point was brought up about a user not being able to bookmark a specific translation of that page since we were doing all the showing/hiding with javascript.

Point taken.  So this is what I came up with.


{if office_lang}
   <p><a href="/office/{segment_2}">English</a></p>
   {office_lang}   
    <p><a href="/office/{segment_2}/{alt_lang}">{alt_lang}</a></p>    
   {/office_lang}  
{/if}
{if segment_3 == ''} 
   {office_intro} 
{if:else}
    {office_lang}  
      {if segment_3 == alt_lang}  
         {alt_content}  
      {/if}  
  {/office_lang} 
{/if}

Now I could easily toggle between the content as well as have a permanent URL structure so that users could bookmark a specific language on the page.  Here is the syntax broken down:


{if office_lang}
   <p><a href="/office/{segment_2}">English</a></p>
   {office_lang}   
    <p><a href="/office/{segment_2}/{alt_lang}">{alt_lang}</a></p>    
   {/office_lang}  
{/if}

Here we check to see if the page has multiple languages, then we loop through, first showing English as the default then each alternate language.


{if segment_3 == ''} 
   {office_intro} 
{if:else}
    {office_lang}  
      {if segment_3 == alt_lang}  
         {alt_content}  
      {/if}  
  {/office_lang} 
{/if}

Here is where the logic takes place. If segment 3 is blank, we are on the default language and therefore we show the default copy. However, if segment 3 is not blank, then we jump into the else statement. We match the value from segment 3 with the alternate language and display it’s copy.

That’s all there is to it. Ultimately we were able to generate a multi-language page with one template and permalinks for each language. If you’re not using ExpressionEngine, you should start.

 January 20
2010




Dear Sam, I Respectfully Disagree Or Why All The Hoopla About Advanced CSS Properties

Earlier today I read a great post by fellow Fusion Ad publisher, Sam Brown.  It is a well thought out, well written article about educating your clients and being the boss.  For the most part, I do agree with Sam on a lot of his points.  We do need to work back and forth with our clients on ideas, and we need to educate them that all browsers do not work the same.  But settling for my sites looking like IE6 in IE6 just doesn’t sit right with me.  I don’t consider myself someone to talk down progressive enhancement, in fact, if I found a way to monetize it, I probably would.  It’s the new green, or is it black?

Look, I don’t complain about advanced CSS properties being used, I just don’t see the point. Support isn’t there in all the major browsers.  So why use them? (Shocking, I know) For the way I work, it actually would create more work to add advanced CSS properties, then to try to cover for them in lacking browsers.  Ha! Why cover for them, you ask?  Don’t be stupid you say, just forget about the lacking browsers - it’s their fault, not ours.  Your clients won’t care.

And that’s where you’re wrong.  Well, my clients in fact might not care, but you can sure as hell bet I do.  I take pride in my work.  I want it to look beautiful everywhere.  There is more than one way to get rounded corners working in a design. Advanced CSS is probably the easiest, but I’m not looking for the easy way out.

There is much pride and joy to be had for working with determination and passion solving problems that face my profession to deliver stunning sites that look and function the same in every major browser.  Lest we forget, many of our “cutting edge” solutions came from solving these very problems.

Perhaps, I can only really explain it one way:

“I want my sites to look Safari in Safari, and Safari in every other major browser out there. - Noah Stokes

Note: I do not hope, wish or intend this article to be a bashing on progressive enchancement. It is our future as developers and I embrace it with eager anticipation. It’s just not all here yet. Neither are flying cars, but I will be the first on board when it/they arrive.

 January 19
2010




Porting Your CodeIgniter App to the iPhone

Recently, I had to add and iPhone interface for a web based app that we had built in CodeIgniter.  A quick look at the built in CodeIgniter User Agent Class shows a handy is_mobile() function.

Since we needed all the same data for both views, all we really needed to do was sniff for the user agent, and pass to an iPhone specific view if is_mobile() is true.


if ( $this->agent->is_mobile()) {
	$this->load->view('mobile/index', $data);
}
else {
        $this->load->view('includes/header');
	$this->load->view('schedule/schedule_view', $data);
	$this->load->view('includes/footer');
}

The mobile/index view was built entirely in jQTouch which is an absolute joy to work with.  Total of 3 hours from no iPhone interface to fully functional iPhone interface in CodeIgniter with the help of is_mobile() and jQTouch.  We are lucky to be working with such great open source projects.

 January 15
2010




Friday Futon - The Pumping of the Crotch

I’ve been working on my guitar stances as of late. Trying to nail that stance that really speaks to the audience, you know, shows them how much of a shredder you are. There are so many factors that make up a great guitar stance: how low the guitar is hanging from your shoulders, how pained your face looks the higher up the neck you get, and of course, the pumping of the crotch.

You don’t want to have too much crotch, but at the same time, if there is no crotch out there people are gonna think your favorite song is Cumbaya My Lord.  Start with some stretching, the last thing you want is your hips to lock as you’re melting faces somewhere up on the 23rd fret; talk about embarrassing. If nothing else, master the crotch pump.

Want another?  How about the distance between ankles? How wide apart your ankles are is equally proportional (divided by two) to how close your crotch is to the stage.  What better tool to show your shredder skillzors?  Balance is important, yet, if your feet aren’t far enough apart, it I looks like you have to pee.  No one can shred while they have to pee.  Everyone knows that.

Let’s consider this one a freebie: the Monitor-Hip-Thrust-Per-Bend, a real crowd favorite. One foot on the monitor, with hip thrusts (in time) on each note bend.  Kids, the amount of lingere that is thrown your way with this move is enough to open your own Victoria’s Secret.

You’re welcome.

Page 1 of 24