Work Queues – Gearman

These are the slides from the Gearman work queue talk at CI Conf in San Francisco yesterday.

Posted in uncategorized | Tagged , , , , | 1 Comment

CodeIgniter Clippings for BBEdit

BBEdit is a powerful text editor, for Mac OS X, that provides nearly everything AF-Design needs to be effective when creating apps. While it’s not perfect, it works pretty well 99% of the time. It provides powerful tools for manipulating text, code completion and more.

Recently we’ve been building more and more applications using the CodeIgniter Framework. CodeIgniter is simple to learn and powerful enough to drive even the most complex applications. It provides tools for common tasks freeing development time to focus on the actual application.

To streamline our CodeIgniter development, we created a series of BBEdit Clippings that make development easier. The clippings provide a way to quickly create common document types, phpDocumentor comment blocks and provides auto-complete for the entire CodeIgniter 2.1 framework.

You can get the clippings and learn more on GitHub.

Posted in code, PHP, Software | Tagged , , , | Comments Off on CodeIgniter Clippings for BBEdit

13 Social Media Tips for Friday the 13th

1. Create social media presences for your company

At minimum you should have a page on Facebook and Twitter. If you are a brick and mortar establishment, you probably have a Foursquare page already (created for you by your social media savvy customers.) If this is your first foray into social media, start slowly and ramp up. Choose one network and experiment, then add another and so on. Experiment, explore and have fun.

Major networks to consider:

2. Create custom tabs on Facebook!

The new Facebook Timeline for pages provides administrators the opportunity to promote their content easily on a much wider custom tab. There are a variety of custom tab solutions available, including My Tab which provides a fully customizable canvas for you to present your brand.

Some possible uses for tabs:

  • Show your work
  • Highlight non-timeline achievements
  • Provide fans with coupons
  • Run contests and giveaways
  • Provide directions
  • Show youtube videos

3. Use custom images for your custom tab!

Custom tabs are great if people open them, so make sure you find a compelling image or way to draw attention to the tab(s) you want people to interact with. You can replace the default tab image at the bottom right of the new Timeline header.

How to change the image:

  • From your Admin Panel
  • Click “Manage” -> “Edit Page”
  • Next click, “Apps” then “Edit Settings” for the tab you wish to modify.
  • Here you will find the ability to modify the Tab Name which appears under the image as well as a way to upload a new tab image.

4. Update your website!

Social networking sites may be all the rage, but it doesn’t diminish the importance of keeping your website current. Be sure to make your content fun and shareable. Top 10 lists, funny photos, and info-graphics are all great content that can be generated with some planning and will keep your visitors returning. SEO is still important but in the realm of social media, it matters less.

5. Have a large compelling photo on your content

The jury may be out on the long term value of Pinterest, but it’s clear its popular and continuing to gain traction. Pages without images are boring and can’t be pinned. Ensure you have at least one large, eye catching image on your page that users can ‘Pin’. The added benefit is that other social networks will use that image as well, so it’s a win-win. Oh, and a cute picture of a cat never hurts.


You can find lots of great photos for just a few dollars each at Shutterstock or

6. Make your content easy to share

Add share, tweet, like, and + buttons to your site! Don’t make it harder than it needs to be for people to share your content. Not up to making lots of changes? Use one of the all in one solutions like ShareThis or AddThis, both have easy to install plugins that will work with the major content platforms you are probably already using.

Since you made it this far, please share this post with others!

Some Resources:

7. People access Facebook all the time – Post at different times!

When is the best time for you to share content in your social media channels? It’s different for every market and product. Generally, you’ll have a feel for when it’s best to share, but consider using applications to help you optimize your sharing cycle. Tools like Buffer and Hootsuite provide a way to schedule outbound content easily. Consider posting daily if you can, but don’t go to crazy, it’s easy for people to hide all your content, unfollow and unlike you.

Some Resources:

8. Read the comments (and respond!)

