Embedded systems contain two main elements: the embedded system hardware and embedded system software. The hardware contains a microprocessor, memory, input/output interfaces, and a display. The embedded system software is written to perform a particular task and is typically stored in firmware on a chip. When developing mobile applications, architects must consider constraints like screen size and storage, choose an appropriate architecture based on factors like available connectivity and user interface needs, and implement effective user interfaces and navigation.