SM3121 Software Technology

Download Report

Transcript SM3121 Software Technology

SM3121
Software Technology
Mark Green
School of Creative Media
Introduction
 How
do we develop applications for small
devices?
 What types of software are available?
 What software can we use to build stuff for
these things?
 The production process is somewhat
different due to the small size of the
devices
Embedded Software
 The




technical CS term for this
Not using a general purpose computer
Content / software not developed on the
device itself
Limited to no tools available on the device
Device can be a hostile environment
 For
PCs we can develop, test and use on
the same computer, simplifies the
production process
Embedded Software
 Can’t
write programs or edit videos on a
mobile phone – just doesn’t work
 We need to use a computer to produce the
content and then transfer it to the device
 Develop on the computer and test on the
device, involves switching back and forth
 Must be able to easily transfer content
between the devices
Problems
 Things
don’t look the same, something
that looks good on PC screen might not
display very well on a phone
 Expensive / time consuming to send
content to the device
 Hard to get information off of the device
 May not be able to determine what went
wrong
Solutions
– simulate the device on a PC
 Easy and quick to transfer the content
 Can get extra information from the
emulator, provide assistance with testing
 Don’t need to switch between devices
 Emulator can simulate situations that are
hard to produce with real devices,
communications failures, noise, etc
 Emulators
Solutions
 Problems



with emulators:
Someone needs to write the emulator
May not be very realistic, may run much faster
than real device, have more storage than the
real device
Don’t get the same feel / experience as using
the real device
 Doesn’t
start
solve all the problems, but a good
Solutions
 Development
platform: special version of
the device that supports content
development
 Better communications with the PC, easier
to transfer content
 More storage and support for testing and
debugging content
 Closer to the real thing
Solutions
 Development
platform is better than an
emulator, but still has its problems
 Usually very expensive, many times more
expensive than the device
 Still need to switch between devices
 Has more resources than real device, so
still may have problems when you switch
to the real device
Java
 Java
was originally developed by Sun in
the early 1990s for programming small
devices
 The original version was a failure
 In 1995 with the web becoming popular it
was revived for web programming
 This was quite successful, and Java
become extremely popular
Java
 Basic




ideas:
Produce a language that will run anywhere,
use an interpreter, not a compiler
Remove language features that make it hard
to program, produce an “easier to use
language”
Try to be everything to everyone, support
everything so language will be widely used
A secure web language
Java
 For
small applications Java works quite
well, it also works well in dynamic
environments
 For large programs / applications it was a
complete disaster, to the point of almost
destroying several major companies
 Some problems are hard, need to have
complex language features, otherwise
programming become very difficult
Java
 Became
far too large, tried to do far too
much
 Produced a system that worked poorly
everywhere
 For PCs and workstations the generic
approach just didn’t work
 Easier to port good applications from one
platform to another
Java
 Becoming
popular on mobile phones
 A very good fit, where it really belongs
 Large number of different phones:


Similar outward appearance, all work
basically the same from user’s point of view
Inside they can be quite different, use different
processors and software
 Java
makes it possible to develop for a
range of phones
Java
 Problem:
standard Java (J2SE) is far too
big, won’t fit on a phone, can take up most
of a PDA
 Need a smaller version: J2ME – Java 2
Micro Edition
 Aimed at embedded devices, not just
phones, but also set top boxes and
appliances
Java
 J2ME
supports a range of devices, so
there are multiple versions
 Attempt to keep things sort of standard
while addressing different devices
 We are interesting in the CLDC
configuration, Connected Limited Device
Configuration using the MIDP profile,
Mobile Information Device Profile
Java
 CLDC
is aimed at small devices (a few
Mbytes of memory) that are sometimes
connected to a network, assumes slow
network
 MIDP provides the features required for
applications on mobile phones and PDAs
 This is a reasonably good solution and we
will look at it further later in the course
Windows CE
 One
of the best places to start
 The version of Windows for small devices,
can be used on:





PDA
Mobile phone
Appliances
Cars
Set top boxes
Windows CE
 A cut
down version of Windows, aimed at
different markets
 A different version of Windows CE for
each market area, two most interesting


Pocket PC – aimed at PDA market
SmartPhone – aimed at high end mobile
phone market
 All
have the same basic structure, same
as PC
Windows CE
 Advantages


A familiar environment, not a major change
from what they are used to
Already know how to use it, not as much to
learn
 Advantages


for user:
for developers:
Not a new environment, can use previous
skills
Easier to transfer content and applications
Windows CE
 Has
familiar file structure
 Applications developed in basically the
same way, using same or similar tools
 Easy to get content onto the devices
 Most important: easier to determine what
went wrong
 Not a closed environment, can see what is
happening
Windows CE
– used on most mobile devices,
update files on mobile devices
 Have PC with main copy of files, update
files on PC (easier to do)
 Periodically transfer files from PC to
mobile device
 Can go other direction as well
 Not usually a fast operation
 Sync
Windows CE
Windows CE
 On
most mobile devices a simple file
transfer
 On Windows CE can see the mobile
device’s file system from PC
 Can use drag and drop to send files
between devices
 Can do standard file operations from PC
on mobile device’s files
Windows CE