It's video based and delivers video really well. It rarely buffers or fails to load. Compare that to the Reddit video player or the Twitter video player or Vimeo. It's much better. Netflix loads poorly initially for me quite a bit (granted it's trying to load much higher quality).
How did they manage to get the engineering talent when seemingly FB, MS, Netflix, Amazon, Google are all fighting for that talent?
1. They only have a queue of videos. That means there is one video playing and they know exactly what the next N videos are going to be, so they can start buffering them early
2. The video plays are high intent. If you launch TikTok, you are 100% going to watch videos. This is not true for Reddit or Twitter, making it harder for them to preemptively buffer content or over-optimize their architecture just for video playback.
3. As you noted, the videos are lower quality and shorter than YouTube or Netflix videos. They also are exclusively optimized for mobile, so don’t need to worry about streaming videos larger than a phone screen.
4. Most videos in your feed might be a similar style. This one is a stretch but I wouldn’t be shocked if TikTok uses some ML to extrapolate highly compressed videos early in the buffer.
5. Depending on who you believe, ByteDance might have financial backing and motivations that make it easier to throw more money at this problem than its American competitors.
So it's not hard for me to guess how they do it...
(Yes, background data is now disabled for TikTok on my phone... I learned my lesson)
This is worthy of it's own question. Why is Reddit's player so uniquely bad? It's worse than any other video player on the entire internet.
If you compare this to YouTube, you can tell they've resorted their algorithm back to a more curated list of recommended videos. This blocks new content creators out and keeps the recommended list stale. You can also tell they've weighted videos with the highest ad revenue, so you're more likely to get frustrating long ads with vapid click bait style content. It's no wonder why YouTube lost the top spot of video sites, as they've put advertising ahead of content creators and viewers.
I've bought several products from TikTok ads. I usually never buy things based on online ads. Because their ads are skippable, and have to demonstrate their use instantly, they're very effective. Again, compared to YouTube, their ads tend to focus on long droning corporate agendas and visions. These don't make me want to use the platform.
Systems research people are not valued enough .. my understanding is a bunch (not sure about number) of ex-MSR folks went to ByteDance .. sizable pay bumps.
IIRC TikTok for a long time wasn't even using TLS encryption for client-server traffic, which is rare. Whoever is cutting corners like that is very focused on just making the thing work and fixing the issues later, which has its pros and cons. In a US big tech company, experienced devs would throw a fit over things like this and slow down the project to catch those details. I work with people like that. I'm guessing (as not a TikTok employee) that TikTok is more top-down, plus video is its main focus. Maybe they're preloading aggressively, user's battery and data plan be darned.
I think there were a few things for the business where tech was important:
- being good at serving/storing videos
- the recommendation engine. There are two parts, one is taking user preferences as a strong signal (not a tech decision) and another is recommendation algorithms which produce this effect (I think they’re rote a paper that suggested things about how this worked)
- being an app people wanted to use (weakly tech but mostly not)
I think a some of the explosive growth came from the app having been iterated on a bunch in China first so it seemed more polished when it reached the west. But I could be pretty wrong there.
To answer the question about engineering talent:
- Chinese people will go to the US, get great educations at US universities, some get denied work visas or otherwise choose to return to China. TikTok can employ them in a less competitive labour market and not fight companies like Google which don’t operate in China.
You find a video, with a song, that you vibe with. Now, click on the bottom right sound graphic and you can watch ALL the videos produced with that sound and vibe.
It is part of the core product!
So good it's hard to describe :)
Both seems to preload about 10 secs of next 4-5 videos.
I think here is the trick: if your recommendation gets sufficiently good, then user won't eagerly scrolling next just to get content they would actually watch, which makes serving less of noticeable problem. There is a feedback loop here.
On TikTok I rarely gets content that would skip at first sight, which speaks to strength of its algorithm.
Don't know about Reddit/Twitter, but Netflix's video is a whole different business overall, all the DRAM and stuff.
If you search arxiv.org for bytedance you can see some of the work they have published. I’m sure there is lots more they haven’t.
I suspect a lot of learnings from other products went into the product design of tik tok as well in terms of how to balance exploiting a users knon interests with showing them novel stuff, how to give anything the chance to go viral etc.
I also think that for the public feed, people so see similar videos based on demographic etc so there is a form of caching that is likely applied.
Videos are all small clips as well and they're being loaded from TikToks content servers. With reddit and twitter you are often watching a video linked from another website.
I agree, Reddits video player is garbage.
> How did they manage to get the engineering talent when seemingly FB, MS, Netflix, Amazon, Google are all fighting for that talent?
China is both a huge labor market along with the largest mobile phone market in the world. Add to that fact that the great firewall has created a parallel internet, it’s been fairly inevitable that China will end up with some tech giants. Even with all the money that American tech giants have, they are at a disadvantage when it comes to tapping the massive labor market and consumer market within China.
Note that the same thing is happening with EVs. In ten years, the auto market will have several dominant Chinese automakers a la what happened with Germany and Japan in the 70s and 80s.
amazon for example is services architecture. many frameworks and solutions built once for shopping/seller use case. now you want to join Y space? incentive to reuse tooling and framework that already exist. get to market quickly. sound like big advantage but the tools were built for problem X. with problem Y, we have hacks on top of hacks to fit square into circle.
“you want to build mobile apps? okay. we only know how to do services really.” so even how you build code or how to branch and release strategy missing or expertise is only in some specific business division who did everything so custom when they invent it first time that it not really work for you.
so if you observe you company like amazon try do 100 different things at once. sound good and impressive and stock grow. but 98 thing executed very poorly and not close to best in class experience.
this my exact experience at two different company.
once you get over these problem, then u focus on optimization. N second videos? Okay.. let’s preload them..let use lower resolution..let’s have warm cache of recommendations if you like this vide, meaning you watch it for greater than S second..let invest in custom recommendation pipeline with online and offline training to expand dataset of video recommendation so u eyes stay on a video longer while we preload next one.
because we smaller nimble build what we need now without politic of tech alignment across orgs and ownership territory battle going up to separate director or VPs.
this me experience and me sure there are other things too.
From what I can recall, TikTok was the first one to let you to swipe to watch/switch videos, so users can easily be stuck on it, no matter the short video's quality is good or bad, interesting or boring. Since one single swipe, you changed to another, the cost is very low for user even the video quality is not good.
Not everyone here speaks a common language, and if it is, it's almost certainly English. So documentation and communication is greatly simplified, smaller words, and a lot of conversing through code.
Let's compare two mature technologies between east and west, Google Maps vs Huawei Map SDK:
Google map quickstart: https://developers.google.com/maps/documentation/android-sdk...
Huawei map: https://developer.huawei.com/consumer/en/doc/development/HMS...
There's subtle differences here, but Google tends to use a lot more English words, and Huawei talks mostly in code.
System analysts are common, who act as living documentation. Basically people who you can always interrupt to ask questions. PM isn't sure if a feature is possible? Ask the analyst. Dev doesn't know the right endpoint or understand how something works? The analyst takes time to explain it to them. They generally don't hold the responsibility of development and during periods of low utilisation, they learn the architecture or do R&D.
In MMOs, they would be the tank, while the devs focus on being DPS.
So personally, I think the key is that they rely less on the skill of the individual, and focus heavily on teamwork. Also this is probably an analysis of Huawei more than ByteDance/TikTok, but I assume the culture is more similar.
If TikTok did this, 100% of it's users would be affected.
The average video on tiktok, at least for the webapp version, appears to be around 1 megabit (0.125 megabytes) per second when the h264 option is used, and only half of that rate when using ByteDance's 'own' (essentially hevc) format.
I would reckon nearly all internet users, even many mobile ones, have more than enough bandwidth (and low enough latency and loss) to stream many of these tiktok videos in real time simultaneously, let alone a single one at a time.
Tiktok's backend infrastructure may be impressive, but the same could be said for the other companies you listed such as Google.
Reddit is crap because of organizational history, and it's no a huge revenue-rich company, in a market with very high salaries.
TikTok has a a few magic ingredients, but 'dancing girls' as a starting point is one of them, the other is the learning algorithm. BTW I do not think that algorithm is magic - just good.
If you see how some Chinese companies have so many focused people and adapt so reactively to things, and they're backed by ample money.
TikTok is a Chinese company. The source code is mostly written in China. I'd say that TikTok is the Chinese equivalent of a FAANG company.
They get the talent because the fight is happening in the FAANG space, they are not there.
1. I thought flash was deprecated by the browser and
2. I thought the industry has moved onto HLS/Dash or stream via websockets for live streaming.
I'm sure if Reddit had government-level funding to burn, they'd also find some ways to improve their video player.
Engineering talent is historically mostly China based, and over there they can get Silicon Valley quality people for half the price and twice the working hours => order of magnitude engineering cost advantage over all the companies you mentioned.
The difference between TikTok and e.g. Reddit is that on TikTok the user wants some video, whereas on Reddit the user wants that video.
By hiring people in china? Not everyone wants to move to the US.
i definitely wouldn’t call this evidence that their tech is good though.
As they say, "Good artists copy, great artists steal"...
Being headquartered in a jurisdiction that doesn't care for intellectual property sure must be convenient.
And you probably haven’t seen other chinese apps like xiaolongshu - it's algorithms are amazing in showing you content of your interest. Ethically there may be some compromises across, but it does great things.
Americans are very proud of their "process". ... Americans love their processes. In their jobs they rarely express their creativity. Conversely, they expend a lot of energy and time adhering to their processes.
Maybe?