Tag Archives: Web development

Stop Wasting Your Money On Instagram Influencers. They Suck.

Best web design company in New Delhi

I’m going to rip this band-aid off right now.

Instagram influencers are the best way to piss your money up a wall.

Instagram influencers are the best way to blow your whole marketing budget.

Instagram influencers are a waste of time, space, effort, energy, eyeballs, attention, bandwidth, iPhone data plans, creativity, interest, analysis, investment and good times.

You know exactly who I’m talking about. The folks whose job is to pose with products, abs and exotic locations to show you how #humbled they are, while making bank at the same damn time. The folks whose job is to be a model but without 90% of the work that it takes to be a model. The folks that people pay a hundred grand (for the record, yes that’s $100,000.00) to write a caption and snap a pic on their free, band provided phones.

At its core, the idea of an influencer isn’t terrible. Find someone who has influence, and ask them to influence their following, audience and the general public to invest in your products. But the good ideas really stop there.

It only works when it’s authentic. Okay, sure, a lot of people are buying skinny tea. The bad news is, it’s a lot less than it was before, because people have cottoned onto the fact that all of the influencer posts are just paid advertisements. They’re not real, authentic product reviews. This means that the trust factor is just about zero.

And it’s a lot harder now to hide that it’s a non-authentic piece of crap post, because it’s fucking illegal to not tell people that it’s a sponsored advertisement, and if you fail to disclose that, you’re going to be fined.

Influencers are turning content into commercial breaks. You know what that turns your fancy influencer’s feed into? Nothing but commercial breaks with no content in between. Bear in mind, this is Instagram, and there’s already advertisements to scroll through between the content.

If the content is a commercial break too, that means that brands and influencers think the general public and their dedicated audience are dumb enough to waste their days scrolling through literally hundreds of advertisements without giving them content that makes them at all bothered to scroll through advertisements. Top web  development company in Bangalore

How stupid do you think people are, mate?

Ultimately, we don’t want to be constantly bombarded with advertising. Every time a platform has skewed too far in that direction, we’ve all abandoned ship for a platform that’s more respectful of our attention and our willingness to absorb advertising.

Why do you think we’re more into Netflix than cable?

The content itself is just off-brand. Do you follow someone on Instagram because you like seeing photos of amazing locations and beautiful buildings?

Tough. Here’s their latest post about protein shakes.

Do you follow someone because she’s a talented indie filmmaker and blogger and you wanted to see her Instagram behind-the-scenes?

Great. But here’s their latest post about protein shakes.

The influencer model is essentially requiring people to sacrifice the style, the tone, the imagery, the story and the message that they committed to and attracted an audience around, purely to push product. The posts have nothing to do with their work or their aesthetic, and it means that any honest content they make is going to be poisoned by the off-brand opportunism. Gross.

And you know what? The ROI isn’t even worth it! I have seen influencer marketing work, I’ll admit it. In some industries, with some influencers, on some platforms, with some products – it can provide 500% more ROI than any other form of advertising. But the qualifications are many and varied, and I’ve seen far more brands just throw money away and only receive vanity metrics in return.

Clicks. Views. Likes. Shares. Who gives a fuck?

The only metrics that should matter to you are these:






In the startup marketing game, we call these Pirate Metrics (AARRR!) and I am bringing them up because your entire approach to marketing should be based on these metrics, and if you have an activity or a strategy or an expenditure that does not contribute to growth in one of these areas, it’s a waste of your time.

If you can run an influencer campaign that impacts these? Great. But I’ll bet you a slice of pizza that ya can’t.

Finally? They’re rogue agents. And you can’t trust them. Spent a couple hundred grand on an influencer? Nice!

Actually managed to move the bottom line with real, measurable ROI? Awesome.

What do you do when they come out with some racist, homophobic, indefensible shit that severely messes with your brand, makes you look bad, offends yourself and your staff and winds up hurting vulnerable and marginalised people?

I’m not saying they will. But it is a clear and present danger.

This is from Vogue:

