Entries:
Comments:
Posts:

Loading User Information from Channel 9

Something went wrong getting user information from Channel 9

Latest Achievement:

Loading User Information from MSDN

Something went wrong getting user information from MSDN

Visual Studio Achievements

Latest Achievement:

Loading Visual Studio Achievements

Something went wrong getting the Visual Studio Achievements

Rory Does Windows Mobile Development - An Introduction

Download

Right click “Save as…”

I've decided, humble as I am, to try and create the greatest series of screencasts in the entire universe on the subject of Windows Mobile development. I'll probably fail, but that's no big deal. It's just a goal.

In this first screencast, I walk you through the creation of a very simple Windows Mobile application, while pointing out some things you Need To Know along the way.

Future screencasts in this series will be deeper technical dives, but you gotta start somewhere, eh?

I hope you like it Smiley

My name, by the way, is Rory Blyth, and I'm an MSDN Events Presenter. You can learn more about my job here, and you can get to my blog here.

Screencasts In This Series:

An Introduction To Windows Mobile Development

- Building a Simple Web Browser With the .NET CF 2.0

- A Simple Data Driven Windows Mobile App Using SQL Server Mobile

- Data Synching: Part One

- Data Synching: Part Two

- Windows Mobile 5.0: State Notification API

- Windows Mobile 5.0: Pocket Outlook Object Model

- Windows Mobile 5.0: Camera API

Tag:

