SlideShare una empresa de Scribd logo
1 de 76
Windows Phone Platform Overview  A different kind of phone, designed for a life in motion
Windows Phone Hardware
Topics Windows Phone hardware examined Processor and operating system Graphical Display Touch input Location sensors Camera Memory Network
The Windows Phone Device The Windows Phone is a pretty powerful device Best regarded as a computer that can make phone calls Runs an operating system specially optimised for mobile devices
Windows Phone processor speed The Windows phone hardware standard requires that a Windows Phone device will have a processor “clock speed” of at least 1 GHz This means that something will go “tick” inside the phone 1,000,000,000 times a second A tick lasts a nanosecond, the time it takes light to travel around 30 cm
Processors and Clocks Each time the clock in a Central Processor Unit (CPU) goes “tick” a particular low-level operation will be performed Perform part of a hardware instruction Load data from memory Store data into memory The faster the clock ticks, the faster the processor is running
Clocks and speeds A Windows PC processor runs at 2-4 GHz, a  A Windows Phone processors start at 1 GHz This does not mean a phone is around half  the speed of a desktop PC The clock speed is just one factor that determines computer speed A bit like engine size in a car
Speed and processors Some processors need more “ticks” to perform the same action Phones use “Reduced Instruction Set Computing” designs which reduce the amount they can do per clock tick The desktop PC may contain multiple processors The Windows Phone cannot run at full speed all the time as this would flatten the battery
Performance and programs When you write a Windows Phone application you have to worry about performance There is not the spare processing power available to compensate for poor programming techniques Performance must be considered at all times This will turn us into better programmers The techniques we are going to learn will improve all the programs we write
Windows Phone Operating System Windows Phone 7 is not based on the  Windows 7  operating system The numbering is coincidental Windows Phone is actually based on Windows Compact Edition (Windows CE) This is an operating system specially built for use in battery operated devices with low power processors
Operating Systems and Programs From the point of view of a programmer the operating system is becoming less important We are going to write Silverlight and XNA applications that make method calls to use the underlying system How that underlying system works does not affect our programs directly They can run on any platform  11
Windows Phone Graphical Display The Windows Phone has a high resolution display with at least 800x480 pixel resolution This makes a lot of work for the hardware The higher the resolution of the display the more work needed to keep it up to date The display can be used in landscape and portrait mode The phone will detect how it is being held and a program can change the display to match
Graphics Hardware Acceleration Desktop PCs have used graphical acceleration for a long time The Graphical Processing Unit (GPU) draws the display and performs image processing on it GPUs are now appearing in mobile phones The Windows Phone contains a GPU Used to render user Silverlight user interfaces Also used to create 3D games in XNA
Touch Input Modern mobile devices are making increasing use of touch screens These are now provided in addition to a keyboard The Windows Phone user interface is entirely touch based, using a capacitive multi-touch input device
Resistive Touch Input Screens Early mobile devices used resistive touch screens Touching the screen connects two plastic membranes to form a circuit The resistance across this circuit is used to work out the location of the touch This technology is very precise (particularly if a stylus is used)  But it cannot easily detect more than one touch
Capacitive Touch Input Capacitive touch sensors detect the change in capacitance caused by touch event There is no physical movement The touch sensor can be printed on a glass screen The resolution of a capacitive screen is not as great as a resistive one This is not a problem as the user will be touching with a finger, not a stylus A capacitive screen can track multiple touches
Touch and Gestures Gestures are particular movements made with one or more finger Dragging an item on the screen Pinching movements to zoom in and out The Windows Phone operating system has built in support for gesture input A program can be sent a message when a user has performed a particular gesture
Location Support A Windows Phone contains a Global Positioning System (GPS) receiver Works well when outdoors with a view of the sky The phone will also other location information Location of cellphone towers in use Location of WiFi access point This “assisted” positioning makes it possible to determine position when inside buildings
Accelerometer The accelerometer can measure acceleration in three directions (X, Y and Z) This can be used to detect movement of the phone It can also be used to determine how the phone is being held This orientation information can be used to control games by tipping the phone
Camera The camera will be at least 5Megapixels This makes for good quality pictures The pictures which are taken are stored within the phone and transferred to the Windows PC using the Zune software Programs can load these pictures, and other pictures from the media in the phone Your programs can also initiate a photograph
Camera Limitations Our programs can’t read a live video feed from the camera in this Windows Phone release This is not a hardware limitation Our programs can’t take a picture without user involvement This is to stop the creation of “spyware” applications that take pictures without user consent
Hardware Buttons All Windows Phones have a specific set of physical buttons Start, Back, Lock, Search, Camera, Volume These will work in exactly the same way on every version of the phone Programs are required to use them in a particular way too
Start Button Starts a new program When the user presses Start they are always taken to the start menu to choose a program to run The application that was running when Start was pressed is removed from memory This is part of the way that Windows Phone enforces the “one program at a time” rule 23
Back button This button has several uses Within a particular program it moves you back to the previous menu When at the top level menu of a program it is used to exit the program and return to the Start menu At the Start menu the back button will return the user to the program they were running when they pressed Start to do something new 24
The Back button and the Phone UI Back is rather hard to explain But very easy for users to get to grips with It makes it easy to drop in and out of applications on the phone without having to keep finding them and restarting them For us developers it means that programs may be “woken up” from having been stopped 25
Other Buttons Lock Button Stops the currently running program and locks the phone Search Starts a search operation. Your program should respond to search appropriately Camera Stop the current program and take a picture 26
Phone Keyboard Some Windows Phone devices will be fitted with hardware keyboards The system provides a “software” keyboard that uses the touch screen  When we design our programs we need to make sure that they can be used with or without a physical keyboard 27
Phone Memory There are two flavours of memory Main memory  This is where programs are loaded and executed Fast memory chips connected directly to the processor Mass storage memory  This is where program, data and media are stored Slower storage that holds its data when the power is turned off 28
Main Memory A Windows Phone will have at least 256Mbytes of main memory A few years ago this was a huge amount, but these days it is not quite as impressive It can soon get eaten up by programs that use a lot of graphics in their user interfaces In contrast a desktop PC will have around 8 times that memory space, with at least 2Gbytes of RAM 29
Mass Storage A Windows Phone will have at least 8Gbytes of mass storage In program terms this is a lot, but most of it will be used store media A single music track is around 8 Mbytes A high quality picture is around 2 Mbytes An hour of good quality video is around 1Gbyte 30
Network Windows Phones have lots of connectivity options: WiFi wireless network (high speed) 3G phone network (high to media speed) GPRS phone network (low speed) Out of coverage (no speed) Software on a mobile device must deal with all these types of network 31
Programming Considerations A Windows Phone is an amazing device But it is limited by size and battery power Users will expect a high quality experience This will be based on their experience on much more powerful devices which are not mobile Our job as developers is to make the most of what the platform gives us This gives us more to think about when we write our programs
The Good News Programming for a phone is fun! The range of features a device has, and the fact it is mobile makes it possible to invent completely new applications The development environment is really powerful and easy to use You get a lot of help from the system in creating great user interfaces 33
Review Windows Phone is a computer, but one working specifically in the mobile environment All Windows  Phone devices are built to a particular standard with standard features Performance  and storage is restricted and our program design must reflect this Network connectivity is variable on a phone Programming a phone is harder than a desktop, but still fun 34
Windows PhoneEcosystem
Topics The ecosystem that surrounds the Windows Phone device Zune media management and connection Windows Live and Xbox Live and Windows Phone Bing search and Windows Phone Bing Maps and Windows Phone Windows Phone Notification Services
Windows Phone Ecosystem A Windows Phone device is surrounded by other services which provide an “ecosystem” These services bind to software in the phone device We can write software that makes use of these services to create brand new solutions In this section we are going to take a look at the services and consider how we might use them 37
Zune Software The Zune software provides the link between the Windows Phone and the PC It allows media to be synchronised with the phone It also provides the link to the device for development with Visual Studio
Windows Live and Xbox Live A Windows Phone owner can register their phone with Xbox Live This will also connect them with their Xbox Gamertag if they have one Games can use the gamertag to manage achievements and high scores 39
Bing Maps Programs in the phone can request maps from the Bing service There is also a Silverlight control you can add to your programs to view and navigate the map You can also make searches for items near your position  40
Windows Notification Service It is often the case that external systems need to send a message to a program in a phone Tell you that your dry cleaning is ready Challenge a gamer to a duel Applications register with the Windows Phone notification service  and servers can then use this to send messages to the phone user These are buffered if the phone is not connected when the message is sent 41
Creating a service of your own There is no reason why you can’t create your own network based service for a Windows Phone client to use You need to write the server application too You can write both ends of the service in C# and you could host the service in the Windows Azure cloud Students can get free access to some cloud services 42
Review A mobile phone is now a connected component of a much larger “ecosystem” A Windows Phone can use several of these Zune PC connection and media synchronisation Windows Live and Xbox Live Bing Maps Windows Notification Service Your programs can use these elements to make brand new connected applications 43
Windows PhoneProgramExecution
Topics The Windows Phone Operating System Multi-tasking on Windows Phone Windows Phone and Managed Code Just in Time compilation Program “sandboxes” and Managed Code Developer Implications
The Windows Phone Operating System Windows Phone 7 does not use Windows 7 as an operating system The fact they have the same number is just a coincidence Windows Phone instead uses an operating system called Windows CE This is specially designed for use on small, battery powered, devices
Multi-Tasking  Multi-tasking means running multiple programs at once Windows PCs let you do this You can have IE and Word both running at once Unfortunately multi-tasking places heavy demands on the processor and uses a lot of memory Therefore the first version of Windows Phone does not provide multi-tasking	 47
Missing Multi-Tasking A mobile device does not really have a screen large enough to view two programs at once The phone has been designed to make it as easy as possible to switch between programs Must users want task switching rather than multi-tasking The operating system itself can multi-task The music player and email programs can both run at the same time as user programs 48
Programs on Windows Phone Programs for Windows Phone are written in .NET  and run within a Managed Code environment on the device The phone performs Just in Time compilation of the intermediate language (Microsoft Intermediate Language – MSIL) The programs that run are assemblies that are signed by the developer This is used to prove where the code came from
Microsoft .NET .NET is the name for an architecture from Microsoft that runs programs  It includes standards for the following: Design of MSIL and program file format Data types System libraries C# programming language VB .NET programming language 50
The Microsoft Intermediate Language The Microsoft Intermediate Language (MSIL) is a half way house between a high level language and machine code It is designed to be easy to translate into machine code The phone can run MSIL from any .NET compiler C#, Visual Basic, F#, IronPython, IronRuby, C++ The user interface code must be C#
Running .NET Assemblies When a .NET program needs to run something has to convert the intermediate language into real machine code for the target processor This happens in the instant before the program actually runs It is called “Just In Time” compilation 52
Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC  Xbox  Windows Phone Assembly file containing MSIL Just In Time compiler Machine code in memory
Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC  Xbox  Windows Phone Assembly file containing MSIL Just In Time compiler Programmer writes the program Machine code in memory
Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC  Xbox  Windows Phone Assembly file containing MSIL Just In Time compiler Visual Studio compiles the source Machine code in memory
Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC  Xbox  Windows Phone Assembly file containing MSIL Just In Time compiler The assembly file is transferred to the target Machine code in memory
Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC  Xbox  Windows Phone Assembly file containing MSIL Just In Time compiler When the program runs the Just In Time compiler converts the MSIL into binary Machine code in memory
Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC  Xbox  Windows Phone Assembly file containing MSIL Just In Time compiler The machine code runs inside the target Machine code in memory
Intermediate Language Good things about intermediate languages Can run on a range of platforms Can use lots of different programming languages (as long as they compile down to MSIL) Programs are smaller than machine code Programs can be digitally signed and verified Bad things about intermediate languages The need to Just In Time (JIT) compile them slows down program execution
Managed Code When your program runs on Windows Phone it actually runs in a “managed” environment This means that what it does is validated before the program is allowed to do it Array subscripts are checked Program not allowed to attempt to control hardware directly This stops the phone from being affected by a rogue application 60
Review The built-in programs inside the phone can multi-task but only one application can run at a time in the phone The phone users the .NET Microsoft Intermediate Language for applications These are “Just in Time” compiled when they are started and run inside a managed shell This trades raw speed for safety and portability 61
Windows PhoneApplicationDevelopment
Topics Writing programs for Windows Phone The Windows Phone emulator Using the Windows Phone features from software Silverlight and XNA program development Development tools Windows Phone Marketplace
Windows Phone Programming Writing programs for Windows Phone is the same as writing for any .NET platform Edit, compile and debug within Visual Studio But you need to remember you are writing for a platform a bit more constrained than a PC You can incorporate .third party NET libraries (assemblies) into your applications 64
Windows Phone Emulator The emulator runs on your PC It contains exactly the same code as the real phone, but compiled for the Windows PC It lets you see what your programs look like and whether they work correctly It does not show you what the application performance will be like on a real device  65
Using Windows Phone from software Windows Phone provides a library of “Launchers” and “Choosers” that your programs can invoke Launchers start other tasks in the phone Start a phone call Choosers allow the user to select an option and then restart your program so it can use the returned value Select a contact from the Address Book
Network Connectivity A Windows Phone will be able to use the 3G phone network and WIFI to connect to the internet Your programs will be able to interact with servers, call web services and engage in REST sessions In the present version of the operating system there is no support for direct socket connections
Silverlight and XNA applications You can build two kinds of applications for a Windows Phone Silverlight Business applications and simple casual games XNA XNA is a game development environment with support for 2D and 3D games with hardware accelerated graphics
Silverlight Applications This is not a very good looking Silverlight application But it does show that you can build displays for user applications using Silverlight There are lots of custom display components for the phone that you can use 69
XNA Applications XNA is a game development environment for Windows PC, Xbox and now Windows Phone Existing XNA games are very easy to move onto the phone The phone provides 3D graphics support for games Built in shaders 70
Creating an Application You select the type of your application (XNA or Silverlight) when you create the new project in Visual Studio It is not possible to create a single program that uses both technologies There is no technical reason why you could not create a Silverlight game or an XNA business application 71
Development Tools The Development Tools for the platform are a free download They tools provide a version of Visual Studio and the Windows Phone emulator These will also integrate into an existing Visual Studio installation You can also obtain free versions of the Expression Blend user interface design tools for Silverlight 72
Windows Phone Marketplace You can develop and test your application on the emulator for free To sell your application or deploy it to a real device you must register as a developer This costs $99 per year Students can become developers for free via Microsoft DreamSpark 73
Marketplace Rules In a year of your subscription you can publish any number of “paid” applications and up to 5 free ones To distribute more free applications costs $20 per application When you sell an application you get 70% of the price you charge You can distribute “demo” and “time trialed” versions of your application 74
Marketplace approval A program submitted for sale via marketplace is submitted to an approvals process This includes checks for matters of taste and decency, along with proper application behaviour If the program fails the process you will be given a report and can re-submit the application 75
Review Windows Phone programs are developed in the same way as any other .NET application The Windows Phone emulator does not emulate the speed of the platform Programs can make use of phone functions Windows Phone programs either Silverlight (business) or XNA (game) based The development tools are all free You need to join the marketplace to sell apps

