A NY Interactive Agency and a Division of Agency212

See you on Flickr See you on Twitter See you on FaceBook Subscribe
Magento Partners in NY // How to Choose the Best Digital Agency for Your Brand’s Ecommerce Site
December 1st, 2013  |  NO COMMENTS  |  eCommerce, iFuel Interactive, Magento
Tags: , , , , , ,
map of nyc magento partner
Finding an ecommerce developer for your website can be a quick process. Just Google it and pick one. Easy, right? But of course you don’t simply want a developer; you want the best ecommerce developer for your project. That’s a lot more difficult. Add to the mix an enterprise ecommerce platform like Magento that requires expert knowledge and experience and now you’re faced with a downright daunting task.

    In some parts of the U.S., Magento Certified Partners can be scarce, however you can choose from some of the best Magento Partners in New York (including yours truly here in NYC). So with options come decisions, or sometimes indecisiveness. We have a great deal of respect for some of our fellow Magento agencies, and that being said, there’s no one ecommerce agency that’s right for everyone. That being the case, we thought we’d outline a few things that we’ve observed from our side of the table. We think they’re worth considering when you’re ready to send out that ecommerce RFP and start interviewing digital agencies.

What type of services do you actually need for your Magento project?

Not everyone is looking for the same thing. Some companies maintain the resources to handle certain elements of the project internally. Some have their own creative team, others have in-house developers, and these days many have their own ecommerce marketing team. On the other hand, many of our clients came to us because they don’t have those personnel, and since we’re a full service digital agency we can provide everything necessary to ensure success both at launch and post-launch. Some clients take advantage of all or most of our services, while some only need ecommerce design work or Magento development. The latter, however, often communicate a sense of security in knowing that we have the other areas covered should they need it someday, which is an important attribute for a long term partnership. Fading quickly are the days where companies voluntarily retain a branding agency for design and creative work, a development company for coding and a media buying agency for advertising & marketing. Now that certain agencies (ahem) have bridged the gap between disciplines, finding all these skills under one roof is now both possible and preferable. Many of our Magento projects start in an area that has nothing to do with Magento. We start with our proprietary process for creating a brand strategy, and from there we move on to the creative process, Magento programming, and ecommerce marketing plan. The point is, when you’re interviewing Magento partners for your project, give some thought to what you need and who can best provide it. Are you only looking for someone with the technical knowledge to program a well-functioning Magento website, or are you looking for someone who can bring branding expertise and ecommerce best practices to the table as well?

Who knows your category (and is that a good thing or a bad thing)?

Depending on what vertical you’re in, it might be vital that you select a partner with industry experience. If you’re in fashion, yes, you might want an agency with fashion experience, but we wouldn’t call that “vital”. In other cases, however, there could be lots of legal pitfalls to be aware of, and someone without that experience might not be aware of them. A few examples that we’re well versed in are MAP pricing on electronics, or one of the many legal restrictions we face when dealing with our wine & spirits clients.

So how could experience be a bad thing? When your agency can’t seem to break the mold and deliver something refreshing and effective. That’s when your messaging starts to sound like everyone else’s, your site starts to look like your competitors and you get lost in the “sea of sameness”. For example, that wine & spirit experience I mentioned has really given us a leg up when working in other industries (i.e. Hospitality industry). Sounds strange, but sometimes hotel advertising isn’t about a clean bed at a reasonable rate. For some hotels it could be about painting the picture of “the experience” that one can look forward to when staying at a luxury hotel. Another good example is the fashion industry. How many fashion ecommerce websites have you seen that look almost identical? Yes, fashion websites should typically be “clean”, but that doesn’t mean they have to be bland, or not reflect the true identity of your brand.

Marketing & Advertising by Industry

Click Here to see how we help brands stand out from their industry competition.

While you’re most likely not specifically in the hotel business or the fashion industry, this principal really applies to any industry that’s been around for a while or is cluttered with competition. Selecting an agency that’s agile enough to work across different verticals could really benefit the creative output of your project and help you stand out. So to recap: Experience in your industry is a good thing; no experience elsewhere could be a negative.

What if Goldilocks needed an ecommerce agency?

