Small is not done. Make each thing done by one Program. APIS are unimportant, since the Program does everything. Others will port the Program for you, so you need not worry about writing for portability. Text is for humans; the Program reads binary. Use economic leverage to your advantage. Build your own shell for scripts. Avoid user interfaces.