When choosing the NFC device for a new design, the system architect must consider many parameters. Usually a strong focus is put on hardware specific aspects like the environment, possible antenna size, performance and interface. To avoid unpleasant surprises during software implementation phase, software has to be taken into account as well from the beginning. Different NFC IC categories (NFC Frontends, NFC Controller, Connected Tag) have different strengths, depending on the software environment. The way how highly integrated operating systems like Linux are structured brings both new challenges and advantages. This session examines the considerations necessary when designing in NFC in different operating systems or "bare metal" systems. It also discusses the advantages and disadvantages of the different device categories in dependence of the designated environment.