This one’s important. How big of an agency should you hire? Again, this depends somewhat on what services you’re looking to hire the agency for, but there are certainly a lot of other factors as well. But bigger is better, right? Not always. To understand why, you may want to also look at in reverse, and ask yourself how big of a client do you want to be for a particular agency. If you’re a mid-size company, there could be some real negatives to working with a huge, international agency. For one, you probably like to move quickly, and you might not be able to tolerate the red tape or processes of a larger agency. On the other hand, if you’re a large company and really need a lot of dedicated personnel, well then you might want a larger agency with that type of additional capacity. Now we’ll contradict ourselves, and say that you could also make an argument to the contrary. Some of our larger clients prefer our dedicated, boutique style approach to client management and creative development. So not too big, not too small…is there one that’s “Just right?” This is something we focus on too. How much should we grow as an agency? Our goal has always been to maintain CRITICAL MASS. By most standards we’re a mid-size agency and that’s exactly how we like it. The way we describe it is that we’re big enough to deliver, and small enough to think on our feet. We’re also very proud of the fact that we’re independent so we don’t answer to anyone but our clients. There is an agency that’s just right for you, and you’ll hopefully know it when you talk to them.

Do I like these people?

It’s so simple, it sounds so obvious, and yet it’s often overlooked. You’re going to work with your agency a lot, and you really have to ask yourself if you’d want these people as coworkers. It’s a little like speed dating. You only have so much face time with them and you’re trying figure out if they’re going to be good company, a good provider of what you need, etc. It sounds cheesy, but chemistry matters. Are you going to enjoy working through daily tasks with them? Are they going to make a good long term partner for your company? Are they dependable and trustworthy enough to make your job easier? We often work as an extension of our client’s team, and that type of integration results in constant contact. Frankly, if they didn’t like us it wouldn’t be a pleasant experience for anyone involved. We recognize that an agency’s biggest asset is its talented people, and you should too. Unfortunately most companies learn this the hard way (i.e. a previously bad experience with a Magento Partner). They’re out there. Those guys who pitch well and deliver poor. Say “no problem” to everything and then later, well, you know how it goes. Use your instincts when vetting Magento Partners in NY (or anywhere else for that matter) and pick the people that you think you’ll actually enjoy working with. We think we’re personable, fun and competent – but in order to successfully work with us every day you have to think so too. And it doesn’t matter how many pages that RFP you’re trying to put together is, you’ll still need to speak with us to find out if you like us.

Does it even matter if my Magento Developer is in NY (or wherever I’m located)?

No. Well, maybe. The reality is it depends on the situation and the people involved, and there’s no one size fits all answer. We have clients all over the world and our relationships with them are very successful. Let’s face it, with today’s tech it’s very doable. That being said, we do have a few clients in NY that we meet with very regularly, and while we could do those meeting remotely, I’m not sure that they’d all be as productive virtually as they are physically. The face time certainly helps the relationship in some cases, but we have other local clients that we hardly ever meet with in person for one reason or another. It comes down to your requirements and your comfort level with the agency, and that’s something you’ll ultimately need to decide.

Certified or Certifiable?

Magento is a very large and complex application and you need someone who really knows it inside and out. And make no mistake about it, the Magento certification exam is not easy. A developer really needs to have significant experience programming the ecommerce application in order to pass the test. More so, however, certifications validate an agency’s commitment to becoming Magento experts. It’s important that an agency has their lead developers Magento certified, but don’t get hung up on the total number of certified developers. You’ll find some companies have 5 or 10 certified developers, and some of have 45. Overkill? Maybe. Are all those developers going to be working on your site? Not a chance. Do they need all those certified developers because it’s a factory like environment churning out sites? It’s not our place to say, and we definitely fashion quite a few Magento websites ourselves, but we certainly prefer a more focused, boutique approach to working with our clients which requires more attentiveness. We have our process for developing the right strategic approach for a brand, and converting it into creative that communicates the right message to the right people, with a focus on conversion.

magento-certified-developer-nyciFuel Interactive is an Official Magento Partner with a talented team of Magento Certified Developers in-house

Enough Already

So that’s it for now. Not a list of commandments by any means but hopefully some food for thought when selecting your next ecommerce agency. We’ll do our best to post Part II to this in the near future where we’ll get a little more specific (think “Results-oriented”). In the meantime, if you think iFuel might be a good fit for you, we’d love to setup a meeting at our NYC office (or yours) to hear all about your brand and what your ecommerce goals are for the future.

View Larger Map

iFuel Interactive Customer ToolFetch.com Earns Top Spot in Keynote Mobile Performance Index
October 11th, 2013  |  NO COMMENTS  |  Development, iFuel Interactive, Magento, PHP

It’s nice when all the work pays off.  According to the Keynote Mobile Commerce Performance Index, iFuel customer ToolFetch.com is number 1 in mobile performance and reliability, with a perfect score of 1000 out of 1000!  It’s tough to be perfect but someone’s got to do it!

