I was looking at
Kongzi Print Shop's dividend payments and joefox's wiki work payouts. Instead of having to send separate transactions for each individual payment, would it be possible to describe all payments in a single transaction? This could save space on the blockchain, since you could sign for all the payments with one signature, the sender address is the same, you only need one tx id, fee, deadline, etc. If you restrict the individual transactions in such a batch transaction to be of the same type (e.g. all Nxt transfers, all AMs), they could also share the same transaction type field (and in the case of AMs, pack the data more tightly (with suitable boundaries), instead of allocating them in separate 1000 byte areas).
This could also save processing time, since you only need to verify one signature, and the database knows that the individual transfers all involve a common account, so there's less jumping around in memory when updating info. If resources can be saved, the tx fee can be reduced, so a batch tx involving N separate sub txs could cost less than N * base fee. This would be helpful for folks like Kongzi Print Shop who are making many micropayments.
This could also tie in to an easier way to make batch transactions: instead of inputting each transaction in the GUI (or API), senders could update a batch file which the client parses.
If this is done, an individual transfer can no longer be identified by just a tx id, it'll also need a 'sub id' to identify which sub tx it is in the batch, something like [tx id]-[position in the batch].
My knowledge of network protocols and databases is limited. What do folks think?