I'm re-designing a web wizard that lets an user to import a table through a CSV file.

The current steps are:

  1. file upload: the user upload a CSV file from the local file system.
  2. metada: the user fills information about the table like name, author, rights and so on.
  3. header definition: the user defines the table header. (i.e. Tell the wizard if they come from the CSV file or he edits it).
  4. summary: shows all the information edited by the user.
  5. done: shows a "done" message and ask to the user if he wants to import another table or go back to the main application.

I want to insert the import task between steps 4 and 5, maybe adding new steps.

The import task runs on the server side. The task is about parsing the CSV file and import it in the system. The task time depends on the CSV file dimensione, can be immediate or require some seconds. When the task terminates it produce a result and a report about the import. Both the result and the report have to be visualized to the user in the wizard.

How can I add this import operation to the current flow?

I have in mind two solutions:

Solution 1: a new step between step 4 and 5. In the step 4 the user click the next button (re-labeled "save"). The new step shows an infinite progress bar and when the task is complete shows the result with the report. In this case I will remove the "done" step and call the new step "import".

Solution 2: mask on step 4 and report on step 5. In the step 4 when the user click next the step is masked with a infinite progress bar. When the task is complete the wizard go to step 5 where the result and the report will be visualized.

What you think is the best solution? Any other idea?

  • What do you mean under "export"? Converting uploaded file to CSV format? How much time does it takes? Is converting to CSV mandatory or arbitrary option? Also it is unclear what user does at every step in current flow. Jul 11, 2013 at 7:20
  • "Export"? do you mean import? I've edited the question trying to respond to your questions. Thanks for comment.
    – Fedy2
    Jul 11, 2013 at 7:44
  • Sorry, I meant import. Could the import task be executed before metadata and header definition are performed? Jul 11, 2013 at 8:13
  • No, can't be because the import task needs the header definition (plus other information).
    – Fedy2
    Jul 11, 2013 at 8:26

1 Answer 1


I'd choose solution 2. Each step requires some user activity. It means user performs some actions and goes to next step.

In solition 1 what you insert is not pure step it is rather transition between steps. User is not involved in process, he just passively observe progress. Also as this screen contains only progress bar, user could loose focus on task flow (as screen is free of context).

So solution 2 is more preferable. Besides if there are not so much metadata (step2), you could combine step2 and step 3. Too much steps could bring boring experience.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.