Más contenido relacionado

La actualidad más candente

Manual (en) max m7 pro
Manual (en) max m7 proManual (en) max m7 pro
Manual (en) max m7 profotbalist1968
 
Computer parts, Hardwares
 Computer parts, Hardwares Computer parts, Hardwares
Computer parts, Hardwaressamina khan
 
MTECH MOBILE ACE 2
MTECH MOBILE ACE 2MTECH MOBILE ACE 2
MTECH MOBILE ACE 2MTECH MOBILE
 
computer components and devices
computer components and devicescomputer components and devices
computer components and devicesBawa SmOky
 
Lesson 3 Basic Parts Of The Computer
Lesson 3   Basic Parts Of The ComputerLesson 3   Basic Parts Of The Computer
Lesson 3 Basic Parts Of The Computerguevarra_2000
 
Access2 parts of a computer system
Access2 parts of a computer systemAccess2 parts of a computer system
Access2 parts of a computer systemdennis malayan
 
THE BASIC PARTS OF A COMPUTER SYSTEM
THE BASIC PARTS OF A COMPUTER SYSTEMTHE BASIC PARTS OF A COMPUTER SYSTEM
THE BASIC PARTS OF A COMPUTER SYSTEMMarifePards
 
Lesson 1 desktop (grade 1) 4th qtr
Lesson 1 desktop (grade 1) 4th qtrLesson 1 desktop (grade 1) 4th qtr
Lesson 1 desktop (grade 1) 4th qtrShaw Cruz
 
