惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

K
Kaspersky official blog
云风的 BLOG
云风的 BLOG
IT之家
IT之家
T
The Blog of Author Tim Ferriss
C
Check Point Blog
N
Netflix TechBlog - Medium
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
G
Google Developers Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
F
Fortinet All Blogs
D
DataBreaches.Net
The Register - Security
The Register - Security
L
LINUX DO - 最新话题
W
WeLiveSecurity
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
V2EX - 技术
V2EX - 技术
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
小众软件
小众软件
F
Full Disclosure
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
I
InfoQ
S
Secure Thoughts
TaoSecurity Blog
TaoSecurity Blog
MyScale Blog
MyScale Blog
AI
AI
Recent Announcements
Recent Announcements
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hugging Face - Blog
Hugging Face - Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
Vulnerabilities – Threatpost
NISL@THU
NISL@THU
SecWiki News
SecWiki News
Cisco Talos Blog
Cisco Talos Blog
H
Heimdal Security Blog
Y
Y Combinator Blog
N
News | PayPal Newsroom
P
Privacy International News Feed
美团技术团队
Attack and Defense Labs
Attack and Defense Labs
D
Docker
PCI Perspectives
PCI Perspectives
Webroot Blog
Webroot Blog
A
About on SuperTechFans
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
MongoDB | Blog
MongoDB | Blog
T
Threat Research - Cisco Blogs

Dropbox Tech Blog

How our universal content processing platform Riviera evolved for AI and beyond How we used DSPy to turn AI evaluations into better responses in Dash chat How Dropbox uses MCP and Dash to close the design-to-code security gap Beyond code generation: rethinking engineering productivity in the age of AI agents Introducing Nova, our internal platform for coding agents Improving storage efficiency in Magic Pocket, our immutable blob store Reducing our monorepo size to improve developer velocity How we optimized Dash's relevance judge with DSPy Using LLMs to amplify human labeling and improve Dash search relevance How low-bit inference enables efficient AI Insights from our executive roundtable on AI and engineering productivity Engineering VP Josh Clemm on how we use knowledge graphs, MCP, and DSPy in Dash Inside the feature store powering real-time AI in Dropbox Dash Building the future: highlights from Dropbox’s 2025 summer intern class Fighting the forces of clock skew when syncing password payloads Introducing Focus, a new open source Gradle plugin Making camera uploads for Android faster and more reliable How Dropbox Replay keeps everyone in sync Why we built a custom Rust library for Capture Detecting memory leaks in Android applications How we sped up Dropbox Android app startup by 30% Why we chose Apache Superset as our data exploration platform Revamping the Android testing pipeline at Dropbox Our counterintuitive fix for Android path normalization JQuery to React: How we rewrote the HelloSign Editor How we ensure credible analytics on Dropbox mobile apps Engineering Dropbox Transfer: Making simple even simpler Speeding up a Git monorepo at Dropbox with <200 lines of code Building for reliability at HelloSign Store grand re-opening: loading Android data with coroutines Modernizing our Android build system: Part I, the planning Modernizing our Android build system: Part II, the execution Our journey to type checking 4 million lines of Python The (not so) hidden cost of sharing code between iOS and Android Redux with Code-Splitting and Type Checking The Programmer Mindset: Main Debug Loop On working with designers Incrementally migrating over one million lines of code from Python 2 to Python 3 Crash reporting in desktop Python applications What we learned at our first JS Guild Summit How we rolled out one of the largest Python 3 migrations ever Dropbox Paper: Emojis and Exformation Creating a culture of accessibility Adding IPv6 connectivity support to the Dropbox desktop client Accelerating Iteration Velocity on Dropbox’s Desktop Client, Part 2 Accelerating Iteration Velocity on Dropbox’s Desktop Client, Part 1 DropboxMacUpdate: Making automatic updates on macOS safer and more reliable Annotations on Document Previews Open Sourcing Pytest Tools Open Sourcing Zulip – a Dropbox Hack Week Project Building Carousel, Part III: Drawing Images on Screen The Tech Behind Dropbox’s New User Experience on Mobile (Part 2) Building Carousel, Part II: Speeding Up the Data Model Building Carousel, Part I: How we made our networked mobile app feel fast and local Scaling MongoDB at Mailbox Welcome Guido! Dropbox dives into CoffeeScript Some love for JavaScript applications Plop: Low-overhead profiling for Python Using the Dropbox API from Haskell A Python Optimization Anecdote Translating Dropbox
Building Dropbox’s New User Experience for Mobile, Part 1
Kat · 2014-08-13 · via Dropbox Tech Blog

