IS480 Team wiki: 2010T1 Picturative
Type | Student Development Group |
Area | 3D Virtual Worlds Creation |
Industry | Computer Software |
Product | Collaborative Slides System |
Team members | Bryanmaguire Chia See Shang |
Kho Zhi Gang | |
Sim Kwang Yong, Skye | |
Subeesh S/O Basheer | |
Tan Chuanzhong | |
Faculty Supervisor | Professor Zheng Baihua |
Sponsors | VastPark Pty Ltd, Melbourne, Australia |
Advisors | Bruce Joy, Chairman, VastPark |
Craig Presti, CTO, VastPark | |
Professor Richard Davis |
Developing 3D Spaces for Collaborative Project Development
Business Need: Massive Collaboration Efforts
As companies increase in size and often exist in multiple locations, cross geographic asynchronous collaboration becomes a pain point for larger firms. Differing schedules, multiple versions, and the generally confusing naming conventions of a simple file could result in misinterpreted information. Clearly, firms today are faced with an overload of information, with a lack of a proper system to facilitate the interpretation and understanding of ideas.
Our Proposal: 3D Collaboration
2D environments have always been the choice of collaborative development. However, some drawbacks of having a 2d environment is the lack of real time updates as well as the problems of handling vast amounts of data. We intend to create a multi-user, real time environment that operates a 3D space. As required by the client (Vastpark Pty Ltd), our project endeavors to create a shared space that is intuitive and facilitates effective collaboration efforts on large scale idea development. We believe that with the emergence of social media as well as increasing exposure to 3d entertainment, this will be something that could be a step forward in workplace cooperation.
Contents
- Please note: Due to the nature of development of the project, some information is not reflected on the website by request of the sponsor (the publishable nature of the development content is also a concern). No Pictures of the actual project is posted due to client request.
Product Use documentation will be made available on completion of the project. However, should you require any information regarding program development, please feel free to email any one of us and we will get back to you soonest.
Industry Analysis
Through multiple discussions regarding our goals of development, our team had agreed to develop a software that would receive sustainable adoption in the long term. In order to acheive this, our team felt that it is critical to understand the needs of collaborative technology users. Hence, we took time to research and experiment with various social environments with the following in mind:
- Understanding the value of depth and form in the space
- Studying essential user interactions within a 3D space
- Fostering technology sustainability
Main Article: Information Development
Powerpoint is by for the most prolific of presentation software with over 30 million presentations made daily. Our team does not aim to replace powerpoint in its entirety. Much rather, we intend to leverage on this popularity and provide an alternate space to prepare presentations.
Main Article: Competitor Technologies
Our Team
Picturative was derived from the word Picture and Collaborative. We consist of a team from varied backgrounds, with an even mix of students from junior college and polytechnic. Our interest lies within innovating to create usable environments practical for daily use. Commerical viability is also a critical consideration in our project's development. After several weeks of brainstorming and revision, we have decided to go forward with the development of the idea of a collaborative system for enterprise information display.
Roles & Responsibilities
Role | Name | Job Scope | |
Project Manager | Bryanmaguire Chia See Shang | Overall in charge of scheduling project and facilitating project meetings. Responsible for assigning tasks to team members after every meeting and monitoring scrum meeting logs. | sschia.2008 |
Business Analyst | Kho Zhi Gang | In charge of monitoring the business requirements of the project and ensuring that the system displays the required functions. Collaborates with the rest of team to deliver technical functionality. | zhigang.kho.2008 |
Quality Assurance | Sim Kwang Yong Skye | In charge of ensuring production system is in order and making sure Iterative Scenarios are prepared. Also in charge of preparing User Test data and 3D models. | kysim.2008 |
Lead Developer | Subeesh S/O Basheer | In charge of ensuring that program development is on schedule and classes are cleaned accordingly. Spearhead's technical areas of the project. Educates team about C# Development. | subeeshb.2008 |
System /Database Administrator | Tan Chuanzhong | In charge of overall system architecture and group programming logical setup. Designs programatic functions and documents completed code. | cz.tan.2007 |
Application Functional Expert/Sponsor Liaison | J0shua Nair | Ensures that the team is up-to-speed with VastPark and mantainance of Picturative Learning Site. Also in charge of sponsor and client liason. Monitors Risk and considers mitigation strategies. | joshuan.2007 |
Team Deliverables & Intended Learning Outcomes
Our team also aims to learn essential skills within the project. While being able to develop our technical know-how, the following are skills that we require us to complete the project:
- Human Computer Interaction User Development
- SCRUM Methodology
- .NET programming knowledge
- Vastpark Platform Picturative Learning Site
- Workign with Open Standards: IMML (Interactive Media Markup Language)
- Plug-ins for VastPark using .NET
It is also our aim that the project would allow us a better understanding of the following areas:
- Project and Scope Management
- IT Architecture Design and Analysis
- User Interface Development
- Client Management and Collaboration
- Challenges involved in developing technologically different software
About Our Client
VastPark Pty Ltd
Founded in 2007, VastPark's goal was to better connect organizations together using adaptive web-like technologies. VastPark has been under active development and has won various awards while delivering it's technology to many organizations around the world.
Consisting of successful entrepreneurs in many industries including banking, pharmaceutical, energy, entertainment and defence. VastPark's teams aim is to deliver greater profits through better and more timely knowledge creation, management and access within as many businesses as possible.
Architecture
The following details the architecture that allows VastPark to translate XML documentation into 3D environments taht users can gainfully employ.
- IMML for describing the structure of an immersive scene
- HTTP for transmitting information
- Apache/IIS/VastPark Server for serving IMML
- VastPark Player for rendering IMML
- VastPark Creator/Notepad/ImmlPad/MaxImml for authoring IMML
- VastPark Publisher for publishing media to a server
VastPark Interface
VastPark is a new interface that utilizes XML standards to generate objects on a 3-d environment. It is an open distributed virtual world platform built on service oriented architecture and new "meta"-level specifications to describe complex spatial environments (IMML), items (Metaforik) and time-based events (Continuum) in a simple way. The platform is currently being used by universities both for research as well as implementation of 3d collaborative environments.
VastPark Web FrameWork
VastPark Publisher :
Facilitates the importing of content into VaskPark along with the creation of searchable metadata to make your content discoverable to the types of users you authorized.
VastPark Creator :
The creator is a 3D scene layout and IMML editor that is used to create virtual environments. It supports easy access to 3D content uploaded by the VastPark Publisher based on users rights to discover content.
VastPark Server :
The server contains server-side functions required to host .imml files and manages multi-user connectivity among connected client. VaskPark Server is capable of hosting an unlimited number of fully self-contained parks, only constraint being system hardware and internet bandwidth.
VastPark Player :
The Player enables you to participate in any virtual environment built upon the VastPark framework.
Picturative: Project Overview
The following details a brief summary of our project. As mentioned earlier, some of the information has been left out due to client request. Prioritizing the needs of our target consumer: knowledge creating teams that require collaboration has made us focus on the following areas. The brackets indicate the results of our findings from survey and research.
1. Usability (45)
2. Intuitive Program Design (22)
3. Practicality(20)
4. Social Elements (18)
In order to deliver these properties to the user, we have chosen Human-Computer Interaction Design for program development. As this demands continuous iteration of the process we have designed an project progress tracking system that is a modification of SCRUM, demanding 48 hour update blocks.
Process Flow For End User
Project Scope & Functions
Through simulations, we were able to derive the core functionality of the system.
The following functions were approved and vetted by the client and were subsequently broken down into sprints for development.
As mentioned below, each iteration represents a single sprint of our modified scrum process.
500px
Development FrameWork
To Develop our project: we had used 2 Methodologies:
- For User Interface Development : Human Computer Interaction was used
Details of Picturative HCI Process
The success of our product hinges on our ability to deliver user needs. Because of this, it is imperative to focus on User Driven development, making Human Computer Interaction (HCI) is the key area of our project. It helps us design interfaces that are very focused and targeted, only developing functions required by the user.
- For Project Progress Monitoring : We modified SCRUM process to suit our needs
Details of Picturative Modified Scrum Process
Due to the constantly changing requirements of our project, it is critical to provide adequate project progress visibility. Examining a few frameworks for project management, we came to the conclusion that SCRUM is most suitable for our needs. However, we needed to modify the process so as to suit our schedules (changing the scrum meeting structure to that of individual progress logs, and changing scrum times to 48 hour updates). This framework gives high visibility to our project's progress and allows us to easily track our schedule.
Project Milestones and Schedule
Released Product Log
Product # | Description | Priority |
1 | Web Apps | Very High |
1.1 | Create Project | Very High |
1.2 | Join Project | Very High |
2.1 | Log in | Very High |
2.2 | Log out | Very High |
2.3 | Logging | Medium |
3.1 | Agenda | Very High |
3.2 | Template | Very High |
3.3 | Notification | High |
3.4 | Vote | High |
3.5 | Commenting | High |
3.6 | Flagging | High |
4.1 | Create Slides | Very High |
4,2 | Link Slides | High |
4.3 | Arrange Slides | High |
4.4 | Color Code Slides | High |
5.1 | Export Slides | High |
5.2 | Upload Slides | Very High |
5.3 | Edit Slides | Very High |
5.4 | Help | Very High |
Risk Mitigation
Risk Mitigation is extremely important to our team in particular as we are using experimental technology and the project scope is ambitious. Before each meeting, we identify possible risks by assessing progress logs in the team. The explanation of the obstacles faced gives us a clear and concise understanding of the mitigation strategies we should adopt. A matrix is used to access to risk impact.
- HIGH risk items could potentially be project stoppers
- MEDIUM risk items could cause undue delays if not developed properly
- LOW risk items generally affect the overall look and feel of the project
Risk | Risk Level | Risk Assigned To | Risk Mitigation | Status |
VastPark Enterprise (Paid) SDKs may need to be loaned | HIGH | Joshua | Negotiation with sponsor to allow greater access to resources. | Complete |
Many team members did not understand Vastpark Platform | HIGH | Joshua | Additional meetings organized with lesson plans in place. | Complete |
Difficulty monitoring project progress | Medium | Bryan | Increasing accountability by pair division and constant log updates. | Assigned, In Progress |
Lack of Understanding of 3D User interface development | Low | Skye | Assigned research on social networking and virtual worlds. | Complete |
VastPark platform is evolving quickly | Medium | Joshua | Use the current stable Enterprise Release version instead of the developer snapshots of the next version. | Complete |
VastPark documentation is not complete. | Medium | Bryan | Requested more documentation, helped generate APIs, refer to code on the open source SVN and give time to ask questions on VastPark's forums which are very responsive (within 24 hours). | On going, partially complete |
VastPark open source software has some bugs. However these bugs are usually only inconvenient, not catastrophic. | Medium | Joshua | Give extra time to report bugs and find work-arounds as well as to report the bugs on vastpark.org and allow VastPark staff to address the bugs. | On going. |
Lack of knowledge on Open XML and WPF | High | Subeesh | Allocated more time for research and exploration. 25 hours was allocated. | Completed |
VastPark Player version risk. Different version of player might have different bugs | Medium | Joshua | Keep different version of player. Debug in different version. | Completed |
Resources and Reference
Picturative Private Wiki
VastPark
- VastPark Official Site
The official VastPark website contains more information about the platform as well as download links for the VastPark Player and other tools. - VastPark Developer Zone
The developer zone contains information to help developers and designers learn more about the VastPark platform.
Reference Books
- Computer Graphics: Principles and Practice
(Foley et al., Addison-Wesley, 1995) - GUI Bloopers 2.0
(Jeff Johnson, Elsevier/Morgan Kaufman Publishers, 2008)
Programming Resources
- Microsoft Visual Studio
The IDE for developing VastPark plugins, which are implemented in the .NET Framework. - Visual C# Developer Center
The C# Developer Center, part of the Microsoft Developer Network (MSDN), provides a comprehensive reference to the C# language and .NET libraries and also includes tutorials for those who are new to the language.
Picturative Journey
Research Notes