Innovation Everywhere - Complexity Not Required

The opportunity to innovate is everywhere, and innovation does not require complex solutions or a room full of scientists to discover. Case and point: Whitelines an incredibly simple innovation for pen and paper that will make you ask ‘where has this been all my life?’

- Less distraction
- Less glare than white paper
- Invisible when copied

Always refreshing to see something so simply awesome.

What’s Next in Desks?

There is growing consensus that sitting is killing you. The sedentary lifestyle of office workers and developers offers many benefits, but enhancing your physical health is probably not one of them (infographic). Considering the amount of time you spend at your desk and/or on your computer, investing in ergonomic office equipment including chairs, desks, monitors and keyboards is worthwhile.

Here are a few forward-thinking office elements to consider

Focal Upright Workstation

Why it rocks:

The Focal approach is totally new and could be revolutionary. The hybrid sit-stand position promotes continuous movement throughout the day, while still providing multiple stable positions. The desk can serve as a sit-stand desk as well, and the slant makes it perfect for creatives. You can still get a great discount if you are willing to pre-order and wait until fall to try it out.

Herman Miller Envelop Desk

Why it rocks: Besides the fact it’s a Herman Miller design, this simple desk makes it incredibly easy to make several position adjustments throughout the day, especially the healthier lean-back position.

OFM 680 Reclining Chair

Why it rocks: Shouldn’t every office chair recline? Yeah, I think so too. The 680 is reasonably priced as higher-end workstation chairs go, which might make it the best choice if you only want to make one change to your workstation setup.

How Does Your Team Define ‘Done’?

Growing agile teams often go through a period of negotitating between stakeholders and engineering to clarify when new stories are ‘Ready to Pull’ and when they are ‘Done’.

You might think that saying something is Done would be univerally understood, but more often than not, there are different expectations about Done from management, stakeholders and engineers. To eliminate any confusion, our team put together a Done definition that is a lightweight contract between engineering and stakeholders so everyone is on the same page.


Whereas completing Stories/Tasks in a Sprint allows the team to execute subsequent Sprints with regularity, and

Whereas Stories/Tasks that require re-work or additional effort in subsequent Sprints makes estimation and execution more difficult, then

Product Owners and the Team agree that a Story/Task shall be deemed Done when it meets these requirements:

  • All the Tasks in the Story are completed
  • Unit Tests are written and passing for all server components of the Story
  • Integration Tests are written and passing for any client features in the Story
  • Business Metrics needed to show the efficacy of the Story are in place
  • All user interface components of the story have been approved by QA
  • Any documentation that is required for the Story has been delivered. Documentation may include: regression testing plans, marketing screenshots, API documentation, User help documentation

    • All requisite devices have been tested on physical devices (not just simulator)

    • Tested on IE9+, Webkit (Safari/Chrome)
    • New/Changed pages linted for bad links and Javascript errors
    • Post-Launch: New/Changed platform features are NOT generating errors
  • The Product Owner and Stakeholders have reviewed and signed off on all elements of the Story
  • The Story/Task/Feature is Ready for Production

How does your team define Done?

Two New Power Lunch Tech Meetups in Santa Monica for Ruby and Mobile Devs

The tech community continues to explode on the West Side. We are reaching a critical mass where there is more than one tech event on almost every night of the week. This can be attributed to many of the dedicated entrepreneurs who are focused on building great companies and building a great community at the same time.

To throw some more fuel on the flames, I’ve created two new tech meetups for Mobile Developers and Ruby Developers. The idea is to get together about once a month on an informal basis. Presentations and fixed topics aren’t required, it’s an opportunity to come with questions or answers and share them with your technical peers.

Hope you can join:

Simplifying the User Experience for Your Initial Launch