Brands who have jumped on the influencer bandwagon are now scrambling to reset their storied houses. In an effort to make their brands more inclusive, it would appear that influencers, who represent “the people,” just might harbor values that are not so all-encompassing, after all. When Kuwaiti beauty influencer Sondos Alqattan published her views on the treatment of household workers – employers should possess employee passports should the latter decide to “run away” – a deluge of complaints were directed at her collaborative brands. M.A.C, Shiseido, Max Factor Arabia, and Phyto severed ties immediately with Alqattan. When you let people who you can’t ensure will stay within your brand’s boundaries have a massive association with your brand, you’re risking a lot of good will.

The negative associations can just keep on coming back, and coming back. The nature of the game for influencers is that they’re generating constant posts on an insane schedule with very little oversight, feedback or checks/balances in place. That’s how you wind up with Pewdiepie and his Nazi crap. If the influencer messes up their career, that’s on them. Sucks if they could take your whole brand down with them though.

And it’s not even just the risk factor. It’s selfish, irresponsible influencers who push cheap fast fashion, gender norms, sexualisation and insane body standards on young people and teenagers who are already vulnerable, and do so without any regard for their mental health. It’s influencers who want to pose around the place holding up vapidity as a goal and damaging kids’ ideas of who, what and where they ought to be.

Okay, so what’s the alternative? Collaborate.

Don’t sponsor posts – work with people to make good, solid content that people will enjoy, that connects them constructively your brand and provides influence through positive associations.

Instead of a paid Instagram post series where some moron takes photos of himself using body oil, work with a talented film maker with an audience who cares, to create an Instagram based documentary series starring athletes and creatives who are within your target demographic, and make it good.

Put the focus on making content and supporting creatives, rather than paying for fake advertisements. Stop working with kaftan wearing faux celebrities and start working with that young artist who has dedicated her life to a craft and can make your brand resonate with an audience who appreciate her creativity and will respect you for backing her.

The truth is, influencers might not be fucked now. They might not be fucked tomorrow. But as a category and a vertical, they’re on their way out. People just aren’t stupid, shitty advertising just doesn’t work, and weight loss protein shakes are snake oil for idiots.


Resource Hints

Check for web development Services  in Bangalore

Resource Hints allow us to help the browser find the resources it will need, and download them ahead of time for better performance.

For modern websites, optimizing speed requires more than just minimizing the initial download size and critical rendering path. We can optimize the loading of resources by resolving and prefetching them as early as possible.

“Prefetching” is simply the act of starting the download of a resource before it is needed, to provide a fast and instant experience.

Dns-prefetch Dns-prefetching is the process of initiating the dns resolution of each domain where we have hosted resources, before the browser makes a request for them, with the goal to save the DNS resolution time when the resource is requested.

