At least I used a 3rd-party lib for OpenID. And I'll probably end up using one for Facebook and Twitter logins.
The other minor trick today was allowing the user to choose and change their nickname. That's the nickname, not a username. The nickname is what you see often next to logout buttons.. like, "You're logged in as soandso. Logout?" Without user-supplied usernames (and, in fact, a user can have many logins tied to one account now) I needed some way for someone to see at a glance if they're logged in, and if so, as whom. So, wrasslin' and arguin' with that. Looks slick now, at least.
The rough sequence of events for developing the user-specific tools looks like this:
- Test for and fix any browser incompats with Chrome/Safari and IE.
- Show list of known matched logins to logged-in user so they can remove them if desired
- Set up message inbox table. That's where all the text generated from market events that users watch goes.
- Set up an RSS feed for users to monitor their own inboxes.
- Figure out how to set up sendmail or whatever to send email out from this PHP server. That's for folks that don't use RSS readers but still want market notification.
- Set up a place for users to enter their email addresses. Set up a mechanism to confirm email addresses, along with a many-to-many table to connect them to user accounts.
- Establish a tool to record the hashes of any addresses that get rejected, and test against them, to support a "To never receive email from us again, you can click here" link at the end of all emails.
- Find the sms email gateways for major US carriers to support messages via SMS
- Add a spot on every item page for logged in users so they can ask to get notified if the market price drops below X or goes above Y, or if X quantity is available for Y or less gold
- Add a spot on the user's page to see a list of all outstanding market notifications, along with any recently fired notifications to set them again easily
- Add to database parser scripts to check live auctions against notification triggers to generate those messages when required
- release all that to live site
A ton of steps, just so someone can login and say "email me when one mechanohog is available under 12,000g, when I can buy 400 cobalt ore for under 75s each, and when skyflare diamonds are selling over 25g each."
And that doesn't include the classifieds part, which will also require users to tell me the names of their toons and I'll check them by asking them to post specific auctions on those toons. I like the classifieds idea a bit more than this market notification stuff, but I need to build up a community first, and I think a lot of people would use it anyway.