I’ve recently been giving advice to some pre-launch startups about their user interface and initial set of features.  After re-reading one of the emails I sent, it seemed to me that the concepts are pretty universal and maybe apply to your project.

  • Less Is More. If you can remove features from the service in the near term, it is beneficial for everyone.  Your developers will have less work, your users will have less learning curve, and you’ll more clearly be able to interpret early usage data.  If you’re not familiar with the term Minimum Viable Product, google it, might be helpful.
  • Use Sensible Defaults. Whenever possible, pick something for the user, and only allow them to change it if they need to.
  • Stub Future Features. To get better ‘interest’ data on specific future features, you can create links/buttons to non-existent features.  ie:  ’Click Here to Change the Answer Duration’ –> This feature is not yet implemented, but we want to see how many people would be interested in using it.  Would this feature be useful to you [Yes] [No] Leave us additional comments…  You can count clicks and get very direct comments about each prospective new feature.

Don’t Call My Baby Ugly - Actually, Do

Entrepreneurs form peer groups which provide a trusted circle of support and constructive criticism for each other. Often, this peer group is used as a sounding board for new ideas - sometimes bad ideas.

The protocol for providing critical, constructive criticism is an oft-overlooked aspect of being an active and valuable participant in entrepreneurial networks and is a delicate topic I want to tackle head-on in this post.

Sometimes telling your entrepreneurial colleague that their ‘baby is ugly’ is the best thing you can do for them. Time is the most valuable resource we possess and helping entrepreneurs figure out where best to spend their time is critical. When bad ideas come to light, honest, thoughtful criticism, delivered clearly and respectfully can be invaluable.

Delivering criticism is always a delicate art. These issues can make it even more difficult:

  • If the entreprenuer has already committed time and/or money to the project
  • If it is a labor of love, created from a some emotional personal experience
  • If it is a close friend - or worse - family member
  • If you are successful and they are not
  • If they are successful and you are not (‘success’ is of course relative)
  • If your assessment turns out to be wrong

Be conscious of these issues, but when you’re asked, delivering your opinion is not just a favor, it’s the right thing to do. Here are my suggestions for handling the situation:

  • Confirm they actually want feedback. Sometimes people are just floating ideas by and don’t really want feedback. Make sure you understand the inquiry and they really are asking for your feedback.
  • Follow the basic rules of critical feedback:
    • Say something nice
    • Deliver the bad news
    • End on a high note
  • Explain Your Position. Thoughtful feedback is 1000 times more useful than flat, terse criticism. If the idea is entering an already hyper-competitive market and has no competitive advantage, then ask questions to help illustrate the scale and complexity of the competitive landscape.
  • Share Your Perspective. If you are a successful entrepreneur, there are probably more than a few critical attributes which you look for in new opportunities. Share them and discuss how they may be missing from the idea at hand.
  • Suggest Next Steps. Great businesses rarely become successful in the same form they start out in. Sometimes an OK idea can lead to other more interesting opportunities, which can lead to a great insight, which can lead to the next YouTube, Google, or NetFlix. However, sometimes ideas are just bad. If you’re sure that the direction is wrong, be honest: ‘I think you should look for something else’
  • You Don’t Know What You Don’t Know. If I was asked to provide feedback on a new company for an innovative automobile engine, I’d have to recuse myself from providing much feedback. I drive a car, I know there are lot’s of cars sold, but short of high level ‘market’ stuff - I’d be out of my league. Let people know when you don’t know what about the domain or market being discussed.

There is a time and a place for white-washed, head-nodding agreement, and avoiding conflict. Unfortunately, the circle of trust formed by entrepreneurial peer groups is not one of them. As a fellow entrepreneur, you have a responsibility to provide honest feedback, help educate other entrepreneurs and ensure that the Founder Class creates value and innovation and doesn’t waste time on poorly conceived ideas.


US Government Unable to Get the 2010 Census Online, Who Wants to Team Up for a Weekend and Show Them How to Do It?

It seems outrageous to me that the Federal government could not find the technical know-how, time, or dollars to invest in allowing US Citizens to complete the 2010 Census online. Such efforts would have saved on printing, postage, cut down on paper, saved fuel for distribution, provided instantaneous results, been easier for many citizens to complete, and increased the completion rate significantly.

