What exactly is the difference? I've always seen those used as synonyms (I thought?)
What exactly is the difference? I've always seen those used as synonyms (I thought?)
"When I press this button, nothing happens for five seconds and then it displays the results." Bad UX. Probably partly the UI (if something might take a while, the UI should at least show some sign that something is happening, preferably in a way that gives some clue how long you're likely to be waiting). Probably partly not the UI (maybe the reason it's five seconds rather than 0.1 seconds is that the internals of the program are doing something time-consuming; maybe that's unavoidable, maybe a better algorithm would fix it. Or maybe it's waiting for a server somewhere else, and maybe smarter cacheing would help. All of that is UX, none of it is UI.)
"When I open the app, the first thing I see every time is an annoying popup inviting me to buy the premium version. I have to close it every time." Bad UX, at least from the user's point of view (it might be exactly the experience the business folks want users to have). I suppose the popup is part of the user interface, but the actual problem here is a business decision (advertise at users in the hope that they will be convinced and/or pay just to make the advertisement go away) that's contrary to users' interests. The best UI designers and implementers in the world won't change this.
"This thing is incredibly confusing to use". Bad UX. Might be the result of bad UI (e.g., no one has thought through how the menus should be organized). Might be because the underlying software is designed in a way that doesn't fit this user's brain, and changing this would need deep changes to the insides and not just UI changes.
The latter is a superset of the former.
For example, imagine you're designing about an online account creation flow.
The UX design would be deciding to identify people using email address, and then giving them the option of setting a password or logging in with a magic link to an email address[1].
UI would be about how you present that on screen. What is the layout? How do you make the two different choices clear, how do you indicate an invalid email address etc.
[1] Obviously there are other considerations here than UX such as security, but we're just talking about UX
Other parts of UX are latency, bugs, performance...
A user interface needn't be all visual (e.g., in a device with physical buttons, the buttons are part of the UI).
Some visual things might not be best thought of as part of the UI (e.g., if you have a piece of software for making publication-quality graphs, and when you ask it to plot a smooth curve through some points it does a lousy job of picking the smooth curve you actually wanted, arguably that's a visual matter but it isn't really part of the user interface, it's about the algorithms underneath).
A 2-3 person team might have frontend/UI/UX being the single 'frontend developer'
A 5-7 person team might have one or more frontend people and one UI/UX person living in Adobe suite all day
Maybe the 7 person team is receiving storyboards from a parent team where all the UX work was done centrall across several 5-7 person teams.
etc etc etc