Social media works when it’s social (duh!) If your content streams are broadcast only, you might re-think why your doing it. It’s critical to engage with your audience. Who has the time right? You do, trust me, it’s not as daunting as you think. Smaller brands might only see 2-3 questions that need responses in a week. Consider creating a separate email address for notifications so they all go to one place without interrupting your regular email. Then check it once a day. You will likely need less than 30 minutes every day or two to keep up with everything that needs responses.

9. Evaluate the return on investment

Make sure your social media efforts are creating value for your company. This is challenging since it can be hard to measure how much revenue a single Tweet creates. Think of this as an advertising endeavor. Outline how much money/time you would spend for traditional advertising and instead spend that money/time on social media. If you aren’t seeing an increase in business, social media might not be the right channel to reach your customers. Dial back the social media efforts and try something else.

Some resources:

10. Reuse your existing content

Look through your logs and find which content has resonated well with users in the past. Did you write a blog post that garnered a lot of attention? Re-share that content now through your social media networks. If it is out of date, consider publishing a revised version referencing the original and providing commentary on what has changed. If you aren’t tracking your website traffic, you should be.

Some resources:

11. “Don’t Panic!

… and always carry a towel.” ~ Douglas Adams.

Seriously, people will say rude and mean things online about you and your brand. Don’t panic and don’t over react. Be thoughtful and considerate in your response (if one is even warranted).

“When angry count to ten before you speak. If very angry, count to one hundred.” ~ Thomas Jefferson.

If you are unfamiliar with the Adams quote, it’s from this book

12. Think before you post

Check your spelling and punctuation where appropriate. Be mindful of what you are posting and be careful when sharing opinions. While most of the world will never see what you post, they can read it later. Be sure you leave a digital trail you and your company would be proud of.

“Don’t tweet or blog anything you don’t want to see on a billboard,” ~ Scott Stratten

13. Topical and relevant content works best – plan ahead

In the US, few people are thinking about Thanksgiving in July. Be smart, consider creating an editorial calendar so you can plan some content in advance. If your US based and find photographs resonate well with your audience, buy your 4th of July fireworks images in June and have them ready to share when the time is right. This is another great use for applications that schedule your updates.

Posted in uncategorized | Comments Off on 13 Social Media Tips for Friday the 13th

Create a Compelling Facebook Page

The new Cover image on Facebook Timeline is a great way to provide a brand experience for your Facebook Page visitors. The newly squared profile image is an excellent opportunity to use your logo and associated iconography to have your brand visually appear throughout the Facebook platform. The cover image itself is an opportunity to subtly market to your users.

Choosing a good cover image is important. The image can be used to convey an emotion or key value that you would like associated with your brand. The following examples and analysis illustrate how three major brands are using the new Timeline to engage with their customers.


Starbucks has removed all words from their logo, allowing them to diversify their brand beyond coffee. However, they don’t want to lose the association with coffee. The Timeline Cover helps them to keep the association by showing coffee beans, firmly reminding visitors that they are still about coffee. The image also has a vintage effect on the left side. It makes the image appear older, reminding people that they’ve been doing this for a long time and are experienced.

Ford Mustang

Ford has taken a different approach with the Ford Mustang product page. Ford created a composite image to show a product detail but also convey power and speed through the use of a car smoking the tires. This hero shot of the product in action resonates with their target demographic, the aggressive look of the front end when it’s still and the taillights are all your friends will see when the car is in motion. They establish themselves as the front runner. They also cleverly use the grille and the iconic stallion as the profile picture, effectively merging the two.


How does Facebook use the cover image? They chose to use a data visualization of the global connections between users. It shows the interconnectedness of the world and re-enforces not only their brand of being a network, but also demonstrates their scale in a visually compelling way. They also use blue to illustrate the connections, their corporate color, to further cement the brand.

What Can You Do?

These three brands have art departments to create images for their brands which most smaller companies do not. Brands and companies that lacking those resources can look to stock art and stock photos. Sites like provide a searchable database of great images that you can license.

For example, searching for “coffee beans” returns over 8,000 images that would all be suitable for a Facebook Cover! offers all images in multiple resolutions. The “Web Plus” resolution, which runs about $5, will give you sufficient detail in a cover image. If your budget is a little tighter, Facebook will accept images that are as small as 399 pixels wide for cover images. These are typically around $2. Lastly, you can also use this art in your printed materials if you purchase the print version for $8 – a great way to provide a consistent image for your brand.

