CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

John Papa [MVP C#]

.NET Code Samples, Data Access, and Other Musings

Smartphone Skills: Part 01 - Introduction

I decided to start a series of blog posts regarding various aspects of using, customizing and developing for the Windows Mobile 5 Smartphone. This will be the first post … in which I will begin by describing what to expect and where to get some of the basics. I’ll try to keep this series short and to the point so they are very digestible. (On that same note, there may end up being a lot of posts in this series depending on how many topics I end up covering.)

Let me start by getting this out right away … I will not be discussing any other mobile OS. I will only be focusing on the Windows Mobile 5 for Smartphones (with a light sprinkling of Pocket PC). yeah, the name “Smartphone Skills” is a bit odd … but I thought it was catchy.

 

What is it the Smartphone OS?

Its a bit of a niche … its not just Windows Mobile 5 development, but its development for the Smartphone version of the OS. The Smartphone version of the OS is a bit scaled down than that of the Pocket PC version of the OS. The Windows Mobile 5 for the Smartphone is targeted for (obviously) Smartphones … which generally are phone 1st, PDA 2nd. (There is also a Pocket PC edition and a Pocket PC Phone edition, the latter of which is generally agreed upon as PDA 1st and phone 2nd.) I won’t go into all of the differences nor do I know them all by heart. However, some of the big differences are that the Smartphone OS does not handle stylus/pen events as the screen for Smartphones are not interactive. The user uses special keys on the phone to interact with the applications. Smartphone OS usually does not support some software, as well … usually because the applications require too much stylus interaction with the touch screen. So Office products like Pocket Word and Pocket Excel do not come with the Windows Mobile 5 OS on the Smartphone. (However, Outlook does.) Anyway, a description as per Microsoft can be found on the site located here.

 

So What Do You Need?

There are plenty of tools that are helpful, but here is the core list of tools you need to get started in developing for the Smartphone.

  1. 1) Visual Studio.NET (I’ll be using 2005)
  2. 2) .NET Compact Framework (I’ll be using v 2.0 but you could use version 1.1)
  3. 3) Windows Mobile 5.0 SDK for Smartphone (there is another SDK for Pocket PC)
  4. 4) You do NOT need an actual Smartphone to do any development. You could instead use the device emulator that comes with Visual Studio.NET.
  5. 5) ActiveSync 4.1 … even if you are not going to use an actual Smartphone and you will instead rely on the emulator, you will still want to install the latest version of ActiveSync (currently 4.1). In fact, I believe the SDK will not even install unless ActiveSync is installed first.

Once you have these installed you can get started and write you first mobile application.

 

Other Useful Links (maybe):

Here are some links that can help you get started:

 

Next time in Smartphone Skills I will talk a little more about getting setup.

 

Smartphone Skills Series:


Published Jun 04 2006, 09:06 PM by John Papa
Filed under: ,

Comments

John Papa said:

I did it ... I admit it. I was one of the many silly people that got hyped up on the just released Motorola...
# June 4, 2006 10:08 PM

Daniel Moth said:

It is funny... I was helping out the other day a friend who only had a background in web development (aspx etc) to get to grips with winforms but in a SmartPhone app (big jump!).

In the past I've had to help people start with SmartPhone development when all they had done was winforms.

I guess the point is that a "tutorial" on SP or "SP skills" has to consider the background of the audience and approach it differently depending on where they come from...

For existing NETCF devs, I wrote this a while back:
http://www.danielmoth.com/Blog/2005/03/smartphone-development-quick-start.html
# June 5, 2006 4:34 AM

John Papa said:

Daniel,

That's a good point. It can be very different developing for ASP.NET vs WinForms vs a mobile platform. I wrote an article on SQL Server CE on the Pocket PC a few years back ... working with SQL Server on the mobile devices is very different as well ... a whole 'nuther beast, if you will :)

Thanks for the input and the link.
# June 5, 2006 8:42 AM

dotnetkicks.com said:

Trackback from dotnetkicks.com
# June 5, 2006 9:14 AM

Jason Haley said:

# June 5, 2006 10:48 AM

Sahil Malik said:

Cool. I am thinking of getting myself a Cingular 2125 in a couple of months or so. Perfect timing - keep typing :)

Sahil
# June 5, 2006 11:06 AM

John Papa said:

Sahil ... I looked at the 2125 too (my contract was up so I could have gone with any povider). Its a nice phone, but I really wanted the QWERTY keyboard (thus I debated over the Q or the Treo).

Let me know if you get the 2125. I think the Q and the Treo are coming out for Cingular by end of 2006, too.
# June 5, 2006 11:09 AM

John Papa said:

In my last post (Smartphone Skills: Part 01 - Introduction) I ran through a few of the links that you...
# June 6, 2006 11:55 AM

Stefano Demiliani said:

Really interesting series of posts, good topic. To increase the interest, I thin you could try to develop a smartphone's application so concepts could be more clear.
However, permit me a little discussion at your point 4).
"You do NOT need an actual Smartphone to do any development. You could instead use the device emulator that comes with Visual Studio.NET":
Surely true, but for my experience sometimes application perfomances are really different between the emulator and the smartphone itself. The emulator is surely an unvaluable resource for building and testing the application on its first stage, but you've always to plan a big testing phase when the application will be deployed on the device.
I'll check your series... I love this topic :)
# June 7, 2006 8:41 AM

John Papa said:

Stefano ... Yep, I agree with you in that you really should test on a device to make sure the app performs as expected. The device emulator is a great start, but final testing should always come on a device.

Develop an app? Yep, that's on deck :)
# June 7, 2006 9:40 AM

John Papa [MVP C#] said:

So far in this series I have introduced the basics of Smartphone development and how to get setup with...
# June 25, 2006 10:24 PM

Michael said:

hello, i have recently just installed embedded visual c++ and the pocket pc sdk, and active sync and have successfully used the emulator, this is the first time i have ever heard of visual c++ and the first time i have ever used an SDK, i dont really understand what they are so i was hoping you could explain to me why i can't use the smartphone SDK, when i try to install the smartphone SDK it says i dont have the right tools??? probably means visual studio.net or sumthin like that, so i try to install this visual studio thing, but the microsoft website just gives me a list of trippy things that ive never herd of before, e.g.

Download Visual Studio 2005 Express Editions

Visual Studio 2005 Professional Edition 90-Day Trial

Visual Studio 2005 Team Suite 180-Day Trial

Visual Studio 2005 Team Foundation Server 180-Day Trial

Visual Studio 2005 Team Test Load Agent.....and soo on, none of them say visual studio .net 2005 so which one do i download???

# September 29, 2006 3:48 AM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About John Papa

John (C# MVP and MCSD.NET) has been working with Microsoft distributed architectures for over 10 years. He has enterprise experience architecting and developing with .NET technologies including ASP.NET as well as WebForms using both C# and VB.NET. He is a baseball fanatic who spends most of his summer nights rooting for the Yankees with his family and his faithful dog, Kadi. John has authored or co-authored several books on ADO, ADO.NET, XML, and SQL Server, is the author of the Data Points column in MSDN Magazine, has presented MSDN WebCasts and can often be found speaking at industry conferences such as VSLive and DevConnections. Check out Devlicio.us!