Last night, I was preparing an introduction for the Smart University session on Java Card 3.0, and I was looking for Java Card Forum material that would somehow prove how early the work started on that topic. I was expecting something around 2003-2004. I first noticed that in 2004, we already had a first architecture document, so I looked at earlier meetings. After a while, I found some slides from April 2002, in a meeting in Yokohama.
The slides were about requirements, and there was one particular slide providing high-level guidelines.
I was quite amazed when I found this slide, because it is so close to reality. Let’s look at in more details.
- Reduce delta between Java and Java Card. That was already an objective, and that objective was clearly met. Even though some issues remain, Java Card 3.0 is much closer to Java than the previous versions were.
- Enhance the programmer experience. That item is interesting, and reminds us of the nature of the Java Card Forum. We are a technical-oriented forum, which focuses more on developers than on users. We changed that a bit in the following years, with more focus on end users, as we introduced the Web server interface, a clear successor to the text-based SIM Toolkit user interface.
- Fully exploit the 32-bit platform. Check. that was one of the starting points, and we of course achieved that. The Connected Edition explicitly targets 32-bit platforms.
- Keep an eye on the footprint. Uh oh. I knew it! Footprint was already identified as an issue to track. We did, and we still do, as some detractors are saying that Java Card 3.0 is bloated. I don’t agree, but this deserves a full post.
- Become THE computer. OK, this is our “rule the world” moment; I am not sure that we made that, but we are getting closer to that main objective.
- Assumption: forget about 8-bit? Yes and no. The Connected Edition will not work on a 8-bit card, but we also have kept the Classic Edition, which will allow us to keep issuing traditional Java Card cards with small memory and 8-bit processors.
A lot of things are already present. The only thing missing, which will take a while to arise, is the Web server. Other than that, the guidelines were not that bad. Nevertheless, it took us seven more years to get a finalized specification out.