Presentation is loading. Please wait.

Presentation is loading. Please wait.

SM3121 Software Technology Mark Green School of Creative Media.

Similar presentations


Presentation on theme: "SM3121 Software Technology Mark Green School of Creative Media."— Presentation transcript:

1 SM3121 Software Technology Mark Green School of Creative Media

2 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

3 Embedded Software  The technical CS term for this Not using a general purpose computer Not using a general purpose computer Content / software not developed on the device itself Content / software not developed on the device itself Limited to no tools available on the device Limited to no tools available on the device Device can be a hostile environment Device can be a hostile environment  For PCs we can develop, test and use on the same computer, simplifies the production process

4 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

5 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

6 Solutions  Emulators – 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

7 Solutions  Problems with emulators: Someone needs to write the emulator 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 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 Don’t get the same feel / experience as using the real device  Doesn’t solve all the problems, but a good start

8 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

9 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

10 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

11 Java  Basic ideas: Produce a language that will run anywhere, use an interpreter, not a compiler 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” 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 Try to be everything to everyone, support everything so language will be widely used A secure web language A secure web language

12 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

13 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

14 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 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 Inside they can be quite different, use different processors and software  Java makes it possible to develop for a range of phones

15 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

16 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

17 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

18 Windows CE  One of the best places to start  The version of Windows for small devices, can be used on: PDA PDA Mobile phone Mobile phone Appliances Appliances Cars Cars Set top boxes Set top boxes

19 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 Pocket PC – aimed at PDA market SmartPhone – aimed at high end mobile phone market SmartPhone – aimed at high end mobile phone market  All have the same basic structure, same as PC

20 Windows CE  Advantages for user: A familiar environment, not a major change from what they are used to A familiar environment, not a major change from what they are used to Already know how to use it, not as much to learn Already know how to use it, not as much to learn  Advantages for developers: Not a new environment, can use previous skills Not a new environment, can use previous skills Easier to transfer content and applications Easier to transfer content and applications

21 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

22 Windows CE  Sync – 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

23 Windows CE

24  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

25 Windows CE


Download ppt "SM3121 Software Technology Mark Green School of Creative Media."

Similar presentations


Ads by Google