IS480 Team wiki: 2009T1 Mimosa

From IS480
Jump to navigation Jump to search

Mimosa Logo.jpg

designed by Tessie and Phuc

Fyp-presentation copy-jungle.jpg


Why Mimosa?

Why are we called Mimosa? err what's Mimosa in the first place...


Mimosa, also known as "touch-me-not", is a plant that is very sensitive to touch - it closes its leaves when touched.

Just like our project. Sensitive to touch!

Basically, we aim to create a multi-touch application that is highly responsive to touch to provide a natural, intuitive, rich and interactive user experience.

Bravo! to Tessie who came up with this brilliant name :D

Who's In?



  1. Phuc / jKid169, who has been 'aroused' by multi-touch technology (love at 1st sight!)
  2. Firdaus, who has a unique evil-sounding laughter that stuns everyone
  3. Su Mon, who looks so fragile and needs protection
  4. Tessie, who is very emotional and sensitive so we'll be treating her very nice :P
  5. Ngu Wah / Wah Lin, who is quiet but thoughtful
  6. Kah Hwee, who is... me!


House Rules!!!

We are very serious about this project...

We understand that we need some way to discipline ourselves...

This explains some of the 'cruel' rules we have here:-

    • We will rotate the buddy pairs for every iteration (because Phan said he will get bored very fast)
    • If a person is absent or late for meeting, the buddy MUST update him/her
    • One must know the reason if his/her buddy is absent or late for meeting, or else... (see point below)
  2. FINE SYSTEM (we know money matters to everyone *firdaus's evil laughter*)
    • If a member doesn't know why his/her buddy is absent or late, he/she will be fined $0.50
    • Those who are >=15 mins late without a valid reason will be fined $0.50 for every 5 mins

Roles & Responsibilities

Role Member(s) Responsibilities Requirements
Project Manager (Done in Rotation)
  • Planning for meeting agenda, holding the meeting
  • Tracking project schedule, reporting task completion and actual hours worked on tasks
  • Ensuring the team is on the right track - always double check with the requirements (for both client's and is480's)
  • Preparing progress report and updating the team regularly
  • Process life cycle models
  • Project management techniques
    • Time management - planning and implementing project schedule
    • Resource management - assigning tasks, coordinating the team members
  • Ability to see overall / big picture or direction
  • Tessie
  • Ngu Wah
  • Meeting minutes
  • Other administrative matters
  • Ability to understand what's going on and then take down notes quickly and accurately
Front-end Designer (User Interface)
  • Su Mon
  • Tessie
  • Designing the user interface for users (including graphics, components, navigation, etc)
  • Designing skills (interface) - aesthetic aspect, graphics
  • User physiology (usability, user friendliness)
Back-end Designer (Database and Network)
  • Firdaus
  • Ngu Wah
  • Designing the backend of the system including database design and handling of server as well as the hardware which is the multitouch table.
  • Database design
  • Modeling techniques
System Analyst cum Programmer
  • Kah Hwee
  • Phuc
  • Implementing the system at the unit level and system level
  • Integrating frontend and backend
  • Strong logic
  • Problem-solving skills
  • Su Mon
  • Tessie
  • Ngu Wah
  • Coming up with test plan
  • Bug tracking
  • Meticulous
  • Suspicious - always feel uneasy until he/she checks again
  • Die-die-want-to-dig-a-bug-out spirit
  • Ability to think of thousands of ways to find bugs
Public Relation (PR)
  • Phuc
  • Point of contact with all external parties (client, supervisor, etc)
  • Communication skills
  • Ability to be politically correct
Deployment Manager
  • Firdaus
  • Planing and allocating resources during deployment
  • Ensuring all necessary resources are well prepared
  • Planning and coordinating skills


Are you ready to unveil the "Journey to the Center of Multitouch Technology"...Slide To Unlock the story! And since it's multi-touch, you need to do them all at the same time...


Well, due to confidentiality issue, our team is unable to disclose the details of our project. We will try our best to make this page as informative (and entertaining as the pictures above!) as possible

NUI Office

NUI Office is a multi-touch application which aims to enhance collaborative discussion by leveraging the multi-touch and multi-user capability. As a NUI (Natural User Interface) application, NUI Office is expected to be very intuitive and natural to its users. Hence, the team is going to place a lot of focus on usability and user-friendliness of the application. This is going to be a big challenge for the team because of the lack of experience in using multi-touch application. You know... we have to understand the users to make the application user-friendly. So... all of us are actually thinking to... ASK FOR AN IPHONE FROM YOU FOR EACH OF US!!! Feel free to contact us. Thank you. We will love you.

Why NUI???

Command Line Interface (CLI)

System.out.println("Hello World!");

Hello World! from CLI

Graphical User Interface (GUI)

Label label1 = new Label();
label1.setText("Hello World!");

Wx hello world.png
Hello World! from GUI

User Interface has been evolving through times. From the very first dawn of information technology when people got used to the command line interface (CLI), then came the times of graphic user interface (GUI) which we are all so familiar with today. However, that is not the end of it. Our team believes we are about to see the era of a new, better and more intuitive way to interact with computers through the Natural User Interface (NUI). Nowadays, people are getting much more familiar with NUI through touch-enabled devices like mobile phone, camera, ATM, etc. Without a doubt, NUI is going to be the future trend of user interface.

So... why NUI???
(A) It's a new technology! CLI and GUI are outdated!
(B) It's challenging! We wanna prove that we can do it!
(C) We just wanna have fun and be cool!

The answer is... C!!!

Click here to find out more about NUI


Take a peek at how we work together as a team, the interesting events that occurred, some useful tips that can facilitate fast and effective learning in the group, etc.

May 24, 2009 (Sunday)

We had a looooong meeting today! But it's rather productive as we achieved quite a number of things. We came together to share our learning / research on some assigned topics. And most amazingly, our very dear Firdaus has conducted a programming workshop for all of us!!! (Since we aren't using the same old language that was taught in school, we need to learn the new language) We never imagined that the workshop could be so comprehensive that it covered all the important topics with about 40 slides. We're sorry to Firdaus that we felt hungry towards the end of the workshop so we couldn't pay full attention... But we must say that it's awesome! It really helped in saving our time from reading the textbooks and doing the tutorials.

