top of page

Process

first planning.jpg

A brief depiction of the planning for our idea with the features that we plan to incorporate into our product. 

First Idea Planning

Since our goal is to create a smart campus in Ngee Ann Polytechnic, we brainstormed for ideas to make use of technology to enhance the experience of being in Ngee Ann Polytechnic's campus. There were a few problems we brought up during our discussion.

 

However, the problems  we decided to work on were:

1. The students in the school have no idea how crowded a canteen is

2. People getting lost on campus and being unable to find their way

With these 2 problem statements, we tried to think of a solution so as to effectively solve this issue. After contemplating, we agreed to let the issue of people getting lost on campus and being unable to find their way to be the main problem we are going to solve. Therefore, our solution will be geared towards ensuring that people will not have to worry about getting lost in school if they were to use our product. While coming up with a few possible solutions and throwing in random ideas, we decided to work on creating a map. 

The reason for deciding on creating a map is that it is a common way to ensure that the lost will be able to navigate by using the map as a guide. However, we also thought that using a map to direct and just showing the direction in 2D is a regularly used idea and is already something that has been created in Ngee Ann Polytechnic. That was when we thought of making it as a "kiosk" system instead which is less common as compared to a mobile application. The reason that we decided on that idea was because the use of a mobile application is very common and it might actually be inconvenient for someone to download the application just to find their way in Ngee Ann Polytechnic.

 

An example that justifies that the kiosk system is a better choice is that - If someone, for example a parent of a student, were to come to Ngee Ann Polytechnic to maybe attend an award ceremony or other events and was lost, he/she will be able to turn to the kiosk for help. No one would want to waste time and space to download a mobile application that could potentially be used only once. By using the kiosk system instead, there is less inconvenience and moreover, many people can "share" and use the same system which reduces the resources needed but still effective in ensuring any lost visitors can find their way. 

PLANNING 2.PNG
planning 2.2.PNG

We noted down our idea in a shared Google Document and added a few additional features. We also classified and rearranged our idea to be sure of which ones to prioritize.

Adding on to First Idea

With the base of our product being apparent and clear, we continued adding on to the idea. While we manage to solve the issue of people getting lost in the campus, we thought that we can add in more solutions to other problems. That was when we thought back to the issue of being uncertain of how crowded a canteen is. Rather than solving the issue of a canteen being too crowded, we thought of displaying the information of how crowded a canteen is so that students can avoid the crowded canteens during their lunch breaks. Moving on from that issue, we thought of how it would be convenient if students are able to know when the buses are coming at the front gate bus stop. Therefore, we decided that an additional feature of displaying the bus timings could be added to the system. Other than these 2 additional features, there were many other features we thought of that would increase convenience rather than solving an issue. 

The additional features are:

- Social Interaction 

   - GrabShare Idea

      - Lost Souls request for help

      - Points System (Earn some rewards/ Kindness Points)

- Information

   - Announcements Page

   - Weather Forecast

These are the additional features we thought of adding so that there are more uses for our system other than just letting the users find their way. The way we are going to go about adding those features is to make use of a database to add those information. For the bus timings, we would make use of the API system so that it can display the timings automatically without having to code and program it out. In regards to the canteen crowd system, we decided to make use of a sensor to be placed at the entrance of the canteen. Every time someone enters the canteen, the sensor will be able to count the number of people entering and add on the numbers to the database. If the person is exiting the canteen, it will be a -1 in the calculations while if a person is entering the canteen, the calculations will be +1. This way, it ensures that it does not include people leaving the canteen. 

Finally, for the map, we decided to make use of Visual Studio and the use of C# as it is something that all of us have more experience in. In order to make our map have a more interesting and something different from the regular map systems, we want to give specific routes to the area by bringing the users up to the doorstep. In addition, we decided to add a QR code scanning for the offline map for the users to use without the need for WiFi. The reason we decided to implement these features was so as to ensure that the experience is more interactive and also that it differs from the current system whereby it only shows a 2D map with directions. Furthermore, with that offline map just by scanning the QR code, it makes it easier for visitors of the school who do not have access to the school WiFi. That is the reason why we planned to go along with these ideas.

finalised.jpg

These photos shows our changed idea - Video Analytics and also our finalized idea of our initial navigation system after deciding that it was a better choice.

not finalised.jpg

Changing of Idea

