Category: Digital Marketing

92% of all email is spam.

So, you are communicating with your best customers using email. And, your strategic business objective is to append more of your customer file with email addresses, and increase the number of opt-in addresses you email. Because, of course, email is much cheaper than marketing using other channels, it presents opportunities to better target, and personalize, and improve relevancy.

But do your customers see it the way you do? Do your customers sense the value you have for their business as a result of your email communications?

Arguably, email does not enhance the emotional connections you want your best customers to have with your brand. Email doesn’t say “thank you” or “we appreciate your business” or “you’re special” very well. Certainly email allows you to cost-effectively increase the frequency of contact with your customers. But your customers know how cheap email is to send: that’s why they get so much of it!

Consider an Information Week report that came out today, regarding a study from Symantec. Spam is on the rise, and as of July, 2010, spam comprises 92% of all e-mail messages. This is the context of your best customer email marketing communications: a sea of spam.

Think about the most meaningful messages you’ve received from companies. Remember the hand-written postcard from the Nordstrom sales associate after your big purchase? Remember how the head chef in a fine restaurant you frequent came out to the table to greet you (and your friends), thank you, and buy that bottle of wine? Remember when your Zappos order came, including ’surprise’ free overnight shipping? Remember your stay at the Ritz-Carlton and how the Ritz-Carlton motto — “We are ladies and gentlemen serving ladies and gentlemen” – was put into action in the most basic and yet surprising ways? Remember the birthday card from a store you like, and the special thank you gift inside? Remember the genuine and highly personal contacts you have experienced that actually do engender loyalty, and repeat purchasing? Most of these experiences that stand out occur in the offline world, the real world.

Yes, email is part of the marketing mix, and an excellent channel and effective means of communicating with customers. Yes, you have objectives to retain customers, up-sell and cross-sell other products and services, increase the lifetime value of your customers, and generate more sales – and email helps you get there.

But, your best customers are your greatest asset. The 80/20 rule probably applies in your business, suggesting that 20% of your customers (your best customers) drive 80% of the revenue, and likely, most of your profit.

Customers want to know their business is valued. With so much competition, and commoditization, it’s easier and easier for customers to go elsewhere to buy product X or service Y. In a world of homogenized email, faceless companies, and other options just a click away, it’s more important than ever to stand out, deliver quality experiences for your best customers, be truly personal, and add meaning to the transaction.

People don’t want to be numbers, or treated like everybody else. People want recognition, and “surprise and delight” experiences that reinforce their brand choice. For your best customers, spend more, deploy direct and highly personal initiatives that go way beyond email, and let them know you care.

Everything you wanted to know, but were afraid to ask.

Social media marketing is a mystery to most business people today. Most marketers think they should be doing something, but where, or how? Here are 12 video tutorials that advise business people on some of the important and most basic functions of social media marketing. Twitter, LinkedIn, Facebook… How to best use Twitter for your business? How to automatically update your LinkedIn status from Twitter? How to give and get recommendations on LinkedIn? How to create a basic Facebook fan page also known as a Facebook business page. How to create a Facebook ad campaign? Yes, these are just the basics, but there’s no faster way to understand them than here.

The medium is the message. The interface is the OS.

Exponential increases in computer storage, processing power, graphics, networks, the web and now, the cloud, are stimulating changes at the interface level, too. The future of UI design is becoming less and less machine dependent, and more aligned with the body and the mind.

Minority Report science adviser and inventor John Underkoffler calls the future of UI design “the spatial operating environment.” Your hand replaces the mouse. The display is the room. Navigation in 3D, and so on.

Underkoffler demonstrates the future of the computer interface. Is this how tomorrow’s computers will be controlled? Take a look.

These advances in technology reflect design integrated with people and peoples’ needs. And this goes way beyond ergonomics, and fitting humans; rather, these advances help make the machine disappear.

We, as marketers, intent on selling goods and services on behalf of our clients, must consider this future. Will the OS as envisioned by Underkoffler be delivered with computers in just 5 years, and into consumers’ hands? Imagine the product demonstrations, interactions of whatever ‘social media’ will be called in this space, and other experiential marketing techniques to come. The biggest casualty may be the physical store. The biggest opportunity may be where the intersection of consumer behavioral data, and digital and direct marketing converge. Think about it.