For a single-person household, the form consists of 10 questions. YES, 10 checkbox and fill-in-the-block questions. There are 7 additional questions for each person in the household.

While building such a form now would be pointless in terms of e-enabling the 2010 census, I suspect it might create a news event to shed light on how the US government is failing to leverage technology to automate systems in concert with available technologies.

Such a point is especially germane as we look toward an increasingly federalized healthcare system, and an IRS in need of significant reform.

Consider this an open invitation to join up with a few good web developers to put the form online one saturday - just to prove a point.


Landing Page Optimization Checklist

After researching and working on various landing page optimization projects, I’ve compiled a checklist, if you want to design your own effective landing pages to optimize conversions:

  • Large, clear, concise Primary Headline
  • Large, germane product shot when appropriate
  • Large, direct Call To Action (CTA) above the fold
  • Multiple additional CTAs throughout the page
  • Minimize off-page navigation
  • Short, prioritized Key Features list
  • 2 Columns
  • Testimonials
  • Pricing
  • Human face(s) for testimonals or in images
  • Highlight search terms (of referred traffic) in page
  • Use A/B and Multivariate Testing
  • Optimize page for fast loading
  • Measure, Tweak, Repeat

3 Key Questions:

  1. What is offered?
  2. Why the prospect should care?
  3. What does the prospect need to do?

A few other optional ideas you might want to consider:

  • Orange may be the best color for CTA buttons
  • Design for least-common-denominator browsers - could be 800x600 and/or mobile

T-Mobile vs AT&T - iPhone Service Quality Santa Monica

For the first 18 months I’ve owned an iPhone, I’ve been able to see past the shortcomings of the service, but I’ve had a change of heart towards the lacking service.  Changing expectations, history with a more reliable provider/phone, and a few specific incidents where service quality (dropped calls, missed calls) has had an acute, detrimental impact on my work or personal life.

Now that I’ve made the mental leap to make a change, it’s time to evaluate the options:

  1. Get AT&T to fix the service
  2. Jailbreak the phone and swicth to T-Mobile (the only other GSM provider in the states)
  3. Buy a Palm Pre, Android, or HTC phone

After a stop at the local AT&T store, the manager helpfully submitted an on premise service request - apparently they will actually check my home address and make make adjustments to the tower.  She literally said they might ‘turn the antenna’.  Needless to say, I’m not optimistic that will resolve the issue.  She also confirmed that the Santa Monica area does suffer from ‘capacity problems’, and that AT&T is in the process of adding capacity in the area.  Promising, but who knows how long that will take.

Next up, I acquired a first generation iPhone to test a jailbreak and a T-Mobile SIM.  Fortunately, the phone was already jailbroken, so after a few updates, I dropped in a T-Mobile SIM, and the phone was running.

The ability to compare an AT&T iPhone and a T-Mobile iPhone side-by-side was eye opening.  I’ve heard lot’s of speculation that the iPhone was at fault for service problems - different provisioning of towers for iPhone users, a weaker radio, lot sof reasons, but nothing I could confirm.

This test was in no way scientific, but here’s what I observed:

  • Visible difference in the number of bars on the phones.  In most areas of my Santa Monica residence, the T-Mobile phone show more bars.
  • Several areas where there is no reception for AT&T, but a few bars for T-Mobile.

I made several test calls - simultaneously calling both phones via Skype - as a conference call.  In 4/6 tests, both phones rang. In 2/6 tests, the AT&T phone never rang and the calls went straight to voicemail.

Disappointing results by AT&T to be sure.  At this point, I plan to give AT&T a few days to attempt to resolve the issues, then on to figure out which direction to take.


Viral Marketing vs Addictive UX

Viruses infect w/o consent, Addicted users are complicit - is it time to retire ‘Viral Marketing’ in favor of ‘Addictive UX’?

Addiction by / Arthur Tsao Photography


Cloud Powered Wordpress - Performance, Search and User Experience

