First the team needed to propose to MonkeyTongue what technologies would be used to accomplish their requirements. Because the application needed to be web based, with a rich
interface, Vshift was primarily focusing on the following three choices for a development environment:
well with the user and functions similarly to a traditional
application. To connect the system with a backend database, a number of technologies could be used, such as ColdFusion MX, ASP, Perl, and PHP. Vshift decided not to go with this selection primarily because even though the technique has come a long way since it was first introduced, targeting different browsers, systems, and devices still often requires completely different code. This is
JSP (Java Server Pages) and Java applets, the team could develop a web based application with a rich user interface. While Java would integrate well with any future EJB (Enterprise Java Bean) developments, Vshift was hesitant to go with it mainly because of the time and level of skill necessary to create a truly rich user. The team estimated that the project would take about twice as long to develop this way. Another downside to this approach is that sometimes Java applets require long downloads of either the applet itself, or the Java Runtime Environment.
Flash MX—Ultimately the team chose to develop the application using a Flash MX interface. This was a logical selection since MonkeyTongue's main focus was Flash design. With the MX version of Flash, Macromedia has included many features that would allow easy web application creation for different browsers, systems, and devices. Also the Flash MX Player downloads very quickly, and is already available on a large percentage of computers today. To utilize Flash MX with a backend server, Vshift could use several different technologies, including: ASP, PHP, Perl, Microsoft .Net, EJB, or ColdFusion MX. Vshift chose to use ColdFusion MX for the backend server. While Flash MX works great with many different backend technologies, it works seamlessly and easily with ColdFusion MX without any add-on software. The team felt that this was key to the rapid development of this project for several reasons:
If Flash were used for the user interface, ColdFusion would be a perfect match, since ColdFusion MX and Flash MX were designed to communicate effortlessly with each other.
The MX version of ColdFusion utilizes a Java-based framework and will combine well with any future EJB
The ease of development would allow the team to
develop the application to ensure a swift return on investment. Also, this ease of use would be helpful for the MonkeyTongue design team, if it was planning to develop future applications on its own.
Vshift discussed these decisions with MonkeyTongue, and made sure they were completely agreeable to utilizing ColdFusion MX and Flash MX to build the expense report application. MonkeyTongue thought the idea was good, but was a little
that the MX versions were very new to the
. Vshift was ultimately able to convince them to give their approval by explaining their reasoning, and showing MonkeyTongue some of the example ColdFusion MX and Flash MX applications viewable from the Macromedia Flash MX Development Center (http://www.macromedia.com/desdev/mx/flash).
The only concern Vshift had was the ability for the team to develop and test access to the application from mobile devices in the given timeframe. Because of this, Vshift recommended to MonkeyTongue that the focus should be developing a
application rather than mobile-device access. The reason for this was the lack of current support for the Flash MX player on many mobile devices. The team felt that if the applications were built with multiple screen sizes in mind, they could be easily converted over to either a Pocket PC or a Flash-
mobile phone, as the support for the Flash MX player on these devices becomes more readily available.
Looks like the Flash MX player is unavailable on any mobile device. The Flash 5 player is available on the Casio Cassiopeia Pocket PC. Also, the Nokia 9200i Communicator mobile phone has a Flash player
With the major technology decisions out of the way, the team decided to break off into two
, the architecture team and the research team. The architecture team will
couple of days going over the application architecture (or the blueprints for how the application will be created), while the research team will explore the new technologies that will be needed to create this application. While Vshift has significant experience in both Macromedia ColdFusion and Macromedia Flash development, since the MX versions have just come out, the research team will need to examine the newest features and make sure they are compatible with this project. Particularly, the research team will need to study the following technologies:
Flash MX's ability to process information while offline
Flash MX's ability to be displayed on various mobile screen sizes (while mobile-device access will not be covered in this phase, the team still would like to understand the
of this technology so that the application can be built with the future phases in mind)
Existing Flash MX
provided by Macromedia for rich application development
ColdFusion MX components (CFCs) for reusable-code development
The preferred method for ColdFusion MX and Flash MX to communicate with each other