If you have some great imagery and want to explore how it might work on Facebook, AF-Design is providing a free PSD to help layout your Facebook Timeline.

Disclosure: The links to are affiliate links. AF-Design earns revenue from sales originating from this post.

Posted in Facebook, Marketing, Small Business, Social Media | Tagged , , , | Comments Off on Create a Compelling Facebook Page

Transitioning a Facebook Page to Timeline

Design Template for Creating Facebook Page Elements

Facebook will automatically transition all pages on March 30th. Page administrators are advised to be proactive in preparing for the transition now. AF-Design has created a Photoshop template to aid in the creation of Facebook design elements. Using this template, graphic designers will have the tools necessary to successfully present their brand on the new Facebook Timeline. The Timeline has three new elements which are similar to the elements of personal profile pages.

Cover Image: An image that takes over the top of the page. This image has two possible initial views when a user visits the page. Users who have smaller monitors or default browser size will see a shorter version of the cover image. These users need to scroll up to see the entire image. The design template provides a layer and guides for aligning your content to maximize the effectiveness of the page. This image should be 851×315 pixels. Facebook warns about placing promotional content or asking for on site actions such as Like, Share and so on.

Profile Picture: An image that represents you or your brand throughout Facebook. The image should be square and at least 125×125 pixels and fill the frame – Facebook will add any necessary borders automatically. Also note that Facebook uses scaled versions of this image throughout the site, specifically on stories you post to your Timeline and those stories that appear in Newsfeed. Experiment with scaling the image you selected and make sure it still looks “good” at 50×50 for the best user experience.

Favorite Application Icons: Images that convey meaning about important/featured applications on the profile. This is a great way to draw attention to your custom Facebook tabs and applications such Tweets and You Tube videos. These should be 111×74. Facebook will apply a stroke and rounded border to the image.

Download the Photoshop PSD of the Facebook Timeline page to get started.

Preview Timeline

After you have created your visual elements, return to your Facebook page and enter the preview mode for the new profile. In the preview mode, you can upload your creative and ensure everything looks the way you want.

How to Pin Content on Facebook

NOTE: Once you publish your page – your default tab will NO LONGER WORK. While this may be a problem in the short term, this is something you should prepare for now. Facebook will transition all pages automatically. The best way to mitigate this is to add a post to your page that features the tab you want to highlight and Pin it. Pinning is done by hovering over the top right of your content, clicking the pencil and the click ‘Pin to Top.’

Timeline for Pages Publish

After uploading your new creative and making the necessary changes to your profile, and if you are ready to go live – click “Publish” and the new Timeline will show for all viewers!

Congratulations, you’ve successfully migrated to the new Page Timeline! Like us to stay up to date on the latest Facebook changes that affect your Page and your applications and share this post with your friends!

Posted in Facebook, Small Business, UX Design | Tagged , , , , , , | 7 Comments

Timeline for Pages – What you need to know

About Facebook Pages This morning, via a Today Show appearance, Facebook announced the new Timeline for Pages. There are a few ways which this will impact your Page.

1) Timeline is the default landing page. A big change is that administrators will no longer be able to choose a tab as the default landing page. You can choose to keep your existing page design through March 30th, 2012 when Facebook will automatically upgrade all Pages.

2) Cover images! Not unlike the new cover image for Profiles, Pages can now leverage this large visual area to engage users with their brand.

3) Pinning important content. Page admins will be able to pin content to stay present at the top of their tabs. This is important for brands running contests and other promotions to be able to feature the content at the top of the Page for all users to see. Content pinned to the top of a page will stay persistent regardless of updates.

4) Tabs will continue to exist, but they’re changing. Administrators will have the ability to use a much wider canvas for the application – 810px wide in fact! That’s 250 more pixels of space for your content. AF-Design will be making updates to the My Tab application soon to support this wider canvas area.

5) You can still link directly to a custom tab. Before, to link to a tab, administrators would use a link like this:

Now, the link will be a little cleaner referencing the application namespace.

