5. ●First impressions matter. The UI should look good
●
●UI != 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
11. ●Speed : Computers are faster than humans. Keep it that 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
12. ●Speed of development matters.
●Validate everything that the user enters in forms or
otherwise.
●MVP first, scale later
●Learn and embrace new tech like Docker
Containers.
The Server Side Stuff
13. ●Use a robust platform. Check its forums, find out if 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
15. ●Forget Windows/Mac. Learn Linux. Forget GUI. You’re now in
command (pun intended)
●
●Bash/Shell scripting = your single largest tool.
●
●Learn managing a VPS. Learn setting up OpenStack,
OpenCloud, AWS, GAE, Heroku etc instances.
●
●Use monitoring tools like Nagios. Learn network fundamentals.
DNS, iptables etc.
Managing the backend : SysAdmin
16. It’s not just coding
●Writing code
●Testing and debugging
●Version control
●Managing the databases
●Sysadmin for the backend
●Designing UI for frontend
●Marketing and publicity
17. ●Reach MVP first. Optimize later.
●
●Use comments. Especially //TODO, //FIXME lines.
●
●Run & test often. At least once after adding every 100 lines.
●
●Code may be poetry. But it needs proofreading.
Good practices : coding
18. Good practices : testing
●Test like your granny would (no 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.
19. Good practices : debugging
●Learn to log your code. Learn 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.
21. Good practices : data models
●It’s very difficult to change 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.
22. General suggestions for a FSD
●Identify your strong suite. No 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.
23. Tools Used for development
+Server Side : Python(Flask)
+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