Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering...

27
BENBEN Ben Noble BEng, MBCS

Transcript of Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering...

Page 1: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

BENBENBen Noble BEng, MBCS

Page 2: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The Background

University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in C

Industrial Year at Information Services Mostly technical support Required good problem solving skills

Microsoft Imagine Cup 2006 Sparked interest in mobile technology Introduction to .NET

Page 3: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The Search for an Idea

Wanted To use a new programming language To do something of interest to me To do something I would use afterward

Two Ideas Media Center Remote Record

To allow a user to set their PC to record a TV programme from their mobile phone.

BenBen

Page 4: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

BenBen

The idea GPS tracking software with a social slant Users could view a map of their location GPS would record their route and time taken Routes could be shared to allow users to

‘race’. Calorie counter to estimate health benefits Other detailed information about their route

Length, speed, height above sea-level

But how to implement this?

Page 5: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

Framework Choice

.NET Compact Framework

J2ME

Windows Mobile Devices

High level UI components

Choice of C#, VB.NET, etc

Java enabled phones Low level screen

drawing Java only

About to be used in the Imagine Cup Project

Page 6: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

Extras

GPS How to parse NMEA strings

Map projections Switching between Mercator projection

and screen pixels as well as the WGS84 coordinate system

Map services/APIs Google, Microsoft or something else?

Page 7: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

Mapping APIs

Both Google and Microsoft have APIs Written for use with HTML and Javascript Microsoft provide some functionality for

ASP.NET Nothing for C#.

How to access their content? Available through direct links. http://r0.ortho.tiles.virtualearth.net/tiles/

r0313131301230.png?g=15

Page 8: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

Start with an image of the world. Divide the image into 4 sections Get the image which contains the

correct position And repeat

Build up the URL to the each image using the previous sections.

So, for Reading...

Page 9: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

1

Page 10: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r0.ortho.tiles.virtualearth.net/tiles/r0.png?g=152

Page 11: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r3.ortho.tiles.virtualearth.net/tiles/r03.png?g=153

Page 12: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r1.ortho.tiles.virtualearth.net/tiles/r031.png?g=154

Page 13: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r3.ortho.tiles.virtualearth.net/tiles/r0313.png?g=155

Page 14: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r1.ortho.tiles.virtualearth.net/tiles/r03131.png?g=156

Page 15: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r3.ortho.tiles.virtualearth.net/tiles/r031313.png?g=157

Page 16: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r1.ortho.tiles.virtualearth.net/tiles/r0313131.png?g=158

Page 17: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r3.ortho.tiles.virtualearth.net/tiles/r03131313.png?g=159

Page 18: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r0.ortho.tiles.virtualearth.net/tiles/r031313130.png?g=1510

Page 19: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r1.ortho.tiles.virtualearth.net/tiles/r0313131301.png?g=1511

Page 20: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://r2.ortho.tiles.virtualearth.net/tiles/r03131313012.png?g=15

Page 21: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://a2.ortho.tiles.virtualearth.net/tiles/a03131313012.jpg?g=15

Page 22: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The algorithm

0 1

32

http://h2.ortho.tiles.virtualearth.net/tiles/h03131313012.jpg?g=15

Page 23: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The UI

Written for a Pocket PC Large screen Touchscreen capability Internet connectivity Bluetooth for GPS devices .NET Compact Framework UI Component

So how did it look?

Page 24: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The UI

Large Map Area Clickable Draggab

le

Menu Loading Saving Settings

Icons Zoom GPS on/off Cache an

area of map

Page 25: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

The UI

Tracks Dots to

represent recorded positions

Size of dots represents accuracy

Page 26: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

Summary

I enjoyed coding the program I demonstrated that I could learn a

new language I have used BenBen since graduation My first job after graduating was

based around BenBen EveryWhichWay at Environment Systems

Page 27: Ben Noble BEng, MBCS. The Background University of Wales, Aberystwyth Studying Software Engineering Java as a taught language Some smaller modules in.

BENBENBen Noble BEng, MBCS

[email protected]://www.benshouse.net