AF-Design will keep you up to date with all the pending changes, be sure to like us to stay informed!

6) Bonus – you can now add a custom image to promote your tabs on the Timeline! If you have upgraded your page – create an image as 117×74 and click, “Manage” > “Edit Page” > “Apps” > “Edit Settings” > “Change” (Custom Tab Image) and upload your creative.

Posted in Facebook, Facebook Development, Marketing, Social Media | Tagged , , , , | Comments Off on Timeline for Pages – What you need to know

Proposal for Website Content Reuse & Sharing

Screenshot of a Pinterest Board about Photography The current proposal to block sharing of content by Pinterest is insufficient in protecting the rights of content creators. An open, standardized, machine readable specification is needed. This specification should declaratively provide structure for the reuse of content in the context of social media “sharing.”

Pinterest, is a hot new startup that according to their site, “lets you organize and share all the beautiful things you find on the web.” Pinterest allows users to “pin” or share content to a board. Other users can then follow those pins and even repin the content to their own board. See an example Pinterest board about photography here. Ultimately rights holders are concerned that images are used and viewed without their permission.

To answer this criticism, Pinterest has proactively come up with a solution. By adding a simple HTML tag, site administrators can block the pinning tool from adding the content. Kudos to Pinterest for addressing the problem early.

This is a great simple solution, but is site specific in design. Following this to it’s inevitable conclusion, it would only be a matter of time before a series of tags emerge, each specific to a site. This requires rights holders to 1) monitor how different media outlets use their content and 2) be sufficiently savvy to edit their own HTML.

The solution places an undue burden on site owners and content creators to be aware of how each site uses or re-uses content and then requires them to manage it. The web already has several tools for managing how content is used and shared online which Pineterst could use to reduce burden on site-owners while still respecting their intent. None of these are perfect though.

1) Robots.txt (and related robots headers) –
Used by the larger search engines to determine which URL’s should and should not be crawled.

2) Creative Commons –
A legal structure for the sharing of content in an open way.

3) Open Graph Protocol –
A machine readable methodology for describing content and objects online. Heavily used by Facebook and other social networks to provide “share” like functionality.

Instead, content producers should be able to provide limited rights to distribute the content online by specifying in which circumstances the content can be reused. For example, a photographer could permit re-sharing of an image to any site (for example Pinterest) only if the image provides a direct link to the page where it was sourced from. Pinterest can then decide with their legal team if their implementation meets the criteria of this usage. This could all be done through an extension of the Open Graph Protocol.

The protocol could be extended to include a permissions attribute (or attributes) that provide guidance on how the author intends for this content to be re-used. While this doesn’t remove the need for technical savvy, it does eliminate the need for rights holders to monitor how content is being used by the growing number of social media sites. Some potential permission examples:

  • noshare – Sites are not permitted to store or share this content.
  • opengraph – Sites are required to use content provided (verbatim) in the open-graph tags provided.
  • cc_{license}_{attributes} – Provides machine readable usage restrictions based on the current Creative Common licensing structure. (example: cc_3.0_sa)
  • link – provide page title and link (only)
  • text – permit reuse of words
  • image – permit reuse of images
  • data – permit reuse of data (current temperature, weather etc)

This list is hardly exhaustive and would need to be refined. Using the example of a photographer, they could add the following permissions tag to ensure that only the content they provide in the Open Graph tags they provide is used beyond their site. In this instance, the image might be run through a watermarking script or be shared at a lower quality.

The body best suited to further define this specification is the Open Graph Protocol working group.

Posted in Copyright, Social Media, Technology, Websites | Tagged , , , , | Comments Off on Proposal for Website Content Reuse & Sharing

OS X Lion vs. Windows 7 Adoption

Have you ever seen an info graphic or a chart and wondered if you could trust the information? This post grew from a discussion on Twitter about that very thing. Specifically a chart from the recent iPhone 4S launch that drew lot of criticism from pro-Windows media. The tweet read, “This is why I now think Apple is in HUGE trouble. They flat out lie.” Lie? Really? What did they lie about exactly?