A problem arose when our lecturer pointed something out. Although we tried to add the extra features in our product and tried to make it as unique as possible, there were no wow factors that will impress people. With that in mind, my team tried to think of other ideas that may potentially impress others but we found out that whatever we came up with was already thought of by other groups. Therefore, we thought of going with an issue that our lecturer mentioned. Our lecturer mentioned that our school has actually hired professionals to create a system to scan the students' faces and take attendance automatically. However, it was not successful as the accuracy is not high enough to ensure that there were no errors. After hearing about this issue, we thought that creating a facial recognition system along with using the people counting system for our canteens would be a great idea. That was when we tried to do research on how to actually start on the project. Despite agreeing to try out that idea, all of us felt uneasy as there is a high chance that we might not be able to carry it out successfully. although it is indeed a wow idea, it will not be good enough if we do not manage to get the product to work. 

Thus, we decided to stick to our current idea of using the map for navigation. Our lecturer gave us advice that we should make use of the 5W1H to be certain of what our system does and how we can better our system.

 

5W1H:

Purpose - to guide people in NP to their desired locations

Who - Students/Teachers/Seniors/Visitors

What - Kiosk system located at a specific area

When - School Time/Open House/ 24/7

Where - In NP

How - PhoneGap + Blippar

 

After coming up with these, we brainstormed on how we can make the system include a WOW factor. At first, we though that the use of the QR code will be one of the WOW factors as it is both convenient and something new. However, we thought that was not enough and we continued brainstorming for more ideas. That was when we thought of making use of the AR (Augmented Reality). This AR can be used by guiding the users to their locations in an even more interactive manner as compared to the current idea we came up with. With the use of AR, it makes it a better user experience and is also a wow factor. Thus, we decided to go with this idea. 

 

There are quite a few platforms that we can make use of which is the AR Core, AR kit and AR.js. After researching, we found out that Unity includes the required software and is actually the most popular choice to use for the making of AR and thus we went along with using Unity to create our AR system. 

inception deck.PNG

Creating of Inception Deck

After finalizing our idea, we proceeded on to the creation of the inception deck. The inception deck is created with the aim of addressing some questions and also specifying some information that is related to the project. 

 

The things being addressed in this inception deck are:

- Why are we here?

- Elevator pitch

- Product Box

- NOT list

- Meet the neighbors

- Show solution

- Up at night

- Size it up 

- What's going to give

- What's it going to take

Due to these information being required for the inception deck, my team had to discuss more in-dept about our project and how to answer the questions in an informative and convincing way. During the process of creating this inception deck, it made me even clearer of the product I am doing and also what I am trying to deliver. Although our purpose was already clearly defined after the discussion previously when we wanted to change our idea, I was more certain of our product in the process of making the inception deck. As there are many points we have to note down in our inception deck, it made us question our own product and think deeper to answer the respective questions. For example, we had to think of incorporating our purpose into our elevator pitch and also promote our product as a necessity that would greatly help others. By thinking of how to come up with an eye catching pitch, we had to be certain of which part of our product we have to promote and how it serves its purpose more effectively as compared to any other products. This made me become much more aware of our product's purpose and the goal we are working towards. 

 

Another piece of information that will be included in the inception deck is about our technical solution. It refers to the tools and software we will be using for our product and how we are going to go about creating our product. Through in-dept discussion, we were able to clearly state what we are going to use and also our solution to solving our problem of getting lost in campus. By noting the information down in the slides, the software we are going to use are displayed more clearly which thus made me even more certain of what I am required to do.

All in all, due to having to analyse our product deeper, I was able to clearly ascertain my role and also the properties of our product. Therefore, it made me feel that the creation of this inception deck is something necessary for us students to better understand our own product and be sure of what our product does. 

sprint planning.jpg

User Stories & Sprint Planning

We created user stories to allow us to better understand what users may want and what features would be useful for the product to have. After the creation of the user stories, we proceeded to assign values to the user stories for better classification. Then, we proceeded to doing the product backlog. The product backlog refers to the list of things that needs to be completed in our project. Thus, at the start we placed all our user stories under our product backlog as those are things that have to be completed for our product. Next, we decided on the sprint backlog. The sprint backlog refers to the tasks that we plan to complete by the end of the sprint. Therefore, we picked out the features which we think have high priority and place them under the sprint backlog to ensure we will be working on those during the sprint. Proceeding on, we decided on what user stories we should focus on for our first task. As there were 4 of us, we separated and split the tasks among ourselves based on our strengths and weaknesses. 

