Wouldn't it be nice if you could change the appearance of your application without altering its functionality? Many companies spend lots of money and time to design user interfaces (UIs). Often companies will mock up several designs before deciding how their UI should look and behave. Depending on the scope, many companies also build UIs that support different screen dimensions. Typically, tablets, smart phones, TVs, and desktops are among the main challenges UI designers face.