Mobogenie 3.0 intelligent management
Mobogenie 3.0 intelligent managementMobogenie 3.0 intelligent management
Mobogenie 3.0 intelligent managementBaixar Mobogenie
 
Computer start up process
Computer start up processComputer start up process
Computer start up processRajashekar_rs
 
Input and Output Devices.
Input and Output Devices.Input and Output Devices.
Input and Output Devices.abena
 
14. Computer Systems Output Devices
14. Computer Systems   Output Devices14. Computer Systems   Output Devices
14. Computer Systems Output DevicesNew Era University
 
Introduction To Computers
Introduction To ComputersIntroduction To Computers
Introduction To ComputersDoug Baldwin
 

La actualidad más candente (20)

Manual (en) max m7 pro
Manual (en) max m7 proManual (en) max m7 pro
Manual (en) max m7 pro
 
Computer parts, Hardwares
 Computer parts, Hardwares Computer parts, Hardwares
Computer parts, Hardwares
 
Basic computer class 1
Basic computer class 1Basic computer class 1
Basic computer class 1
 
MTECH MOBILE ACE 2
MTECH MOBILE ACE 2MTECH MOBILE ACE 2
MTECH MOBILE ACE 2
 
Makenna
MakennaMakenna
Makenna
 
computer components and devices
computer components and devicescomputer components and devices
computer components and devices
 
Basic Parts of the Computer
Basic Parts of the ComputerBasic Parts of the Computer
Basic Parts of the Computer
 
Lesson 3 Basic Parts Of The Computer
Lesson 3   Basic Parts Of The ComputerLesson 3   Basic Parts Of The Computer
Lesson 3 Basic Parts Of The Computer
 
Access2 parts of a computer system
Access2 parts of a computer systemAccess2 parts of a computer system
Access2 parts of a computer system
 
Computer
ComputerComputer
Computer
 
Basic computer skills of BSc IT
Basic computer skills of BSc ITBasic computer skills of BSc IT
Basic computer skills of BSc IT
 