I think that through this sprint planning, we manage to be clearer of the tasks we have to complete and thus is able to focus on our own task. Without this sprint planning, it may result in us being uncertain of what we have to do or even have 2 members working on the same task. Therefore, with this planning, it ensures that we have our own tasks to complete and also displays the amount of work we have to complete for our product to be finished. 

In addition to doing up these user stories and classifying them into their respective sections, we also created a brief look of the UI design. As we are creating a mobile application, the look of the interface is also an important factor to take into account. By drawing out our UI design and also planning how the pages will display in the right order, it made us certain of how the application should function.

sprint review.jpg

Sprint Review

We did a sprint review as we have come to the end of our first Scrum sprint. Our lecturer guided through the things we have to answer and analyse on. During this sprint review, we had to calculate how much of our features we had completed. For us, we had actually finished close to half of our project and is going at a good pace. We learnt how to calculate and ascertain how much of our project was completed. This is useful for us as due to this, we were able to see our progress numerically which made it easier to gauge our work completion percentage and see if we are up to task and finished most of our main features. 

Following the counting of these values, we had to answer a few questions and draw up a few graphs. One of the questions is what we have learnt during our first sprint. After going through and experiencing how to carry out stand-up meetings and how a sprint is like, we learnt about Scrum Techniques along with the importance of time management and being able to efficiently work in a team. When answering this question, we reflected on what we have done during the past meetings and our sprint planning, making us realize how we had actually learnt many new things through doing this project. I personally feel that this sprint review is incredibly useful and much needed for our project as after answering these questions and also drawing up our insights and goals for our sprint review, we realized how we were faring and how much we had finished for our project. 

The insights which we came up with can be used to see if there are any trends and if we can expand our project and the goals that we noted down shows the problem that we had previously and how we can solve it in our subsequent sprint. This shows good planning and ensuring we do not repeat our mistakes. 

hackathon.jpg
hackathon.jpg

Hackathon

Hackathon

This is the week where we had our hackathon. During this competition, we were required to create at least a working prototype for our project. Therefore, my team members and I were all working on it to ensure that our application can work successfully. Although we had already done our research and also started on the coding before this competition, there were a few issues that we faced which were not resolved previously. Therefore, we used these 3 days of the competition to finish up our prototype. 

Since our main feature was not completed before the competition, we had to focus on them first. Since it is important to get these features to work in order for there to be a successful prototype, all of us were working on the same problem and see who can solve the problem first. Meanwhile, one of my other member focused on designing the application and creating a nice UI for our application. Therefore, for the three of us who are working on the technical side of the application, all of us were trying to solve the same error. Although some may think that this way of solving an error is ineffective, I feel that it was the best course of action to take at that point in time as it is the main feature and it is important to get it to work. If we were to assign the solving of the error to only one of our group members and he/she did not manage to solve it in the end, it would cause the project to fail. Therefore, to ensure that the error has a higher chance of being solved, all of us worked on solving the same error. 

Fortunately for us, we managed to solve the error in our main feature during the first day of the competition. Therefore, during the second day, we focused on doing up the additional features which we had discussed beforehand that would be added to our application to better enhance the user's experience when using our application. The additional features we worked on was the weather forecast, bus timings and also crowd @ canteens. As we felt that these additional features would be the ones that would have impact, we decided on work on those first. While we were working on these additional features, we also ensured that we added in the UI design into our technical interface. Luckily for us, we once again managed to get 2 of the additional features to work as the last one needed more research to be carried out in order to ensure it works perfectly. I felt that these splitting of roles made our performance more efficient and as these features are something all of us were certain we would be able to do if we did enough research, we daringly split up the work scope so that no time will be wasted with 2 members working on the same feature. 

The last day of the hackathon required us to pitch which is an important factor that would contribute to convincing our judges that our project should be kept. We prepared the pitching slides and even created a script to ensure all the selling points of our product is mentioned. It was decided that all of us will present and thus each of us presented the different main points of our product. Surprisingly enough, we managed to impress our judges and became the best team in our problem statement. Furthermore, we won first place as the best team with the best product after the final pitching. 

 

