This is the second book of the same author on the topic of smart cards that I had to read. The first was Smart Card Handbook. You have to give it to Mr. Rankl, he appears to have first-hand inside-out knowledge of building smart cards solutions.This book covers smart card applications in "smart card-centric" manner. It explains how the smart cards work, how their file system works, what kind of objects are in there and how to manage them.Is this knowledge useful for a software practitioner ? Generally, yes. But it's mostly valuable if you develop embedded applications i.e. JAVA applets to be downloaded to smart cards or even smart card OS modules. As you can see, embedded application developer thinks "from inside" the card. For an embedded application smart card is the real environment, smart card OS is the real OS and its files are the real files. And you don't need any APIs. Understanding smart card internals is all that is needed.This is not the case with me. As a security application developer, I treat smart card as an external opaque cryptographic device. I'm more concerned about externally observable behaviour of smart cards, APIs to access them, differences and compatibility issues etc. The book gives nothing of the sort. At most, it gives pieces of PCSC-like API. No PKCS#11, no cryptography at all. No hands-on information for a programmer who thinks "from outside" the card.The book also describes smart card usage patterns, examples, security threats, explains how to deploy smart card solutions in the field and what kind of problems to expect. This provides an interesting reading for a software developer, but again, only in perspective. This book may affect your high-level design decisions or deployment models, but it doesn't help much with programming smart cards.A useful heads up for software developer.