I finally come up with the name for this project.
Let's assume that we are a fictitious start-up trying to compete in the IM bot market. We are trying hard to add new features every week. Last week, we added the killer conferencing feature which is not yet provided by the competition but later found that most of the calls were being made by spammers who caught us through the recent TechCrunch announcement. Based on that, we decided to implement authentication by IM. We also noticed that Email is not sufficient to identify someone therefore we'll use mobile number to authenticate a person using SMS.
The process is similar to CAPTCHA therefore I'll call it IM-CAPTCHA (TM-notyet). The following diagram shows the process flow from the first try by the user to the point where he finally registered, authenticated and uses the service. I needed an Actor for this and decided to impersonate one of my colleague who recently left BT to join FitnessFirst.
Paul Hillman is a completely new customer of our service and this is the first time he is trying to use it.
Here is the description of the steps shown above.
1. Paul tries to send an SMS command but It fails because Paul is not registered on the system. He will get a response that he can register by providing his phone number.
2. Paul responds by sending the register message. The bot then entered his info and send an sms to his mobile phone number to confirm his identity.
3. Now, Paul uses the unique number to finally validate himself.
4. Once he is validated in the database, Paul can successfully use any of the services provided by the bot.
Mr Hillman is definitely happy now :)
Few things you need to setup the project:
- Change the login account and password in MSNSandbot/App.config file
- Add admin account into the database
- Goto the output directory
- run: sqlite3 btsdkbot.db (This will open the database)
- run: .tables (To see the different tables in the database)
- run: select * from User (To see the users)
- run: INSERT INTO User (Email, Phone, Authorized) VALUES('firstname.lastname@example.org','443455673947',1);
- Change admin email in the BTSDKAgent/App.config to match the one you just added.
Next in this series, our startup will try to catchup with our competition by copying their features :).
Logo by LogoCreator