All in all, I felt that we had proper time management during this competition. Although we were nervous and anxious at first as we were unsure whether we are able to complete the main feature successfully, we still managed to do it. I felt that we really planned it out nicely and stated our goals at the start of the day. Due to having the short discussion in the morning while splitting up the roles and ensuring that everyone is clear on what to work on, we were able to finish up our work without much issues. Moreover, we would help each other whenever we faced any problems with the coding which sped up the process of completing our product. Therefore, I feel that this competition was a fruitful experience which made me realize the importance of team work and also how it is essential to be clear of our goals and what we have to complete at the start of the day. 

This is the week where we had our hackathon. During this competition, we were required to create at least a working prototype for our project. Therefore, my team members and I were all working on it to ensure that our application can work successfully. Although we had already done our research and also started on the coding before this competition, there were a few issues that we faced which were not resolved previously. Therefore, we used these 3 days of the competition to finish up our prototype. 

Since our main feature was not completed before the competition, we had to focus on them first. Since it is important to get these features to work in order for there to be a successful prototype, all of us were working on the same problem and see who can solve the problem first. Meanwhile, one of my other member focused on designing the application and creating a nice UI for our application. Therefore, for the three of us who are working on the technical side of the application, all of us were trying to solve the same error. Although some may think that this way of solving an error is ineffective, I feel that it was the best course of action to take at that point in time as it is the main feature and it is important to get it to work. If we were to assign the solving of the error to only one of our group members and he/she did not manage to solve it in the end, it would cause the project to fail. Therefore, to ensure that the error has a higher chance of being solved, all of us worked on solving the same error. 

Fortunately for us, we managed to solve the error in our main feature during the first day of the competition. Therefore, during the second day, we focused on doing up the additional features which we had discussed beforehand that would be added to our application to better enhance the user's experience when using our application. The additional features we worked on was the weather forecast, bus timings and also crowd @ canteens. As we felt that these additional features would be the ones that would have impact, we decided on work on those first. While we were working on these additional features, we also ensured that we added in the UI design into our technical interface. Luckily for us, we once again managed to get 2 of the additional features to work as the last one needed more research to be carried out in order to ensure it works perfectly. I felt that these splitting of roles made our performance more efficient and as these features are something all of us were certain we would be able to do if we did enough research, we daringly split up the work scope so that no time will be wasted with 2 members working on the same feature. 

The last day of the hackathon required us to pitch which is an important factor that would contribute to convincing our judges that our project should be kept. We prepared the pitching slides and even created a script to ensure all the selling points of our product is mentioned. It was decided that all of us will present and thus each of us presented the different main points of our product. Surprisingly enough, we managed to impress our judges and became the best team in our problem statement. Furthermore, we won first place as the best team with the best product after the final pitching. 

 

All in all, I felt that we had proper time management during this competition. Although we were nervous and anxious at first as we were unsure whether we are able to complete the main feature successfully, we still managed to do it. I felt that we really planned it out nicely and stated our goals at the start of the day. Due to having the short discussion in the morning while splitting up the roles and ensuring that everyone is clear on what to work on, we were able to finish up our work without much issues. Moreover, we would help each other whenever we faced any problems with the coding which sped up the process of completing our product. Therefore, I feel that this competition was a fruitful experience which made me realize the importance of team work and also how it is essential to be clear of our goals and what we have to complete at the start of the day. 

sprint review 2.jpg

Sprint Review 2

After the hackathon in the previous week, we proceeded to review our 2nd sprint which was carried out during the hackathon. Similar to the previous sprint review, we answered a few questions and drew up a few graphs to address certain topics. We first calculated the work we have done during this second sprint. Although the amount of work completed was less than the work finished in during the first sprint, we felt that this second sprint is still more productive as we finished all the main features that we definitely have to complete to show a successful prototype. Therefore, with this completion during the second sprint, we felt that it was more productive. After calculating, we realized we finished close to around 2 third of the total amount of work to be completed. I think that we are going at a good pace as we tackled the work systematically bit by bit and prioritizing what we should finish first and I feel that we should continue the rest of our project with this pace. Proceeding from the calculating of the work completed and drawing up the graphs, we added a few more features that we felt should be incorporated into our application. We also broke down a user story into smaller tasks and split the work load among ourselves so as to ensure the efficiency of completing our tasks. 

