The short answer is that there may well be overlap in interests, which is manifesting itself into an overlap of roles. More likely it is a miscommunication about the order of delivery of products.
Now for the longer answer.
There are a few different buckets of stakeholders. Depending on who you talk to the number and labels for the buckets varies, but generally speaking you have:
- Customers/End Users. This includes whoever will take a product and use them operationally.
- Producers. This includes whoever actually makes a product (software, document, etc) for delivery to the customer.
- Interested Third Parties. This is a catch-all and includes those that support and oppose the project for one reason or another but don't fit into the other buckets.
A key thing to remember is that particular people/organizations/entities can shift between buckets as a project progresses, and there will almost always be more than one in a given bucket at a given time... and depending on the context one person could be in more than one bucket at the same time.
In your case, the UI designer sees himself as being in the "Customer" bucket, expecting to receive a program flow prior to developing the UI. You see him as being a "Producer", delivering you requirements, presumably so that you can work out the program flow.
I think what you need to do is sit down and work through your product flow. This is similar to a work flow, but documents which products are needed to develop other products. To do this:
- Develop a product break-down structure (PBS) to define all the pieces that go into the product(s) that your project will generate.
- Determine which components of the PBS are necessary to produce other components.
- Document these in a flow diagram to help visualize the relationships.
Once you have the product flow together it should be relatively straight-forward to figure out who is a customer and who is a producer for each deliverable. This will help avoid misunderstandings.