Notice anything dishonest in this slide? I don’t, in-fact quite the opposite – I see the work of a smart graphic designer presenting the information in a way that makes their company look the best. Lets take a step back and consider the options.

Apple could have…

  • … used a pie or bar chart to show total units shipped to date. Perhaps this would have been clearer, but certainly wouldn’t have made Apple as impressive looking – and remember this WAS a marketing event.

  • … shown just their adoption numbers without Windows included. The fact that Apple is poking at Microsoft in this slide is part of the reason we’re still talking about it, it invoked a reaction which increases publicity.

  • … shown the same adoption over time using units instead of percentage of installed base. Not unlike the first option, this would have been seen as lackluster and not painted Apple in such a positive light.

  • … skipped this slide entirely.

Ultimately it comes down to this – regardless of what Apple does, it will be highly scrutinized. What is your takeaway?

Posted in Marketing, Metrics | Tagged | 1 Comment

iPhone 4S – A glimpse into the future

Yesterday, Tim Cook introduced the world to a new and improved iPhone 4S. It’s been met with luke warm reviews and many jokes about how little it has been improved. I think most of the industry is wrong and here’s why: Siri.

Siri was first an artificial intelligence company – founded in late 2007 – that aimed to integrate all of the worlds API’s into a nice clean interface. It was well funded and it developed an awesome natural language interpreter that tech bloggers displayed some fanaticism over when it was revealed to the world. Then a few months later it was snapped up by Apple (April 2010) and has been largely silent – until now.

It turns out that people like Robert Scoble weren’t wrong. In fact Siri is an amazing technology. Not unlike the recent changes to the mouse navigation in OS X Lion, Apple is showing us the future of how we interact with machines in general. Users of other handsets, such as Andriod, can argue that Apple didn’t pioneer this concept – and they’re right – but Apple perfected it. Besides, this is really all very Star Trek, “Computer Siri, what is the weather in Cupertino?” However, unlike television fiction, this is real – and it’s here now.

Scheduling meetings, finding the weather and those sorts of applications are a great start. What’s truly amazing will be when it replaces the keyboard & mouse entirely. Okay, I know that’s a little extreme, but is it really so hard to imagine? Apple has been working on killing the mouse already – promoting an external touchpad Magic Trackpad getting us all comfortable with multi-touch gesturing. Why couldn’t some future version of Apple’s desktop OS have Siri baked right in? “Siri, send a screenshot to Tom” and our faithful digital assistant just does it, snapping the current screen and sending it to Tom. Siri might even ask me if we want to provide any more to the message first. This is hardly pushing the limits of what Apple demoed yesterday.

So, while much of the tech media continues to discuss whether A5 Dual Core processors, 8 mega-pixel cameras, and small screens make the iPhone 4S underwhelming for consumers, remember the star of yesterday’s show wasn’t hardware, it was a software assistant named Siri. The real change is supplementing multi-touch interfaces with voice, further reducing our dependency on pointer devices and keyboards – virtual and physical. In 2007, Apple showed us the joys of touch interfaces. They weren’t the first, they were just the first to do it well. Likewise they’re not first with voice, they’re just the first to do it well and Apple has shown us a glimpse into the future of computing.

Posted in Gadgets, Technology, UX Design | Tagged , , | Comments Off on iPhone 4S – A glimpse into the future

What Happened at F8?

Facebook came, it saw, it conquered and for those who were there (or watched the livestream) we saw the future of social networking and perhaps more accurately the semantic web. To paraphrase Mark Zuckerberg, the first iteration of Facebook provided you with the first 5 minutes of a conversation and through iterations they provided the next 15 minutes. Facebook’s ambitious goal for the newest profile is to provide the rest. They hope to accomplish this through the new Timeline, which is in it’s essence a scrapbook of your digital life (or at least the portion of it that you share with Facebook.) If it’s not enabled for you, you can take it for a test drive here.

Forward looking for Facebook this year means (re)discovering your past. Already industry insiders are predicting a new round of applications that will focus on helping you complete your timeline. You can imagine apps that load in your wedding photos from before the launch of Facebook. I’m not as bullish in this realm but if you’re a developer, don’t let that stop you! Timeline is the new profile and any chance to be part of that conversation is a win for developers. Below you can get a taste of the new profile.

