Starting from the smallest applet
Java Card information is not scarce, but it is scattered across PDF specifications, forum threads, and the READMEs of individual projects. What actually blocks a first attempt is usually very specific: which SDK version to install, how to build a CAP file, why gp -l does not show the applet after installation, and why a command comes back with 6A82 instead of 9000.
So this site does not start with a full documentation set. It starts by getting the smallest loop working: one applet, one install, one command, one response.
What the smallest loop looks like
Section titled “What the smallest loop looks like”The dozen or so lines of HelloWorldApplet on the home page already contain the entire skeleton of a Java Card applet:
install()— called by the card manager after the CAP file loads; it registers the applet instance with the JCRE;register()— binds that instance to an AID, so a later SELECT has something to select;process()— the entry point for every APDU, withselectingApplet()true for the SELECT itself;setOutgoingAndSend()— writes the response into the APDU buffer and sends it back.
Once those four things make sense, everything else is an addition to this skeleton: state machines, secure channels, persistent data, cryptography.
What comes next
Section titled “What comes next”The first additions will be the things that fix “it does not run”: environment and SDK selection, building a CAP file with ant-javacard, installing and deleting with GlobalPlatformPro, and a status-word reference with a troubleshooting order. Conceptual material comes after that — the four APDU cases, 61xx and GET RESPONSE under T=0, the CAP file structure, and the difference between SCP02 and SCP03.
None of it is written yet, because it should be driven by real problems rather than a row of empty pages.
How to read this site
Section titled “How to read this site”There is only one documentation page, so just read the home page; it is the smallest runnable version. The blog is for updates, toolchain changes, and the problems encountered along the way — quicker to publish than documentation, and a better place to explain why something is done a certain way.