THE BASIC PARTS OF A COMPUTER SYSTEM
THE BASIC PARTS OF A COMPUTER SYSTEMTHE BASIC PARTS OF A COMPUTER SYSTEM
THE BASIC PARTS OF A COMPUTER SYSTEM
 
Parts of computer
Parts of computerParts of computer
Parts of computer
 
Lesson 1 desktop (grade 1) 4th qtr
Lesson 1 desktop (grade 1) 4th qtrLesson 1 desktop (grade 1) 4th qtr
Lesson 1 desktop (grade 1) 4th qtr
 
Mobogenie 3.0 intelligent management
Mobogenie 3.0 intelligent managementMobogenie 3.0 intelligent management
Mobogenie 3.0 intelligent management
 
Computer start up process
Computer start up processComputer start up process
Computer start up process
 
Basic Parts of a Desktop
Basic Parts of a DesktopBasic Parts of a Desktop
Basic Parts of a Desktop
 
Input and Output Devices.
Input and Output Devices.Input and Output Devices.
Input and Output Devices.
 
14. Computer Systems Output Devices
14. Computer Systems   Output Devices14. Computer Systems   Output Devices
14. Computer Systems Output Devices
 
Introduction To Computers
Introduction To ComputersIntroduction To Computers
Introduction To Computers
 

Destacado

Ingles kiki isabel
Ingles kiki isabelIngles kiki isabel
Ingles kiki isabelsextobasica
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightMICTT Palma
 
Material modulo04 asf6501(6425-a_01)
Material   modulo04 asf6501(6425-a_01)Material   modulo04 asf6501(6425-a_01)
Material modulo04 asf6501(6425-a_01)JSantanderQ
 
Material modulo03 asf6501(6425-b_02)
Material   modulo03 asf6501(6425-b_02)Material   modulo03 asf6501(6425-b_02)
Material modulo03 asf6501(6425-b_02)JSantanderQ
 
Material modulo01 asf6501(6419-a_01)
Material   modulo01 asf6501(6419-a_01)Material   modulo01 asf6501(6419-a_01)
Material modulo01 asf6501(6419-a_01)JSantanderQ
 
Cram Class - Lesson 1
Cram Class - Lesson 1Cram Class - Lesson 1
Cram Class - Lesson 1AlexsCloud
 
Bh europe-01-forbes
Bh europe-01-forbesBh europe-01-forbes
Bh europe-01-forbesTrieu Trieu
 
Ad group policy1
Ad group policy1Ad group policy1
Ad group policy1denogx
 
Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2MICTT Palma
 
Material modulo02 asf6501(6425-b_01)
Material   modulo02 asf6501(6425-b_01)Material   modulo02 asf6501(6425-b_01)
Material modulo02 asf6501(6425-b_01)JSantanderQ
 
Introduction_of_ADDS
Introduction_of_ADDSIntroduction_of_ADDS
Introduction_of_ADDSHarsh Sethi
 
Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08gameaxt
 
Microsoft Offical Course 20410C_02
Microsoft Offical Course 20410C_02Microsoft Offical Course 20410C_02
Microsoft Offical Course 20410C_02gameaxt
 
Microsoft Offical Course 20410C_03
Microsoft Offical Course 20410C_03Microsoft Offical Course 20410C_03
Microsoft Offical Course 20410C_03gameaxt
 

Destacado (19)

Ingles kiki isabel
Ingles kiki isabelIngles kiki isabel
Ingles kiki isabel
 
WP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a SilverlightWP7 HUB_Introducción a Silverlight
WP7 HUB_Introducción a Silverlight
 
Material modulo04 asf6501(6425-a_01)
Material   modulo04 asf6501(6425-a_01)Material   modulo04 asf6501(6425-a_01)
Material modulo04 asf6501(6425-a_01)
 
Material modulo03 asf6501(6425-b_02)
Material   modulo03 asf6501(6425-b_02)Material   modulo03 asf6501(6425-b_02)
Material modulo03 asf6501(6425-b_02)
 
Material modulo01 asf6501(6419-a_01)
Material   modulo01 asf6501(6419-a_01)Material   modulo01 asf6501(6419-a_01)
Material modulo01 asf6501(6419-a_01)
 
Cram Class - Lesson 1
Cram Class - Lesson 1Cram Class - Lesson 1
Cram Class - Lesson 1
 
Ad ds ws2008 r2
Ad ds ws2008 r2Ad ds ws2008 r2
Ad ds ws2008 r2
 
Bh europe-01-forbes
Bh europe-01-forbesBh europe-01-forbes
Bh europe-01-forbes
 
Ad group policy1
Ad group policy1Ad group policy1
Ad group policy1
 
70 640 Lesson03 Ppt 041009
70 640 Lesson03 Ppt 04100970 640 Lesson03 Ppt 041009
70 640 Lesson03 Ppt 041009
 
Active directory
Active directoryActive directory
Active directory
 
Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2
 
6425 c 01
6425 c 016425 c 01
6425 c 01
 
Material modulo02 asf6501(6425-b_01)
Material   modulo02 asf6501(6425-b_01)Material   modulo02 asf6501(6425-b_01)
Material modulo02 asf6501(6425-b_01)
 
Introduction_of_ADDS
Introduction_of_ADDSIntroduction_of_ADDS
Introduction_of_ADDS
 
Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08
 
70 640 Lesson07 Ppt 041009
70 640 Lesson07 Ppt 04100970 640 Lesson07 Ppt 041009
70 640 Lesson07 Ppt 041009
 
Microsoft Offical Course 20410C_02
Microsoft Offical Course 20410C_02Microsoft Offical Course 20410C_02
Microsoft Offical Course 20410C_02
 
Microsoft Offical Course 20410C_03
Microsoft Offical Course 20410C_03Microsoft Offical Course 20410C_03
Microsoft Offical Course 20410C_03
 

Similar a WP7 HUB_Platform overview

Introduction To Computing
Introduction To ComputingIntroduction To Computing
Introduction To ComputingAdeel Rasheed
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptxCbhaSlide
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptxBhavani Testone
 
System software 1ppt(udated)
System software 1ppt(udated)System software 1ppt(udated)
System software 1ppt(udated)uraj007
 
Mobile applicationtesting
Mobile applicationtesting Mobile applicationtesting
Mobile applicationtesting L ESHWAR
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating SystemsSuhreed Sarkar
 