Had a great time at WordcampLA. I expect this might the first of quite a few events. Congrats to Austin and the rest of the folks that helped made it happen. As promised here’s a copy of the presentation I gave. Learn it, live it, know it:


3 Steps to Achieve Your Goals and Create Better Online Passwords

This tip is a ‘2 For One’ - it’s a neat trick to help you practice the power of positive thinking to achieve life goals, while helping you create strong passwords for websites to make your online identity more secure.  Never forget a password again. Here are the steps:

  1. Write down a few positive life goals, mantras, or other statements that The Secret, Napoleon Hill or Tony Robbins told you would make you happier and more successful.  Some examples:
    • Practice a Random Act of Kindness
    • Exercise every morning before work
    • Build $1 Million in net worth
  2. Turn elements of the phrase into an acronym.  Look for opportunities to swap out words for numbers or symbols, and emphasize the important words with some capital letters:
    • to, too, two = 2
    • for, four = 4
    • money, wealth = $, $$
    • I = 1,!
  3. Use the phrase as a password for those sites that require complex passwords with combinations of letters (incl. mixed case), numbers and symbols
    • Practice a Random Act of Kindness = p1RAOK
    • Exercise every morning before work = Xemb4w
    • Build $1 Million in net worth = b$1Minw!!!
This technique solves several problems - it makes it easier to create ‘strong’ passwords, it helps you remember those passwords, and it reinforces the achievement of positive goals in your everyday life. 
Hope you find this helpful - and maybe even keeps you from ever forgetting a password again.

TV: Apples’ Next Conquest - It’s the Buttons Stupid

Steve Jobs has completed the third chapter of what I see as a 4-part story to take over entertainment.

In chapter 1, he built a little film company called Pixar that helped a bigger company Disney stay relevant during an otherwise tough time for the mouse.  Since Pixar’s films represented the lion’s share of revenue during their relationship, and Disney never developed any of their own digital skills, they picked up Pixar - along the way making Steve Jobs the single largest shareholder of Disney stock.

In chapter 2, while music industry exec played ivory tower games and attempted to turn off the internet with attorneys and fruitless DRM efforts, Steve took the novel approach of vertically integrating music distribution with the personal computer and a line of devices that turned digital music into mobile assets that you could pack in your pocket. These efforts have put Apple on a path that today controls over 70% of digital music sales and could account for 28% of all music sales in 5 years.

In chapter 3, Steve decided that he could apply his smarts to the telecommunications industry, in one fell swoop, creating more innovation with the iPhone than the industry had seen since the creation of the mobile phone itself - fundamentally changing the way people interact with their phones.

Obviously much more can be written about each of these chapters, as well as the previous period which led to this series of breakthroughs, however the point of this post is a prediction about what I believe will be the next major chapter in the Apple Story:

CHAPTER 4: Re-inventing Television

Image: Dan Wiersma

Like music distribution and the mobile phone, the television industry finds itself in a transitional period.  The industry has been devoid of significant innovation since the advent of color.  HD, cable, satellite, DVRs, and now Internet TV are fairly obvious, incremental improvements, but even these improvements lfailt to deliver a fulfilling user experience.  It’s the same vacuum that was felt by the music industry, and the mobile phone user before Apple delivered their solution.  It’s a huge market to boot, and Apple now knows everything it needs know to enter in a meaningful way.

Here are some of the factors that frame this prediction:

  • Apple has significant investments in flatscreen manufacturing with Samsung and LG
  • the current Apple TV box is a test, to learn things about the market and user experience
  • The experience of flattening hardware ala MacBook Air enables Apple to fit lots of gear in the back of an LCD case
  • A line of high quality, flatscreen TVs with wifi + storage + an elegant remote + great media browsing UI would be a leap ahead for the TV marketplace (my Motorola DVR remote control has more buttons than my computer keyboard - count ‘em) - clearly an area where some iPhone like UI magic could assist

