Mobile Software Technologies introductory days

 

This page describes the two day introductory part of the Mobile Software Technologies course for SP2.

 

The schedule is as follows:

 

Day 1 Thursday 17th of February 2005

FrBv 7E, room E3-109

Day 2 Friday 18th of February 2005

FrBv 7E, room E3-109

9.00-9.45 Introduction and Overview

9.00-9.45 Exercises (C# and CF.Net)

9.45-10.00 Break

9.45-10.00 Break

10.00-10.45 Browser based systems

10.00-10.45 Introduction to J2ME

10.45-11.00 Break

10.45-11.00 Break

10.00-12.00 Exercises

10.00-12.00 Exercises

12.00-13.00 Lunch

12.00-13.00 Lunch

13.00-13.45 Introduction to .Net and C#

13.00-14.00 What I didn’t cover so far

13.45-14.00 Break

13.45-14.00 Break

14.00-15.00 Introduction to .Net Compact Framework

14.00-15.00 Exercises

15.00-16.00 Imagine Cup Introduction

 

 

Resources

 

The exercises will introduce you to a number of tools that can help you develop wireless applications.

You will need to download and install the tools on your own computer.

 

For the browser based exercises we will use the

Openwave Developer Network - Tools & SDK - Openwave Phone Simulator

(You will have to register to download these tools free of charge)

 

For exercises in J2ME we will use the

J2ME Wireless Toolkit 1.0.4_02 alternatively you may prefer the newest version J2ME Wireless Toolkit Download 2.2 Release

 

For the exercises on .Net and .Net Compact framework we will use Visual Studio.Net 

For students at Aalborg University, this can be downloaded from the MSDN Academic Alliance Program at CS.AAU.DK

You will need to get an account (mailto:msdnaa@cs.auc.dk) and follow the link to MSDNAA at CS.AAU.DK

Alternatively you can Try Visual Studio .NET 2003 for 60 days free of charge.

 

Furthermore you need to

 

Download: ActiveSync 3.7.1

 

Download: SDK for Windows Mobile 2003-based Smartphones

 

Download: SDK for Windows Mobile 2003-based Pocket PCs

 

Download: Windows Mobile Developer Power Toys

 

Further Resources

 

There are a number of additional tools that you may want to make use of when developing mobile applications, especially vendor specific tool will be needed when developing J2ME application.

 

For Nokia go to Forum Nokia - Developer resources

Note that you will have to register and that all tools require (a free) product key.

 

On BillDay.com J2ME Archive you can find a long list of J2ME tools for phones from Siemens, Motorola, SonyEricsson, etc.

 

If you do not have access to Visual Studio.Net or just want a lighter weight tool for building browser based application on .Net you can use the tool

WebMatrix

 

 

Literature

 

The course will be based on web references, which I will list below. However for those of you who prefer books I can recommend the books:

 

Mobile and Wireless Design Essentials, by Martyn Mallick, Wiley Publishing (2003), ISBN 0-471-21419-1

 

Wireless Java, by Qusay H. Mabmoud, O’Reilly (2002), ISBN 0-596-00243-0

 

.NET Compact Framework Programming with C#, by Paul Yao and David Durant, Addison-Wesley Professional, ISBN 0321174038

 

Web References

 

Network Technologies

 

The following references should be read as background material to help you understand the general technological background

 

Making Sense of Cellular

 

Wireless Developer Network - Mobile Wireless Tomorrow

 

GSM World - What is GPRS?

 

GSM World - What is SMS?

 

MobileMMS.com : MMS FAQ

 

Introduction to Bluetooth

 

Howstuffworks "How WiFi Works"

 

Browser Technologies

 

Wireless Developer Network - WAP Overview

 

Wireless Developer Network - WML Tutorial

 

Building WAP applications with PHP

 

WAP: Now And Into The Future!

 

Developing Wireless Content using XHTML Mobile

 

Additional readings:

 

jessey.net | Simon | XHTML tutorial

 

WAP builds Java applications

 

ASP.NET Web: The Official Microsoft ASP.NET Site : Home Page

 

Develop AvantGo applications

 

mobile: Games: WAP Games

 

Java J2ME

Learning Path: Getting Started With MIDP

Wireless Development Tutorial Part I

Using the Java Wireless Toolkit

 

Using the MIDP 2.0 Game API

 

Constructing a mobile game

 

Additional readings:

 

Wireless Development Tutorial Part II

 

Access Web services from wireless devices

 

Developing an End to End Wireless Application Using Java Smart Ticket Demo

 

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 1

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 2

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 3

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 4

ONJava.com: The Mobile Information Device Profile and MIDlets, Part 5

 

ONJava.com: MIDP GUI Programming, Part 1

ONJava.com: MIDP GUI Programming, Part 2

ONJava.com: MIDP GUI Programming, Part 3

 

ONJava.com: Building Wireless Web Clients, Part 1: Pitfalls of MIDP HTTP

ONJava.com: Building Wireless Web Clients, Part 2

 

ONJava.com: Extending J2EE for Mobile Application Development

 

Avoid the 9 Common Flaws of Unportable Mobile Java Apps

 

.Net CF

 

Microsoft QuickStart Tutorials: Compact Framework

 

Getting Started: Getting Started with Visual Studio .NET and the Microsoft .NET Compact Framework (.NET Compact Framework)

 

Microsoft .NET Compact Framework QuickStarts Tutorial SmartPhone Menus

 

Developing SmartPhone 2003 applications

 

Additional Readings:

 

Symbian OS - the mobile operating system

 

Symbian OS Overview

 

 

Microsoft .NET Compact Framework QuickStarts Tutorial Connecting to a Web Service

 

ONDotnet.com: Developing Web-Service-Driven, Smart Mobile Applications [Feb. 23, 2004]

 

SmartPhone 2003 and .NETcf Primer

 

Writing Mobile Games Using DOTNET Compact Framework

 

Writing WiFI applications with .Net CF

.Net

The Code Project - Introduction to .NET - .NET

 

Visual Studio Walkthroughs

 

Microsoft QuickStart Tutorials: ASP.NET

C#

 

ONDotnet.com: Conversational C# for Java Programmers, Part 1 [May. 31, 2001]

 

Additional references:

Java vs. .Net CF

 

Let the mobile games begin, Part 1

Let the mobile games begin, Part 2

Streaming Media Presentations

 

For those of you taking this part of the course as self study and for those of you who would like to hear somebody else explain some of the technologies you can find some excellent streaming media presentations on the following links:

 

The .NET Show: The .NET Compact Framework

 

Microsoft On-Demand Webcasts

 

JavaOne Online

Exercises

 

Browser exercises

 

  1. Start the Openwave Phone emulator and checkout a few WAP sites eg:
    1. http://wap.taxi-wap.com
    2. http://www.bbc.co.uk/mobile/
    3. http://mobil.benzinpriser.dk/    (in Danish)
  2. Build your first WML page (maybe by following the steps below)
    1. Read through the WML Tutorial on the Wireless Developer Network
    2. Create a file using notepad containing the WML code on  Step 5: creating a wml deck
    3. Remember to save the file with the .wml extension
    4. Load the file into the Openwave emulator.
  3. Follow the Tutorial on WAP and PhP
  4. Follow the XHTML tutorial | lesson 1 and build your first xHTML page

 

J2ME

 

  1. Follow the steps for starting Sun J2ME Wireless Toolkit and loading your first midlet from Wireless Development Tutorial Part I
  2. Build a midlet with a GUI using the steps described in the ONJava.com: MIDP GUI Programming, Part 1 Part2 and Part3 and/or modify one of the code samples in http://examples.oreilly.com/wirelessjava/wirelessjava_examples.zip
  3. Follow the article Using the MIDP 2.0 Game API, download the associated software, compile and run it using the emulator.
  4. Follow the article Constructing a mobile game and develop a simple J2ME game of your own

 

.Net CF

 

  1. Follow the MSDN tutorial on creating a simple windows form in Visual Studio.Net
  2. Follow the Microsoft .NET Compact Framework QuickStarts Tutorial on how to interact with a Web Service
  3. Follow the Microsoft .NET Compact Framework QuickStarts Tutorial on how to build menus for SmartPhones
  4. Modify the example in exercise 1 to work on a SmartPhone
  5. Follow the tutorial on Building Applications: Writing Mobile Games Using the Microsoft .NET Compact Framework
  6. Follow the tutorial on Introduction to Games Programming for the Windows Mobile 2003 Software for Smartphones