This is something that we found to be quite useful - an Expert System in the team. (This has nothing to do with this. It's just a name we created ourselves for the way that the team operates, just like Buddy System and Fine System) Basically, everyone will specialize in some area and then teach the rest of the team. We find that this is an effective way for all the team members to learn things quick, as compared to each member going through the all learning materials individually. And through teaching the team members, we do develop our communication and presentation skills as well! (Thinking about LOMS? Haha!) Besides, it's also a way to increase the team interaction and improve the team dynamic =)

Well, things are looking good! We also completed the 1st draft of project proposal (We'll submit it soon) and also a discussion on the 1st prototype that we're going to build. Hope that everyone is feeling motivated and energetic to keep moving forward, but NOT at the expense of the health! All the members are now working from nine to six and 5 days per week (Some of our team members even need to work during weekends!!!). It's really not easy to juggle all these so it's crucial for everyone to get enough rest. Most importantly, we should have fun throughout the whole project as well!

May 31, 2009 (Sunday)

Another long meeting in the weekend! Well, probably we'll be having a weekly long meeting in the weekend. That's like the only time we all are free for long hours.

To be truthful, some of us are feeling a bit stressed and worried. We do feel helpless at times because there are so much to learn and we don't know where to start. We have been trying our best to absorb as much as we can, try things out as much as we can, implement the expert system to narrow the scope for each member, etc. But there are still times when some of us feel that we didn't achieve anything after sitting in front of the computer and trying for the whole day. Yes, it's frustrating. Indeed. But, yo~! People! Never lose faith in yourself! We just have to grit our teeth and persevere, we'll succeed in the end. We must believe that WE CAN! Let's take in a deep breathe, clear our worries and stress, and then start doing it step-by-step, with the very trust in ourselves :)

Yes, We Can Do It.

June 7, 2009 (Sunday)

Yes, we did it! Nice prototype! It wasn't such a smooth sail, of course. One night before presenting the prototype, we met in school to ensure the integrated code works properly and to debug. However, there was still some problem that we couldn't understand the cause and solve it. Magically, during the prototype presentation, it worked amazingly well! Alright, it's not magic, it's because of Phuc who stayed up till 4am to fix the prototype.

Here are BIG THANK YOUs from all the members (to all the members as well! for making the 1st prototype a success):-

  • "Terima kasih!" from Firdaus
  • "Kyay zu tin par dae!" from Su Mon and Ngu Wah
  • "Mmm kuai sai!" / "Tor zeh sai!" from Tessie
  • "Kam sia!" from Kah Hwee
  • "Cam on!" from Phuc

Call it fortunate or unfortunate, our project scope expanded partly due to our fast progress. We've given ourselves 1 to 2 weeks to complete the additional functionality which must be done asap. We see this as an opportinity for us to learn more. Ok, time to revise the planned schedule and proposal again!

This week's good news: The team's motivation is high up again! =D

June 16, 2009 (Tuesday)

Today is a big day for us. For the very first time, we'll be deploying our work on the multitouch device at the client site. We'll be deploying our Phase 1 Application, which is the additional requirement that was mentioned last week. We did it again! We completed the additional scope right in time. To be more specific, it's less-than-2-week time! Phase 1 application is a simpler application that allows the users to browse for information in an interactive and engaging manner. Yesterday night, we came together after work again to ensure everything works broberly properly. And yes, we're confident that the application is up to it! =) Looking forward to the deployment later!

