You're viewing an email archive of The Hustle newsletter. Join free to receive the 5-minute newsletter keeping 2M+ innovators in the loop.

🖼️ How GIFs took over the world

The Hustle

In the wildest music news this side of Wall Street, Goldman Sachs CEO David Solomon will be performing at Lollapalooza as DJ D-Sol. Whether that news makes you want to laugh or cry, we couldn’t agree more.

📣 P.S. To celebrate the launch of HubSpot Creators, we’re giving away an iPhone, Airpod Pros, and more goodies. Find out more here.

In today’s email:

  • Sad: Stephen Wilhite, inventor of the GIF, has passed away.
  • Map: Meta’s execs are embracing remote work.
  • Morgan’s musings: Why you don’t need a goal to start saving.
  • Around the web: How Fruity Pebbles are made, an intuitive calendar app, a relaxing game, and more cool internet finds.

🎧 On the go? Listen to today’s podcast to hear about the ongoing tension between employees and employers through the lens of 4 companies: Google, Amazon, Disney, and Applebee’s.

The big idea
Stephen Wilhite

The enormous impact of Stephen Wilhite, inventor of the GIF

Today, the looping clips known as GIFs are a cornerstone of internet expression. Their use is both an art form and everyday practice for many.

But long before the fiery debate over their pronunciation made it to the Oval Office (yes, that happened), the Graphics Interchange Format was simply a technological solution developed by Stephen Wilhite.

The GIF backstory

In the 1980s, Wilhite was the lead engineer on a team at CompuServe tasked with finding a way to quickly distribute “high-quality, high-resolution graphics” in color.

Developing this became an obsession for Wilhite, who would perfect the product at home.

The result, GIF, was released in 1987, but its commercial success is due in large part to Netscape, which, in 1995 added the ability for GIFs to loop.


With the rise of GIFs came a historic internet debate: whether it’s pronounced “gif” (with a hard G, like “gift”) or “jif.” In 2012, Oxford American Dictionaries named “GIF” its US Word of the Year, accepting both pronunciations.

In 2013, Wilhite flat-out told The New York Times, “It’s a soft ‘G,’ pronounced ‘jif.’ End of story.” Then, at an award ceremony soon after, he displayed a GIF proclaiming the “jif” pronunciation correct to the iconic backdrop of Also sprach Zarathustra.

It was a baller move, but despite his clarification, the debate seemingly continues to this day.

The impact of GIFs

The most ubiquitous platform for GIFs today is Giphy, used by 700m+ people and said to come 2nd only to Google in search engine activity.

According to Giphy, the 1st GIF ever uploaded to the internet, by Wilhite himself, was of a plane over rolling clouds.

Sadly, Wilhite passed away last week at the age of 74. Messages from former colleagues on an obituary page refer to his positive soul and other tech contributions.

Soon after his passing, Giphy’s website posted a tribute to Wilhite. The message, “Stephen Wilhite Creator of the GIF 1948-2022,” was displayed on top of an animated loop of rolling clouds — a GIF.

Share on Facebook Share on Twitter Send as email to a friend View on our website

That’s high: A study suggests US cannabis sales could exceed $72B by 2030 — but only if 18 states get on board with legalization. #ecommerce-retail

Greener in Texas: According to a new study, Texas has enough wind and solar power infrastructure that it could almost replace coal. #clean-energy

Cool: Researchers built a Pompeian house in VR to study Roman design and architecture. Pompeii was destroyed and buried in ash by a volcano in AD 79. #emerging-tech

Apple picked up Credit Kudos, a British fintech startup that uses banking data to make more intelligent credit checks on loan apps, in a deal valued at ~$150m. #fintech-crypto

Transit truce? Uber will add NYC cabs to its app this spring, onboarding ~14k taxis to the platform. Fares will be the same as UberX. #big-tech

Executive Perks
Meta exec locations

Selina Lee

Meta’s execs are all-in on remote work

Meta wants to build the virtual world of the future.

