Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.