You can think of dns resolution has the process the browser has to undertake in order to convert domain/hostname to an ip address required to access a resource (this process is what converts a user friendly url like: http://www.medium.com to ); Inspecting the source of amazon.com you’ll find the following code right at the top of their homepage:

<link rel=’dns-prefetch’ href=’//g-ecx.images-amazon.com’> <link rel=’dns-prefetch’ href=’//completion.amazon.com’> Amazon.com uses DNS-prefetch to resolve multiple domain names, from which different resources such as images, javascript, and css files are accessed. When the browser encounters these URLs, it first checks it’s cache, and then, lacking a cached copy, resolves the domain to the associated IP address through a request from the DNS server. These requests happen in the background in a way that doesn’t block the rendering of the page.

DNS lookups are very low cost — they only send a few hundred bytes over the network, so there’s not a lot of risk.

You can check for current browser support at: http://caniuse.com/#feat=link-rel-dns-prefetch

Preconnect It does all the work necessary to establish a connection with a given domain including the DNS lookup, TCP handshake, and TLS negotiation if you’re on https.

It can help you mask high latency connections by performing this work ahead of time and shaving off precious time to start a request

<link rel=”preconnect” href=”//example.com”> You can check for current browser support at: http://caniuse.com/#feat=link-rel-preconnect

Prefetch From MDN:

Link prefetching is a browser mechanism, which utilizes browser idle time to download or prefetch documents that the user might visit in the near future. A web page provides a set of prefetching hints to the browser, and after the browser is finished loading the page, it begins silently prefetching specified documents and stores them in its cache. When the user visits one of the prefetched documents, it can be served up quickly out of the browser’s cache. So this means that prefetch is used to fetch and cache resources, that will be used in subsequent routes that the user is likely to navigate to. Best web design company in New Delhi

Prefetch can be used as a link element with a prefetch attribute and a url:

<link rel=”prefetch” href=”//example.com/next-page.html” as=”html” crossorigin=”use-credentials”> <link rel=”prefetch” href=”/library.js” as=”script”> The ‘as’ atribute is optional and it is used as an helper to the browser preloader to optimize the prefetching process.

The crossorigin attribute is also optional and allows you to specify the cross-origin policy of the given resource.

Only cacheable elements should be prefetched.

You can check current for current browser support at: http://caniuse.com/#feat=link-rel-prefetch

Preload Preload is similar to prefetch, with the difference that if prefetch is used to initiate a request for a resource that will be needed in a subsequent route, preload is used to prefetch a resource that will be needed in the same page.

<link rel=”preload” href=”/library.js” as=”script”> Prefetch is an optional and low-priority fetch for a resource that might be used by a subsequent navigation; preload is a mandatory and high-priority fetch for a resource that is necessary for the current navigation Preload can be useful if you lazy load resources to accelerate page load, or to tell the browser about resources that live inside javascript and css such as web fonts.

There’s also this interesting use case where you can have fine grained control of your preloaded resources:

<script> function preloadFinished(e) { … } function preloadError(e) { … } </script> <!– listen for load and error events –> <link rel=”preload” href=”app.js” as=”script” onload=”preloadFinished()” onerror=”preloadError()”> You can check for browser support at: http://caniuse.com/#feat=link-rel-preload

It’s also in Safari Technology Preview release 13 https://developer.apple.com/safari/technology-preview/release-notes/

Prerender Pre-rendering is a way to tell the browser to prefetch and execute a given resource.

You can trigger prerender by inserting a link element with a ‘rel’ of ‘prerender’, for example:

<link rel=’prerender’ href=’//pagetoprerender/landing.html’> You can think of pre-render as loading a page in a new tab, just that this tab is hidden from the user until he makes a request for it.

As the browser executes all the scripts on the pre-rendered page, you may encounter some unexpected consequences such as analytics beacons being fired without the page actually being displayed. You can use the Page Visibility API to account for these situations.

Pre-rendering should be used wisely and responsibly, as it may lead to increased bandwidth and cpu usage. You should only consider the use of prerender if you have high confidence on the usage of a certain resource, and if you’re really providing added value.

Be aware that the decision to start the prerender process is left to the browser, and that the browser may choose not to start or to abandon the pre-render off your content based on a set of predefined rules.

You can check for current browser support at: http://caniuse.com/#feat=link-rel-prerender

Hint probability The hint probability is a ‘pr’ attribute that you can use to indicate the probability that a given resource will be necessary, and you can use it with any of the mentioned resource hints with the exception of preload.

// The pr attribute expects a float value in the [0.0-1.0] range <link rel=”prefetch” href=”//example.com/next-page.html” pr=”0.75″> This hint is used to help the browser decide on the execution of a given hint. Fon an instance in a resource constrained device the browser may decide to only execute high propability hints.

Inject resource hints at runtime Each of the resource hints mentioned above can be triggered at runtime with javascript, you just need to create the link element with the correct atributes and add it to the head of your page.

var hint =document.createElement(“link”) hint.setAttribute(“rel”,”prerender”) hint.setAttribute(“href”,”next-page.html”) document.getElementsByTagName(“head”)[0].appendChild(hint) Analyze your architecture, study users actions and iterate Make an analysis of your architecture and figure out where you could take the most out of this: – Which are the most critical resources on each page ? – What actions trigger the download of additional content ? – Which assets are on the critical rendering path?

Study your users actions on your website: – Which are the most visited pages? – What is the journey your users take to conversion? – What is the frequency of a certain action?