Avie Desai, Naveli Shah, Ben Chesney, Surya Manikonda
This project is about creating a simple iOS prototype application called Waitlist to notify the students about the waiting time at different restaurant locations on campus. This application(app) will be able to work at all retail and dining places which are on-campus to save time and fit the students' schedule. It will be a user-based application and the user checks-in and checks-out to let other students know the exact time taken to get his or her food. So, the application depends on the check-in and check-out of the students to determine the approximate waiting time and notify users about the approximate waiting time. Also, it would help students to go to classes on time and they can save their time by not waiting in line. This application can be beneficial when the student does not have time between the classes but can go to the nearest restaurant location on campus without hustle using the Waitlist app and determining the wait time.
The Waitlist application is an useful iOS app and there are other applications similar to this, but none of them are useful for students as they are used for commercial restaurant businesses. Moreover, these applications are not free, and sometimes they charge extra money for notifying the customers about the wait time. The Waitlist application will be free of cost and can be accessible through the users' smartphones. The Waitlist application will be designed by a group of computer science majors who have experience in iOS development. The team also has prior programming knowledge in languages like C, C++, and Swift. The team will use Xcode to create this iOS app as a simple prototype and to allow users to test it and receive feedback. The team plans on testing the application by running the prototype on their smartphones. Also, based on time and complexity, the team plans to look into android development. After the prototype is successful and the users find the application useful, the team would like to proceed and fully develop the application.
Our primary customer for the mobile app would be UT students living on and around campus. Our customers would use our app to determine the current waiting time for receiving service at any given restaurant, so that they can make an informed decision as to where to go. People who are in a rush to grab lunch/dinner often waste more time stuck in long lines with even longer waiting times. With any university, time could be of the essence as classes can be on the other side of campus or you have to study for your next class. This app would prevent such a problem for our customers as well as those traveling in large groups. The closest software that is similar to the Waitlist app is when search engines display peak times for restaurants. While this does give someone a general idea of the wait time, it simply gives someone an estimate of how busy the restaurant might be rather than real-time analytics.
The Waitlist app would provide customers with the most up-to-date information about the current waiting times for any given restaurant around campus. This information would be acquired through location data from the restaurant itself to measure the amount of people at the site. This would be compared against the average time to receive service to determine the current waiting time. Alongside this information about the waiting times, we also propose a
partnership with the university and/or companies to offer discounts for returning customers as a part of a loyalty system. This would drive returning customers to the business and promote more businesses to perhaps open a location. The main benefit would be for the customers by way of savings from the discounts. With all this, the Waitlist app would be more convenient for the average person and provide a complete and cohesive package. Further testing would need to be done to evaluate the speed and accuracy of results. Data analytics would also need to be taken from each restaurant to measure and evaluate the service times as well during operating hours.
Customers will be able to rate the accuracy of the results at the end of the process, and rate the overall satisfaction of the app. This would include the value of the discounts received. If the discounts prove unsatisfactory, it is possible a renegotiation could take place with the company and/or university to get a better value for the customer. With the loyalty program, we aim to provide the customer with cheaper prices via discounts from the company or university. We also hope to make sure these discounts occur at an acceptable pace to please our customers. The overall goal of the app is to provide our customers with the best overall experience and meaningful bonuses. We can measure the success of the Waitlist app via ratings, customer feedback, relationship with business partners, and the university.
Our project will be a mobile app for Apple devices. To create the app we will be using Xcode. We will use Swift as the language for this project. Inside of Xcode there is a simulator where we can test our app and we also have iPhones to test the app on as well. We will each have the project on our own personal laptop and will use GitHub to see changes everyone has made so that we can stay on the same page. If we finish the app for Apple devices and we think there is enough time, we will try to implement the project for Android devices.
Our process for creating our project will be to plan to meet on certain days to work on the app together as well as working on it individually. We already have our idea so we will start by coming up with a user-friendly design. Once we have come up with a design we will begin to develop the app and test it as we go. Once we feel confident that our app is done we will allow users to test it and provide feedback. After getting feedback we will make the final adjustments and hopefully publish it to Apple's app store.
Naveli has made a mobile app with Java, XML, and Android Studio during the Google Hackathon. Despite this being an iOS app, her technical knowledge of app creation will be a valuable asset. Avie has written iOS apps before using Swift. As we will be using Swift for this project, Avie will be the team leader for the project while the other 3 members work under his guidance.
We have defined that our waitlist app will be initially be developed on iOS platform. First, all our team members need to get familiar with Xcode software so create the initial pages of application using the Swift programming language. We all need to be aware of how to create an initial project and basic understanding of all the elements associated with the Xcode IDE. After that step is done, our group will set up a meeting to discuss which member will do what aspect of the app. As of now, we have decided that our application will not have any kind of authentication page because it does not require the user to be a certain type of user. The user is defined as any individual standing in line at any of the restaurants setup on campus. Then after we will have an option for the user to pick which restaurant he/she is currently standing in line at with the user of a menu picker. Once the user selects the restaurant, the app will check if the user is roughly in the correct area. This is just to ensure that users do not falsify check in's which could lead to increasing the waiting times shown to users. This will affect the integrity of the application and, thus, users will not be satisfied finding out, for example, that the Chick-Fil-A line is 45 minutes long when it was in fact 10 minutes. After the confirmation of the user's location at the appropriate restaurant. The application will prompt the user if he/she is currently standing in line/waiting for food. As each user checks in at restaurants, the waiting time for that restaurant will be increased by some amount of time. As for the amount of time added, we will be setting some constant amount of time added such as 2 min per order just for the beginning to get functionality working correctly. As the development continues, we will be collecting data from the individual restaurants to find a more accurate average time per order. After the user checks in to the restaurant, the user will be shown an area to "check-out" of the restaurant. This feature will prompt to user to identify if he/she receive her order yet. If so, the time will be decreased. Along with the average order preparation time collected from the restaurants, we will be using the data from the users' check ins and check outs to also calculate average waiting times as the application usage progresses. So far, this is the basic implementation of the Waitlist App. There will be more improvements made to the app over time as usage grows and feedback is received. After discussing all the major parts of the app, we will decide who wants to work on what part whether it be the restaurant selection menu, check in page, check out page, or database structuring and queries. Our timeline to complete the basic functionality of the application is scheduled to be about 3 weeks. Soon after, we will go into the testing phase among the group. After we have all agreed, we will distribute the app to other users for feedback. Once the feedback is received, we will make the suggested changes in the following 2 weeks and present the new changes. Our team hopes to develop this app and publish it to the app store to show a purpose as a convenience to college students and faculty to use their time wisely.
As it stands, we believe that our team is capable of completing this project successfully within the given time. The skills of our team members will make the overall design flow of the project much simpler, and our team leader, Avie, has prior knowledge of working with Swift to aid the team with the app development.