Follow the Discussion

  • figuerresfiguerres ???
    Hey! Rory!

    Dang.... miss the old DNR days.... been wondering what you been doing.... now I see this... Hmmm...
  • RoryRory Free Tibet While Supplies Last
    figuerres -

    There's more on the way tonight, too.

    And, if you miss the DNR days - it just so happens I'm flying out to Connecticut next month to do some work with Carl on another show (not DNR). Just for kicks, you know? A little bit of fun in the middle of all the work.

    Anyway, hope you're into the screencast thing, 'cause that's what I've decided I'm going to be doing all week Smiley
  • CoderatCoderat Did you get that memo?
    Woohoo!  I've been waiting for some more mobile screencasts from you since the few you put up on your website in Feb.  Looking forward to them!
  • RoryRory Free Tibet While Supplies Last

    Glad to hear it, Coderat Smiley

    The ones I'm doing here are mostly repeats of what I did on my site. I decided to do it this way because most niners probably haven't seen my mobile stuff yet.

    There's new stuff, too, though - most important, there will be a couple sessions on RDA that I think will be very useful for devs who are trying to figure out how to sync data between a mobile device and SQL Server.

    The other bonus is that, with the bandwidth here, people won't have to wait as long to get the screencasts, so that's nice.

    But, yeah - just keep an eye out  - I'll be doing several more this week, and I think I'll be posting about three more by the end of the night (that is: sometime tomorrow morning).

  • figuerresfiguerres ???
    Rory wrote:
    figuerres -

    There's more on the way tonight, too.

    And, if you miss the DNR days - it just so happens I'm flying out to Connecticut next month to do some work with Carl on another show (not DNR). Just for kicks, you know? A little bit of fun in the middle of all the work.

    Anyway, hope you're into the screencast thing, 'cause that's what I've decided I'm going to be doing all week


    Yeah!

    BTW:

    I have an app that today is 1.1 / WinCE.Net based.
    the vendors are talking about mving to WM 5.0 but it's CASIO so it may take 5 years Tongue Out for them to do it.... I hope not... any way you can get them to fast track it?? offer to help them Smiley

    anyway some things I'd love to see include some kind of "CLick Once" for WM / .Net CF
    as it stands I have hacked up an FTP download to grab a new cab file and then use an interop call to make the device do a re-boot.
    but the ftp can die and leave the thing hung with a bad cab file for example.

    also the old sqlce db has some nasty problems with corruping the db file.

    if CASIO can get wm 5 then we can go with the new sql ce; I have heard it is way better -- not so able to mess up the db file.

    the unit is the CASIO IT-3000 nice hardware - weight, size etc....
    just old OS on it Perplexed
  • Sven GrootSven Groot Don't worry... I'm a doctor.
    Very cool. I haven't watched it yet, but I definitely will. It was actually Rory's blog where I first learned about Channel9. Smiley
  • RoryRory Free Tibet While Supplies Last
    figuerres -

    I feel your pain about not being able to go Windows Mobile 5.0.

    Unfortunately, it's up to the OEM if there's going to be an upgraded OS for a given device (it's also up to the hardware). If I had it my way, I'd slap WM 5.0 on everything from your devices to your microwave and refrigerator.

    Your Click-Once for mobile apps sounds cool - a lot of vendors will do an either/or thing with mobile apps. That is, it's either a desktop install through ActiveSync, or it's a straight cab install.

    While the desktop install has many advantages (like keeping track of what's on your device and making it easy to reinstall later if need be), it'd also be nice to be able to hit a page with IE (on the device) and easily install an app.

    I guess I should also apologize ahead of time - the next three screencasts I'm putting up are all about new features of WM 5.0 for developers Smiley
  • RoryRory Free Tibet While Supplies Last
    Sven Groot wrote:
    Very cool. I haven't watched it yet, but I definitely will. It was actually Rory's blog where I first learned about Channel9.


    Wow.

    That's weird and cool at the same time.

    Weird because I didn't know anybody actually clicked on the links from my blog.

    Cool because I just found out they do.

    Word, Sven Smiley
  • figuerresfiguerres ???
    Rory wrote:
    figuerres -

    I feel your pain about not being able to go Windows Mobile 5.0.

    Unfortunately, it's up to the OEM if there's going to be an upgraded OS for a given device (it's also up to the hardware). If I had it my way, I'd slap WM 5.0 on everything from your devices to your microwave and refrigerator.

    Your Click-Once for mobile apps sounds cool - a lot of vendors will do an either/or thing with mobile apps. That is, it's either a desktop install through ActiveSync, or it's a straight cab install.

    While the desktop install has many advantages (like keeping track of what's on your device and making it easy to reinstall later if need be), it'd also be nice to be able to hit a page with IE (on the device) and easily install an app.

    I guess I should also apologize ahead of time - the next three screencasts I'm putting up are all about new features of WM 5.0 for developers


    well what I have is fairly simple to do.
    the one thing we had to buy was nsoftware's .net cf control package to get ftp on .net cf

    after that is just put up an ftp server with the files
    then have a button "get updates" that does some old ftp gets
    then put the cab file in the Startup folder.
    then use pinvoke to do soft-restart.
    when the device starts it installs the cab file, asks the user if it's ok to replace the files.
    then the user has to run the app.

    in our case though we would like to:
    1) remove the prompts for the file-replace.
    2) auto-run our app when CE starts up.
    3) remove all access to the desktop and start menu.

    it's a Point of Sale type app that's running off line most of the day with folks who are not very skilled. so simple is KEY!
    and we currently do not like the device startup time
    when my app is running it hides the desktop and start menu.
    but while CE loads the start menu etc....
    the user can if they move fast open stuff on the start menu.

    also fun is trying to get info from the casio techs who are in Japan
    and often need an interpeter Smiley

    Nothing against asian / Japan etc.... just that it makes some things more of a challenge Wink
  • RoryRory Free Tibet While Supplies Last
    figuerres wrote:
    

    well what I have is fairly simple to do.
    the one thing we had to buy was nsoftware's .net cf control package to get ftp on .net cf

    after that is just put up an ftp server with the files
    then have a button "get updates" that does some old ftp gets
    then put the cab file in the Startup folder.
    then use pinvoke to do soft-restart.
    when the device starts it installs the cab file, asks the user if it's ok to replace the files.
    then the user has to run the app.

    in our case though we would like to:
    1) remove the prompts for the file-replace.
    2) auto-run our app when CE starts up.
    3) remove all access to the desktop and start menu.

    it's a Point of Sale type app that's running off line most of the day with folks who are not very skilled. so simple is KEY!
    and we currently do not like the device startup time
    when my app is running it hides the desktop and start menu.
    but while CE loads the start menu etc....
    the user can if they move fast open stuff on the start menu.

    also fun is trying to get info from the casio techs who are in Japan
    and often need an interpeter

    Nothing against asian / Japan etc.... just that it makes some things more of a challenge


    See, this is part of what I like so much about Windows Mobile.

    It's ridiculously powerful for what it is, and yet there's still a lot of room for classic problem solving. It makes it much more fun, and your solution sounds (to me - a total geek) like it would have been good times to have put it together.

    Very cool, yo.
  • jsampsonPCjsampsonPC SampsonBlog.​com Sampson​Videos.com
    I've never heard Rory speak, but as soon as he said, "I'm assuming you can tell the difference between a variable and an orange" I was busting out in laughter.

    Dagum' Rory! Yer' phuny boya!
  • RoryRory Free Tibet While Supplies Last
    jsampsonPC wrote:
    I've never heard Rory speak, but as soon as he said, "I'm assuming you can tell the difference between a variable and an orange" I was busting out in laughter.

    Dagum' Rory! Yer' phuny boya!


    Thank you, thank you Smiley

    Before becoming a presenter, I sat through a lot of sessions myself, and I see no reason why we can't be a little goofy from time to time.

    Coding is fun. We don't have to treat it like rocket science or a sermon.
  • I've got a fever. And the only cure is more Rory.

    We love Rory. Give us more, more Rory. </Christopher Walken voice>
  • RoryRory Free Tibet While Supplies Last
    Judah wrote:
    I've got a fever. And the only cure is more Rory.

    We love Rory. Give us more, more Rory. </Christopher Walken voice>


    Well, I'm producing three more right now Smiley

    They'll be on:

    1. Windows Mobile 5.0

    2. Windows Mobile 5.0

    and

    3. Windows Mobile 5.0

    I'm a bit of a fan in case you didn't notice... WM 5.0 is teh rox0rz.
  • Christian Liensbergerlittleguru <3 Seattle
    I actually posted a Windows Mobile 5.0 feed reader a few months ago (in the sandbox): http://channel9.msdn.com/ShowPost.aspx?PostID=188395

    The thing is done with the .NET 2.0 compact framework... I'm just mentioning that, because it could be a starting resource for people starting with the compact framework. It contains a lot stuff, like custom controls (drawing custom controls with the compact framework), database management (working with SQL Server Mobile), web requests (HttpRequests), xml parsing, and and and...

    Full (+ commented) source included!
  • erikerik_ Whooops!
    Thanks! Thanks!

    Interesting stuff, can't wait to view the rest of the sceencasts, but I am out of time Sad
  • RoryRory Free Tibet While Supplies Last
    erik_ wrote:
    Thanks! Thanks!

    Interesting stuff, can't wait to view the rest of the sceencasts, but I am out of time


    You're welcome Smiley

    And, the screencasts aren't going anywhere. Just watch 'em when you can.

    I'm getting ready to post three more sometime within the hour, too.

    This has been too much fun.
  • Sven GrootSven Groot Don't worry... I'm a doctor.
    Rory wrote:
    WM 5.0 is teh rox0rz.

    While I agree in general, I must say that the Dutch localised version of WM5 is teh sux0rz unfortunately. It uses a lot of bad translations, inconsistent translations (why is File Explorer called "Verkenner" in the programs menu, but uses "Bestandsverk." in its title bar?), abbreviations that don't exist (such as that Bestandsverk.), spelling errors, and completely wrong translations that a ten-year-old shouldn't make (they translated "draw" in Solitaire as "tekenen", which is correct if you mean "draw" as in "draw with a pencil on paper" but totally wrong if you mean "draw cards from a stack"! Seems like someone just translated the resource files without actually looking at the program). Plus the fact that the Dutch version has no handwriting recognition (ok, no Dutch recognition I can understand, but why they couldn't include the English version I don't know), and the keyboard SIP uses a Dutch keyboard layout, while 99% of the Netherlands actually uses a US-International keyboard, not a Dutch one. And the localisation of special folder names is weird too. Every Dutch version of Windows since 95 has not localised Program Files (it's always left as Program Files) but they localise My Documents (Mijn Documenten), but WM5 does it the other way around: they localised Program Files (Programmabestanden) but not My Documents!
    </rant>

    Ok, I got it out of my system. Smiley

    Btw Rory, have you seen my PocketPC game?
  • RoryRory Free Tibet While Supplies Last
    Sven Groot wrote:
    
    Rory wrote: WM 5.0 is teh rox0rz.

    While I agree in general, I must say that the Dutch localised version of WM5 is teh sux0rz unfortunately. It uses a lot of bad translations, inconsistent translations (why is File Explorer called "Verkenner" in the programs menu, but uses "Bestandsverk." in its title bar?), abbreviations that don't exist (such as that Bestandsverk.), spelling errors, and completely wrong translations that a ten-year-old shouldn't make (they translated "draw" in Solitaire as "tekenen", which is correct if you mean "draw" as in "draw with a pencil on paper" but totally wrong if you mean "draw cards from a stack"! Seems like someone just translated the resource files without actually looking at the program). Plus the fact that the Dutch version has no handwriting recognition (ok, no Dutch recognition I can understand, but why they couldn't include the English version I don't know), and the keyboard SIP uses a Dutch keyboard layout, while 99% of the Netherlands actually uses a US-International keyboard, not a Dutch one. And the localisation of special folder names is weird too. Every Dutch version of Windows since 95 has not localised Program Files (it's always left as Program Files) but they localise My Documents (Mijn Documenten), but WM5 does it the other way around: they localised Program Files (Programmabestanden) but not My Documents!
    </rant>

    Ok, I got it out of my system.

    Btw Rory, have you seen my PocketPC game?


    Well, Sven...

    Sounds like user error to me Wink

    Seriously, though, have you pinged anybody at MS to make sure they're aware of this situation? If not, I'd be happy to do it for you.

    And, no - hadn't seen your game, but I'm going to check it out.
  • jsampsonPCjsampsonPC SampsonBlog.​com Sampson​Videos.com
    Rory, do you take suggestions for future screencasts? Smiley All though I've been using .NET for a while now - I still consider myself an uber-newb.
  • RoryRory Free Tibet While Supplies Last
    jsampsonPC wrote:
    Rory, do you take suggestions for future screencasts? All though I've been using .NET for a while now - I still consider myself an uber-newb.


    Absolutely - Windows Mobile is my favorite technology, but I'm happy to present on just about anything .NET related.

    What would you like a screencast on?
  • figuerresfiguerres ???
    Rory wrote:
    
    figuerres wrote: 

    well what I have is fairly simple to do.
    the one thing we had to buy was nsoftware's .net cf control package to get ftp on .net cf

    after that is just put up an ftp server with the files
    then have a button "get updates" that does some old ftp gets
    then put the cab file in the Startup folder.
    then use pinvoke to do soft-restart.
    when the device starts it installs the cab file, asks the user if it's ok to replace the files.
    then the user has to run the app.

    in our case though we would like to:
    1) remove the prompts for the file-replace.
    2) auto-run our app when CE starts up.
    3) remove all access to the desktop and start menu.

    it's a Point of Sale type app that's running off line most of the day with folks who are not very skilled. so simple is KEY!
    and we currently do not like the device startup time
    when my app is running it hides the desktop and start menu.
    but while CE loads the start menu etc....
    the user can if they move fast open stuff on the start menu.

    also fun is trying to get info from the casio techs who are in Japan
    and often need an interpeter

    Nothing against asian / Japan etc.... just that it makes some things more of a challenge


    See, this is part of what I like so much about Windows Mobile.

    It's ridiculously powerful for what it is, and yet there's still a lot of room for classic problem solving. It makes it much more fun, and your solution sounds (to me - a total geek) like it would have been good times to have put it together.

    Very cool, yo.


    Yea and  the boss (who is semi-geek /programer) loves it cause it made updating the units almost simple.... save us from having to try and tell folks how to use sd cards to swap files and stuff....

    perhaps I can share some stuff here later, the system this works with is .net all the way, about 60 ce units , about 60 pc's .net 2.0 on the server and the pc's sql db and asp.net and web services
    some of the details are verboten to talk about but the general tech and stuff is fine to show how much can be done with the "out of the box" tools :--) and the whole thing was done in about 9 months!
    from ZERO code to a whole pile of stuff running 7x24 with much care as it all involves handling money etc....

    the list of web methods would scare folks if I added them all in one list!

    later....
  • Sven GrootSven Groot Don't worry... I'm a doctor.
    Rory wrote:
    Seriously, though, have you pinged anybody at MS to make sure they're aware of this situation? If not, I'd be happy to do it for you.

    No I haven't (although I'm sure this isn't the first time I've ranted about it here so maybe it got noticed), but if you can let anyone important know I'd appreciate it.

    Rory wrote:
    And, no - hadn't seen your game, but I'm going to check it out.

    Please let me know what you think of it. I know I'm just a total geek and everything, but Troyis (the flash game that my game is based on) is just the most addictive thing I've ever played, and seemed so well suited to pen input that I just had to make this. I still love playing this on train rides every now and then (the game keeps track of number of played games, and I'm on 123 since the last hard reset, and I was on about a 100 before that, so you can see I like this game). Plus it's free, open source and unlike Bejeweled 2 doesn't eat battery power like mad. Smiley You'll also notice I correctly use the menus like you mentioned in the screencast (and if you have a VGA device, you'll see it's fully High-DPI aware).

    I've watched the screencast. Since I'm familiar with WM development it wasn't much news for me. In fact, I have something to correct you on: not all WM5 devices have soft keys for the menus. My Dell Axim X51v doesn't have them (although you can decide to sacrifice two regular buttons for that purpose). Still, it's easy to tap the menu with your finger so it doesn't matter much.

    And on the topic of debugging, you wouldn't happen to know how to debug a SIP do you? I think SIPs run inside gwes.exe but I can't seem to attach the debugger to that. That, combined with the fact that every time you want to deploy an updated version of the SIP you have to soft reset the device to get it to unload the old one, makes SIP development quite annoying. But I do love the fact that VS2005 lets me do unmanaged C++ mobile development, VS2003 couldn't do that so you were stuck with eVC4 back then.
  • Christian Liensbergerlittleguru <3 Seattle
    Sven, should I watch the casts? I have watched the first one, and found it a little bit boring. Nothing against you Rory (I find you have a cool voice and you do the cast very relaxed) Smiley Are the next one better (= more in detail)? Thanks.
  • RoryRory Free Tibet While Supplies Last
    littleguru wrote:
    Sven, should I watch the casts? I have watched the first one, and found it a little bit boring. Nothing against you Rory (I find you have a cool voice and you do the cast very relaxed) Smiley Are the next one better (= more in detail)? Thanks.
    Like it says up in the description, "Future screencasts in this series will be deeper technical dives, but you gotta start somewhere, eh?" Later ones get more interesting, but make sure you read about what it is that you're getting - if, for example, you're not interested in RDA to sync data, then the RDA session won't be for you. I just wanted to make sure that everbody had the chance to start out on the same page.
  • Christian Liensbergerlittleguru <3 Seattle
    Rory wrote:
    Like it says up in the description, "Future screencasts in this series will be deeper technical dives, but you gotta start somewhere, eh?" Later ones get more interesting, but make sure you read about what it is that you're getting - if, for example, you're not interested in RDA to sync data, then the RDA session won't be for you. I just wanted to make sure that everbody had the chance to start out on the same page.


    Hi Rory, sure that is OK! Smiley I guess it is just me, who is always starting from the beginning, because I'm thinking to miss something...
  • Good videos, useful and interesting. If anybody ever has the oppourtunity to go to an MSDN event that headlines Rory, do it. He's one of the few people who can talk all day about some programming topic and make you feel like you learned something even though he managed to ramble on about random subjects most of the time.

    Sorry man, I didn't get in enough heckling at the last event. Nevermind, I'm not sorry.

    Oh, and...
    Rory wrote:
    ...I'm flying out to Connecticut next month to do some work with Carl...

    Make sure that you see if he has any pads Tongue Out
  • RoryRory Free Tibet While Supplies Last
    kettch wrote:
    Good videos, useful and interesting. If anybody ever has the oppourtunity to go to an MSDN event that headlines Rory, do it. He's one of the few people who can talk all day about some programming topic and make you feel like you learned something even though he managed to ramble on about random subjects most of the time.

    Sorry man, I didn't get in enough heckling at the last event. Nevermind, I'm not sorry.

    Oh, and...
    Rory wrote:...I'm flying out to Connecticut next month to do some work with Carl...

    Make sure that you see if he has any pads


    Hey - thanks, yo. And, my subjects aren't random - I choose *way* ahead of time to talk about my father, his transvestite ways, and how it all relates to code.

    It just seems random because I'm confused.
  • RoryRory Free Tibet While Supplies Last
    vistawillship wrote:
    Rory. What can I say? Your dev skills just blow us away. Amazing.

    I've shown several other people your screencasts. I hope the "Views" number reflects it!

    Carry on, oh wise faithful brother.  Know that at the end of your Redmond career road lies streets paved in gold, a legacy built on genius, and thank you for being a beacon of light in this otherwise depressing OSS infested software world.


    Thank you very much, mister - and I like this business of forcing other people to watch my screencasts.

    Please share your methods with everybody else so all can benefit.

    What do you do?

    Tie them down? Guns? Sodium-pentathol?

    Anyway, keep up the good work Smiley
  • jsampsonPCjsampsonPC SampsonBlog.​com Sampson​Videos.com
    Rory wrote:
    jsampsonPC wrote:Rory, do you take suggestions for future screencasts? All though I've been using .NET for a while now - I still consider myself an uber-newb.


    Absolutely - Windows Mobile is my favorite technology, but I'm happy to present on just about anything .NET related.

    What would you like a screencast on?


    How about some networking? Administrating a database remotely? I dunno Smiley Or perhaps something that deals with threads, and sockets - maybe a small chat application which works through a middle server, or even p2p - whichever is more exciting Smiley
  • RoryRory Free Tibet While Supplies Last
    jsampsonPC wrote:
    
    Rory wrote:
    jsampsonPC wrote: Rory, do you take suggestions for future screencasts? All though I've been using .NET for a while now - I still consider myself an uber-newb.


    Absolutely - Windows Mobile is my favorite technology, but I'm happy to present on just about anything .NET related.

    What would you like a screencast on?


    How about some networking? Administrating a database remotely? I dunno Or perhaps something that deals with threads, and sockets - maybe a small chat application which works through a middle server, or even p2p - whichever is more exciting


    OK - I've got an idea for you.

    I'm not going to tell it to you right now, but I do have an idea Smiley

    You'll like it. It's similar to something I was going to do anyway.

    Not sure when it'll be ready (I'm giving myself some breathing room after the somewhat intense week of screencasting I just had), but it'll be soonish.

    Actually ought to be a pretty fun one.

    Yeah. OK.

    I'm excited now...
  • Hey Rory

    Great Videos! Good stuff!  Thanks a lot!

    I checked out your blog - did you know there's a town named after you?  there's even a song about it!

    http://www.leighthomas.com/blytheville_d.html

    Enjoy!

    Russ


  • Hi Rory - POOM is little too concise, how would you create an HTML email, there seems to be no way to set the content type on an EmailMessage.

    Cheers
    Sean

Remove this comment

Remove this thread

close

Comments Closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums,
or Contact Us and let us know.