The Pc And Its Operating Systems
The Pc And Its Operating SystemsThe Pc And Its Operating Systems
The Pc And Its Operating SystemsAmber Wheeler
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformMICTT Palma
 
Create your own sixth sense device
Create your own sixth sense deviceCreate your own sixth sense device
Create your own sixth sense deviceFaheem Nazir
 
Phone companion test
Phone companion testPhone companion test
Phone companion testTekObserver
 
Technical seminar report on
Technical seminar report onTechnical seminar report on
Technical seminar report onBalveer Rathore
 
Afhverju Windows 8.1?
Afhverju Windows 8.1?Afhverju Windows 8.1?
Afhverju Windows 8.1?Wnklie83
 
Operating Systems
Operating SystemsOperating Systems
Operating SystemsLeon Lei
 
Windows 8
Windows 8Windows 8
Windows 8liguad1
 

Similar a WP7 HUB_Platform overview (20)

Introduction To Computing
Introduction To ComputingIntroduction To Computing
Introduction To Computing
 
Mantra
MantraMantra
Mantra
 
Android 4.0. Part 1
Android 4.0. Part 1Android 4.0. Part 1
Android 4.0. Part 1
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptx
 
MobileApplicationTesting.pptx
MobileApplicationTesting.pptxMobileApplicationTesting.pptx
MobileApplicationTesting.pptx
 
System software 1ppt(udated)
System software 1ppt(udated)System software 1ppt(udated)
System software 1ppt(udated)
 
Mobile applicationtesting
Mobile applicationtesting Mobile applicationtesting
Mobile applicationtesting
 
Introduction to Operating Systems
Introduction to Operating SystemsIntroduction to Operating Systems
Introduction to Operating Systems
 
Win8 seminar
Win8 seminarWin8 seminar
Win8 seminar
 
The Pc And Its Operating Systems
The Pc And Its Operating SystemsThe Pc And Its Operating Systems
The Pc And Its Operating Systems
 
WP7 HUB_Overview and application platform
WP7 HUB_Overview and application platformWP7 HUB_Overview and application platform
WP7 HUB_Overview and application platform
 
Main file win 8
Main file win 8Main file win 8
Main file win 8
 
Create your own sixth sense device
Create your own sixth sense deviceCreate your own sixth sense device
Create your own sixth sense device
 
Phone companion test
Phone companion testPhone companion test
Phone companion test
 
Technical seminar report on
Technical seminar report onTechnical seminar report on
Technical seminar report on
 
Beekman5 std ppt_04
Beekman5 std ppt_04Beekman5 std ppt_04
Beekman5 std ppt_04
 
Afhverju Windows 8.1?
Afhverju Windows 8.1?Afhverju Windows 8.1?
Afhverju Windows 8.1?
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
The operating
The operatingThe operating
The operating
 
Windows 8
Windows 8Windows 8
Windows 8
 

Más de MICTT Palma

Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.MICTT Palma
 
¿Qué es la nube?
¿Qué es la nube?¿Qué es la nube?
¿Qué es la nube?MICTT Palma
 
Introduction to wcf solutions
Introduction to wcf solutionsIntroduction to wcf solutions
Introduction to wcf solutionsMICTT Palma
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrixMICTT Palma
 
WP7 HUB_XNA overview
WP7 HUB_XNA overviewWP7 HUB_XNA overview
WP7 HUB_XNA overviewMICTT Palma
 
WP7 HUB_Consuming Data Services
WP7 HUB_Consuming Data ServicesWP7 HUB_Consuming Data Services
WP7 HUB_Consuming Data ServicesMICTT Palma
 
WP7 HUB_Introducción a Visual Studio
WP7 HUB_Introducción a Visual StudioWP7 HUB_Introducción a Visual Studio
WP7 HUB_Introducción a Visual StudioMICTT Palma
 
WP7 HUB_Creando aplicaciones de Windows Phone
WP7 HUB_Creando aplicaciones de Windows PhoneWP7 HUB_Creando aplicaciones de Windows Phone
WP7 HUB_Creando aplicaciones de Windows PhoneMICTT Palma
 
WP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightWP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightMICTT Palma
 
WP7 HUB_Marketplace
WP7 HUB_MarketplaceWP7 HUB_Marketplace
WP7 HUB_MarketplaceMICTT Palma
 
WP7 HUB_Launch event WP7
WP7 HUB_Launch event WP7WP7 HUB_Launch event WP7
WP7 HUB_Launch event WP7MICTT Palma
 
WP7 HUB_Launch event Windows Azure
WP7 HUB_Launch event Windows AzureWP7 HUB_Launch event Windows Azure
WP7 HUB_Launch event Windows AzureMICTT Palma
 
WP7 HUB_Launch event introduction
WP7 HUB_Launch event introductionWP7 HUB_Launch event introduction
WP7 HUB_Launch event introductionMICTT Palma
 
Presentacion share point 2010
Presentacion share point 2010Presentacion share point 2010
Presentacion share point 2010MICTT Palma
 
Seminario Photosynth y Microsoft Tag's MICTT
Seminario Photosynth y Microsoft Tag's MICTTSeminario Photosynth y Microsoft Tag's MICTT
Seminario Photosynth y Microsoft Tag's MICTTMICTT Palma
 
Windows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTTWindows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTTMICTT Palma
 
Sharepoint 2010 novedades y mejoras MICTT
Sharepoint 2010  novedades y mejoras MICTTSharepoint 2010  novedades y mejoras MICTT
Sharepoint 2010 novedades y mejoras MICTTMICTT Palma
 

Más de MICTT Palma (20)

Office 365
Office 365Office 365
Office 365
 
Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.Sharepoint 2010. Novedades y Mejoras.
Sharepoint 2010. Novedades y Mejoras.
 
¿Qué es la nube?
¿Qué es la nube?¿Qué es la nube?
¿Qué es la nube?
 
Introduction to wcf solutions
Introduction to wcf solutionsIntroduction to wcf solutions
Introduction to wcf solutions
 
Introducción a web matrix
Introducción a web matrixIntroducción a web matrix
Introducción a web matrix
 
Ie9 + html5
Ie9 + html5Ie9 + html5
Ie9 + html5
 
WP7 HUB_XNA overview
WP7 HUB_XNA overviewWP7 HUB_XNA overview
WP7 HUB_XNA overview
 
