HeaderSIS.jpg

Difference between revisions of "IS480 Team wiki: 2010T1 Flexperts"

From IS480
Jump to navigation Jump to search
m
Line 30: Line 30:
 
|-
 
|-
 
|||(CTE, [http://en.wikipedia.org/wiki/Singapore_Management_University SMU])
 
|||(CTE, [http://en.wikipedia.org/wiki/Singapore_Management_University SMU])
|-
 
| colspan="2" style="text-align: center; background:white " | '''TO DOs'''<sup>BETA</sup>
 
|-
 
|'''November 20, 2010''' ||  - Bobby
 
|-
 
|'''November 20, 2010''' || WB final integration - Bryan
 
|-
 
|'''November 20, 2010''' || Presentation - Urmila
 
|-
 
|'''November 20, 2010''' || Templates (according to UAT) - George
 
|-
 
|'''November 20, 2010''' || Interface mod - Yohann
 
 
|-
 
|-
 
|}
 
|}
  
[[IS480_Team_wiki:_2010T1_Flexperts/midterm_page | Midterm Wiki]] = Everything on Flexperts and Flexcellence upto the midterm presentation.
+
==Complete Timeline==
 +
 
 +
Timeline following the RUP process
 
<br>
 
<br>
Our project involves developing an e-learning resource system that easily generates and manages e-learning Flash objects using our pre-loaded, re-usable templates. We are working closely with the [http://www.smu.edu.sg/centres/CTE/ Centre for Teaching Excellence (CTE)], SMU, to give the Professors a more efficient method of communicating certain learning materials that they could not during class, in a more interactive and dynamic method than PowerPoint presentations. This helps to increase the understandability of materials that are not taught in class specifically. This is achieved by allowing students to work with the objects and see for themselves how the theory might apply. Tapping on the concepts of cloud computing (Platform as a Service) and Rich Internet Applications (RIA), users can enjoy richer, engaging experiences with the additional benefit being lightweight, without the need for installations or storage.
+
[[Image:Flexperts_timeline.png| 700px| Timeline following the RUP process]]
 
 
'''Learning Outcomes for each member''' <br>
 
Bryan: Learn Flash Actionscript<br>
 
George: Go back to the basics<br>
 
Bobby: Learning to Learn<br>
 
Urmila: Improve skills as a Business Analyst<br>
 
Yohann: Improve programming skills
 
 
<br>
 
<br>
 +
==Project Progress Summary==
  
__TOC__
+
Highlights since the [[IS480_Team_wiki:_2010T1_Flexperts/midterm_page | midterm]].
 
 
==Business Scenario==
 
  
===The Problem===
+
Describe the project progress briefly here. Is the project completed?
E-learning comprises all forms of electronically supported learning and teaching. In Singapore Management University (SMU), e-learning is hardly utilized. Very few faculty members use E-learning applications and processes such as Web-based learning, computer-based learning, virtual classroom opportunities and digital collaboration. The Centre of Teaching Excellence (CTE) wants to expand the usage of e-learning among the SMU faculty, to enhance self-learning for the students following a specific structure. However, the current e-learning development projects are outsourced to external vendors. This incurs high costs and long waiting time due to customization. Currently, only SCORM is being used by School of Information Systems.
 
  
===The Solution===
+
The project was completed on time. It was deployed on our client's server before our final presentation. Our shippable product, Flexcellence, comprises the Flash Generator and Live Whiteboard applications. The client is very satisfied with our product, and even commented that the Whiteboard has a lot of potential in the field of remote learning, which is in line with CTE’s promotion of e-learning.
CTE wants to bring the development of an e-learning resource system in-house as this will save cost and time. Dr. Soo Wai Man, approached our team to develop such a platform for faculty to generate e-learning objects, based on a standard learning pedagogy. The platform must be easy to use and applicable to faculties across the different schools in SMU. Our project comes under a bigger umbrella project called The Pedagogy Project. This scheme provides support for full-time faculty seeking assistance to develop electronic teaching and/or learning resources.
+
Our project will be put into pilot testing phase next semester. Professor Kevin Steppe will be using the Live Whiteboard in his Architecture class. While CTE will be conducting training  sessions for faculty members to get familiar with the Flash Generator. A dedicated server, apart from the current machine that we are using, will be set up soon. The necessary permissions and discussions are already in progress.
  
===Overview Of The Project===
 
Our project involves developing an e-learning resource system that easily generates and manages e-learning Flash objects using our pre-loaded, re-usable templates. This will give professors a more efficient method of communicating learning materials, in an interactive and dynamic method. Our templates are designed to enable professors to use the five primary types of content that are used in the learning process: facts, concepts, processes, procedures and principles.
 
  
== Project Description ==
+
===Project Highlights:===
  
===Pedagogy Project (e-Learning)===
+
What unexpected events occurred and how were they handled?
Our project comes under a bigger umbrella project called The Pedagogy Project. This scheme provides support for full-time faculty seeking assistance to develop electronic teaching and/or learning resources.
 
  
In consultation with faculty and administrative teams, we have articulated a process for supporting Pedagogy Projects (e-Learning). The process provides guidelines for budgeting, proposal submission, project scoping, approval, design, development and pilot testing.
+
* We dropped the delete function from CRUD of the flash generator, because it wasn’t the client’s requirement and was minute.
 +
* We dropped the toolbox function from the Whiteboard, as our client, Prof Kevin, felt that there was no point in duplicating features that were already available to students with PowerPoint.
 +
  
===Terms Definition===
+
===Project Challenges:===
*Flash-Learning-Object : ''A digital resource that can be re-used to support learning'' <ref>Beck, Robert J., 2009</ref>.
 
*Pedagogy Project (e-Learning): ''Development of an electronic teaching/learning resource that is pedagogically sound, interactive and engaging to supplement a challenging area/topic of classroom teaching''<ref>Singapore Management University, 2009</ref>.
 
*5 types of content: Facts, Concepts, Processes, Procedures, and Principles<ref>Clark & Chopeta, 2004</ref>.
 
  
[[User:George.chen.2008 | More details pertaining to Resuable Learning Objects]]
+
Describe areas of the project that were particularly difficult and how they were dealt with, whether successfully or not. Again, a few sentences are enough. If there are no challenges, remove this section.
  
{| class="wikitable" style="text-align: center; width="70%" "
+
===Project Achievements:===
|+ 5 Types of Content
 
|-
 
! scope="row"  width="100" | Fact
 
| Unique, specific information in the form of a statement or data or pictures of specific objects.
 
|-
 
! scope="row" | Concept
 
| A group of objects, symbols, ideas, or events that are defined by a single word or term, share common features, and vary on irrelevant features.
 
|-
 
! scope="row" | Procedure
 
| A sequence of steps to be followed by one individual to accomplish a task or make a decision. A procedure contains directions, tasks, or actions that are done the same way each time.
 
|-
 
! scope="row" | Process
 
| A flow of events that describes how something works. It is not necessarily a task done by one person, as manypeople or an organization may be involved.
 
|-
 
! scope="row" | Principle
 
| Directions for tasks that provide employees with guidelines for action. The guidelines must be adapted by the employees to various job situations. Principles require employees to use judgment and discretion when they apply them.
 
|-
 
|}
 
  
===Objectives===
+
With the help of our supervisor, we caught up after being behind schedule for weeks due to the unforeseen complexity in code. The method we used is by prioritizing by functions:
  
Upon completion, our team will have delivered a full working system based on our client’s requirements. The system will be hosted on our school’s server, running 24x7, and we will provide necessary maintenance. Our client and users will be able to efficiently generate new learning objects based on re-usable templates.
+
#We listed all the functions that we had promised to deliver on a board
 +
#We rated them in order of importance, not by sequence
 +
#We took into account precedence of functions in ordering
 +
#Using the new numbering, we set new goals for each iteration
 +
#Having set priorities, unimportant functions were taken out, and will only be completed if there is extra time
  
===Scope===
+
By changing our focus from delivering quantity to delivering quality, we found ourselves in a better position to meeting all our client’s requirements punctually.
A system which houses:
+
Teamwork wise, we did not limit ourselves to the specific job scope which we initially imposed. Instead, we were very flexible with it and filled in whichever gaps present. This agile teamwork dynamics that we put together often helped us help one another, thus aided us in working well with one another.
# <b>Flash-Object-Generating-Portal</b>, which includes the re-usable templates, Flex SDK, user account management
 
# Database containing the content of all the flash objects created
 
# Online repository to store our clip art and generated flash objects
 
# Development Server, which we will use to host the portal
 
# <b>Live Application</b>, a real-time whiteboard sharing application for students in class
 
  
 +
==Project Management==
  
Part of the development of our portal takes off where George left in his internship. To view more details, visit his [[User:George.chen.2008 | page]].
+
Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.
  
===Design===
+
===Project Schedule (Plan Vs Actual):===
Our team designed our products with the end in mind, sticking closely to <b>User-Centered Design</b> philosophy, which builds and designs based on the needs and wants of end-users. Thus, we have much testing, analyzing, surveying to help us forsee the interaction both end-users and non-end users will have with our system. (source:UCD)
 
  
===Assumptions===
+
[[Image:Flexperts_planVactual.png|600px| Plan vs Actual Schedule]]
# Solution can be hosted on the school server permanently, and maintained by us. <br>Mitigation: Seek approval once proposal is accepted. Maintenance period is 1 to 1.5 years, will a retainer fee for the team. After which, project will be handed over to either external vendor or student to perform upgrade.
 
#Users will know how to use our system. <br>Mitigation: Conduct a User-Acceptance Test on a small pool of faculty.
 
#Users will be comfortable with our system. <br>Mitigation: Market research and comparison with other related commercial products.
 
  
===Reasons we chose Flex===
+
===Project Metrics:===
  
1) Most importantly, it is selected by the client. He explained that flex is an industry product that hinges on interactivity to deliver Rich-internet applications (RIA). We did our own research and found that flex is indeed very scalable, and allows our product to be upgraded with more or enhanced components.
+
====Schedule Metric====
  
2) Flex is a framework. In designing our application, the importance lies in the design, and the tool which we use is but just a tool. We found that Flex has many components that caters to our needs, for instance, housing a Integration middleware (Live cycle data-services).
+
[[Image:Flexperts_schedule.png|600px| Schedule Metrics]]
  
3) WYSIWYG – we are focused on customer experience, and Flex allows us to develop applications with WSIWYG interface.
+
As you can notice we had certain  rough patches. The following chart shows our mitigation strategies which helped overcome our problem in terms of being behind schedule.  
  