In the world of the present, however, the company’s executive team is working from all over the place, per WSJ.

Meta’s HQ…

… is in Menlo Park, California, but members of its top brass have been dialing in from Cape Cod to Israel. Even Zuck is getting in on the WFH action — in his case, the H stands for Hawaii.

Critics are split on whether this is a good thing:

  • Some believe that if Meta wants to build the metaverse, having its execs embrace the future of work is an asset
  • Others think the timing is off, with Meta’s stock down 30%+ since its Q4 earnings in February

The correct answer? Any policy that gives us more pics of Zuck surfing on a hydrofoil cannot possibly be a bad thing.

Share on Facebook Share on Twitter Send as email to a friend View on our website
Opinion: Morgan’s Musings
Morgan's Musings

Why you don’t need a reason to save

The biggest economic stories of the last 2 years were a pandemic no one saw coming and a war in Ukraine no one saw coming.

It always works like that. The biggest risk is what you don’t see coming. The fact that you’re not prepared for it is what makes it so risky.

The biggest lesson here…

… is that you don’t need a reason to save.

Some people save money for a down payment on a house, a new car, or retirement. That’s great, of course. But saving does not require a goal of purchasing something specific.

You can save just for saving’s sake. And indeed you should. Everyone should.

Only saving for a specific goal makes sense in a predictable world. But ours isn’t. Saving is a hedge against life’s inevitable ability to surprise the hell out of you at the worst possible moment.

Another benefit of savings without a spending goal…

… is control over your time. Everyone knows the tangible stuff money buys. The intangible stuff is harder to wrap your head around, so it tends to go unnoticed.

But the intangible benefits of money can be far more valuable than the tangible things that are obvious targets of our savings.

Savings without a spending goal gives you options and flexibility — the ability to wait and the opportunity to pounce. It gives you time to think, and lets you change course on your own terms.

Every bit of savings is like taking a point in the future that would have been owned by someone else and giving it back to yourself.

Share on Facebook Share on Twitter Send as email to a friend View on our website

How to monetize the neuroscience industry

We featured Andrew Huberman (on My First Million) in November 2021.

Over 90 days, #neurosciencehacks searches snowballed 8x on TikTok. We tried to tell y’all.

Our recent deep dive revisits the booming thirst for neuroscience, thanks to influencers like Andrew who repackage bizarre brain insights for the masses.

4 ways to help experts monetize:

The details of our research will cost you a buck.

Explore niche market signals, business-building galore, and the network of 17k+ go-getters.


🦢 On this day: In 2001, Icelandic singer Björk wore a swan dress to the Oscars, a fashion statement so bizarre — and iconic — that people still talk about it today.

🤔 Cure boredom: In this simple game, you must turn every square the same color in as few moves as possible.

🥣 That’s interesting: Post Consumer Brands workers pack up 44m pounds of Fruity Pebbles cereal every year. Here’s how it’s made.

📅 Useful: Undock is a calendar app that makes suggestions based on your preferences and schedule.

🦥 Aww: Let’s end the week the way we began it — with sloth content. Here’s a baby sloth learning how to climb.


(A roundup of our best reads from the last couple weeks…)

😴 Are advertisers going to infiltrate our dreams?  LINK

🍪Products are literally shrinking, but prices are the same.  LINK

🥗Lunchflation is real — and office workers are feeling it.  LINK

🇨🇦Toronto is the next Silicon Valley, eh?  LINK

👰Why Hinge may be your best bet at marriage.  LINK

Shower Thoughts
  1. “Medicine companies grossly overestimate our love for the flavor cherry.”  SOURCE
  2. “The most satisfying part of carpentry is when no one realizes you fucked up and fixed it.”  SOURCE
  3. “In 3000 years, if humans were to still exist, the history book will be long as shit.”  SOURCE
  4. “You are not in traffic, you are traffic.”  SOURCE
  5. “If you make someone laugh in your dreams, you are laughing at your own joke.”  SOURCE
via Reddit

How did you like today’s email?