I’d suggest that Apple’s entry into the convention TV marketplace is inevitable - guessing when is a much harder task. Analyst Piper Jaffray suggests it will be in 2011, but I think we might hear something as soon as at the June 2009 Developer Conference.

There are many more reasons why this is a great next step for Apple - share your thoughts in the comments.


Chatting With the LAWEBDEV Community

I was fortunate enough to grab a speaking spot at yesterday’s LA Web Developer meetup in Glendale.  I gave a quick presentation on some of the lessons learned during the fundraising process with Koders, some of the interesting dynamics for new startup opportunities, and ended with some ideas on things the LA community can do to position itself for the next big tech upswing and re-opening of the IPO market.  
You can check out the deck here - sans all the pithy commentary:
LA Tech Startups Call To Action
View more presentations from dlrush.

Introducing a New Open Source Apache Module: Mod_graphics

mod_graphics is a new Apache module built using ImageMagick that allows you to generate simple graphics from a web site using a REST-only syntax.  Currently, the module has 2 primary features:

  • Circles - generate circles of any size with a specified foreground and background color
  • Gradient - generate a 1 pixel x any length rectangle that has a 2 color, linear-gradient fill in horizontal or vertical orientation
The module is designed to allow web page theme designers and developers to create rounded corners and resizeable dynamic modules without having to generate custom graphic files in photoshop for every adjustment.
There is an amazing variety of ways to create Web 2.0 style ‘rounded corners’ including:
I am hoping that some of the developers who have created these approaches might integrate mod_graphics into their techniques to make their solutions fully automated.
Some key features:
  • Apache 2 Licensed Open Source
  • Entirely C/C++
There are probably a handful of bugs for getting it to work on every flavor of linux, but we’ll get those hashed out as we hear about them.  Instructions to compile and install are in the readme.
View the project, or download the code (Subversion) and let me know what you think.  Feature ideas and patches are welcome.

Freedomspeaks Widget and API Makes Getting Involved Even Easier

Many people are cynical about their impact on the political process.

Does my vote really count? Do my representatives care what I think?

One innovative website is focused on helping answer these questions while making it easier for every citizen to get involved in the democratic process is Freedom Speaks.  This week, Freedom Speaks launched a new set of APIs and widgets to help make it easier to create new democracy-focused applications.

To understand the power of their platform in action, let’s see if you can answer this simple question:

Who are your political representatives in federal and state government?

If you move to a new home, aren’t really active in politics, or don’t want to visit 3-4 government websites to lookup this information, then Freedom Speaks is for you.

Of course, all of this information is available online, but it takes at least 2 searches to find your federal congressional reps, and every state has a different way of finding those state representatives.  Too much work, and yet another reason to stay complacent in the political process.

Try out their new widget, so you can be informed at your next dinner-table debate:

Developers should checkout the API Information here.


Obama, McCain Should Ensure Henry Paulson Stays on Board

US Department of Treasury

Some jobs take time to complete.  Implementing a global bailout program to save the US and world financial markets happens to be one of them.  The problem is that our current Treasury Secretary, Henry Paulson has stated in no uncertain terms that he will be leaving office as soon as the next President takes office - on January 19, 2009.

Henry ‘Hank’ Paulson is one of the most visible Treasury Secretaries in recent history, and one that seemingly is bringing good judgment and adult supervision to the financial management of the country.  In these turbulent times, more of this type of leadership is required, and if today’s rhetoric about non-partisan support for such a bailout is legitimate, then John McCain and Barack Obama should jointly negotiate with Paulson to keep him on for long enough to see whatever plan he comes up with, well into implementation.

To be fair, going from Chairman of Goldman Sachs to US Treasury Secretary is probably quite a pay-cut, but our next president will need to be creative in building a successful cabinet with experience in both the private and public sectors to succeed.

Consumers and investors watching the market ups-and-downs need to think long-term, and remember that a crash this week, won’t be fixed next week.  Major market shifts can take years (sometimes 10 or more) to reach steady-state.


Caching and Compression for Apache and Mod_rails

