File import UX: take people from a source to a usable item
Ten recorded import screens show source choices, native pickers, selected-file settings and processing states, with practical recovery and accessibility checks.
Import is a sequence of promises: the app can accept this source, read the selected file, process it if necessary, and produce an item the user can find again. A system picker covers only one step. A successful-looking selection is not the same thing as a completed upload or a usable note.
Design the flow around the person’s source and intended result. An audio recording, copied text, a PDF and a website URL need different validation and progress messages. They can share an import entry point without pretending they are the same kind of input. The interface should explain what is accepted before the person commits time to choosing it.
The ten recorded screens below show import menus, source pickers, file details and processing states. They establish visible choices, not a product’s complete format support or data-retention policy. In particular, a file appearing in a native picker does not prove the app can process it. Treat that distinction as part of your import specification.
Choose a source without making users translate their task
Owll offers Audio, Document and YouTube upload routes from a Files view. SpeakApp names audio, video, YouTube, PDF, Word and text, with additional suggestions for finding recordings in Files, Voice Memos or messengers. The menus help people connect material they already have to an available import path.
Use recognizable source names and explain the expected output where needed. Import audio to a note is clearer than a generic Upload action if transcription is the next step. Do not mix a file type with an account connection as though both require the same permission. Opening a picker, connecting a drive and pasting a link are separate tasks.
Keep the menu short enough to scan, but do not hide essential compatibility in a help page. If several formats share one document route, list the supported ones near that choice. If a source is not supported, say so before a failed processing attempt. Cancelling source selection should return to the existing workspace without erasing a draft or creating an empty imported item.


Let people inspect the input before processing
Gemini’s notebook source surface groups PDFs, audio, images, websites, YouTube, copied text and drive sources. AI Note Taker’s PDF/Text Note screen shows a selected document, accepted-format copy, a folder choice and language before Take Note. The latter makes a useful staging moment visible after source selection.
Show the filename or source title, type and any settings that affect processing. Language, destination folder and output mode should be editable before a costly operation when they influence the result. Keep the selected file identifiable while those settings change. Avoid replacing its name with a generic Ready label that forces the user to remember what was chosen.
A staging screen should distinguish validation from processing. File selected means an input is present, not that the file is readable or within limits. Check size, empty content and format early where possible. If an additional setting is required, explain it beside the control and keep the file attached. Do not force a second picker trip just because validation found a missing choice.


Keep ongoing work separate from completed imports
CraftNote shows an upload menu while an existing item is Processing, with a rough time estimate and notification wording. Wave’s import view includes an existing recording with a filename, timestamp and duration alongside a file-import route. These surfaces allow new work without hiding the items already underway or available.
An import should receive a stable item or job identity when accepted. That identity lets the user leave the screen and find the work again. A temporary row can show the source name and current phase, but should not be styled as a finished note if opening it will only reveal a spinner. Distinguish accepted, processing, failed and ready states.
Offer cancellation only with an accurate consequence. Cancelling a transfer may remove its incomplete asset; dismissing the upload menu may leave processing running. If notification permission is absent, do not make a notification the only way to locate completion. The persistent list remains the primary source of truth for ongoing and finished imports.


Do not mistake picker visibility for supported input
Evernote’s recorded native picker contains recent audio, PDF and KML entries. Noteflow shows a native browsing surface with iCloud, device and shared locations. These screens demonstrate where the person can look for a file, not which files the receiving app can process successfully.
Apply supported-type filters where the platform permits, then validate again after selection. File extensions alone are not a reliable processing contract. Handle inaccessible providers, placeholder files that need downloading and documents with no readable content. A selected filename should remain visible in an error so the user knows which input needs attention.
Preserve context when the picker is cancelled or unavailable. The user should return to the same folder or draft in your app, not an unrelated home screen. Explain permissions precisely and request only what the selected source needs. Do not claim that a native picker grants continuing access to every file in a provider; implement and test the actual access lifecycle.


Name downloading, uploading and converting separately
Listening shows an upload route for PDF, URL and email with an item at 30% converted. Another recorded state names Downloading. The wording identifies different work: fetching a source is not the same as converting it into a usable listening item.
Map progress to the phase the system can actually measure. Transfer percentage can follow bytes, while conversion might follow processed pages or a service-defined unit. If the duration is unknown, use an honest indeterminate state rather than an invented percentage. A conversion at 100% may still need final storage; keep completion tied to a usable output.
Make failures phase-specific. A source could be inaccessible, an upload could fail, or a conversion could reject the content. Give the next action that fits: choose another source, retry transfer or adjust input. Keep completed phases when safe so retry does not unnecessarily upload the same large file. Never display a generic Import failed message that conceals what the user can recover.


Keep the source, job and resulting item distinct
Store source metadata, local access state, transfer identity, processing identity and destination item separately. A processing job should reference the selected input snapshot. Renaming a note later should not change which source was processed. Use stable identifiers to reconcile the list after a restart or a delayed response.
Deduplicate accidental repeated submissions, but let people deliberately import another version. When processing requires a network service, define what is retained and for how long, and make user-facing explanations match that policy. The recorded screens do not establish privacy or retention behavior, so those promises must come from your own verified implementation.
Plan for encrypted PDFs, corrupt audio, empty text, unsupported links, provider access loss and large files. Preserve editable settings and the source identity after a failure. For long jobs, allow the app to leave the screen without losing the request. Accessibility labels should identify filenames, current phases and retry controls rather than reading a series of identical Upload buttons.
Verify that the imported item can actually be used
Test a file selected from local storage, a cloud provider that must fetch it, and a source that becomes unavailable. Interrupt transfer and processing separately. Restart the app and confirm that the job and its latest state can be found. A completed import should open its intended output without requiring the original picker to be reopened.
Measure successful usable outputs, source-validation failures, stalled jobs and recovery success. A picker selection is not an import completion. Segment errors by source and phase so the team can identify whether compatibility, transfer or processing is causing friction. Keep the time to usable output separate from the time spent choosing a file.
Ask participants to import a known document into a chosen folder, change a setting before processing and recover a failed import. Check whether they can identify the exact source and understand the current state. Test long filenames, large text and multiple concurrent jobs. The flow works when people can follow their material all the way to the resulting item.
Follow the file through every boundary
Use these checks on a working build, not only on the polished reference state.
- Are accepted source types and expected outputs clear before selection?
- Can the person inspect the chosen filename and settings before processing?
- Does cancelling the picker preserve the surrounding draft and workspace?
- Are transfer, conversion and final readiness separate truthful states?
- Can incomplete jobs be found after leaving or restarting the app?
- Do retries preserve completed phases and avoid accidental duplicates?
- Are format, permission and provider failures recoverable with the source still identifiable?
Questions and answers
Questions worth resolving before shipping
Does a native file picker mean every visible file is supported?
No. It shows accessible source candidates. Filter supported types where possible and validate the selected input before processing. Explain unsupported or unreadable material without losing the surrounding draft.
When should an imported item appear in the list?
It can appear after the job is accepted, provided its temporary state is clear. Show the source name and phase, and do not imply the output is usable until processing and final storage are complete.
Should retry start the entire import again?
Only when necessary. Keep completed phases where safe, verify that the source still matches the job, and avoid charging or uploading twice because a later conversion or final save failed.
2,805 apps in the top charts.Ask them anything.
Compare complete import journeys with ScreensDesign Pro, from the source menu and native picker to processing feedback and the finished item.