sm3121 software technology mark green school of creative media

25
SM3121 SM3121 Software Software Technology Technology Mark Green Mark Green School of Creative Media School of Creative Media

Post on 22-Dec-2015

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SM3121 Software Technology Mark Green School of Creative Media

SM3121SM3121Software TechnologySoftware Technology

Mark GreenMark Green

School of Creative MediaSchool of Creative Media

Page 2: SM3121 Software Technology Mark Green School of Creative Media

IntroductionIntroduction

How do we develop applications for small How do we develop applications for small devices?devices?

What types of software are available?What types of software are available? What software can we use to build stuff for What software can we use to build stuff for

these things?these things? The production process is somewhat The production process is somewhat

different due to the small size of the different due to the small size of the devicesdevices

Page 3: SM3121 Software Technology Mark Green School of Creative Media

Embedded SoftwareEmbedded Software

The technical CS term for thisThe technical CS term for this Not using a general purpose computerNot using a general purpose computer Content / software not developed on the Content / software not developed on the

device itselfdevice itself Limited to no tools available on the deviceLimited to no tools available on the device Device can be a hostile environmentDevice can be a hostile environment

For PCs we can develop, test and use on For PCs we can develop, test and use on the same computer, simplifies the the same computer, simplifies the production processproduction process

Page 4: SM3121 Software Technology Mark Green School of Creative Media

Embedded SoftwareEmbedded Software

Can’t write programs or edit videos on a Can’t write programs or edit videos on a mobile phone – just doesn’t workmobile phone – just doesn’t work

We need to use a computer to produce the We need to use a computer to produce the content and then transfer it to the devicecontent and then transfer it to the device

Develop on the computer and test on the Develop on the computer and test on the device, involves switching back and forthdevice, involves switching back and forth

Must be able to easily transfer content Must be able to easily transfer content between the devicesbetween the devices

Page 5: SM3121 Software Technology Mark Green School of Creative Media

ProblemsProblems

Things don’t look the same, something Things don’t look the same, something that looks good on PC screen might not that looks good on PC screen might not display very well on a phonedisplay very well on a phone

Expensive / time consuming to send Expensive / time consuming to send content to the devicecontent to the device

Hard to get information off of the deviceHard to get information off of the device May not be able to determine what went May not be able to determine what went

wrongwrong

Page 6: SM3121 Software Technology Mark Green School of Creative Media

SolutionsSolutions

Emulators – simulate the device on a PCEmulators – simulate the device on a PC Easy and quick to transfer the contentEasy and quick to transfer the content Can get extra information from the Can get extra information from the

emulator, provide assistance with testingemulator, provide assistance with testing Don’t need to switch between devicesDon’t need to switch between devices Emulator can simulate situations that are Emulator can simulate situations that are

hard to produce with real devices, hard to produce with real devices, communications failures, noise, etccommunications failures, noise, etc

Page 7: SM3121 Software Technology Mark Green School of Creative Media

SolutionsSolutions

Problems with emulators:Problems with emulators: Someone needs to write the emulatorSomeone needs to write the emulator May not be very realistic, may run much faster May not be very realistic, may run much faster

than real device, have more storage than the than real device, have more storage than the real devicereal device

Don’t get the same feel / experience as using Don’t get the same feel / experience as using the real devicethe real device

Doesn’t solve all the problems, but a good Doesn’t solve all the problems, but a good startstart

Page 8: SM3121 Software Technology Mark Green School of Creative Media

SolutionsSolutions

Development platform: special version of Development platform: special version of the device that supports content the device that supports content developmentdevelopment

Better communications with the PC, easier Better communications with the PC, easier to transfer contentto transfer content

More storage and support for testing and More storage and support for testing and debugging contentdebugging content

Closer to the real thingCloser to the real thing

Page 9: SM3121 Software Technology Mark Green School of Creative Media

SolutionsSolutions

Development platform is better than an Development platform is better than an emulator, but still has its problemsemulator, but still has its problems

Usually very expensive, many times more Usually very expensive, many times more expensive than the deviceexpensive than the device

Still need to switch between devicesStill need to switch between devices Has more resources than real device, so Has more resources than real device, so

still may have problems when you switch still may have problems when you switch to the real deviceto the real device

Page 10: SM3121 Software Technology Mark Green School of Creative Media

JavaJava

Java was originally developed by Sun in Java was originally developed by Sun in the early 1990s for programming small the early 1990s for programming small devicesdevices

The original version was a failureThe original version was a failure In 1995 with the web becoming popular it In 1995 with the web becoming popular it

was revived for web programmingwas revived for web programming This was quite successful, and Java This was quite successful, and Java

become extremely popularbecome extremely popular

Page 11: SM3121 Software Technology Mark Green School of Creative Media

JavaJava

Basic ideas:Basic ideas: Produce a language that will run anywhere, Produce a language that will run anywhere,

use an interpreter, not a compileruse an interpreter, not a compiler Remove language features that make it hard Remove language features that make it hard

to program, produce an “easier to use to program, produce an “easier to use language”language”

Try to be everything to everyone, support Try to be everything to everyone, support everything so language will be widely usedeverything so language will be widely used

A secure web languageA secure web language

Page 12: SM3121 Software Technology Mark Green School of Creative Media

JavaJava

For small applications Java works quite For small applications Java works quite well, it also works well in dynamic well, it also works well in dynamic environmentsenvironments

For large programs / applications it was a For large programs / applications it was a complete disaster, to the point of almost complete disaster, to the point of almost destroying several major companiesdestroying several major companies

Some problems are hard, need to have Some problems are hard, need to have complex language features, otherwise complex language features, otherwise programming become very difficultprogramming become very difficult

