The reason why retainer inventory has to be seperate is because they sync and save all data so frequently, including unchanged data. It's also why chocobo inventory was implemented the way it was: it's specifically unavailable in lots of situations so they don't have to sync it when they sync your main inventory. The main inventory works as he describes: the server is overly frequently sending the entire state back to the client and saving it, including everything that's unchanged. That's the problem that causes all this other stuff.To reiterate, they aren't sending or writing unchanged retainer data. Retainer inventory is only ever checked when you summon a retainer, as far as I can tell.
If they treated retainer inventory as part of your main inventory, it'd get synced constantly as well, and since it's so much bigger, it would create tremendous load problems.
Right, but fixing the underlying problem so they don't constantly sync and save unaltered data would eliminate the problem at the source. That's the reason why games like WoW can give you so much more bag space. It's not because Blizzard has unicorn powered servers: it's because they don't create unnecessary traffic and load in the first place.More generally, the way they bend over backwards with stuff like the /isearch implementation to avoid making extra server calls definitely supports the claim that they are worried about server limitations.
"Server limitations" has a hardware connotation to it, but it's really a software problem. Do the hard work required to fix the underlying issue with how the client and server are interacting on this, and you'd see a vast improvement in what can be done.