4) Flex SDK is open source, and thus we can use it for production.
+
[[Image:Flexperts_schMet_miti.png|600px|Mitigation Strategy]]
  
5) Flex IDE is license free for academic use. With almost zero resources, it is only natural that we choose Flex.
+
====Bug Metric====
  
=System=
+
The .xls version of the excel with all the formulae can be downloaded from [http://dl.dropbox.com/u/580827/Bug%20Metric.xls here].
  
==Flash-Object-Generating-Portal==
 
  
===Objectives===
+
===Technical Complexity:===
*Deliver interactive, self-learning learning objects to students that is aligned to SMU's interactive teaching pedagogy.
 
*A simple, easy-to-use platform that facilitates the creation of flash learning objects with relative ease, using our Flash-object generator and in-built re-usable templates.
 
*Cultivate structured teaching/learning through using templates, according to the 5 instructional design content types.
 
*Quick building of learning objects of higher interactivity which keeping cost at minimum.
 
  
 +
#Edit a flash object only by changing the xml
 +
#Database feeding changing files at real-time which replaces Live-cycle data service
 +
#Complex file structure due to the integration of 2 applications
 +
#Efficient search without going through database
  
===Components Analogy===
+
==Quality of product==
Templates: Mould
 
  
Input: Plaster
 
  
Kiln: Flex SDK
 
  
Output: Sculpture
+
===Project Deliverables:===
  
  
The templates are thus resuable and ensure conformity in structural design throughout all output.
+
=== Quality:===
  
But more powerful than this analogy is the capability to 'Edit', or Update under the 'CRUD' model. Therefore, the final output, sculpture, can be modified and then published again. This allows information to be built on top of another.
+
Our system is designed to take in multiple instances at a time.
 +
The flash generator evokes a bat file every time it is called, and these bat files are executed in the order they are queued, and thus supports multiple instances. The whiteboard application creates multiple sessions, and allows multiple ‘rooms’ to be created.
  
===Key Features===
+
In essence, the target and source are loosely coupled.
  
====No setup required====
+
===Deployment:===
{| cellpadding="25"
 
|-
 
|This is a Zero-Setup System in which the user only needs a browser and internet access. Unlike Powerpoint or Keynote, there is not installing or upgrading required. Hence, you can use any computer to create or edit your material.
 
Simply logon to the portal using your SMU username and password. You can now choose one of the carefully crafted templates from the preview screen. You can now customize your template with just a few clicks. There are numerous customization options to help you design e-learning material that is not only  effective but aesthetically appealing too.
 
  
Now you can start editing the template. You can do so in fullscreen mode by checking the "Full Screen" option at the top right of the page.
+
We have a bat file that is scheduled to run at start up which performs the below actions:
|[[Image:Blank_template.png|600x330px]] 
+
1) Map our project folder to S:\
|-
+
2) Write the IP address to a html embedding a flash to redirect (until we get a static IP)
|}
+
3) Start Mod Converter, which is a Open office Library
 +
