1) big to small -> give users all possible freedom and restrict that freedom once we understand potentially problematic usages.
2) small to big -> give users the least possible freedom based on some required functionality and grow as the users express their needs.
+1 for big to small