Showing no signs of chill, Netflix enters its next phase

In Q4, the streamer surprised even itself, adding 7.7m net new subscribers after forecasting 4.5m. Now, with membership growth back on track, the company says...
The Hustle • January 23, 2023

Bob’s back. Can he bring the magic?

Despite having Bob Iger’s return on our 2022 bingo card, the move came as a surprise Sunday night when it was announced by Disney’s...
Jacob Cohen • November 22, 2022

Is Apple blocking Spotify’s growth plan?

“You can’t buy audiobooks in the app. We know, it’s not ideal.” That’s the lone, blunt message Spotify now shows to anyone trying to buy...
Jacob Cohen • October 27, 2022

Should the NBA go all-in on streaming?

The NBA is arguably more popular than ever, with viewership up 19% last season. With TV rights up for renewal in 2025, the league faces...
Samir Javer • October 26, 2022

Who will win the audiobook wars?

Today, audiobooks make up just ~$9B of the $140B global book industry. By 2030, that segment is forecasted to reach $35B+, and with so much...
Samir Javer • October 10, 2022

Streaming mergers are coming

With 200+ streaming services all charging an individual subscription price, consolidation was always inevitable. And a string of recent announcements suggests it’s starting to …
Rob Litterst • October 10, 2022

Why do younger generations love subtitles?

Audio transcription tools have traditionally served two purposes: Subtitles help viewers understand audio that’s spoken in a foreign language. Closed captions help people with …
Rob Litterst • September 20, 2022

Why YouTube’s best weapon is its library

The streaming wars often feel like an arms race. In 2021, Disney+, Netflix, and Amazon spent a combined $55B to enrich their content libraries, which...
Rob Litterst • September 15, 2022

‘Coolhunters,’ explained

We’ve all got that friend who sends us the latest, greatest TikToks, right? Well, YouTube once had a collective of those types known as “coolhunters,”...
Juliet Bennett Rylah • September 9, 2022

Bezos’ $715m gamble on The Lord of the Rings

As a teen, a summer after working as a McDonald’s fry cook, Jeff Bezos organized an educational camp. Part of the program required reading, and...
Jacob Cohen • September 1, 2022

YouTube = future podcast champ?

YouTube, just like all your friends during the pandemic, is getting into podcasts. A new podcasts homepage is now available to US users, going live...
Juliet Bennett Rylah • August 26, 2022

Are we going back to the cable days?

Streaming was supposed to free consumers from cable’s woes — high monthly prices, tons of ads, and unnecessary programming. But recent developments at the biggest...
Rob Litterst • August 22, 2022

Should streamers get spoooooky?

Prey — a Predator reboot in which a Comanche woman battles the alien hunter — became Hulu’s most-viewed premiere this weekend. (According to many...
Juliet Bennett Rylah • August 11, 2022

Digits: A big lawsuit, Montana supercars, and more

1) A Texas jury ordered telecommunications giant Charter Spectrum to pay $7B in punitive damages to the relatives of an 83-year-old woman murdered by...
Jacob Cohen • August 1, 2022

Where does all our time go?

If you’re between 35 and 44 and feel like you have no time to yourself — it’s ‘cause you don’t. A recent study from the...
Rob Litterst • July 28, 2022

Lofi Girl vs. YouTube’s copyright problem

Lofi Girl streams the chillest beats, but some very unchill YouTube drama exposed an ongoing copyright issue on the platform. Lofi Girl is a 24/7...
Juliet Bennett Rylah • July 19, 2022

Why Spotify bought a music trivia game

Imitation is the highest form of flattery and, sometimes, it’s lucrative. Spotify acquired Heardle, an online game that challenges players to guess a song in...
Juliet Bennett Rylah • July 13, 2022

Digits: Star Wars, TikTok, and 750m slim cans

1) Star Wars fans, take note — a stormtrooper helmet worn in the original 1977 film will hit the auction block this month. If...
Rob Litterst • July 11, 2022

Digits: The CIA’s gym, anonymous donors, and more

1) The CIA headquarters got a new gym that may have cost an estimated $15m-$25m. The “Langley Field House” was built on a parking...
Jacob Cohen • June 27, 2022

Digits: 15-minute delivery, Lightyear, and teacher shortages

1) The economics behind 15-minute deliveries are bad. Jokr, which raised $430m in venture capital, is now shutting down US operations. Internal data shows...
Jacob Cohen • June 21, 2022

Disney+ has a looming subscriber problem

Disney+ has enjoyed positive optics over the last year as it’s continued to narrow its subscriber gap with Netflix. However, not all Disney+ subscribers signed...
Rob Litterst • June 14, 2022

Is Netflix about to buy a product it spun off in 2007?

Yesterday, rumors flew of an impending Netflix acquisition of Roku. Roku’s ad business made $647m in Q1 revenue, and it’s looking cheap with the stock...
Jacob Cohen • June 9, 2022

