Chris' thread about wanting to get to 1000 ships got me thinking again on this strong/weak data stuff. With that many ships, the current interface for showing that data would be inadequate. Currently the interface just shows a list of ships which your ship is strong or weak against, half of which aren't even in the game, and doesn't show the data for half the ships that -are- in the game.
So I've got 2 alternate proposals, one much easier to implement than the other.
The first is to introduce an option for 'contextual strong/weak data'. This will look a lot like how it currently is, except that the data will only show the data for ships that are in play in the current game, and will force show the data for the ships that are in play. What is 'in play'? Whatever the humans have seen from the AI - I'm guessing you'll need to code a new list of units that the humans have 'seen' - that shouldn't be too hard right?
The second proposal is more work but should be neater overall. What if the data was represented graphically instead of using words? I'm thinking some sort of pop-up graph with the x axes being time or log(time) and y axes being %, running from -100% to +100%. The graph then uses the data in the strong/weak tables to plot each opponent ship on it, using the in-game icon of that ship. This would probably have to be 'contextual' as well to show only the units in play, or else it'd look cluttered. You could maybe integrate this into the existing game graphs function.
This way, at a glance, I'll know that the ships up the top left of the graph are the ones that my ships crush, the ones on the bottom left are the ones that crush me, the ones on the bottom right will eventually crush me but will take so long that I don't need to care that much, and everything sitting around the middle is a break-even proposition.