iFUEL INTERACTIVE

A NY Interactive Agency and a Division of Agency212

See you on Flickr See you on Twitter See you on FaceBook Subscribe
Our Work Produces “Perfect” Performance According to Internet Retailer
July 23rd, 2014  |  NO COMMENTS  |  eCommerce, iFuel Interactive, Magento, Mobile
Tags: , , , ,
Magento Mobile Site Featured in Internet Retailer

iFuel has been working with the ecommerce merchant Toolfetch for a little over a year now, and in that short period of time our efforts for them have been commended several times by Internet Retailer. We still feel proud each time it’s mentioned, but being as modest as we are, we don’t always feel the need to go telling everyone about it. But, when the mobile ecommerce website we built for Toolfetch recently ranked a PERFECT score on the Keynote Mobile Commerce Performance Index, we felt like it was noteworthy. With some seriously stiff competition (Sears came in second place), maintaining a top spot on the index isn’t easy, but the iFuel designed and developed mobile website has done a heck of a job staying at the top of the list. According to IR, that’s because it “Does everything right for maximum mobile performance”.

Head over to Internet Retailer to read the full article.

Sorting NSMutableArray and NSArray
July 5th, 2014  |  NO COMMENTS  |  Development, iOS, Mac, Objective-C

I found a quick way to sort alphabetically an NSMutableArray or NSArray in an app I am building and wanted to see if Apple already created any methods to handle this and they sure did. Below is an example of both.

If you’d like to dig deeper into it you can read the Collections Documentation.

HTTP Authentication and bypass by IP address
June 18th, 2014  |  NO COMMENTS  |  Apache, Magento, Uncategorized

If you want to limit access to your Magento staging server or any directory in your virtual host, adding one of the following Apache configurations in the Directory directive will allow you to limit access with HTTP authentication and bypass that authentication by IP address.

We added the Limit directive because it appears Magento has an issue when uploading an image with HTTP Authentication with the Mac. Just replace the xxx.xxx.xxx.xxx with your IP, and if you want more than one separate each IP with a space.

Magento block cache optimizations
June 13th, 2014  |  NO COMMENTS  |  Development, eCommerce, Magento, PHP

We recently ran into an issue with a customer where they emailed us and said were going to be running a promotion on our site and were expecting a lot of traffic. Naturally we were really excited for this and began to talk about all the optimizations we can do to the servers hardware and Magento to prepare their cart to handle all those customers. Only thing at the bottom of the email the client wrote, oh by the way were running the promotion tomorrow. We live for this stuff so we took this as a challenge and began brain storming.

So we regrouped and came up with an efficient solution that only took about 30 minutes to implement and we could achieve fast and efficient speeds with Magento block cache and Redis cache which brought the load times from around 2.3 seconds to 700ms. We used Redis but regular Magento cache works just fine, you can download the Redis client from Colin Mollenhour’ Github Page. So after a few minutes we found the problem pages which were the category pages and the product pages the easiest thing to do is to rewrite the block you need and add the block caching code.

After rewriting the block your going to need to add some details about the data you want to cache. You can download the sample extension here to help you get started using block cache :)

In the constructor your going to want to add the cache_liftime key with an expiration in seconds, we set this pretty high since we want it to live in cache as long as possible.

The next key your going to want to set is the cache_tags which is an array of cache tags these are tags that block cache is observing to invalidate the cache. The two tags we used were the product cache tag and the category cache tag altering any product or category would invalidate that block so your not serving stale content to your customers.

The final key is probably the most important the cache_key which is the identifier in the cache. Your going to want to make this unique especially for the category view block but if your caching a block that it isn’t different between pages or users you can use a static key.

Working on your Magento success page
June 6th, 2014  |  NO COMMENTS  |  eCommerce, Magento, Magento Moments, PHP, Uncategorized

We here at iFuel have a pretty lengthy QA process, which includes the carts success page. Sometimes we’ll go through a few iterations of the success page until it’s pixel perfect. Usually we’ll just edit the core on staging to remove the line of code that clears the session so the page doesn’t redirect on refresh.

You can download the extension here if you don’t want to read through the post :)

app\code\core\Mage\Checkout\controllers\OnepageController.php

So to avoid having to edit the core we’ve created an extension that allows you to load a specific orders success page without rewriting or editing the core.

Once installed go to the test url (yourstore.com/successtest/index/test?order_id=) and you’ll be redirected to the success page.
In the code above we created a new controller and an action method with the following logic.

  1. Checks if the users IP is not an allowed developer and display the Magento 404 page
  2. Store the parameter in a variable
  3. Load the order
  4. Set the three required session variables LastOrderId, LastSuccessQuoteId, LastQuoteId
  5. Redirect to the success page

If you’d like we have created a full extension you can download it here. Enjoy an easier way of editing the success page now.

Client denied by server configuration on Apache 2.4
April 29th, 2014  |  NO COMMENTS  |  Uncategorized

When setting up virtual hosts on Ubuntu 14.04, you can easily get tripped up by a change in Apache version 2.4.  If you’re getting the error:

Forbidden

You don’t have permission to access / on this server.

or seeing this in your Apache Logs:

client denied by server configuration: [document root]

Try adding the following to your virtual host file:

<p style="padding-left: 30px;"><Directory [your directory] >
Require all granted
</Directory></p>
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>
<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></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>
<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></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.

Directions:

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:

<config>
<global>
<install>
<date>< ![CDATA[Mon, 27 Sep 2010 12:23:53 +0000]]></date>
</install>
<crypt>
<key>< ![CDATA[demo]]></key>
</crypt>
<disable_local_modules>false</disable_local_modules>
<resources>
<db>
<table_prefix>< ![CDATA[]]></table_prefix>
</db>
<default_setup>
<connection>
<host>< ![CDATA[localhost]]></host>
<username>< ![CDATA[magento_user]]></username>
<password>< ![CDATA[]]></password>
<dbname>< ![CDATA[magento]]></dbname>
<active>1</active>
</connection>
</default_setup>
</resources>
<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-->
</global>

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

Read more

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