Optimizing your web server configuration is an important step for any production web application. Compression and caching are two complementary techniques that can greatly improve the performance of your site. We won’t go into a lot of detail on the rationale for these changes.  Most of that is covered in profuse detail by that Yahoo Performance Team who produce the excellent YSlow! plugin for Firefox.

The code in this post is used for a soon-to-be production Ruby on Rails application using this stack:

Reliable, Performant Pre-Compression

Compressing text files in your application can lower bandwidth usage by a factor of 10 and decrease the amount of time to retrieve a web resource by the same amount.  In Apache, mod_deflate is the easiest way to enable compression. Mod_deflate will compress content on each request - for dynamic content, this is expected, however for infrequently changing static content such as CSS or Javascript files, this is redundant and can increase CPU load significantly.  To get a little more control over this, we choose to pre-compress static files on our site and serve them when appropriate to compatible browsers.

In the configuration below, we use apache mod_rewrite to handle this outside of our application:

IF Request is CSS or Javascript AND
  the browser can handle gzip compression, AND 
  the browser is not Safari AND 
  there is a file with the same name with an additional .GZ extension
  Serve this compressed file instead of the original request

Evidently, some versions of Safari can get tripped up by this particular use of compression, so we leave them out of the fun for now.  It would be great to re-enable this if we can verify it is no longer an issue or has been resolved in the latest version of Safari.  TODO: Verify this assumption.

To handle pre-compressing files, there are a variety of approaches.  For the current Rails application I’m working on, we’ve integrated AssetPackager -  which can optimize, combine and compress these files as part of a build or deployment process.  It’s an excellent addition to the toolbox.

The section below enhances the configuration suggested by The If Works folks.

[sourcecode language=’xml’]


RewriteCond %{REQUEST_FILENAME} .(js|css)$ RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{HTTP_USER_AGENT} !Safari RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}.gz -f RewriteRule ^(.*)$ $1.gz [QSA,L]

[/sourcecode] Practical Caching Strategy The next important step to enable is a reasonable caching strategy for our site.  Caching is critical to your web application for several reasons:
  • Users can navigate your site with less requests, improving perceived responsiveness
  • It enables the use of a high-performance acceleration or CDN layer
For high-volume web sites, proper attention to caching rules and application design should enable you to achieve caching rates in the 75-90% range.  Some sites have more dynamic content than others of course, but every site has a variety of images, static CSS and Javascript files which can benefit from a caching strategy.
In our current configuration, we want to identify a set of file extensions that are cacheable, and let proxies or browsers cache them for up to 1 week.  It is easy to expand this configuration to set different amounts of times for different file types.
[sourcecode language=’xml’] Header set Cache-Control “max-age=604800, public” ExpiresDefault A604800 Header unset Last-Modified Header unset Pragma FileETag None Header unset ETag [/sourcecode] A couple important points about this configuration:
  1. We disable etags for these types, since it can be unreliable in clustered applications
  2. We leverage both Expires and Cache-Control since different browsers may rely on either one to be the definitive rule (Cache-Control is the new standard)