Page 13: SM3121 Software Technology Mark Green School of Creative Media

JavaJava

Became far too large, tried to do far too Became far too large, tried to do far too muchmuch

Produced a system that worked poorly Produced a system that worked poorly everywhereeverywhere

For PCs and workstations the generic For PCs and workstations the generic approach just didn’t workapproach just didn’t work

Easier to port good applications from one Easier to port good applications from one platform to anotherplatform to another

Page 14: SM3121 Software Technology Mark Green School of Creative Media

JavaJava

Becoming popular on mobile phonesBecoming popular on mobile phones A very good fit, where it really belongsA very good fit, where it really belongs Large number of different phones:Large number of different phones:

Similar outward appearance, all work basically Similar outward appearance, all work basically the same from user’s point of viewthe same from user’s point of view

Inside they can be quite different, use Inside they can be quite different, use different processors and softwaredifferent processors and software

Java makes it possible to develop for a Java makes it possible to develop for a range of phonesrange of phones

Page 15: SM3121 Software Technology Mark Green School of Creative Media

JavaJava

Problem: standard Java (J2SE) is far too Problem: standard Java (J2SE) is far too big, won’t fit on a phone, can take up most big, won’t fit on a phone, can take up most of a PDAof a PDA

Need a smaller version: J2ME – Java 2 Need a smaller version: J2ME – Java 2 Micro EditionMicro Edition

Aimed at embedded devices, not just Aimed at embedded devices, not just phones, but also set top boxes and phones, but also set top boxes and appliancesappliances

Page 16: SM3121 Software Technology Mark Green School of Creative Media

JavaJava

J2ME supports a range of devices, so J2ME supports a range of devices, so there are multiple versionsthere are multiple versions

Attempt to keep things sort of standard Attempt to keep things sort of standard while addressing different deviceswhile addressing different devices

We are interesting in the CLDC We are interesting in the CLDC configuration, Connected Limited Device configuration, Connected Limited Device Configuration using the MIDP profile, Configuration using the MIDP profile, Mobile Information Device ProfileMobile Information Device Profile

Page 17: SM3121 Software Technology Mark Green School of Creative Media

JavaJava

CLDC is aimed at small devices (a few CLDC is aimed at small devices (a few Mbytes of memory) that are sometimes Mbytes of memory) that are sometimes connected to a network, assumes slow connected to a network, assumes slow networknetwork

MIDP provides the features required for MIDP provides the features required for applications on mobile phones and PDAsapplications on mobile phones and PDAs

This is a reasonably good solution and we This is a reasonably good solution and we will look at it further later in the coursewill look at it further later in the course

Page 18: SM3121 Software Technology Mark Green School of Creative Media

Windows CEWindows CE

One of the best places to startOne of the best places to start The version of Windows for small devices, The version of Windows for small devices,

can be used on:can be used on: PDAPDA Mobile phoneMobile phone AppliancesAppliances CarsCars Set top boxesSet top boxes

Page 19: SM3121 Software Technology Mark Green School of Creative Media

Windows CEWindows CE

A cut down version of Windows, aimed at A cut down version of Windows, aimed at different marketsdifferent markets

A different version of Windows CE for A different version of Windows CE for each market area, two most interestingeach market area, two most interesting Pocket PC – aimed at PDA marketPocket PC – aimed at PDA market SmartPhone – aimed at high end mobile SmartPhone – aimed at high end mobile

phone marketphone market All have the same basic structure, same All have the same basic structure, same

as PCas PC

Page 20: SM3121 Software Technology Mark Green School of Creative Media

Windows CEWindows CE

Advantages for user:Advantages for user: A familiar environment, not a major change A familiar environment, not a major change

from what they are used tofrom what they are used to Already know how to use it, not as much to Already know how to use it, not as much to

learnlearn Advantages for developers:Advantages for developers:

Not a new environment, can use previous Not a new environment, can use previous skillsskills

Easier to transfer content and applicationsEasier to transfer content and applications

Page 21: SM3121 Software Technology Mark Green School of Creative Media

Windows CEWindows CE

Has familiar file structureHas familiar file structure Applications developed in basically the Applications developed in basically the

same way, using same or similar toolssame way, using same or similar tools Easy to get content onto the devicesEasy to get content onto the devices Most important: easier to determine what Most important: easier to determine what

went wrongwent wrong Not a closed environment, can see what is Not a closed environment, can see what is

happeninghappening

Page 22: SM3121 Software Technology Mark Green School of Creative Media

Windows CEWindows CE

Sync – used on most mobile devices, Sync – used on most mobile devices, update files on mobile devicesupdate files on mobile devices

Have PC with main copy of files, update Have PC with main copy of files, update files on PC (easier to do)files on PC (easier to do)

Periodically transfer files from PC to Periodically transfer files from PC to mobile devicemobile device

Can go other direction as wellCan go other direction as well Not usually a fast operationNot usually a fast operation

Page 23: SM3121 Software Technology Mark Green School of Creative Media

Windows CEWindows CE

Page 24: SM3121 Software Technology Mark Green School of Creative Media

Windows CEWindows CE

On most mobile devices a simple file On most mobile devices a simple file transfertransfer

On Windows CE can see the mobile On Windows CE can see the mobile device’s file system from PCdevice’s file system from PC

Can use drag and drop to send files Can use drag and drop to send files between devicesbetween devices

Can do standard file operations from PC Can do standard file operations from PC on mobile device’s fileson mobile device’s files

Page 25: SM3121 Software Technology Mark Green School of Creative Media

Windows CEWindows CE