Get the 5-minute roundup you’ll actually read in your inbox​

Business and tech news in 5 minutes or less​


How'd Bezos build a billion dollar empire?

In 1994, Jeff Bezos discovered a shocking stat: Internet usage grew 2,300% per year.

Data shows where markets are headed.

And that’s why we built Trends — to show you up-and-coming market opportunities about to explode. Interested?

[email-submission-form button-text="Join Free" include-trends-opt-in="true" success-url="" default-source="thehustleco" default-medium="home-exit-popup" default-campaign="home-page" form-id="exit-popup-general" optinmonster-conversion="true"]
<script type="text/javascript"> var onloadCallback = function() { grecaptcha.render('verify-your-humanity', { 'sitekey' : '6LdddrcZAAAAALyttpvOqiwQGwq5BNhgDz4tMQGE' }); }; function getCookieValue(a) { var b = document.cookie.match('(^|[^;]+)\\s*' + a + '\\s*=\\s*([^;]+)'); return b ? atob(decodeURIComponent(b.pop())) : ''; } function getCookie(name) { var cookieArr = document.cookie.split(";"); for(var i = 0; i < cookieArr.length; i++) { var cookiePair = cookieArr[i].split("="); if(name == cookiePair[0].trim()) { return decodeURIComponent(cookiePair[1]); } } return null; } function setHiddenFieldValue(wrappingDiv, searchParams, className, utmName, cookieName, defaultValue) { var el = wrappingDiv.getElementsByClassName(className)[0]; var existingVal = el.getAttribute('value'); if (utmName == 'ref') { var newVal = searchParams.get(utmName) || getCookie(cookieName); } else { var newVal = searchParams.get(utmName) || getCookieValue(cookieName); } if ((existingVal == null || existingVal == '' || existingVal == defaultValue) && (newVal != null && newVal != '')) { el.setAttribute('value', newVal); } } function setHiddenFieldValueFromUtm( wrappingDiv, searchParams, className, utmName, defaultValue ) { var el = wrappingDiv.getElementsByClassName(className)[0]; if (el != null) { var existingVal = el.getAttribute("value"); var newVal = searchParams.get(utmName); if (newVal != null && newVal != "") { el.setAttribute("value", newVal); } } } function initForm() { var wrappingDivs = document.getElementsByClassName('email-submission'); wrappingDivs.forEach(wrappingDiv => { var sp = new URLSearchParams(; setHiddenFieldValue(wrappingDiv, sp, 'funnel-source', 'utm_source', 'funnel_source', 'thehustleco'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-campaign', 'utm_campaign', 'funnel_campaign', 'home-page'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-medium', 'utm_medium', 'funnel_medium', 'home-exit-popup'); setHiddenFieldValue(wrappingDiv, sp, 'funnel-referral', 'ref', 'funnel_referral', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-a', 'a', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-c', 'c', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-o', 'o', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-oc', 'oc', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-e', 'e', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-f', 'f', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-r', 'r', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-t', 't', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s1', 's1', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s2', 's2', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s3', 's3', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s4', 's4', ''); setHiddenFieldValueFromUtm(wrappingDiv, sp, 'funnel-s5', 's5', ''); var error_message = getCookieValue('validate-email-message'); if (error_message && error_message.trim() != '') { var error = wrappingDiv.getElementsByClassName('funnel-error')[0]; var prev_email = getCookieValue('funnel_email'); error_message = prev_email + " is not valid. Please try again"; error.innerHTML = error_message; = ''; } }); if (false) { initCaptchaFormV2(); } } function initCaptchaFormV2() { var v3RecaptchaResponseEl = document.getElementById('recaptcha-response-v3'); v3RecaptchaResponseEl.parentNode.removeChild(v3RecaptchaResponseEl); var wrappingDiv = document.getElementById('email-submission'); var subForm = wrappingDiv.getElementsByClassName('email-submission')[0]; var captchaVersion = document.createElement('input'); captchaVersion.class = 'g-recaptcha hidden-input'; captchaVersion.type = 'hidden'; = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); = 'verify-your-humanity'; subForm.prepend(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = ''; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } function appendCheckboxes_email_submission() { var wrappingDiv = document.getElementById('email-submission'); var optInDivs = wrappingDiv.querySelectorAll('.trends-opt-in'); optInDivs.forEach(el => { = null; if (el.getElementsByClassName('trends-opt-in-checkbox').length < 1) { var checkbox = document.createElement('input'); checkbox.setAttribute('id', 'trends_opt_in_email_submission'); checkbox.setAttribute('class', 'trends-opt-in-checkbox'); checkbox.setAttribute('type', 'checkbox'); checkbox.setAttribute('name', 'trends_opt_in'); var label = document.createElement('label'); label.setAttribute('for', 'trends_opt_in_email_submission'); label.setAttribute('class', 'trends-opt-in-text'); label.textContent = "Yes, I'd like to receive additional emails on hot business opportunities from Trends, by the Hustle"; el.appendChild(checkbox); el.appendChild(label);; } }) } window.addEventListener('DOMContentLoaded', (event) => { initForm(); if (true) { appendCheckboxes_email_submission(); } }); </script> <div class="email-signup" id=email-submission> <div class="funnel-error" style="display:none;"></div> <form class="email-submission " id="exit-popup-general" action="" method="post" autocomplete="email"> <div class="email-form-wrap"> <input class="funnel-source hidden-input" type="hidden" name="source" value="thehustleco"> <input class="funnel-campaign hidden-input" type="hidden" name="campaign" value="home-page"> <input class="funnel-medium hidden-input" type="hidden" name="medium" value="home-exit-popup"> <input class="funnel-form-id hidden-input" type="hidden" name="form-id" value="exit-popup-general"> <input class="funnel-referral hidden-input" type="hidden" name="referral_code"> <input class="funnel-fail-url hidden-input" type="hidden" name="fail_url" value=""> <input class="funnel-a hidden-input" type="hidden" name="a" value=""> <input class="funnel-c hidden-input" type="hidden" name="c" value=""> <input class="funnel-o hidden-input" type="hidden" name="o" value=""> <input class="funnel-oc hidden-input" type="hidden" name="oc" value=""> <input class="funnel-e hidden-input" type="hidden" name="e" value=""> <input class="funnel-f hidden-input" type="hidden" name="f" value=""> <input class="funnel-r hidden-input" type="hidden" name="r" value=""> <input class="funnel-t hidden-input" type="hidden" name="t" value=""> <input class="funnel-s1 hidden-input" type="hidden" name="s1" value=""> <input class="funnel-s2 hidden-input" type="hidden" name="s2" value=""> <input class="funnel-s3 hidden-input" type="hidden" name="s3" value=""> <input class="funnel-s4 hidden-input" type="hidden" name="s4" value=""> <input class="funnel-s5 hidden-input" type="hidden" name="s5" value=""> <input class="funnel-success-url hidden-input" type="hidden" name="success_url" value=""> <input id="recaptcha-response-v3" class="g-recaptcha hidden-input" type="hidden" name="g-recaptcha-response" value=""> <div class="signup-icon" style="display:none;"> <svg width="24" viewBox="0 0 24 24" fill="none" xmlns=""><path d="M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6Zm-2 0-8 5-8-5h16Zm0 12H4V8l8 5 8-5v10Z" fill="#848B92"></path></svg> </div> <input class="signup-email" type="email" name="email" placeholder="Your email address" required autocomplete="email"> <input class="email-submit om-trigger-conversion" type="submit" value="Join Free"> </div> <div class="validate-mistake-emails-message" style="display:none;"></div> <div class="trends-opt-in" style="display:none;"></div> <div submit-success> <template type="amp-mustache"> <p class="c-message c-message--success">Thank you for subscribing.</p> </template> </div> <div submit-error> <template type="amp-mustache"> <p class="c-message c-message--failed">Your submission failed. Please try again!</p> </template> </div> </form> </div>