SXSW Notes pt. 4 – Managing “Expert” Clients

article banner

Making your clients feel good

  • they call this the honeymoon phase
  • meeting the team
  • making a good 1st impression
  • spend time outside the office
  • finding out how they like to work
  • bonding with the client

Refining you approach

  • how do you like to work
  • how do the like to work?
  • staying flexible

Setting the ground rules

  • establish a baseline relationship
  • make sure you’re clear about what’s happening with the work
  • listing business & team objectives – with team member names

Kicking off the project right

  • motivating your team with clear roles and responsibilities (client and team)
  • Educating clients
    • inform without talking down (don’t talk to them like children)
    • myth busters and industry standards
    • project life cycles
  • setting expectations
    • communicate escalation paths
    • set up regular check points
  • have your analytics in place to defend decisions
  • urging using comments on a blog if they have a quality product

Managing the project scope

  • clear up any questions
  • assign duties to key stakeholders
  • review project schedule
  • clarify the impact of missing deadlines
  • explain the purpose of each deliverable
  • maintain ad consistent review of a project

Defining the process

  • Key documentation
    • project plan
    • weekly status notes
    • functional design spec documentation
    • test plans
  • using pictures in documentation
  • the more documentation you can hand off to the client, the better

Gaining trust

  • proving by performing
  • putting yourself in your clients shoes
    • not all your decisions should benefit you
    • be honest
  • differentiating between personal & professional knowledge

What if we disagree?

  • handling scope creep
    • a new creative brief, letting them know consequences to when work gets off track
  • change of direction halfway through
    • budget increase, make the client understand that actions have reactions
  • team conflict
  • be creative and flexible
  • sometimes you have to say “enough is enough”

Compromise after a tough change on the project

  • keeping your team motivated
  • ending a project properly
    • tie up loose ended
    • fixing bugs
    • stabilization period
  • smoothing things over so you can work together again
    • lessons learned
    • check analytics after a while to see if the project was successful
    • celebrate the launch with your team
    • assess good and bad things in the project

Referrals will spur new business

  • they’ll remember the team they worked with, not the company.
  • establish a good relationship

SXSW Notes pt. 3 – CSS3

article banner

This panel had representitives from each vendor (not apple) and they each took turns showcasing the upcoming CSS3 support in their browser.

