As an international student myself. It happens to me a lot that whenever I want to contact my parents, I always have to look up on my phone for their local time because of different time zones. For example, my parents live in Europe and my friends live in China. So, whenever I want to call them, I always have to remember time zones or search on the internet.
What it does
With this project, we made it so that no matter where you live, no matter in which part of the world where your families or friends are. If you type the city name, it will automatically search online and display the year, month, date, and time. It can even tell you what they might be doing now (breakfast time, lunch time, bed time, etc.). Therefore, this app tells your optimal time for calling parents and friends and will not let you interrupt whoever you want to call by displaying you the relevant information.
How we built it
By downloading Uipath Studio and learn the demo providing online, we roughly know how to build it. First, we design the time schedule for the person we want to call; it divides 24 hours into breakfast time, lunch time, dinner time, free time, bed time, etc. Time schedules might be different based on weekdays or weekend. For example, brunch time in the weekend is a few hours later than in weekdays (because we want to make sure that we don't want to interrupt them from sleeping during the weekend).
Then, we start new project in Uipath, and divide it into 4 processes: input dialog, retrieve time data, analyze time data, and message box. For input dialog, we basically read the city where the person you want to call, and store it as a variable city.
For retrieving data, we enable Microsoft edge extension, and build an open browser UI, set it at www.bing.com. and then take a screenshot of the input. We put it into type in and hotkey UI; And then we get the screenshot of corresponding time and date to retrieve data and set two variables time and C_date.
For analyzing data, we build a flow chart. First we check if it's weekend and then divide the time into AM and PM and check what they're doing at that time and whether to call or not. we put the result into variable suggest. For weekdays, we have different time schedules; we check what they're doing at that time and give the suggestions.
Finally, we use a message box to display all the variables and let the clients know what the person is doing at that time and whether they should call or not.
Challenges we ran into
We have no experience with Uipath, and we don't even know how to start at first. But we decide to learn it, and watch lots of demos online. For analyzing data part, we have tons of if statements to deal with. (eg. check if it's bed time, lunch time, work time and etc.) However, it's impossible for us to put every time in the condition. We try to convert the time to integer and then use > or < to find a time range, but it fails since time (eg. 11:30) cannot be converted into 32 integer. And then we try to convert time to string variable and compare strings. But it fails since for 1:00, the second character is ':', but for 11:00, the second character is '1'; ascii of '1' will be definitely smaller than ':', so it will show us that '1:00'>'11:00'. Finally we figure out this by using time.Contains(), and we made it!
Accomplishments that we're proud of
We work out a time schedule for the person we want to call very specifically. We take consideration whether it is weekdays or weekend and even when "they're on their way to work" or "they're on their way home". We deal with tons of if statements and match the time schedule we designed into each time range of what they're doing and what decision should the caller make thoroughly. We never used Uipath to build project, but now we build a project in less than 24 hours.
What we learned
We gained experience building project with Uipath and learned how to deal with lots of if statements to make a decision. We know how to study independently and use the resources online to help us build the project. Also, we learned how to finish a project as a team.
What's next for Timebot
Since each person you call may have different time schedules. We will consider each schedule for each person you want to call and import it into database. Now you no longer enter the location; instead, you enter the person you want to call as the input. Timebot will automatically show the time and date at that location for that person, what they might be doing right now and whether you should make a phone call.