The ‘Yellowstone’ housing crisis, explained

“Leverage is knowing that if someone had all the money in the world, this is what they’d buy,” professes John Dutton, the Montana mega-rancher...
Jacob Cohen • June 8, 2022

Can Paramount+ survive the streaming wars?

So many players have entered the streaming wars that cable looks good again. Conventional wisdom says only a few streamers will make it out alive...
Rob Litterst • June 3, 2022

Dick Wolf, the producer who owns prime time

While network TV has taken a backseat to streaming in recent years, one man is proving there is still money to be made. In 2020,...
Rob Litterst • May 23, 2022

Disney will beat Netflix, but it has a problem

Netflix lost 200k subs last quarter and says it’s gonna lose 2m more in Q2. Disney, despite admitting that growth could slow, just added 7.9m...
Jacob Cohen • May 16, 2022

YouTube’s growth struggles to load

Google’s Search and Cloud businesses may be loading at lightning speed, but YouTube’s is buffering. YouTube was the weakest link in Alphabet’s earnings report this...
Jacob Cohen • April 28, 2022

Digits: ‘Stranger Things,’ cremation, and saltier salt

1) The 4th season of Netflix’s “Stranger Things” has a per-episode cost of $30m. Hopefully they can make up for that with a lower-budget,...
Jacob Cohen • April 25, 2022

The economics of Netflix’s buttons

On Monday, Netflix released a “Two Thumbs Up” button — allowing users to indicate when they really like something — after nearly a year...
Jacob Cohen • April 14, 2022

Should Netflix sell ads?

Raise your hand if you subscribed to Netflix for DVD rentals. Anyone? Netflix’s infamous subscription model differentiated it from Blockbuster — may it rest in...
Rob Litterst • April 6, 2022

Join 2M+ professionals getting the Hustle daily news brief

[email-submission-form button-text="Join Free" include-trends-opt-in="true" success-url="https://thehustle.co/new-thank-you-v2/" 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'); Array.prototype.forEach.call(wrappingDivs,wrappingDiv => { var sp = new URLSearchParams(window.location.search); 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; error.style = ''; } }); 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'; captchaVersion.name = 'g-recaptcha-response-v2'; captchaVersion.value = 'true'; subForm.appendChild(captchaVersion); var captchaEl = document.createElement('div'); captchaEl.id = 'verify-your-humanity'; subForm.prepend(captchaEl); var captchaApiScriptEl = document.createElement('script'); captchaApiScriptEl.src = 'https://www.recaptcha.net/recaptcha/api.js?onload=onloadCallback&render=explicit'; captchaApiScriptEl.async = true; captchaApiScriptEl.defer = true; document.head.appendChild(captchaApiScriptEl); } window.addEventListener('DOMContentLoaded', (event) => { initForm(); }); if(typeof hp_interval == 'undefined') { var hp_interval = 0; var hp_ts = 0; var hp_try = 0; jQuery(document).ready(function ($) { hp_interval = setInterval(function(){ $('input.hp_ts').val(hp_ts); hp_ts += 1; if(hp_ts >= 180) { clearInterval(hp_interval); } },1000); $('.email-submission:not(.prevent-default)').submit(function (e) { var form = $(this); if(hp_ts < 3 && hp_try < 1) { e.preventDefault(); if (form.find('.email-form-submit-message').length < 1) { form.find('.email-form-wrap').after('<p class="email-form-submit-message" style="padding: 0em 1.5em;">Too fast! Are you a human? Try again please.</p>'); } hp_try += 1; hp_ts = 0; $('input.hp_try').val(hp_try); } }); }); } </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="https://cms.thehustle.co/api/v1/contacts/wordpress_create" 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-ip-country-wordpress hidden-input" type="hidden" name="ip_country_wordpress" value="US"> <input class="funnel-submission-url hidden-input" type="hidden" name="submission_url" value="https://thehustle.co/tag/streaming-media/"> <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="https://thehustle.co/new-thank-you-v2/"> <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="http://www.w3.org/2000/svg"><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 type="hidden" name="hp_ts" class="hp_ts" value="0"> <input type="hidden" name="hp_try" class="hp_try" value="0"> <input type="text" name="first_name" placeholder="Enter your name" value=""> <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="form-options" style="display:none"> <div class="form-options-wrap"> <div class="trends-opt-in"> <input id="trends_opt_in_email_submission" class="trends-opt-in-checkbox" type="checkbox" name="trends_opt_in"> <label for="trends_opt_in_email_submission" id="trends_opt_in_label" class="trends-opt-in-text">Yes, I’d like to receive additional marketing emails on hot business opportunities from Trends, by the Hustle.</label> </div> <div class="privacy-text"> <p>We're committed to your privacy. The Hustle uses the information you provide to contact you about our relevant content and services. You may unsubscribe from these communications at any time. For more information, check out our <a href="https://thehustle.co/privacy">Privacy Policy</a>.</p> </div> </div> </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>