MOZ

  • nth-child selector
  • color module [opacity, rbga]
  • border-image
  • border-radius
  • box-shadow
  • * word-wrap:break-word
  • * font-adjust
  • @font-face
  • @media queries ( @media(width:22em){blah}
  • -moz-transform: skewX(20deg);
  • -webkit-transform: skewX(20deg);
Future from MOZ
  • width calculations
  • new layout systems for user interface

Microsoft – IE and CSS

  • implementing 2.1
  • 1st complete implementation on 2.1
In IE8
  • no new CSS3 properties
Future of CSS in IE
  • opacity
  • backgrounds
  • web fonts
  • media queries
  • mutil-column

Opera

  • text-shadow (css2)
  • webfonts (css2)
CSS3
  • backgrounds and borders
  • border-radius: 150px / 50px;
  • box-shadows, blur, inset
  • border-image
  • a box css3 style
  • css transitions (animations)

SXSW Notes pt. 2 – Web Typography

article banner

sxswtypography.com

Why do web designers complain about typography?

  • web fonts are limiting
    • SIFR
    • Font stacks
  • complexity
  • consistency across platforms

Where do you find inspiration?

  • print design
  • thebookcoverarchive.com
  • the content itself

Current implementation?

  • Don’t pretend the Web is a book
  • Cambria adoption is around 40%
  • questionablecharacters.com
  • Try to make the design work with the fonts you have

The future of Web typography?

  • @font-face{ font-family:barf; src: url(barf.otf/eot); } <–need IE if statement for IE .eot font files
  • font linking
  • .eot as an open format for protection of font files
  • loading problems with @font-face since the font has to load
  • using an .htaccess file to protect the font from download.
  • webfonts.info [available font with open licensing]

Closing Tips:

  • webtypography.net
  • pick a normal font and make it good. Don’t dwell on what you can’t do
  • realize the creative potential
    • use letter spacing, text decoration, etc to dress up a standard font
  • CSS3 fonts module
  • Look up ARC90
  • Arial has cross browser weight (bolding) issues, because it’s an old forgotten font

SXSW Notes pt. 1- Feedback & Social Architecture

article banner

How to Respond to Feedback

step 1

Appreciation – “Thank you”

step 2

Acknowledgment

  • understanding before you act. ask further questions if you don’t understand
  • words matter (being blunt isn’t an excuse)
step 3

Consideration

  • finding the value in feedback, how you can apply it
  • strip away the negative
  • isn’t always actionable
  • be honest (if you can’t do it, need to think about it, etc.)
  • give accurate expectations
  • don’t say the word “no”, soften it up

Social Architecture by Christina Wodtke (Day Stage) – boxesandarrows.com

  • slides on slideshare.net
  • behavior is a function of the person + the environment
  • you can only control the environments
  • Gene Smith’s model
  • A group is it’s own worst enemy – shirky.com/writings/group_enemy.html
  • need to have visitor identities
  • make the default avatar ugly so people want to change it
  • identity is context based
  • presence (status, history, signs of life [last logged in])
  • reputation system can be insulting to a small group
  • it’s good for large groups like amazon
  • there must be a cost to join (from registration form to monthly fee)
  • building relationships (groups of some kind)
  • ways to track people you’re interested in
  • facilitating conversation between users
  • sharing information
  • segregating a social site by demographic if you’re trying to cover a wide audience
  • look for a real-world equivalent and try to mimic the behavior on your site

For a Beautiful Web

article image

Every so often as I meander around the internet I find little bits of geek-dome brilliance in the markup of a site.

This morning, I was reading For A Beautiful Web, a site put out by Andy Clarke. This site, by itself is a great resource, but that’s not why I’m writing this.

screen shot of For a Beautiful Web dot com

I left a comment on a recent blog post, and since I had also just written a custom style for this site with Stylish, I noticed that the comment I left looked a little funny. It looked like the style I just wrote for a blockquote. So I investigated.

Sure enough:

<li id="r450" class="odd ">
<div class="meta">
<h4 class="vcard"><a href="#r450" title="Permalink this reply">#1</a> &bull; <span class="fn url"><a href="http://www.csskarma.com">Tim Wright</a></span></h4><abbr title="2009-03-12">Mar 12th 2009 &bull; 4:05 <sup>pm</sup></abbr>
</div>
<blockquote><p>It always seems like company heads generally agree that getting together and talking for the greater good is a positive thing. Unfortunately, it never seems to happen. My guess is that they don&#8217;t see the value in improving their product to us (the developer), only the general user who generates the majority of the revenue.
</p>
<p>
It&#8217;s unfortunate that not many people higher up actually give back to the community as a whole.
</p></blockquote>
</li>

comment blockquote usage on For a Beautiful Web dot com

Not only a blockquote, but a dash-o-microformatting too.

Anyway, I thought this was a brilliant addition to blog comments, and it makes perfect semantic sense, and I really hope it catches on. I love it, great job Andy!

P.S. If anyone wants to meet up at SXSW next week DM me (or e-mail me), I’ll be there for all of the Interactive and some of the movies.

Replacing an old Flame

article banner

Earlier this week (this morning) I had a sorted break up with long-time-used FireFox add-on TwitterFox. Admittedly, I didn’t really plan for it – it just happened one day. Then there I was using the Web interface to update my Tweets. Which is fine, I actually prefer the Web interface over all the desktop apps that have been built.

Breaking up is like knocking over a coke machine. You can’t do it in one push, you’ve got to rock it back and forth a few times, and then it goes over. - Jerry Seinfeld

I had been unhappy with TwitterFox for a while (almost since the beginning), I was just using it because I needed something, it was the best I found, and I didn’t feel like doing more research on it.

Overall, it was an OK experience because I feel like I know exactly what I want in a Twitter updater. I know what I liked about TwitterFox, and, most importantly, what I hated about it.

TwitterFox Pros and Cons

Pros
  • Presence – I have a browser open all day, and it’s right there, very fast to update, not a separate app eating up all my RAM
  • @replies – It usually caught my @replies even when I wasn’t the 1st @ listed in a tweet
Cons
  • Pop ups – I hate the intermittent pop ups of tweet. I’m sure it can be turned off, but I hated it
  • Pop up interval – on the off chance that I wanted to read a tweet as it popped up, if the text was long, it didn’t stay popped up long enough to read. Then I’d have to stop and go read the tweet
  • Lazy – it stopped catching all my @replies (the last month or so).
  • Replying – the way replies functioned bothered the crap out of me
  • I just didn’t like it.

Researching replacements

Just by looking at some people I follow on Twitter, I came up with a pretty good list of TwitterFox alternatives to investigate.

Apps

I don’t like the external apps for Twitter updates, but I’m going to give them all a try and see if I can get into it:

In-browser options

That’s what I’m planning to look in to right now. Are there any I missed? I’m open to pretty much anything right now. I was with TwitterFox for a while (maybe a year?) and generally not pleased with it, so I want to make sure to find something that really fits.

GMail If Statements

article banner

Last night I went to the Celtics/Clippers game in LA. Boston lost, but it was a great game; right down to the wire. Anyway, that’s not the purpose of this write–up.

When I got home, I uploaded the pictures and e–mailed them out to my family (as I do). I sent them out to dad, mom, sister, and my uncle.

I wrote out the e–mail, and at the end I wanted to thank my Uncle for the tickets, but I thought it would be weird for the rest of the people to see “Thanks for the tickets uncle Jim” at the bottom of the e–mail. So instead, I wrote a second e–mail thanking for the tickets. I know e–mail is pretty "green", but I found this to be a very fixable issue to save that second e–mail from clogging up inboxes.

This actually happens to me quite a bit for some reason, and most of the time I just don’t send the second e–mail. So I got to thinking and I’d like it if GMail (the masters of web they are) could implement some sort of conditional statement to section off an e–mail.

The GMail If Statement:
{if:recipient="myuncle@example.com"}
Thanks for the tickets!
{/if}

I could have e–mailed Google about this, but in the past that’s never worked so I thought I’d write something up and turn to the community about it.

Anyway, I think this is a cool idea, if you agree and think it’s a feature that could benefit you in GMail, please leave a comment, share, digg, whatever. And maybe it’ll make it’s way back to Google.

Even if it’s only applicable to GMail recipients, could be cool and a simple feature to add in. I’d rather see it as a GMail feature than a Greasemonkey script, but hey… I’d use it either way!

This Week in Links 2/18

article banner

Surfin’ Safari: CSS Animation

Personally, I think animation should be left to JavaScript, but this is actually pretty neat, you have to download the open source version of WebKit to see it, but it’s definitely worth a look into the future of CSS.

Get Your Flickr ID

I’m currently building a refreshed version of cssKarma.com and I want to display my Flickr photos on the site, but I couldn’t find my damn ID to grab the JSON feed. This is a neat little app that can quickly get your Flickr ID.

20 Tips for better Conference Speaking

Cameron Moll lists out 20 great points on how to grab your audience while speaking. Since I know I have this problem from time to time, I thought this was an excellent read and very share–worthy.

Aviary

Aviary is like an online version of PhotoShop. But that’s not why they’re on this list, I think I’ve actually posted this link before; but now they have a real slick new navigation menu that I LOVE. Check this out, it’s very interesting.

Something else to read over: XRDS

Framing an Image

article banner

I’m not sure exactly how well known it is, but you can put a background image on any HTML element… even an image. I don’t think I’ve ever seen it done on a live site before, but it can be very useful for creating an image template for repeated use; without having to do a ton of photo editing. Like in a portfolio or image gallery.

The goal of this post is to show how you can display a decorative frame around an image with minimal markup (just your img element, and maybe a class).

View Demo

The first thing I like to do when doing any serious CSS for an image is set the display to block. This allows us to do a little more with it since inline elements do have some limitations on them. So let’s do that:

CSS
img{
display:block;
}

Next, we set our background image to the img. I chose a polaroid

CSS
img{
display:block;
background:url(polaroid.png);
}

Then set our padding accordingly so the background image shows through, I also floated it left, for some reason.

CSS
img{
display:block;
background:url(polaroid.png);
padding:19px 25px 80px 17px;
float:left;
}

And there you have it, a quick and easy way to add some *pop* to images on your site.

show padding

View Demo

Validating with WAI-ARIA

article banner

I was reading Validating WAI-ARIA in HTML and XHTML. Since Roger has commenting turned off on his site now, I thought I’d write up a quick post with some thoughts on this.

For those who don’t know, ARIA is a type of accessibility for Ajax apps (Accessible Rich Internet Applications). And WAI stands for "Web Accessibility Initiative". You can assign roles to your HTML elements to make it clearer to a screen reader what exactly the purpose of an unordered list is (unordered list is just an example, you can apply roles to many elements).

The example that keeps creeping up is the tree menu. Without ARIA, the tree menu is just an unordered list of links, and doesn’t speak to the actual function of menu at all:

<ul id="treemenu">
<li>Home</li>
<li>Contact</li>
<li>Articles
	<ul>
	<li>Validating WAI ARIA</li>
	<li>Where I Get My Nws</li>
	</ul>
</li>
<li>Lab</li>
<li>Portfolio
	<ul>
	<li>CEO</li>
	<li>Globalization
		<ul>
		<li>Google Maps</li>
		<li>Google Charts</li>
		</ul>
	</li>
</ul>
</li>
<li>Research</li>
</ul>

This is fine, and perfectly accessible, but we can enhance it with ARIA:

<ul id="treemenu" role="tree">
<li role="treeitem">Home</li>
<li role="treeitem">Contact</li>
<li role="treeitem">Articles
	<ul role="group" aria-expanded="true"/>
	<li>Validating WAI ARIA</li>
	<li>Where I Get My Nws</li>
	</ul>
</li>
<li role="treeitem">Lab</li>
<li role="treeitem">Portfolio
	<ul role="group">
	<li role="treeitem">CEO</li>
	<li role="treeitem">Globalization
		<ul role="group">
		<li role="treeitem">Google Maps</li>
		<li role="treeitem">Google Charts</li>
		</ul>
	</li>
</ul>
</li>
<li role="treeitem">Research</li>
</ul>

A screenreader (with ARIA support) will know that this is a tree menu, where all the tree items are, and, in this case, that the tree group "Articles" is expanded.

So that’s a quick overview of ARIA, there’s a lot more to it, and I encourage everyone to do a little research next time you’re building that killer Ajax app; because it’s very cool stuff.

Anyway

In Roger’s article he talks about how ARIA doesn’t validate in our (X)HTML, which is true, you’ll fail validation if you use ARIA.

To remedy this, he offers up a solution of creating custom DTDs. This will technically work fine, but who wants to go through the trouble of writing a custom DTD? I know I don’t.

A few weeks ago I was at CalWAC in Long Beach, CA (a web accessibility conference) and sat in on an ARIA workshop by James Craig from Apple. He talked about the validation problem as well. And it’s very easy to get around without using a custom DTD.

Any current (up to date) screenreader & browser with ARIA support will read through the DOM and all the elements you’ve manipulated with JavaScript, so we can simply add these ARIA roles with some JavaScript and keep our XHTML validating just fine. And it makes perfect sense since ARIA is meant for rich internet apps that are heavy in JavaScript anyway.

I’d give this a try before creating a new custom DTD, but don’t take my word for it. Try it out for yourself.

Some more ARIA resources