iFuel Customer ToolFetch.com takes top spot

iFuel Customer ToolFetch.com takes top spot


Display a promotion banner with Magento after, or between a designated time (using store’s timezone)
Tags: , , , , , , , , , , , , , , , , , , ,

The code below illustrates how to display or use a block of code AFTER a certain time. This code uses Magento’s core date functionality which uses your store’s configured timezone. So if your store is configured to use Eastern Standard Time, this code will compare dates and times using Eastern Standard Time. I’ve found this code to be most useful if you need to display a promotional banner, callout or message to your customer on, after or between a certain date and time. Say for instance you want your promo banner to display after 2:00am and you don’t wish to consume 10 cups of coffee to stay up all night to deploy your banner, this code will help you by automating that deployment process. Please drop us a comment if you find this code useful or if you experience any issues, we’re happy to help! ENJOY!

Display or use a block of code AFTER a certain time:

<div id="_mcePaste">&lt;?php</div>
<div id="_mcePaste">$current_date = (int)date("Ymd", Mage::getModel('core/date')-&gt;timestamp(time())); // YYYYMMDD</div>
<div id="_mcePaste">$current_hour = (int)date("Gi", Mage::getModel('core/date')-&gt;timestamp(time())); // HMM or HHMM (24 hour)</div>
<div id="_mcePaste">$display_date_start = (int)20130308; // March 08th 2013</div>
<div id="_mcePaste">$display_hour_start = (int)830; // 8:30am</div>
<div id="_mcePaste">if($current_date &gt;= $display_date_start &amp;&amp; ($current_hour &gt;= $display_hour_start || $current_date &gt; $display_date_start)) {</div>
<div id="_mcePaste">// code to display or use goes here</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">?&gt;</div>
<div id="_mcePaste">
Display or use a block of code BETWEEN a certain time:

<div id="_mcePaste">&lt;?php</div>
<div id="_mcePaste">$current_date = (int)date("Ymd", Mage::getModel('core/date')-&gt;timestamp(time())); // YYYYMMDD</div>
<div id="_mcePaste">$current_hour = (int)date("Gi", Mage::getModel('core/date')-&gt;timestamp(time())); // HMM or HHMM (24 hour)</div>
<div id="_mcePaste">$display_date_start = (int)20130308; // March 08th 2013</div>
<div id="_mcePaste">$display_hour_start = (int)830; // 8:30am</div>
<div id="_mcePaste">$display_date_end = (int)20130408; // April 08th 2013</div>
<div id="_mcePaste">$display_hour_end = (int)1830;  // 6:30pm</div>
<div id="_mcePaste">if($current_date &gt;= $display_date_start &amp;&amp; $current_date &lt;= $display_date_end &amp;&amp; ($current_hour &gt;= $display_hour_start || $current_date &gt; $display_date_start) &amp;&amp; ($current_hour &lt;= $display_hour_end || $current_date &lt; $display_date_end)) {</div>
<div id="_mcePaste">// code to display or use goes here</div>
<div id="_mcePaste">}</div>
<div id="_mcePaste">?&gt;</div>
<div id="_mcePaste">
How to Insert “Must-Revalidate” for Magento Cache
June 1st, 2012  |  1 COMMENT  |  Uncategorized

This tip is helpful to stop the client from caching content.


Open your local XML file.

This can be found in the [Magento Root]/app/etc/local.xml

Locate the follow area under the <global> node, and insert the code from line 26:

<date>< ![CDATA[Mon, 27 Sep 2010 12:23:53 +0000]]></date>
<key>< ![CDATA[demo]]></key>
<table_prefix>< ![CDATA[]]></table_prefix>
<host>< ![CDATA[localhost]]></host>
<username>< ![CDATA[magento_user]]></username>
<password>< ![CDATA[]]></password>
<dbname>< ![CDATA[magento]]></dbname>
<session_save>< ![CDATA[files]]></session_save>
<!-- Add the code below this line-->
<session_cache_limiter>< ![CDATA[nocache]]></session_cache_limiter><!-- see http://php.net/manual/en/function.session-cache-limiter.php#82174 for possible values -->
<!-- Add the code above this line-->

After you save and commit your changes, clear your Magento cache for the site.

Read more

Magento and Authorize.net CIM – Perfect Together
March 12th, 2012  |  7 COMMENTS  |  Magento
Tags: , , ,

Well, we all know Magento is the best e-commerce platform around. And Authorize.net has to be the most popular payment gateway around. So it came as a real surprise that there’s no support in Magento for the (not so new) service from Authorize.net called CIM (Customer Information Manager) that lets you save customer credit cards at Authorize.net safely and in a PCI compliant way. Not only is there no support in Magento for CIM, but the available extensions are very limited in functionality.

So when a customer asked for saved credit cards where they could add/edit and delete saved cards as well as save multiple cards, it became clear that the only thing to do was to build an extension ourselves. The result? Pure fun. I know – geeky as all you know what. But using the Authorize.net API and building out the Magento functionality was a blast. All functionality was created without saving any credit card numbers or CVC codes to the local Magento database. Here are some highlights of what we’ve come up with:

Read more

Using console.log in Later Versions of Magento Under Chrome
February 17th, 2012  |  NO COMMENTS  |  Magento Moments
Tags: , ,

Later versions of Magento have added javascript code to /js/varien/js.js to “stub out” the console if it’s not available. This is no doubt to prevent a javascript crash if errant console.log statements get left in throughout the project. The problem is, it prevents console.log from working in Chrome – which I increasingly use just because it’s so much faster.

But there’s a fix (thanks to AlexB in this post http://stackoverflow.com/questions/8080610/javascript-console-log-in-magento for this fix):

Find this block of code in /js/varien/js.js:

if (!("console" in window) || !("firebug" in console))
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
    "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

    window.console = {};
    for (var i = 0; i < names.length; ++i)
        window.console[names[i]] = function() {}

And change it to:

var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1;</HL>

if (!("console" in window) || !("firebug" in console) && !is_chrome)
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
    "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];

    window.console = {};
    for (var i = 0; i < names.length; ++i)
        window.console[names[i]] = function() {}

Magento Caching
February 2nd, 2012  |  NO COMMENTS  |  Magento Moments
Tags: ,

Magento uses caching extensively. If you also want to be able to save something to cache rather than reading from the database or some more expense resource like that, it’s simple:

$value = Mage::app()->loadCache(‘my_cache_key’);

If the key isn’t found, $value will be null.

To store a value in the cache is almost as easy:

Mage::app()->saveCache($data_to_store, ‘my_cache_key’, array(), $duration_in_seconds);

(The empty array in the call above is standing in for a parameter called “tags” which, to my knowledge, is not used. Someone please correct me on that if I’ve got it wrong.)

Loading Blocks
February 1st, 2012  |  NO COMMENTS  |  Magento Moments
Tags: , ,

Sometimes I’m banging my head against the wall trying to figure out why my block isn’t loading right or some other layout element isn’t rendering.  And I’ve always wished I could just see the layout as Magento is seeing it.  So I finally dug in to see and it’s actually incredibly simple to output the layout for a given page in xml format.

echo Mage::app()->getLayout()->getNode()->asNiceXml('', 0);

The layout is just a Varien_Simplexml_Config.  getNode buys you access to the private $_xml variable that holds the root node of the xml document.  Then asNiceXml formats it nicely for the screen.  If you’d rather output to a file (they can be large chunks of xml) supply a file name for the first parameter of asNiceXml and the xml will be written there, too.

Now back to why my block isn’t loading…

Logging Database Queries in Magento
February 1st, 2012  |  NO COMMENTS  |  Magento Moments
Tags: , , ,

Sometimes Magento does something and it’s just not obvious why.  We’ve all heard “why aren’t my products showing up?” more times than we can count.  Magento’s object model for building queries is great, but sometimes you just need to see the sql that’s being run on the database in order to know what’s really going on.

In the past I’ve used the general log in mysql.  That can be a great source of information, but, depending on the version of mysql, it can be a pain to set up.  Other times I’ve inserted logging code into various db classes in order to print out queries that are being run, but I always have to find the right place again.  But today I stumbled on this blog entry - http://blog.nexcess.net/2011/04/15/logging-database-queries-in-magento/ that spells out exactly how you can turn on some (as far as I know) undocumented logging functionality that is built right in to the Magento data access layer.  Kudos to the author and thanks for sharing!

CSS Awards – 20 Fabulous New Websites For Your Inspiration
January 6th, 2012  |  NO COMMENTS  |  Creative
Tags: , , ,

Here at iFuel, we are very excited to be featured again for our design work for Giutzy.com.

We were recognized as one of the 20 Fabulous New Websites For Your Inspiration.

We’re very excited to share this news with you all!

Copyright iFuel Interactive © 2010. All Rights Reserved.
Going up? Click here.A NY INTERACTIVE AGENCY