Optimizing Video Upload Experience for Bilibili Overseas Creators: Product and Technical Improvements
Bilibili’s Q4 2022 initiative overhauled the overseas video upload flow by defining new metrics, adding progress indicators, shrinking chunk size, enabling multi‑threaded and resumable uploads with background support, which boosted submission conversion by up to 10 % and cut failure rates from 4 % to 1 %.
In Bilibili's overseas market, video upload is a core creator function, directly affecting creator loyalty and satisfaction. In Q3 2022, offline interviews revealed that over 50% of creators were dissatisfied with the upload experience, citing slow upload speed and long‑lasting progress stalls.
To improve upload success rates, a dedicated Q4 2022 initiative was launched. The team first identified three main challenges: lack of quantitative data for pinpointing problems, unstable network and device environments in Southeast Asia, and limited manpower for balancing business and technical demands.
1. Metric Establishment
Two upload modes were defined – “non‑pre‑upload” and “pre‑upload” – and corresponding metrics (cancellation rate, failure rate, success rate, unknown‑result rate, and submission conversion rate) were created to monitor performance.
2. Product‑Side Optimizations
Data analysis highlighted two product focus areas: enhancing users’ perception of upload progress and improving the experience when uploads are interrupted.
2.1 Strengthening Progress Perception
Redirected users to the video management list after publishing and displayed an uploading indicator.
Improved status display in the video management list.
Added a global upload progress floating window.
Integrated a progress bar into Android system notifications.
2.2 Optimizing Interruption Experience
When network anomalies are detected, the upload page, video list, and floating window all show a network‑error flag and automatically resume once the network recovers.
Implemented automatic re‑upload after app cold‑start for videos that were interrupted.
3. Technical Analysis
The technical investigation uncovered several root causes:
Chunk size was too large (10 MB), causing timeouts on weak networks.
iOS used single‑threaded chunk uploads, missing multi‑thread benefits.
Android progress updates were coarse (every 400 KB), leading to jerky progress bars.
No resumable upload capability; failures required full re‑upload.
Lack of background upload support on both iOS (no background task) and Android (no service‑level upload).
3.1 Prioritization (2/8 Principle)
Fix chunk‑size issue.
Optimize upload strategies (Android progress, iOS multi‑thread).
Develop missing features: resumable upload and background upload.
3.2 Solution Overview
Chunk Adjustment : Reduced chunk size to 5 MB for overseas networks.
Multi‑Threaded Upload : Replaced iOS single‑thread strategy with concurrent uploads configurable via the pre‑upload API; Android selects the minimum between device capability and system resources.
Progress Update Strategy : Android now updates progress every 200 KB; iOS aggregates each packet into a progress pool and reads the pool once per second.
Resumable & Task Continuation : Implemented local storage of task metadata, enabling automatic resume after app backgrounding or termination.
Chunk Retry & Multi‑Node : Added automatic retry for failed chunks, with fallback to multiple upload nodes; if all nodes fail, the task is marked failed.
Background Upload : Android uses a foreground service to keep upload tasks alive when the app is backgrounded.
4. UpOS Upload Component
The UpOS SDK, built on Bilibili’s object storage system, provides multi‑chunk concurrent upload, resumable upload, background upload, retry policies, network monitoring, smooth progress handling, and analytics tracking. The component is abstracted to support any file type and is shared across mobile platforms.
Integration was achieved via Maven for Android and as a sub‑module for iOS, isolating the component from business code and simplifying maintenance.
5. Results & Outlook
Submission conversion rate increased by ~8% (old users +6.23%, new users +10.4%).
Upload failure rate dropped from ~4% to ~1%.
Established long‑term observable upload metrics for rapid issue detection.
The initiative saved roughly 35 person‑days and demonstrated the value of a platform‑centric component approach. Ongoing work focuses on further unifying infrastructure between overseas and domestic teams.
Bilibili Tech
Provides introductions and tutorials on Bilibili-related technologies.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.