Title: CDMM02 Multimedia Systems Development
1CDMM02Multimedia Systems Development
- Introduction to the module
2Objectives
- At the end of this session you will be able to
- Understand the aims of the module
- Understand the basics of .NET programming and the
Visual Basic.NET IDE
3Learning outcomesKnowledge
- Critical awareness of theories, methodologies,
tools and techniques for multimedia systems
development. - Comprehensive knowledge of the games development
process and its management, including platforms,
genres and different modes of delivery and
distribution. - Exhibit an enhanced and advanced set of knowledge
that will enable the contribution at a high level
to the development of games, including a deep
understanding of game programming principles from
an object oriented perspective - Critical understanding of multimedia components
of multimedia systems design and the ethical and
professional considerations in their development. - .
4Learning outcomesAbilities
- Demonstrate a critical awareness of research
issues in the ethical and socio-technical context
of game programming - Plan and manage a small multimedia development
project, applying best practice project
management techniques. - Programme a complex multimedia application, such
as a multi-level, multimedia game. - Critically evaluate multimedia components of
software, such as components of games and their
contribution to playability
5Schedule
6Recommended Text books
7Assessment
8Visual Studio 2005 Start screen
Click view to see other panels
All your class files, images, forms etc appear
here click solution explorer to reveal
Recent projects appear here
From this screen Click new- project (Windows
Application) give your project a name and
location
9An example application
10Introduction to the Software Lifecycle
11Requirements Analysis and Specification
The first step - Develop a clear understanding
of the clients needs and wishes
- Functional requirements
- Interviews, questionnaires, observation and
studying etc. - Performance requirements
- Interface
- Performance
- Security
Resulting in a Problem specification A list of
all the functional and performance
requirements in straightforward language
12Program development cycle
- Performing a task on the computer the problem
solving process
Processing
Input
Output
13Program planning
- Analyse
- Design
- Choose the interface objects such as text boxes,
command buttons etc) - Code translate the algorithm into a programming
language - Test and debug
- Complete the documentation
14Structured programming
- Meets modern standards of program design
- should have a modular design
- should only use three types of logical
structures - Sequences
- Decisions
- Loops (iteration)
15Software Design
- High Level Design
- Hierarchy charts
- Storyboarding
- Low Level Design
- Pseudo code
- UML
16Pseudo code - Exercise
1. Write pseudo code to indicate how to dress for
the weather. Assume the conditions are that it
may or may not be cloudy, and it may or may not
be cold. If it is cloudy, the person should take
an umbrella. If it is cold, the person should
take a coat.
2. Write a pseudo code description of the
activities involved in purchasing a soft drink
from a vending machine.
3. Write pseudo code for a toy-test activity
which tests toys ! If the toy is made of
plastic, it should be stepped on. If it is made
of metal, hit it with a hammer. If it has
stickers on it, try to peel them off. If it is
metal and painted, scratch the paint with a
nail. If it is metal, has wheels, and has
stickers, then submerge it in water for one hour.
17InsightDeveloping for Mobile Devices
- Rob MilesDepartment of Computer Science
18Overview
- Windows Mobile platforms
- Introduction to the history and capabilities of
mobile devices - Visual Studio 2005 and mobile devices
- Practical Creating a sample application (Secret
Encoder) - Advanced Programming
- Creating Casual Games for Mobile Devices
- Practical A working mobile game StarLight
space shooter
19Overview
- Windows Mobile platforms
- Introduction to the history and capabilities of
mobile devices - Visual Studio 2005 and mobile devices
- Practical Creating a sample application (Secret
Encoder) - Advanced Programming
- Creating Casual Games for Mobile Devices
- Practical A working mobile game StarLight
space shooter
20Windows Mobile PlatformsIntroduction
- Before we look at the process of development, we
should look at the platforms themselves - The origins of the Pocket PC and Smartphone
- What constitutes state of the art at the moment
- What the future holds
21Pocket PC
- Originally called the wallet PC
- Launched in 1996 with Version 1.0 of Windows CE
- Superseded in the following year with Version 2.0
- Initially available in keyboard and keyboard-less
versions
22Breakthrough Pocket PCCompaq Ipaq
- This was the first device to deliver on
performance, display and battery life - 120MHz processor
- 32MB of RAM
- Flash ROM
- RS232 and IR ports
- 240x320 TFT colour display
23State of the art Pocket PC
- Dell Axim V50s
- 624Mhz Processor
- 64MB RAM
- 480x640 colour display
- WIFI and Bluetooth
- 3D Graphics accelerator
- Windows Mobile 5
- 150 less than the original IPAQ!
24Smartphone
- In 2001 Microsoft announced that it would be
launching a range of Smarpthones (codenamed
"Stinger") - The Smartphones would be "Windows based"
- The version of Windows in question was Windows CE
3.0 - Launched in October 2002 with Orange SPV
25Breakthrough SmartphoneSPV E200
- First to deliver on performance and battery life
- 32MB user memory
- Built in Bluetooth support
- Built in camera
- Smartphone 2003 Operating System
- .NET Compact Framework
26State of the art Smartphone SPV C600
- Launched in August 2005
- 64MB of internal memory
- Fast internal processor (200 MHz)
- Small form factor
- Runs Windows Mobile 5
- The Imate SP5 version of this platform also has
WIFI
27Pocket PC Phone Edition
- Combines PDA with phone
- Launched in July 2002
- 206-MHz Intel StrongArm processor
- 32MB RAM
- Based on Pocket PC 2002
28Breakthrough Device XDA II
- Launched in April 2004
- 400MHz Processor
- 128MB RAM
- Camera
- Bluetooth
- Windows Mobile 2003
29Imate Jasjar
- First 3G Windows Mobile Device
- Branded as Orange M5000
- VGA resolution display (640x480)
- WIFI support
- Two cameras
- Windows Mobile 5.0
- A viable desktop alternative
30Other devices of note
- Palm Treo
- First Palm Windows Mobile 5.0 device
- Available in USA with broadband network speed
- Being positioned as a Blackberry killer"
- Imate JAM
- Very small Pocket PC phone edition
- New form factor for Pocket PC
31The Future
- The development of the devices over the last few
years has been amazing - The systems are going to get more powerful and
more connected - Location based behaviour is now very easy to
implement in systems
32Visual Studio 2005 and mobile devices Introduction
- The key components
- The Smartdevice project type
- Language and Development options
- The project as an executable program
- Deploying to a target
- Simple debugging
33Key Development Components
- ActiveSync 4.1
- connects the Smartphone device to the PC
- Visual Studio 2005
- provides development environment
- Smart Device Developer Kits
- provides development project types
- SOTI Remote commander
- provide a remote viewer for the mobile device
34ActiveSync 4.1
- The precise version is important
- Manages the link between the PC and the
Smartphone - Can use wired (USB or RS232), infrared (IRDA) or
Bluetooth connection to the developer PC - You do not need to partner with a device in order
to develop for it
35ActiveSync Deployment
- Visual Studio uses an ActiveSync connection to
deploy programs and debug them - ActiveSync sets up a TCP/IP connection to the
target device - If the connection does not support a native
TCP/IP connection a private subnet is set up
36ActiveSync Private Subnet
- The ActiveSync connection establishes an IP
address for the connected device - PC Emulator 192.168.131.75
- USB Connected Device 192.168.55.101
- These connections allows programs on the
Smartphone to originate connections - ActiveSync 4.1 will also connect to emulators and
synchronise with them
37Connection Limitations
- The private subnet set up by ActiveSync does not
allow external programs to originate a connection
to the device - This is not a problem, since any application you
write will run on a phone which you will be
unable to connect to in this way because the GPRS
IP address will not be known - If two Smartphones are to exchange information
over TCP/IP this should be via a third party
server or by using web services
38ActiveSync Connections
- Universal Serial Bus (USB)
- All Smartphones are shipped with a USB cable or
cradle for connection to a PC - Infra Red (IRDA)
- Most Smartphones have an IRDA connection which
can be used for ActiveSync - Serial port (RS232)
- Some Smartphones are also equipped with a serial
port which can be used by ActiveSync. Note that
programs on the Smartphone may also make use of
this connection - Bluetooth
- ActiveSync can connect using the Bluetooth serial
port implementation. This is configured as a
serial port connection
39Preferred Connections
- USB is the most reliable
- Bluetooth is the most convenient, but can be
problematic to set up and maintain - IRDA works surprisingly well, particularly with
notebook and tablet PCs - The serial port connection will require a special
cable, and is declining in popularity
40Visual Studio 2005
- This provides the development environment for the
mobile devices - Can create .dll libraries and executables
- Produces both managed an unmanaged (native) code
- Also supports remote debugging in the target (on
both emulator and device)