Please download the attached Microsoft Word document for a version of this description that is much easier to read.
This is going to be an application that is going to be very similar to the Hot or Not app. Thus, I suggest you install and familiarize yourself with said app prior to bidding on this project. Additionally, please do not bid on this project unless (i) you have a lot of experience creating iPhone applications and have proof of your applications and (ii) you have capabilities of creating a very professional design. I cannot afford to pay for this app to be created by someone who does not know what they are doing and creates an app that crashes every time users try to use it. Also, I need someone who is going to give me their 100% attention. I am a very patient buyer, but I am tired of coming to an agreement with a coder, only to hearing every excuse in the book for why there are delays. I need your guarantee that this project is the only one that you will be working on. Also, I need a coder who is not afraid to use their brain and recognize if a function does not work properly or if something can be done better. I also expect daily feedback. Prior to bidding and sending me a PM, please make sure that you have read this entire description, and make sure that you indicate in your PM that you have read the entire thing.
That said, I am a successful website owner and I have some connections to get this project to the top very quickly. I would like this to be finished within the next 30 days. When this app takes off, I am going to need to hire someone full time with this project, and many others. Thus, if I like your work and you prove yourself to be a good coder, I will likely hire you full time to run this.
The application is going to be called “Kiss Me or Diss Me. The first time that someone opens the application, they are going to be asked to enter their desired username, password (twice) and email address. However, if they would like, they should be able to click a button below that says “Skip”, at which point the user will move directly to the three buttons for rating images (discussed below). We are going to need a great database that is going to store EVERY USER’S user name so that from then on out, every time that a user opens the application, it recognizes who he is automatically. I have developed a few simple apps in the past, but I’m not that well versed in the technology behind the apps, so I am assuming you will need to match the user’s permanent IP or some other tracking identification so we always know who the user is. In the event the user is not recognized for whatever reason, the user will then be prompted to enter his username and password. There should also be a link for “Forgot Password”, at which point the user will be brought to a page that requests him to enter his username and click submit. The next page will say “Your password has been sent to the e-mail address we have on file for you. Please log in below.” And then the login fields should appear below. In the event that the username is not recognized by the server, the user should be greeted with “The username you have entered does not to match our record. Please either re-enter your username or sign up for an account.”
Upon registering their username for the first time, they will then be prompted to submit a picture. They should either be able to select a picture from their iPhone pictures or take a new picture and submit it (many other apps act similarly to this, so you should look to those apps for guidance in creating this. For instance, please look at the Hot of Not app to see and click the picture of the Camera to see how uploading works). After they submit their picture, they will be taken to a page that asks them to select their location. I know there is some sort of iPhone script that allows a user to scroll for their city and state (however, I would like for this to be an international app, so please make sure that all countries are located on the sign up page… I don’t know how this will be done, but that is for you to figure out). We will need this so the user will be able to select it easily (which will come into play later in this description under the “Search” portion. Next the user will enter their birthday so that we can calculate their age. Next it will ask for the user’s sex (male or female). Next they will be able to enter their “Sexual Preference” with three choices: Straight, Gay or Bisexual. Next they should be able to add a description about themselves. If we could have all of these on the same page after they upload a photograph, that would be perfect. After they are finished with those steps, it will culminate their registration process. If during the registration the user closes the app or the app freezes, the username that the user had selected will remain available so he can get it again when he comes back.
It then bring the user to a page that has a black background with a pink button on the top that says “Rate Girls”, and grey button below that that says “Rate Both” and a blue button below that that says “Rate Guys”. The blue and the pink buttons should be squares. The middle button that says Rate Both should be a rectangle that has the same width as the other two buttons but the height will be half as big as the others.
After the user selects whether he would like to search Guys or Girls, it will bring up a totally random image of either a male or female. Below the main image, it should display their user name, age, and location. Below that it should have small thumbnails of other pictures of that user, just like it has on Hotornot.com if you click “More” toward the right of an image. If the user selects an image, it should then replace the main image with the new image that was selected. Below that it should have to the “Recent Kisses” with thumbnails below “Recent Kisses” of the most recent people who selected “Kiss” for that user. All the way to the right should be another button that says “More”. If the user clicks one of those thumbnails, it will take the user to THAT person’s profile and they can then kiss or diss them. If the user clicks “More” it should take the user to a page that has lots of very small thumbnails of images of users who have “Kiss” that user, in order starting with the most recent on the top left. On the top it should say “The following people have kissed USERNAME”. There will also be a “Back” button on the top horizontal bar that if the user clicks it, it will take the user back to the profile of the user they were previously looking at. Below the thumbnails of the “Recent Kisses”, it should have the user’s description. The description should have a thin blue border if it is a guy’s profile and a pink border if it is a girl’s profile. (Below the description, we are going to have a few other icons, but I will get into those later in this description…) On the top left corner of the page (below the horizontal task bar, of course), it should have an image of lips and in the middle of it should say “Kiss!” and on the top right corner, it should have an image of a hand forming a thumbs down and in the middle it should say “Diss!” It is VERY important that these graphics are incredibly professionally done! The user will then be able to click to the hand or the drop to either “kiss them” or “diss them”. Immediately after clicking either one of those, it will display a horizontal bar to demonstrate the number of people who have kiss vs. diss a given user. The color green will represent “Kiss” and the color red will represent “Diss”. If half the people have Kiss the user and half the people have Diss the user, the task horizontal bar with be half green to the left (toward where the hand was) and half red to the right (toward where the diss drop was). If 75% of the people Kiss the user and 25% of the people diss the user, than the horizontal task bar will be 75% green and 25% red. Additionally, the Hand will be replaced by 75% and the Diss drop will be replaced by 25%. Just above the task bar it should say “# votes” and # should be replaced by the number that has been counted. Please have it in this format: 1,234 or 12,345, etc. Regarding the graphics for the horizontal bar, the farthest portion on either side should be the darkest and then as the two colors (green and red) go toward the middle, they should fade to a much lighter version of the color. Our database will need to keep track of ALL the votes for each user so the percentage is completely accurate.
On profile pages (which are the pages the contain the user’s image that other people can kiss or diss), I want to also stimulate a lot more fun among users, therefore, I am going to introduce other messages such as Message, Gift, and Favorite. Below the user’s description, there will be a picture of an envelope, which will be used to send a message to the user, a picture of a wrapped gift with a bow on top, which will symbolize sending a gift, and a Heart, which will symbolize adding a user to favorites.
This is going to be very simple. If the clicks the envelope to send a message to someone, they will be able to send a message to another user just like an email. This is very self-explanatory and you will have to use much of your judgment to make this work properly. It will need to have all the functions of typical messaging, like users will be able to reply to messages, add subjects, delete messages, etc. I don’t have the time to go through every specific feature that must be incorporated, but you just need to make sure it works properly and looks professional. Go onto the Facebook app and look up how messages are sent, replied to, and deleted and you will see how it needs to be. (Just to note, if a user clicks “Reply” it should show the message they are responding to in the body… please see how other websites and email programs do this). After a user clicks to send someone a message, it will take the user back to the profile of that user with a message saying “Your message has been sent!” on the top. Additionally, I would highly recommend that you download the app called “SpeedDate – Dating for Singles of Any Kind” because this has a lot of the messaging features that we will need. Please do this and send messages to a lot of different people so you can get a feel for how it’s supposed to function.
If someone clicks the button to send a gift to someone, it’s going to need to function similar to messaging, but there will be one extra step. Basically, a user is going to click the icon for a gift, and they will be brought to a page that has a list of a bunch of thumbnails of small images that the user can send to someone as a gift. There will also be a word below the gift to show what the gist actually is. If the user clicks a thumbnail, they will then be brought to a page where they can enter a message to be sent to another user. After they submit it, the user that the message it sent to will be sent a message to their inbox and the subject will say “USERNAME sent you a message!” And then it will display the picture of the gift and then have the message below it. Below the message it will have links for “Delete”, which if clicked will send the user back to the inbox, “Reply” which will take the user to a page to send a reply message, and “Reply with Gift”, which will take the user to the same list of thumbnails of gifts as previously discussed, and allow the user to enter a message. If they click delete, it will take the user back to the inbox.
This is a pretty simple concept that will allow a user to “Favorite” another user, which will then show up in the user’s own profile under the Favorite links, so the user can come back and see that profile and kiss them on a daily basis. Basically, User A will click the link to “Favorite” User B. User B will be added to User A’s Favorites. When user A is logged in, User A will be able to click the Heart on the bottom horizontal taskbar, which will then take User A to ALL of User A’s favorite people. User A can then click any of those people and be taken to their profiles. It is very important that whenever a user visits his Favorites, all of the Favorites ALWAYS show up random.
On just about every iPhone app I have seen, there is also a horizontal task bar on the top. I would like this as well. It should have on the top left “Back” which will take the user to the previous page that he was on. In the middle it should have Settings (which will be explained below) and to the right it will have the Kiss Me or Diss Me logo.
Setting is basically going to have everything that the user entered when he was signing up for an account, plus a few more. In settings, the user should be able to do the following:
- Change main picture (which will either allow the user to add a new picture from his iPhone, take a new picture, or select a picture from the ones he has already uploaded to the app).
- Change location
- Change age
- Change sex
- Change sexual preferences
- Change description
- Add new pictures
- Delete pictures
- Delete favorites
- Cancel account – this should not be taken lightly. If someone chooses to close their account, they should be then asked a message once again to confirm whether they would like to cancel their account. If they cancel their account, it will do something like close the app…
Bottom Horizontal Navigation Bar:
On the bottom horizontal task bar, we need to have buttons for “Home”, “Mail”, “Search”, “Faves” and “Top”. Above each text it should have an image of a Home, a Mailbox, and a Magnifying glass (like on iPhone App Store search), a Heart, and an arrow pointing up.
Home will simply take the user to his own profile page so that he can look at his profile, see who has kissed him, etc. The user should not be able to rate himself, so the green/red bar up top will always appear when a user is looking at his own profile.
Users should be able to search for anything that users enter upon registration. This includes:
- Male, Female, Both
- Sexual preference
- Location, etc.
The purpose of this is to allow the user to search for people and based on their search criteria and be able to look at their profiles. The user does NOT need to enter all the criteria for searching if he does not want to. He should be permitted to search 1, 2, 3, or all 4 of the search criteria if he wants. The search results must ALWAYS show up random… I don’t want users to see the same exact people every time they search… so please make sure they are totally random.
I will need a tab for “Top” which will essentially be for the top ranked people. When you to go it, there will be a small pink rectangular button with rounded corners on the top left that says “Girls” a small blue rectangular button with rounded corners on the top right that says “Guys”. By default it will be set to Girls. Below the two buttons for Girls and Guys it will have 4 more similar buttons that all will have light gray backgrounds and dark gray text that say “Daily”, “Weekly”, “Monthly”, All Time”. The way the ratings will work is by taking ranking people who have the highest percentage of “Kisss”. For “Daily”, it will calculate for the previous 24 hours, for weekly it will calculate for the previous 7 days, for monthly it will calculate for the previous 30 days, for all time it will calculate since the day the app was released. By default it will be set to Today. When a user clicks one of these tabs, that selected tab will turn to a dark gray background and the text will be light gray. This will be done so the user knows what he is looking at.
If someone clicks the mailbox, it should take the user to the inbox which will have the users messages. When in the inbox, there should be some sort of mechanism of showing the user which messages are NEW AND HAVE NOT BEEN READ. Again, it is imperative that you download both the Facebook app and the app called: “SpeedDate – Dating for Singles of Any Kind” to see how the messaging is supposed to work. There are many other ones that do it, so you can look at as many as you like to see how they are done. Also, regarding the inbox, I would like for their to be a special notification to show the user how many new messages the user has in his inbox. Therefore, on the bottom where the mailbox is, if the user has new messages, there should be a circle with the number of new messages contained within it, just like how there is on your iPhone for Email messages, text messages, missed calls, and facebook notifications. When the user first goes onto the app, the circle should be read with a white border, however, after 15 seconds, the red portion should turn dark gray, because I don’t want to have a red circle that is unappealing to the eyes on the screen the entire time. If a user does not have any new messages, the circle will not be there at all. But once a message is sent to a user (even if the user is currently on the app rating people), the circle will appear with the number of new messages he has. A new message means a message that the user has not read yet. Once the user clicks on a message to read it, it is no longer a new message.
If the user clicks “Faves” it should take him to the page that lists his favorites, which has already been discussed in this description.
- One of the most important features of this application is going to be 100% randomness. Whenever a user is rating guys, girls or both, the users that show up for rating should ALWAYS be random… that is incredibly important because if the user keeps seeing the same people over and over again, the user may not like to use this application anymore. Please make sure we have all randomness when people are clicking to kiss or diss people.
- when uploading a picture, it must have a disclaimer that says “No x-rated pictures.”
- A user should only be able to kiss or diss a user once per day. Thus, after a user kisss on or disss on a user, it will say “You kissed (or dissed) USERNAME” and it will have the green/red bar below it demonstrating the
- A user should not be able to kiss or diss his own profile. If he clicks “Home” to view his profile, it will simply display the green and red task bar on the top with his percentages.
- The user should have one main picture selected. Even if the user has 100 pictures uploaded to his profile, there will only be ONE main picture. Therefore, when people are going through and rating people and after they rate someone and a new picture appears from another user’s profile, it should be the MAIN picture of the new user that appears.
- The main purpose of this application is to allow users to rate people every few seconds, because the fun involved is rating as many people as possible as quickly as possible. Therefore, after a user kisses on someone or disses on someone, it should immediately display the red/green bar for 2 seconds, and then immediately after two seconds expires, it should automatically go to the next user. If the person who is rating would like to go back to the previous person’s profile, he can click the “Back” button on the top which will take the user back to the previous profile. But remember, since each person is only allowed to kiss someone or diss someone 1 time per day, if the user goes back to the profile after already kissting or dissting on the user, the green and red bar will still appear on the top to demonstrate the percentage of rating and show the number of ratings that have been counted.
- The top horizontal and the bottom horizontal taskbars will appear on EVERY page of the site. I am also going to introduce advertisements to the app at some point in the future, so we should approach this with that in mind…
I should also need an administrative area (via the Internet on my server), that will allow me to delete accounts, delete images, and ban IP addresses, if necessary. I should be able to search the database of usernames that we have on file by entering the username and clicking search. It should display the user’s iPhone IP address and other necessary information so that I may enter the IP address in the area under (Ban IP). For the purposes of deleting things, the images and the accounts should appear by most recently uploaded and most recently created.
The admin area should also allow me to view how many users the site has, how many users have logged in a specific date, how many new users signed up on a certain date, etc.
I think that is pretty much everything that I can think of. I reserve the right to make basic modifications to this description based upon the work that is being done and the functionality of how everything is coming along. This description took me quite a bit of time to draft. As such, there is a good possibility that some of the things that I put in it will contradict good functionality, thus, I may need to make some changes as we go along. Additionally, like I said previously, I will highly encourage you to do a lot of things in this project as well and if you thing that something will work better, go ahead and bring it up to me.
Design and Graphics:
The graphics are going to be relatively simple, but they need to be absolutely 100% professional!! The background for everything is going to be black. There will also be a lot of pink, blue and gray. Also, I like a lot of borders around buttons and whatnot. Make sure that the app looks entirely iPhone-esque, meaning that it carries with it the general design qualities that other iPhone apps have. Often times an apps success depends on the design. Often times people will refuse to use an app based upon it’s lacking UI. Thus, the design is going to be very important… it’s going to need to be simple yet professional yet iPhone-esque.
Good luck bidding and I look forward to finding my next star programmer!