At Dropbox, we treat growth as an integral part of the product experience. We look at major holes in user experience that slow growth, and we try to be creative in addressing the big picture, rather than trying to “growth hack.” We look for solutions that enable users to experience the full value of Dropbox.

Dropbox has always been about accessing your stuff anywhere. Back when Dropbox launched six years ago, that meant installing Dropbox on your desktop and then accessing photos and docs on the web or on a smartphone, for some. Our smartphone apps were a way of helping users who already had Dropbox on their desktop view docs on the go, and they were designed as such. When users signed up on mobile devices, our apps assumed they already knew what Dropbox was and how to use it.

On the growth team, we realized that we needed to redesign our mobile apps for a mobile-first world. We needed an experience that could get users up and running from their phones, even if they'd never touched Dropbox before.

We spent a few months designing an end-to-end experience to educate and activate mobile users. After brainstorming sessions, prototypes, user studies, and A/B tests, we arrived at a new user experience that we think is simple and delightful. In this article, I’ll talk about the vision we had for new users to easily get started on Dropbox. Stay tuned for a blog post with more detail on the technical stack to power the new flows.

The first barrier for many of our mobile-first users was simply having no idea what Dropbox is all about. Maybe that user’s phone already had Dropbox pre-installed, or their friend told them they should download it. Users opened the app with no idea about what it did, and all they saw was an account creation screen. That experience made sense for the old world where almost all users who opened the mobile app already had a Dropbox account on their desktop, but it doesn’t make sense today. We wanted to fix that.

We landed on adding an introductory flow for new users before they create an account. Our ideas ranged from elaborate (an animated story showing a user taking a photo on her mobile device, the photo syncing automatically to her Dropbox, a bird swooping in and grabbing the device away, and then the user realizing that her photo was safe forever in Dropbox) to simple (a one-page list of how Dropbox was useful). The design that won was a simple, interactive flow with fun animations that succinctly conveyed the value proposition of Dropbox without too much distraction.

We experimented with putting the intro flow before and after login. Even though it takes longer to get to the initial account creation stage, the percentage of users who logged in or created an account and the engagement of those users was higher with the tour before login. In this case, giving the users more information is better than getting them to log in as quickly as possible.

We then designed a step-by-step flow that activated users by guiding them through a two-way sync. After completing the flow, users will have synced files from their phone to their desktop and back from the desktop to the phone. By backing up photos, files go from their phone to their computer. By installing the desktop client and adding a file from their computer, users can now see their files on their phone too. The two-way sync gives users a much deeper understanding of how Dropbox works.

Importantly, each step in the checklist is clickable and guides users to complete the task. For instance, clicking on “upload a photo” will do something different based on the user’s state. If the user doesn’t have Camera Upload on, it will show a dialog that allows them to turn on camera upload. If Camera Upload is on but their wifi is off, it will take them to their wifi settings. By carefully guiding the user through each of these steps, we made sure nobody would quit out of frustration or confusion.

At the “Install Dropbox on your computer” step, we ran into a roadblock with our goal of carefully guiding users through each step. It’s hard to hold a user’s hand when they venture into the world of their desktop. There are a lot of potential places where they could get lost. They could fail to find the download link, they could wander off while our ~40MB installer (it includes the Python runtime) is downloading and never return, they could open Dropbox but then forget their password, etc. We eventually came up with a flow that takes users from the mobile app to the signed-in desktop app with very little risk of attrition.

Using a personalized QR code, the desktop connect flow allows users to securely log in to the website without typing in credentials and initiates an installer download. The “meta-installer” downloads almost instantly because of its small file size. When launched, it sets up permissions for Dropbox and then starts downloading the full installer and completes installation automatically.

When Dropbox is fully installed, the server, the browser, and the desktop client work together to validate the client and allow it to safely log the user in without requiring the user to enter their email and password again.

By the end of this flow, the user has a fully functioning, logged in, and ready-to-use desktop version of Dropbox up and running, and they never had to enter in their email address and password. This eliminates the possibility of a user mistakenly using a different email address or forgetting their password.

The onboarding flow described above goes a long way in helping new users set up Dropbox on their computers, but there are some more interesting challenges left to solve that would help more users get started. For instance, it would be great to help users get the most important documents and photos from their computer into Dropbox automatically. Our experiments showed that users are much less likely to complete the last step of the Get Started flow: adding files to their Dropbox. If we help users more with this step, we could likely increase that number.

The introductory flow and the desktop connect flow are both shipped on Android and iOS. The Get Started flow is still in its experimentation phase on Android. We think we have solved some fun design, product, and engineering challenges in making simple user experiences, but there’s still a lot left to do. If you're into engineering delightful experiences for users, we're hiring!