WP7 HUB_Consuming Data Services
WP7 HUB_Consuming Data ServicesWP7 HUB_Consuming Data Services
WP7 HUB_Consuming Data Services
 
WP7 HUB_Introducción a Visual Studio
WP7 HUB_Introducción a Visual StudioWP7 HUB_Introducción a Visual Studio
WP7 HUB_Introducción a Visual Studio
 
WP7 HUB_Creando aplicaciones de Windows Phone
WP7 HUB_Creando aplicaciones de Windows PhoneWP7 HUB_Creando aplicaciones de Windows Phone
WP7 HUB_Creando aplicaciones de Windows Phone
 
WP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightWP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con Silverlight
 
WP7 HUB_Marketplace
WP7 HUB_MarketplaceWP7 HUB_Marketplace
WP7 HUB_Marketplace
 
WP7 HUB_XNA
WP7 HUB_XNAWP7 HUB_XNA
WP7 HUB_XNA
 
WP7 HUB_Launch event WP7
WP7 HUB_Launch event WP7WP7 HUB_Launch event WP7
WP7 HUB_Launch event WP7
 
WP7 HUB_Launch event Windows Azure
WP7 HUB_Launch event Windows AzureWP7 HUB_Launch event Windows Azure
WP7 HUB_Launch event Windows Azure
 
WP7 HUB_Launch event introduction
WP7 HUB_Launch event introductionWP7 HUB_Launch event introduction
WP7 HUB_Launch event introduction
 
Presentacion share point 2010
Presentacion share point 2010Presentacion share point 2010
Presentacion share point 2010
 
Seminario Photosynth y Microsoft Tag's MICTT
Seminario Photosynth y Microsoft Tag's MICTTSeminario Photosynth y Microsoft Tag's MICTT
Seminario Photosynth y Microsoft Tag's MICTT
 
Windows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTTWindows azure: Introducción a la Nube y HoL de Azure MICTT
Windows azure: Introducción a la Nube y HoL de Azure MICTT
 
Sharepoint 2010 novedades y mejoras MICTT
Sharepoint 2010  novedades y mejoras MICTTSharepoint 2010  novedades y mejoras MICTT
Sharepoint 2010 novedades y mejoras MICTT
 

Último

The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxShobhayan Kirtania
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docxPoojaSen20
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Celine George
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactdawncurless
 

Último (20)

The byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptxThe byproduct of sericulture in different industries.pptx
The byproduct of sericulture in different industries.pptx
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
mini mental status format.docx
mini    mental       status     format.docxmini    mental       status     format.docx
mini mental status format.docx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17Advanced Views - Calendar View in Odoo 17
Advanced Views - Calendar View in Odoo 17
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 

