!= UX. Good UX needs good UI. But just good UI doesn’t ensure good UX. • •Do not overdesign. The best UIs are the simplest ones. • •UX is a tool to make the user do what you want. But without him knowing this. (dark and light patterns). The front-end : UI/UX
way. And users are impatient. • •Information : Show what is needed. Hide what isn’t. Users aren’t developers. They don’t need ‘under-the-hood’ stats. • •Depending on the platform, decide the tradeoff between client and server side processing. (eg. Autodesk Pixlr) • •Handle crashes gracefully. Stay with the user. Do not bail out. The front-end : functionality
the platform and it’s providers have downtimes, or issues. • •Do not become dependent on the platform or the host. Always keep bags packed and ready to move. • •First MVP with a easy to set up platform. Then move to more native platform when scaling. • •Use containers, servlets, docklets, VM images. These are The server platform
//FIXME lines. • •Run & test often. At least once after adding every 100 lines. • •Code may be poetry. But it needs proofreading. Good practices : coding
offense). Press all the buttons. Do everything that can crash the app. Trust me, your users will too. • •Test under worst conditions. Slow internet, corrupt data, throw everything at it. • •Test all the cases. Especially the improbable ones. Remember Murphy’s law.
to read the logs. Developing is >50% of debugging. • •Bug hunting skills are more important coding. Many people can build stuff. Few can fix things when they are broken. • •Investigate bugs systematically. Change one component at a time. Pinpoint the portion that causes the bug. • •DO NOT duct tape your bugs. Solve them properly.
data model after 5000 people have started using your product. Choose wisely from the start. • • Work out the flow of data. In your mind, on a paper, on the drawing board. The data model should be made accordingly. • • Reduce iterations. Reduce number of passes your functions make through each table. • • Cache the data that is repetitively used. Make sensitive data redundant. • • If your data model depends on your language or framework or platform, you’re probably doing it wrong. You might need to change your platform or language tomorrow.
one can be a true all rounder. Go deep with that. Spread thin on other areas. • • Use ready-to-use solutions for your weaker base. (eg. Ionic/Titanium for client side, Parse/Firebase for backend) • • Make friends with other FSDs. Especially with non-intersecting strengths. • • Keep working on new technologies. Follow well known developers. Track some awesome github projects. • • Use cross-end languages in hobby projects. Eg. Python, javascript, java etc which can be used to make both front and back ends easily.
Web APP : Bootstrap,Angular JS + Android and iOS app : Ionic framework Tools used for marketing + Facebook Ads + Twitter and facebook bots + Setting up a content writing team. Full Stack in Action: Orch.in