Know your users. Make what you are doing as useful as you can for them. Make it desirable and as amazing as you can. Be focused on simplicity – if there is anything complex make that complexity relevant to the context the user is in. Provide an experience the is modal and supports user focus. Test it with users as muchas you can. Don't be afraid to fail and start over.