You can tell that, we are extremely excited about this :D

June 17, 2009 (Wednesday)

Yesterday's deployment wasn't so smooth due to some compatibility issue that we weren't aware of. Thankfully, we managed to get it up and running in the end after we correctly identified the problem. The whole process was not very organized. We didn't prepare for the unexpected. Now we learned our lesson. We'll be planning properly next time!

Besides this...

At the client site, we informally asked for feedback from some people there. We realized a few important points:

  • We'd been trying to make the application a cool one, but what the customers really need is a professional looking and fast responding application. The animation that we deemed cool may not be appropriate. We need to design a more subtle animation and also try to minimize the loading time. We need to find a balance between coolness and professionalism.
  • We didn't consider the fact that the customers may have no knowledge about a multi-touch device at all. They may not even dare to touch it! We shouldn't assume that they will know how to use our application when they saw it running. We need some way to guide or hint the users to just touch it. (User manual or tutorial is never a good idea for a NUI application)
  • We'd been assuming that multiple users could be using the application concurrently while in the real scenario it's unlikely to happen (for phase 1 application). Thus we need to alter our application to suit the business scenario.

This picture below was shown in one of the Software Engineering lessons. We get it now. Swingproject.jpg

Alright! After getting the feedback, it's time to improve!

Yes, criticism spurs improvement =}

June 23, 2009 (Tuesday)

We're going to the client site again tomorrow. To finish the unfinished. We've appointed a deployment manager -- Firdaus who's responsible to take charge of this so that it won't be so messy. We learned our lesson~

What does a deployment manager do?

  • Know how to deploy, of course, because that’s his title (Know how to turn on/off the multitouch device and know what to do when something goes wrong)
  • Always try to expect the unexpected and be prepared for it
  • Have a thorough action plan (planned timeline with assigned tasks and resources)
  • Bring all the necessary resources (external hard drive with relevant files, thumb drive, cables, etc)

Besides, we also have an archive manager who keeps backups for all the working applications at regular intervals. Our expectation of him is very high. When we say "we want to try out the first prototype that we showed to client last month", he must say "alright, it's here in my thumbdrive, take it!" and pass us the application that's working exactly like how it ran 1 month ago. This archive manager is Phuc.

And we're going to have a memory manager! What kind of role is that? You wonder. Well, it's easy. Just try all ways to capture our FYP memories! Mostly in the form of videos and photos? Maybe. Perhaps this memory manager can be more creative too! =D

Forecast: Sooner or later, everyone will have a title with the word 'manager' =)

July 8, 2009 (Wednesday)

Why did team Mimosa not update their FYP diary in the past 2 weeks?

Were they slacking off?

Were they just too busy for they FYP and had no time to update this little diary here?

Did they just burn themselves out because they worked too hard?