4) Start WAMP and tomcat
 +
With this bat file, it will automatically configure the runtime environment for our project.
  
====Simple yet powerful====
+
[[IS480_Final_Wiki#Project_Deliverables: | deployment diagram link]].
{| cellpadding="25"
 
|-
 
|[[Image:Endproduct-book.png|600x330px]]
 
|
 
|-
 
|}
 
  
====Crosses all boundaries====
+
===Testing:===
{| cellpadding="25"
 
|-
 
|
 
|[[Image:Mac.png|100x100px]] 
 
|When it comes to the matter of compatibility, our solution fits right in and bridges the gap. It is platform independent. All you need is a flash compatible browser.
 
|[[Image:Windows.png|100x100px]] 
 
|}
 
 
 
 
 
 
 
 
 
==Live Application - White-board Sharing==
 
===Objectives===
 
*An easy platform to facilitate class assignments for students and faculty alike
 
*View of all submitted assignments at a single glance
 
*No requirement of downloading software, like
 
*Reduction of the use of paper
 
*Convenient storage of all class assignments for future use
 
*Dynamic to allow students to make changes
 
 
 
===Key Features===
 
 
 
====Easy method to do class assignments====
 
Students no longer need to do their class assignments in the conventional method. Now, using the same system, students can do their class assignments on their computer itself and with a single click, can upload their assignment on to the server, which will then be stored in the repository, for Faculty to pull out whenever they want to.
 
 
 
====Single view of all submissions====
 
{| cellpadding="25"
 
|-
 
|As soon as the student clicks on a "Submit" button, the assignment will be uploaded to the server, after which the Professor can pull out to display. The system will allow the Professor to choose how many assignments he may want to display on the screen at one time, thereby allowing the class to view all the submissions at one time.
 
|[[Image:Spaces.png|600x330px]] 
 
|-
 
|}
 
 
 
====Dynamic Application====
 
One of the features of this system is that since students are submitting files online, they can make changes and keep uploading to the server and this will keep replacing the older version, thus allowing students to make changes on the spot and thereby learn better.
 
 
 
=Users=
 
 
 
===Non-end-users (Custom Users)===
 
Faculty
 
===End-users===
 
Students
 
=Comparison Table=
 
{| class="wikitable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"
 
! rowspan="2"| <big>Features<big>
 
! colspan="3"| <big>Products<big>
 
|-
 
! [[Image:Fx_Logo_without_name.png|112px]]<br>Flexperts
 
! [[Image:Fx_adobe_elearning.png|112px]]<br>Adobe E-Learning
 
! [[Image:Fx_articulate_logo.jpg]]<br>Articulate
 
|-
 
|<big>'''General'''<big>
 
|-
 
|Compatibility
 
|Cross platform and web-browser
 
|Works on major platforms(Windows and Mac)
 
|Only works on Windows
 
|-
 
|Installation
 
|Does not require any software setup
 
|Package needs to be installed
 
|Each package needs to be installed separately
 
|-
 
|Pricing
 
|TBC
 
|US $2,187 ex tax
 
|US $1,398
 
|-
 
|Customization
 
|Is customized from the start
 
|Requires customization
 
|Requires customization
 
|-
 
|Integration with LMS
 
|Simple request reply implementation
 
|Publishes to acrobat.com
 
|Setup required to publish to LMS
 
|-
 
|<big>'''Features'''<big>
 
|-
 
|Flash generator
 
| bgcolor="green" |Yes
 
| bgcolor="green"|Yes
 
| bgcolor="green"|Yes
 
|-
 
|Mobile authoring
 
| bgcolor="green"|Yes
 
| bgcolor="green"|Yes
 
| bgcolor="red" |No
 
|-
 
|Screen sharing
 
| bgcolor="green"|Yes
 
| bgcolor="red" |No
 
| bgcolor="red" |No
 
|-
 
|Quiz creation
 
| bgcolor="green"|Yes
 
| bgcolor="green"|Yes
 
| bgcolor="green"|Yes
 
|-
 
|Question of the day setup
 
| bgcolor="green"|Yes
 
| bgcolor="red" |No
 
| bgcolor="red" |No
 
|}
 
 
 
{| class="wikitable" style="font-size: smaller; text-align: center; width: 100%; table-layout: fixed;"
 
! rowspan="2"| <big>Features<big>
 
! colspan="3"| <big>Products<big>
 
|-
 
! [[Image:Fx_Logo_without_name.png|112px]]<br>Flexperts
 
! [[Image:Fx_Quizcreator.jpg|112px]]<br>Wondershare QuizCreator
 
! [[Image:Fx_Vista4.gif]]<br>SMU Vista 4
 
|-
 
|<big>'''General'''<big>
 
|-
 
|Compatibility
 
|Cross platform and web-browser
 
|Only works on Windows
 
|Cross platform and web-browser
 
|-
 
|Installation
 
|Does not require any software setup
 
|Package needs to be installed
 
|Does not require any software setup
 
|-
 
|Pricing
 
|TBC
 
|US $349.95 ex tax
 
|Existing
 
|-
 
|Customization
 
|Is customized from the start
 
|Requires customization
 
|Requires customization
 
|-
 
|Integration with LMS
 
|Simple request reply implementation
 
|Able to integrate with any LMS
 
|LMS
 
|-
 
|<big>'''Features'''<big>
 
|-
 
|Flash generator
 
| bgcolor="green" |Yes
 
| bgcolor="green"|Yes
 
| bgcolor="red"|No
 
|-
 
|Mobile authoring
 
| bgcolor="green"|Yes
 
| bgcolor="red" |No
 
| bgcolor="red" |No
 
|-
 
|Screen sharing
 
| bgcolor="green"|Yes
 
| bgcolor="red" |No
 
| bgcolor="red" |No
 
|-
 
|Quiz creation
 
| bgcolor="green"|Yes
 
| bgcolor="green"|Yes
 
| bgcolor="green"|Yes
 
|-
 
|Question of the day setup
 
| bgcolor="green"|Yes
 
| bgcolor="red" |No
 
| bgcolor="red" |No
 
|}
 
===Use===
 
A flash learning object is defined as a self-contained, digital resource that can be used to support learning.
 
While flash learning objects are aimed for students to do self-learning <u>outside class</u>, the live application is targetted to be used in class as a whiteboard sharing application.
 
  
===Exploratory Research===
+
We conducted a UAT with not only our client, but our end users as well, which includes the Professors and students as well.
Other than meeting our client's requirements, we also want to know how we can further cater and tailor our product for our users. With our proof of concept, we surveyed xxxx faculty members.....
+
Our UAT Test plan can be found at [insert same link from Project Deliverables section]
 +
For the Flash Generator, we approached 4 Professors and 4 students, who were from SIS, SOB and Dean of Students office .In general, they found the system useful, and expressed an interest to use it in the future. Their suggestions were more on the UI than functionality based. The details of the feedback can be found in the following document.  
  
=Incentives=
+
Our client upon testing had very positive feedback and was very happy.
 +
For the Whiteboard, we asked [I don’t know who we asked to demo]. They were in general very happy with the application, although felt that 8 screens might not be enough for all students in the class, and therefore felt this was a limitation. Also, when uploaded to the Whiteboard, the diagrams are slightly small, so not very useful for all courses.
  
===Applying for SMUIA===
 
  
Our team is also using the SMU Innovation Award as incentive to work towards. This project is innovative because of its purpose to enhance learning between professors and students in a manner that has not yet been tackled.
 
  
=Project Management=
+
==Reflection==
  
===Milestones===
+
Compile common lessons and reflection for the team and for each team member. Be brief.
[[Image:fx_milestones.png| 600px]]
 
* Each iteration is followed with a User Acceptance Test (UAT)
 
  
===Presentation===
+
===Team Reflection:===
  
[http://dl.dropbox.com/u/580827/IS480%20-%20Mid%20Term%20Presentation_v1.2.pptx Midterm Presentation ]
+
'''Bobby's Reflection'''
  
===Meeting Minutes===
+
As project manager, I had two goals for this project. Firstly, I wanted my group members to work as a closely knitted and united team. The beginning was not easy because we had different opinions on the feasibility of this project. As the semester when by, there were times where progress was slow due to the complexity of our technology. Even when times got tough, we never gave up. I am immensely pleased that we worked together and pressed on to finish this project as a team.
 +
Secondly, I wanted my team to deliver a shippable product, something that could be used. Our professor Kevin Steppe showed great commitment in our whiteboard application and he intends to use it in his Architectural Analysis (AA) class next semester. Our client, Dr Soo Wai Man from Centre of Teaching Excellence (CTE) wants to pilot test our Flash Generator too. I am very proud of these achievements.
  
[http://dl.dropbox.com/u/580827/310510%20Minutes%20of%20Meeting.docx Meeting Minutes - May 31, 2010] <br>
+
'''Bryan's Reflection'''
[http://dl.dropbox.com/u/580827/030610%20Client%20Meeting.docx Meeting Minutes(Client) - June 03, 2010] <br>
 
[http://dl.dropbox.com/u/580827/090710%20Scope%20Finalizing%20Meeting.docx Meeting Minutes - July 9, 2010]<br>
 
[http://dl.dropbox.com/u/580827/190810%20Supervisor%20Meeting.docx Meeting Minutes(Supervisor) - August 19, 2010]<br>
 
[http://dl.dropbox.com/u/580827/230810%20Minutes%20of%20Meeting.docx Meeting Minutes(Supervisor) - August 23, 2010]<br>
 
[http://dl.dropbox.com/u/580827/Minutes%20of%20Meeting%20with%20Client%2C%20260810.docx Meeting Minutes(Client) - August 26, 2010]<br>
 
[http://dl.dropbox.com/u/580827/270810%20Supervisor%20Meeting.docx Meeting Minutes(Supervisor) - August 27, 2010]<br>
 
[http://dl.dropbox.com/u/580827/030910%20Supervisor%20Meeting.docx Meeting Minutes(Supervisor) - September 03, 2010]<br>
 
[http://dl.dropbox.com/u/580827/170910%20Supervisor%20Meeting.docx Meeting Minutes(Supervisor) - September 9, 2010]<br>
 
[http://dl.dropbox.com/u/580827/240910%20Supervisor%20Meeting.docx Meeting Minutes(Supervisor) - September 24, 2010]<br>
 
[http://dl.dropbox.com/u/580827/151010%20Supervisor%20Meeting.docx Meeting Minutes(Supervisor) - October 15, 2010]<br>
 
  
===Software Setup===
 
  
====Programmers' Setup====
+
'''George’s Reflection'''
  
*Adobe Flash Builder (Flex)
+
This project is more than just a technical project. The team got the chance to search for a sponsor, discuss the technicalities with him, gather feedback and improve on our product. I feel that this project is more than academic; it’s practical and puts everything we learnt in and out of classroom to practice. As I have had very good experience and learning outcome from this FYP, I will be doing another one next year.
*Flex SDK
 
*Microsoft Project  / Merlin(Mac equivalent)
 
*NetBeans
 
*Microsoft Visio
 
  
====Server Setup====
+
'''Urmila’s Reflection'''
  
*Windows XP (Operating System)
+
The most important lesson I learnt from this project is that it’s very essential for business requirements to take into account technical possibilities. Sometime, what are good business requirements may not be able to be translated into technical requirements, so some way has to be figured out whereby the business requirement is addressed in some manner, without putting too much strain on the technical team.
*Flex SDK
+
Working with a real client, and being able to deliver a working product at the end, was definitely very fulfilling, and really helped me to understand some of the concepts that we are taught in our courses.
*NetBeans
 
*WAMP
 
*Tomcat
 
*Open Office
 
  
====Why are we using FLEX?====
+
'''Yohann's Reflection'''
There are multiple reasons as to why we use flex:
 
*Most importantly, it is selected by the client. He explained that flex is an industry product that hinges on interactivity to deliver Rich-internet applications (RIA). We did our own research and found that flex is indeed very scalable, and allows our product to be upgraded with more or enhanced components. The comparison can be found on our wiki page.
 
*Flex is a framework. In designing our application, the importance lies in the design, and the tool which we use is but just a tool. We found that Flex has many components that caters to our needs, for instance, housing a Integration middleware (Live cycle data-services).
 
*WYSIWYG – we are focused on customer experience, and Flex allows us to develop applications with WSIWYG interface.
 
*Flex SDK is open source, and thus we can use it for production. Flex IDE is license free for academic use. With almost zero resources, it is only natural that we choose Flex.
 
  
====So Why Flash?====
 
*'''High distribution'''
 
Only the Adobe Flash Player must be installed. No additional player needs to be installed on the client's computer. Because so many well known pages require the flash player, most computers already have the Flash Player installed. In fact Flash has reached an accessibility of almost 99% (look here).
 
*'''Multi-platform'''
 
Windows, Linux, Mac
 
*'''Easy and quick installation'''
 
If a user has not installed the flash player has an old version the installation / update process is both simple and fast!
 
*'''Quick start up'''
 
On an average PC the startup process of the Flash plugin is very quick (normally under one second). Java-Applets (for example) unfortunately often need much longer to start up !
 
  
===Resources and reference materials===
 
  
For the purpose of our development in the proposed solution, our client has put together a mini-library of 20 technical help books, covering topics from Flex to XML to databases. We are also using Proquest e-books for reference purpose.<br>For software, our client has provided us the entire Adobe Master Suite Collection for project development. We have also each obtained an educational copy of licensed Adobe Flash Builder (Flex). The SDK is open-source. We have also obtained budget to purchase an online clip art resource for our repository. For the purpose of comparison, we have also purchased several licenses of related commercial software to better leverage our product.<br>Server will either be hosted on the SMU Library development server, IS server (yet to seek permission), or on CIT’s server (maintained by us). On top of that, we are in the midst of negotiating with the Vista Team, IITS, on how we can use a prototype of their new LMS to test out our system.
+
===Sponsor Comment:===
  
=References=
+
The sponsor commented that our whiteboard has potential for remote learning, and is currently looking into that. He also expresses that our system is efficient, and commends our team efficiency in delivering the customized product
<references/>
 

Revision as of 17:24, 28 November 2010

Flexperts
The Team
The Flexperts logo designed by TiYo©
Type Student group
Area Interactive Learning Material
Industry Computer Software
Web-based Applications
Product E-learning Resource System
Team members Bryan Cheong Wen Cai
George Chen Kaidi
Harjani Bharat Gobindram
Urmila Mandapaka
Yohann Yezdi Engineer
Faculty Supervisor Kevin Steppe
Client Soo Wai Man
(CTE, SMU)

Complete Timeline

Timeline following the RUP process
Timeline following the RUP process

Project Progress Summary

Highlights since the midterm.

Describe the project progress briefly here. Is the project completed?

The project was completed on time. It was deployed on our client's server before our final presentation. Our shippable product, Flexcellence, comprises the Flash Generator and Live Whiteboard applications. The client is very satisfied with our product, and even commented that the Whiteboard has a lot of potential in the field of remote learning, which is in line with CTE’s promotion of e-learning. Our project will be put into pilot testing phase next semester. Professor Kevin Steppe will be using the Live Whiteboard in his Architecture class. While CTE will be conducting training sessions for faculty members to get familiar with the Flash Generator. A dedicated server, apart from the current machine that we are using, will be set up soon. The necessary permissions and discussions are already in progress.


Project Highlights:

What unexpected events occurred and how were they handled?

  • We dropped the delete function from CRUD of the flash generator, because it wasn’t the client’s requirement and was minute.
  • We dropped the toolbox function from the Whiteboard, as our client, Prof Kevin, felt that there was no point in duplicating features that were already available to students with PowerPoint.


Project Challenges:

Describe areas of the project that were particularly difficult and how they were dealt with, whether successfully or not. Again, a few sentences are enough. If there are no challenges, remove this section.

Project Achievements:

With the help of our supervisor, we caught up after being behind schedule for weeks due to the unforeseen complexity in code. The method we used is by prioritizing by functions:

  1. We listed all the functions that we had promised to deliver on a board
  2. We rated them in order of importance, not by sequence
  3. We took into account precedence of functions in ordering
  4. Using the new numbering, we set new goals for each iteration
  5. Having set priorities, unimportant functions were taken out, and will only be completed if there is extra time

By changing our focus from delivering quantity to delivering quality, we found ourselves in a better position to meeting all our client’s requirements punctually. Teamwork wise, we did not limit ourselves to the specific job scope which we initially imposed. Instead, we were very flexible with it and filled in whichever gaps present. This agile teamwork dynamics that we put together often helped us help one another, thus aided us in working well with one another.

Project Management

Provide more details about the status, schedule and the scope of the project. Describe the complexity of the project.

Project Schedule (Plan Vs Actual):

Plan vs Actual Schedule

Project Metrics:

Schedule Metric

Schedule Metrics

As you can notice we had certain rough patches. The following chart shows our mitigation strategies which helped overcome our problem in terms of being behind schedule.

Mitigation Strategy

Bug Metric

The .xls version of the excel with all the formulae can be downloaded from here.


Technical Complexity:

  1. Edit a flash object only by changing the xml
  2. Database feeding changing files at real-time which replaces Live-cycle data service
  3. Complex file structure due to the integration of 2 applications
  4. Efficient search without going through database

Quality of product

Project Deliverables:

Quality:

Our system is designed to take in multiple instances at a time. The flash generator evokes a bat file every time it is called, and these bat files are executed in the order they are queued, and thus supports multiple instances. The whiteboard application creates multiple sessions, and allows multiple ‘rooms’ to be created.

In essence, the target and source are loosely coupled.

Deployment:

We have a bat file that is scheduled to run at start up which performs the below actions: 1) Map our project folder to S:\ 2) Write the IP address to a html embedding a flash to redirect (until we get a static IP) 3) Start Mod Converter, which is a Open office Library 4) Start WAMP and tomcat With this bat file, it will automatically configure the runtime environment for our project.

deployment diagram link.

Testing:

We conducted a UAT with not only our client, but our end users as well, which includes the Professors and students as well. Our UAT Test plan can be found at [insert same link from Project Deliverables section] For the Flash Generator, we approached 4 Professors and 4 students, who were from SIS, SOB and Dean of Students office .In general, they found the system useful, and expressed an interest to use it in the future. Their suggestions were more on the UI than functionality based. The details of the feedback can be found in the following document.

Our client upon testing had very positive feedback and was very happy. For the Whiteboard, we asked [I don’t know who we asked to demo]. They were in general very happy with the application, although felt that 8 screens might not be enough for all students in the class, and therefore felt this was a limitation. Also, when uploaded to the Whiteboard, the diagrams are slightly small, so not very useful for all courses.


Reflection

Compile common lessons and reflection for the team and for each team member. Be brief.

Team Reflection:

Bobby's Reflection

As project manager, I had two goals for this project. Firstly, I wanted my group members to work as a closely knitted and united team. The beginning was not easy because we had different opinions on the feasibility of this project. As the semester when by, there were times where progress was slow due to the complexity of our technology. Even when times got tough, we never gave up. I am immensely pleased that we worked together and pressed on to finish this project as a team. Secondly, I wanted my team to deliver a shippable product, something that could be used. Our professor Kevin Steppe showed great commitment in our whiteboard application and he intends to use it in his Architectural Analysis (AA) class next semester. Our client, Dr Soo Wai Man from Centre of Teaching Excellence (CTE) wants to pilot test our Flash Generator too. I am very proud of these achievements.

Bryan's Reflection


George’s Reflection

This project is more than just a technical project. The team got the chance to search for a sponsor, discuss the technicalities with him, gather feedback and improve on our product. I feel that this project is more than academic; it’s practical and puts everything we learnt in and out of classroom to practice. As I have had very good experience and learning outcome from this FYP, I will be doing another one next year.

Urmila’s Reflection

The most important lesson I learnt from this project is that it’s very essential for business requirements to take into account technical possibilities. Sometime, what are good business requirements may not be able to be translated into technical requirements, so some way has to be figured out whereby the business requirement is addressed in some manner, without putting too much strain on the technical team. Working with a real client, and being able to deliver a working product at the end, was definitely very fulfilling, and really helped me to understand some of the concepts that we are taught in our courses.

Yohann's Reflection


The sponsor commented that our whiteboard has potential for remote learning, and is currently looking into that. He also expresses that our system is efficient, and commends our team efficiency in delivering the customized product