a) Do not over-engineer the solution.

b) consider your audience's skill level.

c) also very important, wallet size, both of these last are frankly limited.

d) Do not make the design mistakes others have made, and learned from "stand on the shoulders of giants"