Well... the 2nd deployment at the client site (please refer to previous diary if you have no idea about what i'm talking) was good. Phase 1 application had successfully been deployed there =) we did noted a few minor bugs to fix as well. And after that deployment, we decided to have some rest... since we'd worked our ass off very hard to make the phase 1 application deployed in time. At the same time (while resting), we also needed to catch up on the documentation work that had been omitted temporarily due to the tight schedule for phase 1 application.

We are starting to work hard again this week! That's probably why you see this diary being updated here :) Yesterday evening, we had a workshop for everyone to learn from one another, and to discuss all the important technical concepts applied in our phase 1 application. Hopefully with a better understanding, we can have a more solid foundation to move forward stably in our 2nd phase of the project, which is definitely going to be a lot more challenging.

September 6, 2009 (Week 3 Sunday)

Please pardon us for our long absence (for like 2 months! Wow!). Yes, you wonder what we have been doing (again). And yes, you should also have guessed that Team Mimosa has been too busy doing FYP to update the wiki. Bingo~ you're so right!

In the past 2 months, many things have changed. Our original project - NUI Office has turned into a proof of concept (POC). And the Phase 1 Application (refer to June 16's diary), which was supposed to be an additional scope, has turned into the main application. Phase 1 Application has already been deployed last month, and we are now working on a few enhanced features.

As you can see, we are kind of working on 2 applications now - Phase 1 Application enhancement and Phase 2 Application (the original NUI Office which is a POC now). And the unfortunate consequence is that - our team has to split into 2 to work on these! =( =( =( =( =( =( =( =( =( Ok~ not that bad. At least what we are more able to do now is to criticize each other's application from more of a outsider's point of view. Criticism spurs improvements, right? Of course, we do try to provide constructive feedback and not just 'Bang! Bang!' to shoot the other one down and smile at the victory. At the end of the day, WE ARE STILL A TEAM~ =)

Looking at Phuc's personal message in MSN - "pressure helps you grow faster". Yes, it's kind of true for our FYP. Team Mimosa is a 6-man team. Our client, supervisor, reviewer, etc are expecting a lot from us. Our supervisor, Kevin, has always assumed that we can progress very fast with 6 members. He usually will push us quite a bit to keep improving the applications so that they are more value-adding to the end users. We really appreciate that. Tell you secretly (shh!), sometimes we do feel lazy and think that it's ok to just leave it like that, but Kevin would always ask questions like "Why does it take so long to load? How could you improve it?" and try to imagine himself being the end users and provide suggestions about the enhancement that we can possibly make. Indeed, those have been helping the applications to improve and helping us to learn more and grow. We sincerely thank our supervisor for pushing us to achieve beyond our limits =)

September 17, 2009 (Week 5 Thursday)

September 24, 2009 (Week 6 Thursday)

Looking at this Wiki site again, we suddenly realized that last week's journal is empty! The reason must be that the writer was too tired doing FYP so he/she fell asleep in front of the computer after inserting the journal's title. Do pardon him/her, it's Week 5 and 6 in SMU!

It's time to do our midterm reflection~ Let's see some snippet of it (the 1st few paragraphs of the report):

  • The project has been progressing well despite the major changes in requirements. We managed to complete the deliverables planned per iteration. We have completed 10 out of 13 iterations. Over the next 1-2 weeks, we will focus on completing the remaining functionalities and testing our application to produce a stable version for User Acceptance Testing (UAT).
  • We have deployed and tested our application on the actual multitouch table at the client's site a few times. This increases our confidence in successfully deploying a working application. Portions of Phase One and Two have been deployed at the client's site ... (Censored) ...
  • We have fortnightly meetings with our client and sponsor to present our working product, gather feedbacks and clarify requirements to help us stay on track. As such, we are confident that the project can be completed on time and meet the client’s expectation.

Wow, it seems that things are looking good!

Our supervisor Kevin was kind enough to help us proof read our report. "3 group members are more than one so it should be 'have' instead, not 'has'..." When we starts started wondering whether he was an English teacher, he told us that his mum was an English Literature teacher who did the same thing to him when he was young. And he didn't appreciate it. And now, he is doing that to his students. NO WONDER~, we whispered loudly in our heart. Besides, Kevin pointed out that our report "sounds like a whining girlfriend". "You said you will give me this this this but you didn't!... I have to do that that that because of this this this!..." That's the way he illustrated it. He was right! That's probably because the members were not in a good mood when they were writing the report in Week 5. Hence, some element of angst had been unknowingly added into the reflection. We really thank Kevin for helping us to proof read which really helped us save lots of time.

We will be having our UAT soon in Week 9! We can foresee that the next few weeks will be stressful ones. And Week 8, the supposedly term break, will be our bug squashing and code cleaning week. How exciting~! We really look forward to that =)

October 20, 2009 (Week 10 Tuesday)

UAT was postponed =(

The hardware was having some problem =(

We're now on our own =(

Before finding out the issues with the hardware, we were all happily taking group pictures...


Who knows... we got the shock of our life after that... =(

Anyway, what we can do now is just to pray everyday keep trying our very best =) がんばって!

October 21, 2009 (Week 10 Wednesday)

Take a peek at our plan till the end of FYP...


note: Documentation refers to Deployment Guide, Technical Specifications, User Manual, etc

December 1, 2009 (Week 16 Tuesday)

We had our final presentation in a story format:-

Fyp-presentation copy-jungle.jpg


December 2, 2009 (Week 16 Wednesday)

To our surprise, we won the Best IS480 Project award! :^D


taken during Poster Fair 2009

Thanks everyone for the support!