In order to make the most sense of the chaos that can now be shared on Facebook, they hired Nicholas Feltron, a graphic designer from New York who has studied, perfected and made art of presenting large data sets. Facebook, with the help of Feltron, is working to make even our most mundane details – such as the music we listen to – interesting to those who happen upon our profiles. Facebook will elevate our preferences and tastes over time, but we’re getting ahead of ourselves.

Facebook has also made some changes to the Open Graph which will allow developers to publish even more content about what you are doing seamlessly and automatically without annoying popups! This seamless sharing enables a new category of applications Facebook is calling “Lifestyle Apps.” For example, an app such as Spotify will share the music that you’ve been listening to and playlists you create and then aggregate that information over time. I’ve only started using Spotify again after the Timeline announcement so my data isn’t very interesting yet, but you can see what this will look like below.

Any and every site that allows people to contribute, consume or explore what we do, interact with, attend or can be represented digitally should be integrating the new Open Graph changes as quickly as possible. Past data suggests that people are always hungry to personalize their Facebook profiles and the coming changes will allow them to do that once again.

As this rolls out over the next few months, expect data visualization to become the forefront of development. Currently there are five different widgets available, all mostly list based that developers can choose to provide data for, but it’s reasonable to expect that number to increase as Facebook considers how to create different visualizations such as maps, pie charts and bar graphs and probably more.

A dizzying array of partners are part of the new Timeline launch and have already integrated their products. Most are in music and video. Surprisingly, there were not very many gaming companies represented as launch partners in the keynote slides. The biggest names in gaming were of course present, but that’s only a handful of companies. For example, when compared to the number of audio or video applications that were part of the partner launch, the representation of gaming companies seemed lackluster.

For those who were upset by the changes to the newsfeed in advance of F8, the Ticker is the new focal point for the realtime information stream we’re all slowly getting addicted to – more on that in a minute. Sticking with the Spotify audio example, a new type of newsfeed aggregation will start appearing. If two or more of your friends happen to be listening to the same song – or artist – in Spotify, you’ll see the story in your top news. Facebook took it one step further though – allowing integration into applications on your desktop. These new aggregation stories come complete with links to the songs, albums etc enabling users to begin playing those tracks in Spotify. Being a company with smart engineers, Facebook likely took into account the echo chamber effect – so expect that the newsfeed will be filled with a steady stream of varying content. This example shows that Robert Scoble and I had both listened to a track by Deadmau5 recently.

So where do we look for the constant stream of activity from our friends? Ticker is the name for the new real time activity feed that appears on the top right of all pages. Much like the aggregated news stories, you can – with a single click – choose to listen to a song that your friend is currently listening to. Information junkies can now get their Twitter like stream of conciousness feed directly in Facebook too. This feed has everything from music, movies, photos, comments and more. Watch this space and expect it’s volume to grow over the next few weeks. This constant stream of data will likely provide an opportunity for developers to create alternative newsfeed applications by distilling this raw feed of information.

Facebook is continuing it’s march towards transparency and openness. Privacy advocates will probably not be placated by the changes to the permissions dialogs that aim to make the process of permitting applications to access your information and embed their information on your new Timeline any clearer. However, savvy users will appreciate the cleaned up interface and the preview of what Timeline integrations will look like. This will likely be an area which will require further user education for the non-savvy users. Expect to hear more from Facebook about privacy soon.

So what was it actually like at F8? Highly polished. Everything from the compostable utensils at lunch to hack areas, music integration, giant data visualization walls and more – to put it in a nutshell it was exciting. Facebook and Mark Zuckerberg are growing up and it shows. You will continue to find more technical information over the next few weeks here.

A parting thought and some insight into Facebook’s semantic ambitions. This is a terrible photograph of a beautiful poster that was given out at F8, “Eventually Everything Connects” – Charles Eames

Graph images and Charles Eames poster are photographs of swag distributed at F8.

Posted in Conferences, Facebook, Facebook Development, Social Media | Tagged , , , , | Comments Off on What Happened at F8?