4 ms·
A couple non-starters here for me is the immediate asking for location data and login method. Perhaps you should delay the location request until the user choos
by kossae 8y ago
A couple non-starters here for me is the immediate asking for location data and login method. Perhaps you should delay the location request until the user chooses a 'Current Location' option? Otherwise you're asking where I am, but even if I told you, I would still have to give you more information (login) to get anything useful. Regarding login, maybe only require logging in for route saving, or other features. This would allow a user to actually try the app before giving any of this information. Maybe you could have a landing page before the application, to give the user an overview of what it actually does first. Great job on shipping a product!
- zdrummond 8y agoI agree, I jumped-in to use it, and before I have an idea of value I am asked to login. However, to me, the real blocker was when I clicked login with Google, it says it was going to provide my age range. Why? What do you want to do with that?
- nenadg 8y agoWe take name and email and userid, in a really non-malicious attempt to create your future profile. You will be able to opt-out according to GDPR, soon.
- rhizome 8y agoIs filling out whatever is in the profile really a source of friction?
- ovao 8y agoThat doesn’t quite answer his question. Why is the age range mandatory to create an account via Google? The basic permissions — notably the ID for each user Google will hand back to you — should be sufficient for that purpose.
- nenadg 8y agoIt is more convenient for us to use Google and Facebook login mechanisms than to create one from the scratch. We use two methods provided by Passportjs (plus.login and userinfo.email). I guess one of these asks for age range. You can check their documentation for more details at http://www.passportjs.org/docs/google/ http://www.passportjs.org/docs/google/. And for the transparency sake, these are the parts of code on our side. router.get('/callback', passportGoogle.authenticate('google', { failureRedirect: '/' }), (req, res, next) => { let user = req.user.doc; let userId = user.userid; /// res.cookie('token', userId, { ... and this is what is saved to Mongo DB: var UserSchema = new mongoose.Schema({ name: String, userid: String, email: String, sourcePlatform: String, updated_at: { type: Date, default: Date.now }, }); Hope that helps ;)
- ovao 8y agoThanks for the response! Transparency is always appreciated. It looks like the age range is a component of the plus.login scope. You’re not storing any data associated with that scope, so you can instead use the userinfo.email scope (and, possibly, the userinfo.profile scope) to ask for only the information you need.
- nenadg 8y agoOkay, good point. Routes are saved automatically, and once we enable some dashboard kind of thingy you'll be able to see all of your previous routes. We thought that this would be cool thing to have once. Thanks a lot.