Moving on from the calculating of our completed work and also distributing the tasks, we continued to doing the second phase of our sprint review. We came up with some goals to work with for our upcoming sprint and we felt that we should improve on our ideation, motivation and also being more on task. Therefore, we decided that we should think more about how to improve our product, be more proactive and also complete work within our planned deadline. I feel that by drawing up these goals, we are clearer of what we have to accomplish in our next sprint which will also increase our motivation in working towards these goals.

We also noted down the things that we have learnt from our last sprint. From our last print, we actually learnt more about Unity and also how to integrate API into Unity. We also learnt how to work on the clock and complete our work efficiently even with the short time given. I felt that this is an important skill and also an experience that we should go through as it may come in handy if we were required to work on the clock when we join the workforce in the future. This activity gives us a clearer idea of what it is like to plan ahead on our tasks and give each other deadlines so as to complete the work within the time limit. In addition, we also learned how to separate the duties appropriately and how to have good teamwork where we help each other and also make up for each others' weaknesses. Overall, I felt that our second sprint is very fruitful and the satisfying results are shown more clearly during our sprint review. Therefore, I hope that we are able to finish most of our application by the end of our third sprint and I look forward to seeing the results. 

Sprint Planning 3 (After Hackathon)

This week, we continued our sprint planning and proceeded to re-evaluate what we have to do. During this sprint planning, we realized that we should probably add a few more features to make our application more refined and have more uses than it currently has. Therefore, we added a few things that we each have to do and also the breaking down of the additional feature. We broke down our feature of WalkShare which would be the hardest to do as it requires the use of Firebase as we are aiming to make it into something that is similar to a messaging application. After breaking down the feature, we re-looked at all the current features that we will definitely be working on. During this re-checking of our current features, we realized a few things that are missing. We did not thought of using images at that time for all our features as our only concern before then was that we are unable to retrieve the data by using API. Therefore, after realizing that we did not take into account the using of images, we added in more tasks of creating the UI design of our pages and also creating the images that are relevant to our respective features. After adding all those additional tasks, we proceeded to confirming our roles and which features we should be working on individually. For me, I was assigned to continue working on the weather forecast whereby I have to successfully retrieve the data and display it on our project. Thus, for this sprint, the main thing and feature I am working on is the weather forecast feature and ensure that I can actually retrieve the data and display it. In addition, I have to be able to display the images accordingly to ensure that the correct overall design of this page that I want, can be achieved. 

p2.jpg

Sprint Review 3

After this sprint, we proceeded to doing our sprint review so that we know how much we have completed and the overall progress since we also added more tasks during this sprint. From this sprint review, we have actually learnt many things and as it was during the period where many of our assignments are due, we have to ensure that we are on task and have good time management. In addition, we are all starting on a new feature and have to carry out many research and trying out different codes to get our desired results which is time consuming and also hard to do. However, we all luckily managed to pull through and came up with good results. We were all finished with most of what we were tasked to do and produced satisfactory results. During the calculating of this sprint, we also found out that we have actually completed quite a lot of things that we aim to do and thus, we were happy with these results. Therefore, we felt that this sprint was the most useful in enforcing the need to have good time management and also how to research effectively to get the codes that will aid in what I am trying to achieve.  

Sprint Planning 4

In the previous sprint, I managed to complete what I was tasked to do. However, I still wanted to make the UI design look nicer for my page and therefore, I am required to continue working on this feature and refine it for this sprint. I managed to retrieve and display the data successfully with the right images being used to get the overall format I was planning to achieve. The only thing that I did not complete with satisfactory results is the overall design of the page as the text and images are not as properly aligned and that the design of the page does not look appealing. That was the reason why I was tasked to continue working to refine this page for this sprint. In addition to this small task which I have to complete, I was also tasked to do the announcement page with its feature being that the different news regarding Ngee Ann will be displayed. I have to ensure that the user can browse to the news they want and the overall UI design have to be flexible and appealing to users. All in all, for this sprint, I am in charge of ensuring the weather forecast page has the desired UI design and to make sure that the announcement page is fully functional with a good UI design. 

Final Product

We finished up on our product by finalizing our features and ensuring that our UI design is being displayed perfectly on our application without any issues. All of us tested our features after converting our project into a mobile application to test whether everything can work perfectly. After testing through all the features and trying to find any possible bugs or simply trying to solve minor problems, we ensured all our functions are working without any issues. Then, we did a final check on the navigation to ensure that all the buttons can lead properly to their intended page and that the interface design is what we intended. 

hp.PNG
bottom of page