Social Media isn’t a fad

Did you know that today 78% of consumers trust peer recommendations and only 14% trust advertisements? These facts are included in the recently updated and even more awesome video by Erik Qualman here. These facts are according to the latest Nielsen Global Online Consumer Survey of over 25,000 Internet consumers from 50 countries, and Larry Weber in “Marketing to the Social Web,” respectively.

These facts also support the claim that social media isn’t a fad; rather, that it reflects fundamental shifts in the way people communicate. And the way marketing initiatives must be deployed. It used to be that marketers delivered advertising messages to consumers and tried to persuade them to buy. This was the top-down approach. Then the consumer became empowered (by the leveling and disintermediation of the internet) and s/he began to actively search online to learn about products and services before choosing what to purchase, and from whom to purchase the desired goods and services. The influences along the path to purchase multiplied. Marketers started to lose control.

Qualman goes further and suggests “we will no longer search for products and services, they will find us via social media.” The marketer’s goal is no longer to control the conversation, but instead to “enable, inspire, influence and engage” with consumers. Martha Kagan’s slideshow, “What The F**K is Social Media?” makes this point in no uncertain terms. Forrester has certified the idea, and is talking about the “customer engagement agency” that is displacing the old guard. The rise of social media reflects the decline of hegemony, and the old guard in advertising may be the last to know. Still wondering about the ROI of social media? As Qualman sums it up, “The ROI of social media is that your business will still exist in 5 years.”

Deploying digital marketing…from the customer’s perspective.

A recent McKinsey quarterly report by David Edelman goes further than most in paying off on the proposition to get more out of your digital marketing initiatives. McKinsey has found that “the most successful digital marketers focus on managing four core sources of value as they increase the percentage of marketing and channel spending that is directed to digital activities. First, they coordinate their activities to engage the consumer throughout an increasingly digital purchase journey. Second, they harness interest in their brands by syndicating content that empowers the consumer to build his or her own marketing identity and, in the process, to serve as a brand ambassador. Third, they recognize the need to think like a large-scale multimedia publisher as they manage a staggering increase in the content they create to support products, segments, channels, and promotions. Finally, these marketers strategically plot how to gather and use the plethora of digital data now available.”

While in summary form here these four sources of value may seem more like platitudes, but they are in fact excellent signposts for marketers on the road to realizing the promise of the digital revolution unfolding around us. And once again, we are reminded that our best approach is bottom-up (from the customer’s perspective) rather than top-down (from the marketer’s perspective). Taken together, these changes force companies to step back from tactical, day-to-day execution and take a more strategic view of where to invest and make changes. Reading the 7-page report is worthwhile and free but requires registration here.

Nothing forces change like money

During the past 24 months marketing budgets have shifted more and more into interactive channels, fundamentally because of measurability. While this broad shift was happening before the recession, business pressures have caused it to accelerate. Agencies are re-organizing and breaking down walls in order to facilitate integration and nurture collaboration. Clients, too, are seeing the light, and bringing “channel” based organizations together under strategic leadership. Finally, our industry is beginning to catch up and map marketing initiatives to the ways consumers want to transact.