WP7 HUB_Platform overview

  • 1. Windows Phone Platform Overview A different kind of phone, designed for a life in motion
  • 3. Topics Windows Phone hardware examined Processor and operating system Graphical Display Touch input Location sensors Camera Memory Network
  • 4. The Windows Phone Device The Windows Phone is a pretty powerful device Best regarded as a computer that can make phone calls Runs an operating system specially optimised for mobile devices
  • 5. Windows Phone processor speed The Windows phone hardware standard requires that a Windows Phone device will have a processor “clock speed” of at least 1 GHz This means that something will go “tick” inside the phone 1,000,000,000 times a second A tick lasts a nanosecond, the time it takes light to travel around 30 cm
  • 6. Processors and Clocks Each time the clock in a Central Processor Unit (CPU) goes “tick” a particular low-level operation will be performed Perform part of a hardware instruction Load data from memory Store data into memory The faster the clock ticks, the faster the processor is running
  • 7. Clocks and speeds A Windows PC processor runs at 2-4 GHz, a A Windows Phone processors start at 1 GHz This does not mean a phone is around half the speed of a desktop PC The clock speed is just one factor that determines computer speed A bit like engine size in a car
  • 8. Speed and processors Some processors need more “ticks” to perform the same action Phones use “Reduced Instruction Set Computing” designs which reduce the amount they can do per clock tick The desktop PC may contain multiple processors The Windows Phone cannot run at full speed all the time as this would flatten the battery
  • 9. Performance and programs When you write a Windows Phone application you have to worry about performance There is not the spare processing power available to compensate for poor programming techniques Performance must be considered at all times This will turn us into better programmers The techniques we are going to learn will improve all the programs we write
  • 10. Windows Phone Operating System Windows Phone 7 is not based on the Windows 7 operating system The numbering is coincidental Windows Phone is actually based on Windows Compact Edition (Windows CE) This is an operating system specially built for use in battery operated devices with low power processors
  • 11. Operating Systems and Programs From the point of view of a programmer the operating system is becoming less important We are going to write Silverlight and XNA applications that make method calls to use the underlying system How that underlying system works does not affect our programs directly They can run on any platform 11
  • 12. Windows Phone Graphical Display The Windows Phone has a high resolution display with at least 800x480 pixel resolution This makes a lot of work for the hardware The higher the resolution of the display the more work needed to keep it up to date The display can be used in landscape and portrait mode The phone will detect how it is being held and a program can change the display to match
  • 13. Graphics Hardware Acceleration Desktop PCs have used graphical acceleration for a long time The Graphical Processing Unit (GPU) draws the display and performs image processing on it GPUs are now appearing in mobile phones The Windows Phone contains a GPU Used to render user Silverlight user interfaces Also used to create 3D games in XNA
  • 14. Touch Input Modern mobile devices are making increasing use of touch screens These are now provided in addition to a keyboard The Windows Phone user interface is entirely touch based, using a capacitive multi-touch input device
  • 15. Resistive Touch Input Screens Early mobile devices used resistive touch screens Touching the screen connects two plastic membranes to form a circuit The resistance across this circuit is used to work out the location of the touch This technology is very precise (particularly if a stylus is used) But it cannot easily detect more than one touch
  • 16. Capacitive Touch Input Capacitive touch sensors detect the change in capacitance caused by touch event There is no physical movement The touch sensor can be printed on a glass screen The resolution of a capacitive screen is not as great as a resistive one This is not a problem as the user will be touching with a finger, not a stylus A capacitive screen can track multiple touches
  • 17. Touch and Gestures Gestures are particular movements made with one or more finger Dragging an item on the screen Pinching movements to zoom in and out The Windows Phone operating system has built in support for gesture input A program can be sent a message when a user has performed a particular gesture
  • 18. Location Support A Windows Phone contains a Global Positioning System (GPS) receiver Works well when outdoors with a view of the sky The phone will also other location information Location of cellphone towers in use Location of WiFi access point This “assisted” positioning makes it possible to determine position when inside buildings
  • 19. Accelerometer The accelerometer can measure acceleration in three directions (X, Y and Z) This can be used to detect movement of the phone It can also be used to determine how the phone is being held This orientation information can be used to control games by tipping the phone
  • 20. Camera The camera will be at least 5Megapixels This makes for good quality pictures The pictures which are taken are stored within the phone and transferred to the Windows PC using the Zune software Programs can load these pictures, and other pictures from the media in the phone Your programs can also initiate a photograph
  • 21. Camera Limitations Our programs can’t read a live video feed from the camera in this Windows Phone release This is not a hardware limitation Our programs can’t take a picture without user involvement This is to stop the creation of “spyware” applications that take pictures without user consent
  • 22. Hardware Buttons All Windows Phones have a specific set of physical buttons Start, Back, Lock, Search, Camera, Volume These will work in exactly the same way on every version of the phone Programs are required to use them in a particular way too
  • 23. Start Button Starts a new program When the user presses Start they are always taken to the start menu to choose a program to run The application that was running when Start was pressed is removed from memory This is part of the way that Windows Phone enforces the “one program at a time” rule 23
  • 24. Back button This button has several uses Within a particular program it moves you back to the previous menu When at the top level menu of a program it is used to exit the program and return to the Start menu At the Start menu the back button will return the user to the program they were running when they pressed Start to do something new 24
  • 25. The Back button and the Phone UI Back is rather hard to explain But very easy for users to get to grips with It makes it easy to drop in and out of applications on the phone without having to keep finding them and restarting them For us developers it means that programs may be “woken up” from having been stopped 25
  • 26. Other Buttons Lock Button Stops the currently running program and locks the phone Search Starts a search operation. Your program should respond to search appropriately Camera Stop the current program and take a picture 26
  • 27. Phone Keyboard Some Windows Phone devices will be fitted with hardware keyboards The system provides a “software” keyboard that uses the touch screen When we design our programs we need to make sure that they can be used with or without a physical keyboard 27
  • 28. Phone Memory There are two flavours of memory Main memory This is where programs are loaded and executed Fast memory chips connected directly to the processor Mass storage memory This is where program, data and media are stored Slower storage that holds its data when the power is turned off 28
  • 29. Main Memory A Windows Phone will have at least 256Mbytes of main memory A few years ago this was a huge amount, but these days it is not quite as impressive It can soon get eaten up by programs that use a lot of graphics in their user interfaces In contrast a desktop PC will have around 8 times that memory space, with at least 2Gbytes of RAM 29
  • 30. Mass Storage A Windows Phone will have at least 8Gbytes of mass storage In program terms this is a lot, but most of it will be used store media A single music track is around 8 Mbytes A high quality picture is around 2 Mbytes An hour of good quality video is around 1Gbyte 30
  • 31. Network Windows Phones have lots of connectivity options: WiFi wireless network (high speed) 3G phone network (high to media speed) GPRS phone network (low speed) Out of coverage (no speed) Software on a mobile device must deal with all these types of network 31
  • 32. Programming Considerations A Windows Phone is an amazing device But it is limited by size and battery power Users will expect a high quality experience This will be based on their experience on much more powerful devices which are not mobile Our job as developers is to make the most of what the platform gives us This gives us more to think about when we write our programs
  • 33. The Good News Programming for a phone is fun! The range of features a device has, and the fact it is mobile makes it possible to invent completely new applications The development environment is really powerful and easy to use You get a lot of help from the system in creating great user interfaces 33
  • 34. Review Windows Phone is a computer, but one working specifically in the mobile environment All Windows Phone devices are built to a particular standard with standard features Performance and storage is restricted and our program design must reflect this Network connectivity is variable on a phone Programming a phone is harder than a desktop, but still fun 34
  • 36. Topics The ecosystem that surrounds the Windows Phone device Zune media management and connection Windows Live and Xbox Live and Windows Phone Bing search and Windows Phone Bing Maps and Windows Phone Windows Phone Notification Services
  • 37. Windows Phone Ecosystem A Windows Phone device is surrounded by other services which provide an “ecosystem” These services bind to software in the phone device We can write software that makes use of these services to create brand new solutions In this section we are going to take a look at the services and consider how we might use them 37
  • 38. Zune Software The Zune software provides the link between the Windows Phone and the PC It allows media to be synchronised with the phone It also provides the link to the device for development with Visual Studio
  • 39. Windows Live and Xbox Live A Windows Phone owner can register their phone with Xbox Live This will also connect them with their Xbox Gamertag if they have one Games can use the gamertag to manage achievements and high scores 39
  • 40. Bing Maps Programs in the phone can request maps from the Bing service There is also a Silverlight control you can add to your programs to view and navigate the map You can also make searches for items near your position 40
  • 41. Windows Notification Service It is often the case that external systems need to send a message to a program in a phone Tell you that your dry cleaning is ready Challenge a gamer to a duel Applications register with the Windows Phone notification service and servers can then use this to send messages to the phone user These are buffered if the phone is not connected when the message is sent 41
  • 42. Creating a service of your own There is no reason why you can’t create your own network based service for a Windows Phone client to use You need to write the server application too You can write both ends of the service in C# and you could host the service in the Windows Azure cloud Students can get free access to some cloud services 42
  • 43. Review A mobile phone is now a connected component of a much larger “ecosystem” A Windows Phone can use several of these Zune PC connection and media synchronisation Windows Live and Xbox Live Bing Maps Windows Notification Service Your programs can use these elements to make brand new connected applications 43
  • 45. Topics The Windows Phone Operating System Multi-tasking on Windows Phone Windows Phone and Managed Code Just in Time compilation Program “sandboxes” and Managed Code Developer Implications
  • 46. The Windows Phone Operating System Windows Phone 7 does not use Windows 7 as an operating system The fact they have the same number is just a coincidence Windows Phone instead uses an operating system called Windows CE This is specially designed for use on small, battery powered, devices
  • 47. Multi-Tasking Multi-tasking means running multiple programs at once Windows PCs let you do this You can have IE and Word both running at once Unfortunately multi-tasking places heavy demands on the processor and uses a lot of memory Therefore the first version of Windows Phone does not provide multi-tasking 47
  • 48. Missing Multi-Tasking A mobile device does not really have a screen large enough to view two programs at once The phone has been designed to make it as easy as possible to switch between programs Must users want task switching rather than multi-tasking The operating system itself can multi-task The music player and email programs can both run at the same time as user programs 48
  • 49. Programs on Windows Phone Programs for Windows Phone are written in .NET and run within a Managed Code environment on the device The phone performs Just in Time compilation of the intermediate language (Microsoft Intermediate Language – MSIL) The programs that run are assemblies that are signed by the developer This is used to prove where the code came from
  • 50. Microsoft .NET .NET is the name for an architecture from Microsoft that runs programs It includes standards for the following: Design of MSIL and program file format Data types System libraries C# programming language VB .NET programming language 50
  • 51. The Microsoft Intermediate Language The Microsoft Intermediate Language (MSIL) is a half way house between a high level language and machine code It is designed to be easy to translate into machine code The phone can run MSIL from any .NET compiler C#, Visual Basic, F#, IronPython, IronRuby, C++ The user interface code must be C#
  • 52. Running .NET Assemblies When a .NET program needs to run something has to convert the intermediate language into real machine code for the target processor This happens in the instant before the program actually runs It is called “Just In Time” compilation 52
  • 53. Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC Xbox Windows Phone Assembly file containing MSIL Just In Time compiler Machine code in memory
  • 54. Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC Xbox Windows Phone Assembly file containing MSIL Just In Time compiler Programmer writes the program Machine code in memory
  • 55. Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC Xbox Windows Phone Assembly file containing MSIL Just In Time compiler Visual Studio compiles the source Machine code in memory
  • 56. Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC Xbox Windows Phone Assembly file containing MSIL Just In Time compiler The assembly file is transferred to the target Machine code in memory
  • 57. Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC Xbox Windows Phone Assembly file containing MSIL Just In Time compiler When the program runs the Just In Time compiler converts the MSIL into binary Machine code in memory
  • 58. Just in Time Compilation Visual Studio Development Environment C# source file C# compiler Target hardware Windows PC Xbox Windows Phone Assembly file containing MSIL Just In Time compiler The machine code runs inside the target Machine code in memory
  • 59. Intermediate Language Good things about intermediate languages Can run on a range of platforms Can use lots of different programming languages (as long as they compile down to MSIL) Programs are smaller than machine code Programs can be digitally signed and verified Bad things about intermediate languages The need to Just In Time (JIT) compile them slows down program execution
  • 60. Managed Code When your program runs on Windows Phone it actually runs in a “managed” environment This means that what it does is validated before the program is allowed to do it Array subscripts are checked Program not allowed to attempt to control hardware directly This stops the phone from being affected by a rogue application 60
  • 61. Review The built-in programs inside the phone can multi-task but only one application can run at a time in the phone The phone users the .NET Microsoft Intermediate Language for applications These are “Just in Time” compiled when they are started and run inside a managed shell This trades raw speed for safety and portability 61
  • 63. Topics Writing programs for Windows Phone The Windows Phone emulator Using the Windows Phone features from software Silverlight and XNA program development Development tools Windows Phone Marketplace
  • 64. Windows Phone Programming Writing programs for Windows Phone is the same as writing for any .NET platform Edit, compile and debug within Visual Studio But you need to remember you are writing for a platform a bit more constrained than a PC You can incorporate .third party NET libraries (assemblies) into your applications 64
  • 65. Windows Phone Emulator The emulator runs on your PC It contains exactly the same code as the real phone, but compiled for the Windows PC It lets you see what your programs look like and whether they work correctly It does not show you what the application performance will be like on a real device 65
  • 66. Using Windows Phone from software Windows Phone provides a library of “Launchers” and “Choosers” that your programs can invoke Launchers start other tasks in the phone Start a phone call Choosers allow the user to select an option and then restart your program so it can use the returned value Select a contact from the Address Book
  • 67. Network Connectivity A Windows Phone will be able to use the 3G phone network and WIFI to connect to the internet Your programs will be able to interact with servers, call web services and engage in REST sessions In the present version of the operating system there is no support for direct socket connections
  • 68. Silverlight and XNA applications You can build two kinds of applications for a Windows Phone Silverlight Business applications and simple casual games XNA XNA is a game development environment with support for 2D and 3D games with hardware accelerated graphics
  • 69. Silverlight Applications This is not a very good looking Silverlight application But it does show that you can build displays for user applications using Silverlight There are lots of custom display components for the phone that you can use 69
  • 70. XNA Applications XNA is a game development environment for Windows PC, Xbox and now Windows Phone Existing XNA games are very easy to move onto the phone The phone provides 3D graphics support for games Built in shaders 70
  • 71. Creating an Application You select the type of your application (XNA or Silverlight) when you create the new project in Visual Studio It is not possible to create a single program that uses both technologies There is no technical reason why you could not create a Silverlight game or an XNA business application 71
  • 72. Development Tools The Development Tools for the platform are a free download They tools provide a version of Visual Studio and the Windows Phone emulator These will also integrate into an existing Visual Studio installation You can also obtain free versions of the Expression Blend user interface design tools for Silverlight 72
  • 73. Windows Phone Marketplace You can develop and test your application on the emulator for free To sell your application or deploy it to a real device you must register as a developer This costs $99 per year Students can become developers for free via Microsoft DreamSpark 73
  • 74. Marketplace Rules In a year of your subscription you can publish any number of “paid” applications and up to 5 free ones To distribute more free applications costs $20 per application When you sell an application you get 70% of the price you charge You can distribute “demo” and “time trialed” versions of your application 74
  • 75. Marketplace approval A program submitted for sale via marketplace is submitted to an approvals process This includes checks for matters of taste and decency, along with proper application behaviour If the program fails the process you will be given a report and can re-submit the application 75
  • 76. Review Windows Phone programs are developed in the same way as any other .NET application The Windows Phone emulator does not emulate the speed of the platform Programs can make use of phone functions Windows Phone programs either Silverlight (business) or XNA (game) based The development tools are all free You need to join the marketplace to sell apps