Even low to mid-end applications may get complex. In addition, ease of implementation of applications is limited by the simplicity of the solutions that are used as building blocks. If the embedded solution is designed well enough, it does serve its purpose and if it is simple enough by design, implementing even complex applications becomes much easier.
Again, real embedded devices can serve their purpose by themselves i.e., they are on their own misson and come with everything required to accomplish it. If they fail, the application suffers from that and the designer must integrate additional components. This results in higher costs. It is therefore mandatory that the set of an embedded solution's functions is complete.
Additionally, embedded solutions usually encapsulate complex building blocks that is, the solution is like a black box. Under optimal circumstances, implementors do not have to worry about its inner structure or concepts. If the solution is too difficult to master, though, its integration into the application gets sophisticated. This results in long and complex learning processes implementors must walk through and thus in a prolonged application development time again, resulting in higher costs. It is therefore important - if not mandatory - that the embedded solution's design is kept simple and guarantees ease of use.
Completeness of the embedded solution's function set and simplicity of its design are our very base engineering guidelines. By the by, simple designs are more reliable - an advantage coming free.
You need more information? Feel free to contact us!