The proverbial purchase funnel model — beginning with generating awareness at the top, and driving down through interest to desire and effecting action — is outmoded and outdated. Bill Kanarick, chief strategy and marketing officer of interactive agency SapientNitro, says, “Today, the rapid rise of social media and multitasking of consumers [means] a customer can view an ad on TV, purchase from a website and speak with someone in sales or services all in a few minutes. If you’re an agency that can handle that, the sky’s the limit. Without those skills, it might be a real struggle.” We couldn’t agree more. Read all about it! [http://www.dmnews.com/agencies-position-for-the-rebound/article/169240/]

6 reasons to build an iPhone App (or not.)

iPhone apps might be the hottest thing to hit marketing since “viral videos.” But like viral videos, iPhone apps aren’t the right solution for every marketing goal. Before getting started, consider these six reasons to build an iPhone app:

Reason #1:  iPhone users are your target audience.
Of 300 million Americans, about 7 million use iPhones. If your company’s target audience is aligned with iPhone users, great. However, if your audience represents only 10% percent of typical U.S. consumers, then your iPhone App audience might be only 700,000 users.

Reason #2:  Your audience will discover your app.
There are over 150,000 apps in the iTunes App Store. These days app shoppers have no way to find an app, unless news sources write about it, or it becomes popular enough to make the iTunes hot list. You’ll need a way to make your audience aware of your app, like direct marketing, and link directly to its iTunes Store page.

Reason #3:  Your audience wants your app.
Most apps sell fewer than one thousand copies – because most apps are useless. But, if you can create an app that fulfills your audience’s existing mobile needs, you’re ahead of the curve.

Reason #4:  You can build your app within 90 days.
If you have a great app idea and don’t build it within 90 days, somebody else will. There’s no scientific reason for this parallel-idea phenomenon, but it’s reality. So, build your first version fast, then plan on releasing updates as you add additional features.

Reason #5:  Your app will be hard for others to replicate.
If your app is successful, other developers will copy your app and try to steal your audience. Consider creating an app that leverages your company’s proprietary data, or is so technically-advanced that most developers don’t have the ability to copy it.

Reason #6:  Your audience will use your app more than once.
Most iPhone apps are only used once. 95% of iPhone apps are used for less than fifteen days. Conversely, the best apps are used over and over. Every time your app is used, it offers brand-impression value, and the opportunity for users to show it to friends, thereby promoting it virally – which is the ultimate goal of any app.

In summary, iPhone applications offer an incredible opportunity to marketers, but make sure the development time and money invested in your app is well-spent.

Go interactive with local ads and offers

Visit your favorite big box or grocery store online to find special offers available at your nearest stores and print coupons to use during your next visit. Simply type in your ZIP code and you have the same deals from the free-standing inserts (FSIs) found in your Sunday paper.

Now for the fun part: We’ve launched a turn-key solution for creating electronic FSIs that attract customers to local retail stores or to your site. We’re not talking about just uploading a PDF. We’re talking about creating elegant, interactive environments to advertise multiple products, complete with 360-degree product views and videos to highlight specific features. Customers can print coupons, save products to a wish list, and email themselves both to use later. We make it easy to update text and images, too. To learn more about the eFSI and to arrange a demo, email business@solutionset.com

A marketing must: mobile-enabled sites

Having a mobile strategy and presence does not need to be a difficult proposition. Sometimes the simplest tools can add big benefit. In a recent article on the website Mobile Marketer, Dan Butcher identifies the six trends affecting mobile marketing and commerce.

The trends are:

  • increased Smartphone sales and usage
  • dramatic increase in mobile Web usage
  • mobile commerce adoption grows
  • mobile search becomes essential
  • multichannel marketing mix expands
  • market fragmentation continue

To anyone who has an iPhone or other Smartphones, these trends seem obvious as we reflect on our own behavior and map them back to consumers at large. 

Mobile strategies are multifold and depend on your business, marketing, and revenue goals. But as marketers, we must understand the need to respond to these trends and to use the platform to meet our objectives. This will not always involve the development of a ground-breaking strategy or the launch of an iPhone app that is featured in the store, but can be as simple as enabling our current sites to be useful and readable in a Smartphone’s form factor.

Strategies will evolve as we understand user behavior and must take into account how, when, and where consumers interact with their devices. Much as TV marketing strategies are different from online/web/pc-based strategies, mobile device users have different goals and must be communicated in a unique way.

Apps are a key element of mobile marketing, but are still very nascent as marketers understand how to interact with consumers.  For now, utility is the name of the game. Top apps (as is true with websites) make it easier for consumers to do something, not just to be entertained. 

The lowest hanging fruit is to launch a mobile-enabled version of your site or elements of your site. With the proliferation of Smartphones, more consumers are using their mobile devices to visit websites for commerce and information. Thus, it should be an integral part of all marketing efforts to have a web presence which allows consumers to interact with the brand in a manner specific to the smaller real-estate available on the browser. 

A great example of this is the mobile version of the VW site. This site simplifies those tasks which a mobile user would be most interested in: reviewing car models, finding a dealer, and contacting road-side assistance. This is all designed for the form-factor of the phone and offers a very unique and valuable experience to the consumer, which is a different from the experience of going to the main VW website from a Smartphone.

The trends will only continue as the adoption of mobile is ramping faster than desktop internet did and will be bigger than we think

Symfony Live Conference, Paris 2010 (Day Two)

A tour de force lasting from 9am to 7:30pm, day two of Symfony Live was packed with informative sessions and, of course, the preview release of Symfony 2.0 (which will be covered in its own separate blog post very soon).  I wrote this post based on my conference notes while on the plane back from Paris on precious little sleep, so please let me know if you find any inaccuracies. For day one of Symfony Live 2010, click here.

All of the presentation slides can be viewed online on the Symfony Live Event page on Joind.in.

Okapi and Symfony

The makers of the Okapi translation framework obtained an early copy of the Dependency Injection Container (DIC) from Sensio and undertook a migration of their product to use Symfony Components. The presentation gave some clues on the architecture of Symfony 2.0. For example, arguments will be passed explicitly to the controller (instead of the controller grabbing the request object itself). Lukas Kahwe Smith warned not to simply pass around the DIC as this defeats the purpose and nullifies performance gains. We were also given a peek into how the Dependency Injection (DI) configuration will use parameter syntax like %dsn% to avoid repetition. Symfony Events, as opppsed to the filter chain in symfony 1, can now call filters only once if necessary. They claim that migrating to the Symfony Routing component took only 2 hours to complete (plus some tweaks). After the migration, Okapi now relies more on Symfony classes than custom classes which means less code to maintain.

Optimizing PHP Code

Xavier de Cock’s presentation on performance was the most low-level in nature (from a technology stack perspective). The beginning of the talk was very Zend focused, and a bit hard to follow for a more application-focused person who is not very familiar with Zend Engine (also because of a thick French accent). Essentially, De Cock is interested in profiling an application, such as SwiftMailer, and analyzing every aspect down to the opcode in order to improve performance. In general, he discourages trying to “outsmart” the underlying opcode caching mechanism, noting that you may end up actually reducing performance. He uses Vulcan Logic Dumper to see what opcode was produced by the PHP code and employed both Xdebug and Zend Debug profilers to identify sections of code that are ripe for optimization.

Suggested tips and tricks

  • Use built-in PHP functions (as opposed to your own custom functions)
  • Use opcode caching (APC, eAccelerator, etc)
  • Use data caching
  • Optimize SQL (usually the number one culprit)
  • Get your data from the 2DB in batches
  • Create a PHP extension (I doubt most of us will I’ll go this far)
  • Use other extensions like HipHop, Phc, Quercus or Roadsend PHP
  • Pre-incrementation of a counter variable inside a loop performs better
  • than post-incementation
  • While loops outperform for loops
  • Stay away from array functions like array_unique() (but they’re dang convenient)

Biggest common mistake: Creating memory leaks created by referencing objects in loops. This is only big deal in processing scripts like daemons (not typical web pages), and the cyclic garbage collection in PHP 5.3 provides vast improvement here.

Bottom line: the most interesting aspect of this talk was seeing what tools and techniques he used to identify slow code, but most developers should not worry about the majority of the techniques he demonstrated and just focus on optimizing database queries because that is where the low hanging fruit is.

Git 101

Scott Chacon is clearly a seasoned speaker, having done the Rails conference circuit, and the high quality of his presentation showed it. The graphics and animation in his slides are more than eye-candy; they genuinely help to demonstrate how Git works. Scott also gave a full-day Git training the day after Symfony Live, which I unfortunately could not attend. I reckon that this presentation was an abridged version of that training sans exercises. There were a lot of points that he did not have time to go into, but here are the high-level features:

  • Developed by Linus Torvalds
  • Used for Linux Kernel and Android
  • Fully Distributed. Each clone is a backup and is equivalent
  • No network connectivity needed to do work
  • Immutable (never removes data)
  • Based on full snapshots (not deltas)
  • Commits are hashed strings (incrementing numbers, although convenient, are not used)

Parts

There are three primary working parts to wrap your head around:

  1. Working Directory
  2. Index
  3. Repository

Workflow

In the Git workflow, there are four primary steps:

  1. Edit Files
  2. Stage your changes (git add)
  3. Review your changes (git status)
  4. Commit your changes (git commit)

Tips

If you’ve been working on a lot of different files and features simultaneously, committing a “changeset” of related edits instead of one gigantic commit is a good idea.

Random Thought by Scott

Although it is theoretically possible for two Git revision hashes to collide, it is more likely that your entire development team will be killed by wolves in separate incidents.

This presentation solidified my opinion that Git is generally better than Subversion and that it should be the SCM of choice in the future. I have been wanting to make the transition to Git as the default SCM for all of our PHP projects at SolutionSet, but existing infrastructure investments and lack of developer knowledge have been a hindrance. I hope that the use of Git for Symfony 2 will speed the adoption of Git in the PHP community and lead to SolutionSet’s transition to Git in 2010.

Writing Clean Class Interfaces with Symfony Events

Dennis Benkert, also the organizer of Symfony Day in Germany, shared his thoughts on how to reduce coupling in your classes and separate concerns. Accoring to Ted Faison, “Coupling is single greatest problem in complex system”. When different classes need to interact, a Service Layer should be used. There are two main ways to achieve decoupling (once you’ve already logically defined your classes): Depency Injection (DI) and Events. DI should be used for mandatory depencies and Events for optional dependencies. This presentation focused on Events.

Types of Event messages in Symfony

  • notify - doesn’t expect a response
  • filter - returns a value to the next filter in the chain
  • notifyUntil - similar to a filter but stops the filter chain when a certain condition is met

When Dennis put out a call on twitter for example of Event usage, he got some useful responses such as allowing someone to override the behavior of a plugin, but the most notable was a sarcastic tweet about using Events to totally obfuscate your classes so no one else can follow them.

Event Usage Pitfalls

  • Don’t use for mandatory coupling (use DI)
  • There is no order to event listeners (if you are expecting this you are doing something wrong)
  • Events make code harder to follow and debug
  • Events can be slow once you add a lot of listeners
  • Don’t use events in the model

There were a couple of memorable quotes from this talk…

A phrase that was picked up by multiple other speakers: “Every time you use sfContext, you kill a kitten”.

And my personal favorite (on the Symfony Events component mascot): “The octopus is keeping his eye on everything. Like with his arms.”

Zend Framework and Symfony

Matthew Weier O’Phinney, project lead for Zend Framework (ZF), started by saying “I am not the enemy”, and I believe him. Given the fact that Zend invited representatives of Symfony and other PHP frameworks (Cake, Agavi and CodeIgniter) to spar at the last ZendCon and the fact that Symfony 2 heavily relies on Zend Components, it appears that ZF and Symfony headed more in the direction of cooperation than competition. That being said, O’phinney still won the best tweet of the conference for saying “I enjoy the fact that Fabien is worried about spilling secrets to me”. Expect ZF to take a few pages out of Symfony 2’s playbook in the future.

Matt explained that there is really no magic to using Zend Components within Symfony; it’s as simple as adding some code for the Zend autoloader in the ProjectConfiguration class. An example of this is given in the Jobeet tutorial, but the code has been optimized to store the autoloader instance. His theory is use the best tools to do what you need to do regardless of their source, be it PEAR, EZ Components, or anywhere else.

Zend Library Standouts

  • Feed Tools
  • Remote APIs
  • Lucene Search
  • PDF generation
  • Queuing
  • Cloud computing

It was exciting to hear Matt talking about the Service Layer concept from Domain Driven Design. With the new flexibility of Doctrine 2 and Symfony 2, it should now be possible to design a richer domain layer within a Symfony project that includes Services, Entities, Data Mappers and a Data Access Layer (DAL). The Service layer is useful for validation and filtering, permissions (ACL) and interactions between Entities. For unit testing he mentioned 80% coverage as a good target (as opposed to 90-100%). Zend libraries can be used to easily expose your service layer as an API. I am looking forward to using this technique on a current project of mine.

Debugging Symfony

Alvaro Videla shared his experience debugging and optimizing a very large German dating site with 2 million members hosted on 28 production servers. He uses the vast amount of data that is stored in Symfony logs to identify slow areas of code by using a flag in APC to turn logging on in the production environment for a short period of time on each server and store the logs in CouchDB. CouchDB was able to handle storing 15 million log records in the first week!

Debugging Tools and Technologies Used

  • AWK - for extracting log data
  • avRedisLoggerPlugin - a persistent key-value database
  • Tsung - a high performance, open source benchmarking framework
  • XHProf - code profiler
  • Graphite - a powerful data visualization tool

He uses logging to detect site outages by generating an alert if say 100 DB connection error logs happen within a minute and calls this “threshold logging”. Alvaro is also the developer of the FireSymfony Firefox plugin, which is an awesome replacement for Web Debug Toolbar except for the fact that it doesn’t work with the latest version of Firefox. Well, at least it doesn’t work for me on Snow Leopard and a lot of other people if you check the support forum.

Implementing a CMS in Symfony

When Marcos Labad set about providing a Content Management System (CMS) for his client in the publising business, he looked at the major options available in early 2009 (Sympal, Diem and Apostrophe) and decided to roll his own. Key aspects to the success of his project were great people, good communication, designating stakeholders and planning backwards.

Why Choose Symfony as base?

Active development and support Some Learning curve but good documentation Big and growing community Form framework Easy maintenance and support for the final owner Based on good practices and patterns Reusable parts Easy to integrate new engineers

Why not Drupal or Joomla? Not good for specific data models Learning curve as well May be fast to implement but are hard to maintain and extend

Tips

  • Don’t forget about 301 redirects when upgrading a site
  • Use Doctrine behaviors to save time

Symfony in the Cloud

Kris Wallsmith, release manager for symfony 1.3 and 1.4, is currently working on a startup called nebul.us which allows users to passively share what they are doing online (as opposed to actively blogging or tweeting about it). It seems like a powerful idea if they can make it easy enough to control what people see without making it an active process again. He made some very good points about deploying nebul.us (or your app) to the cloud:

  1. You don’t need to know how the could works, you just need to know how to use it, and hosting providers like Rightscale, Amazon and others make it easy
  2. There is nothing difficult about deploying to the cloud. It’s essentially the same LAMP stack you are used to.

Query Splitting

Kris put a lot of thought and into query splitting and has shared his work in the sfDoctrineMasterSlavePlugin which uses database transactions by default.

File Uploads in the Cloud

Files in the cloud will need to be:

  • Uploadable to a service (like S3)
  • Retrieved from a service in the view (with a helper)
  • Disable-able (for the dev environment)

Deployment Tips

  • Use the symlink method so you site is only down during the database migration (and not the code update)
  • When using migrations during deployment, be sure to only execute once

Symfony at Yahoo!

Dustin Whittle joined Yahoo! with the assignment of migrating Yahoo! Bookmarks to symfony. Once Bookmarks was proven as a test case, Yahoo! went about migrating several more web properties, such as Yahoo! Answers, to symfony. Yahoo! Answers is the largest collection of human knowledge on the Internet (515 million answers). Clearly, a generic ORM is not going to cut it for a data store of this size, so Yahoo! only uses symfony for the presentation layer and uses web services to retrieve the data (although for smaller projects Yahoo! still uses Doctrine). Dustin makes a good point when he says, “all PHP developers use a framework, even if they don’t think so”. In other words, your non-framework based project still makes design choices that could be considered a framework. Dustin works for Rasmus Groth (the creator of PHP), who believes that you should design your application to solve your particular problem and nothing more. It was this kind of thinking that led Sensio to create Symfony 2 with much more flexibility.

Yahoo! Symfony Plugins

Yahoo! has created and shared a handful of plugins that they use to build symfony applications. They all start with a “y”, for example:

  • ysfBuildPlugin (for deploying performant apps)
  • ysfR3Plugin (for Yahoo!’s flavor of translation)
  • ysfDimensionsPllugin (adding depth to symfony’s configuration)
  • ysfYUIPlugin (for Yahoo!’s javascript library)

Tips and Observations

  • Scalability is when you can add hardware and get a proportionate increase in performance
  • Most performance comes not from the language, but from the design -Rasmus
  • Don’t spend more time managing the cache than retrieving data from it
  • Don’t use .htaccess (use regular Apache config for better performance)
  • Aggregate and minify your CSS

Dustin encouraged developers to get to know the Yahoo! Open Stack.

MOST INTERESTING MOMENT: After plugging YUI, Dustin asked the room to raise hands to show what javascript framework they use. jQuery left all other libraries in the dust. Then he tweeted “It just clicked how many jQuery users there really are…”

Symfony 2

The preview release of Symfony 2 deserves it own post, which I will post soon.

For day one of Symfony Live 2010, click here.