Deploying new JS or CSS files in our app could cause problems.  In our case, because we are leveraging AssetPackager, we get unique keyed filenames for these resources which change each time there are updates. For example, AssetPackager merges 3 Javascript files into a single resource called base_timestamp.js where timestamp will get updated if any of the source files are updated.  This allows us to avoid any stale cache issues we might encounter after site updates.  You can see that if you change the content of one of these cached file types without also changing the name, some users will continue to reference the older files until their local cache expires.  An alternative remedy for frequently updated files is to set the cache timeout to a much lower value - 4 hours or 1 day, so that stale files won’t live as long. While this is certainly not the end-all-be-all of configurations for applications, it is working well for us. The Charles Proxy was very helpful in verifying that the configuration we have is fully working as intended. Have more best practices that we should incorporate into this configuration?  I’d love to hear them.  We will update this config with improvements as we find them. Complete Config: [sourcecode language=’xml’] # BASIC SERVER CONFIG ServerName ServerAlias DocumentRoot /srv/www/myapp/public ServerAdmin [email protected] ErrorLog /var/log/httpd/ CustomLog /var/log/httpd/ combined # ENSURE WE ARE IN PRODUCTION MODE RailsEnv production RewriteEngine On AddEncoding gzip .gz # IF YOU NEED TO DEBUG REWRITES #RewriteLog “/tmp/rewrite.log” #RewriteLogLevel 9 # USE PRE-COMPRESSED GZ FILES IF THEY EXIST - WE DON”T WANT TO COMPRESS ON EVERY REQUEST RewriteCond %{REQUEST_FILENAME} .(js|css)$ RewriteCond %{HTTP:Accept-encoding} gzip RewriteCond %{HTTP_USER_AGENT} !Safari RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME}.gz -f RewriteRule ^(.*)$ $1.gz [QSA,L] # MAKE SURE THE BROWSER UNDERSTANDS WHAT TYPE OF DATA IT IS RECEIVING ForceType text/javascript Header set Content-Encoding: gzip ForceType text/css Header set Content-Encoding: gzip #CACHE FOR A ONE WEEK Header set Cache-Control “max-age=604800, public” ExpiresDefault A604800 Header unset Last-Modified Header unset Pragma FileETag None Header unset ETag [/sourcecode]

John McCain Announces Support for Barack Obama - on His Homepage

Use of screen real estate - lost in translation

Doing a bit of research today to compare the two primary presidential candidates on some key issues.  I was shocked when visiting the John McCain homepage to find that apparently John might also be an Obama supporter!

So much so in fact, that they have given him the best placement on the homepage, as well as an aesthetically pleasing graphic with a clear association between the powerful word ‘Love’ and Barack’s smiling face.  Clicking the graphic takes you to two videos which give you the ability to vote for the best song for a video about how the media is in love with Barack Obama.

After a wave of misses and gaffes in the last couple of weeks, you would think the McCain camp might be able to get it right with their own online efforts.  Instead they give their most valuable screen real estate to a competitor, in what I suppose is an effort to convince voters and other media players that the McCain camp is getting a raw deal.

Unfortunately, this effort falls flat with me - and I imagine many others as well.  The homepage placement, headline graphic, and even the videos are neutral to - pro-Obama, and I think it’s safe to say that no media exec is going to flinch at the montage therein.

In my experience, sarcasm doesn’t translate well in email or the web.  Better to keep on point.

Dear John,

More than anything else, Americans want to see you and Barack Obama fight a good fight in this presidential campaign.  No whining, minimal mud slinging, just ‘straight talk’ about the issues and how you and your team can help take us into the next decade.

Please have your online marketing team go back to the drawing board.


Concerned Netizen


Curse of the Power User

courtesy cogdogblog

Just a week after the first post to this blog, the limitations of the hosted version of Wordpress have driven me to self-host the open source version on my own server.  As I discussed earlier, self-hosting was most definitely not my preference, but the restrictions - even with a paid subscription - are a bit too inflexible.

Specifically, I found these:

  • Limited types of files can be uploaded - no flash, no video, nothing exotic etc.
  • Can’t embed flash or javascript tags in posts
  • Limited number of themes
  • Limited number of widgets (about 10)
  • No support for 3rd party plugins
  • Can’t edit themes or CSS ($$)
  • Can’t host on your own domain ($$)

A couple of the items listed here ($$) are available with a paid upgrade, but I figured if I’m going to pay, might as well pick up the rest of the features as well.

So this post marks the first on a self-hosted installation of Wordpress.  I took the liberty of changing to the ‘elite’ theme available at, I added the WP-Cumulus plugin Tag Cloud, and of course installed mysql along the way.

In my initial assessment, I opted for Movable Type which supports my preferred database, Postgres.  While I still stand by this requirement for business related sites and sites that need the blog to be integrated with other user facing systems, for this personal blog, I bit the bullet and stood up a basic mysql installation.  We’ll see how it goes.