Technically, there is no need to run npm update for packages other than nodebb-* packages. So all you really need to do is npm install.
However, you'd want to update the nodebb plugins/themes, so:
ls nodebb-* | xargs npm update // I do not take responsibility for this command, if it burns your house down...
If you run into errors specified by #6, please do an npm rebuild to patch that right up.
Depends what you want to do... if you want to be notified when user data is updated, then the action hook is fine (if you're not changing anything in the data payload itself).
Useful if you want to take the new user data and update another set of data somewhere else
I've never used the 3rd party Swype app so not sure how it compares but I'm guessing that gboard for iPhone is using the same gesture typing that comes standard on pure Android devices. So used to gestures that it's awkward using standard typing.