Mar 24

Everyone I know at Microsoft uses a Windows Mobile phone (well, except for 2 people…one is a guy that works in the Mac Unit and the other is Bill Gates who doesn’t use a cell phone). Microsoft employees are often the first customers of our product. To see just how passionate they can be, check out this video clip. It’s from an annual employee event called “TechReady”, which is attended by our field staff from all around the world.


This clip shows the popular “mobility smackdown” session hosted by Jason Langridge. It continues to be the most popular event at TechReady year after year.


The passion you see in this video translates into vocal and critical feedback throughout our internal testing cycles, also known as “dogfooding”.



Windows Mobility Smackdown at TechReady 6


-Mel

Mar 21

 


A few years ago when I was getting my Bachelor’s Degree I decided to learn how to write code for mobile devices (I had Compaq Ipaq at that time that was running Pocket PC 2003 version of the software). I downloaded eVC 4 and wrote my first little program for my device. It was an exciting time! As a student I did not have much disposable income, so it was nice to know that eVC was free.


If you have not heard about it, Microsoft just started a new program to allow students to get Free Professional level Development Tools. The program is called Microsoft Dreamspark. If you are are a student, you can go to https://downloads.channel8.msdn.com/ and download tools like Microsoft Visual Studio 2008 Professional Edition or Microsoft Expression Studio at no charge!


Enjoy!


Luis Cabrera

Mar 17

We’re really excited to announce that the new Windows Mobile Line of Business Solution Accelerator 2008 has been released to the web and can be found here http://www.microsoft.com/downloads/details.aspx?FamilyId=428E4C3D-64AD-4A3D-85D2-E711ABC87F04&displaylang=en at the Microsoft Downloads site.  Having the best mobile development platform and tools is more important now than it’s ever been before and that’s why we’ve delivered this new Accelerator to empower our developer community to do their best work on the Windows Mobile platform.  Highlights of the Accelerator are listed below:


 


The Microsoft® Windows Mobile Line of Business Solution Accelerator 2008


Delivering new innovations and development best practices to the Windows Mobile platform with Visual Studio 2008, the .NET Compact Framework 3.5, SQL Server Compact 3.5, a working Supply Chain application, over 5,000 lines of commented code plus over a hundred pages of helpful documentation.


 


Adapt your App :: Create a single binary that runs unchanged on Windows Mobile Standard or Pro, Portrait or Landscape, Rectangle or Square.  No more wasting time building separate executables to accommodate different screen sizes or input methods.


 


Sync Services for ADO.NET :: Synchronize your data between SQL Server 2008 and SQL Server Compact 3.5 using the new Sync Framework.  Keep all your occasionally-connected mobile workers on the same page.


 


Windows Communication Foundation (WCF) Store and Forward :: Reliably push messages to servers or other devices via Exchange Server 2007.  Programmatically notify peer devices that they have new orders waiting for them and need to sync.


 


MapPoint :: Guide delivery drivers to their customers via either the shortest or quickest route.  Integrated mapping means you’ll never get lost again.


 


LINQ :: Use the new Language Integrated Query to filter results from Generic Object Collections.  Query both your objects and XML using a familiar, SQL-like syntax to boost developer productivity.


 


Custom Controls :: Capture signatures and dazzle your end-users with 3D and Alpha-blended controls that alter their behavior depending on the platform they’re running on.


 


Managed Stored Procedures and Triggers :: The pluggable data layer allows you to say goodbye to compiling Dynamic SQL inside your code and fires events to react to INSERT, UPDATE, and DELETE operations.


 


Notifications and Online Help :: Formerly only supported on Pro, say hello to Popup Notifications and Online Help on Standard.  Popup Notifications, also known as “toast,” display an HTML message and then disappear after a pre-determined amount of time.  Using Online Help on every screen reduces your application training costs.


 


Language Switching and Localization :: Change Language/Regional Settings inside your app and watch text and Online Help speak a different language.  Don’t wait until your application is finished to realize that it needs to be world-ready.


 


Time to Market :: Stop reinventing the wheel and use this Accelerator as the foundation for your next Windows Mobile development effort.  If you don’t want to use the whole thing, pick and choose the components that are the best fit for your project.


 


Find out More :: The first Windows Mobile Line of Business Solution Accelerator has been downloaded tens of thousands of times and has served as the foundation for some of the largest and most important Windows Mobile projects in the world.  Visit http://msdn.microsoft.com/windowsmobile to accelerate your career as a Windows Mobile developer.


 

Mar 13

While you’re working:



  • Windows Mobile Library. This technical library contains resources that can help you deploy and operate Windows Mobile powered devices.

While you’re playing:



Enjoy!
-Mel

Mar 02

 


This video has been shown at internal Microsoft events a few times. It always draws a great response from the audience, followed by internal email aliases flooded for days with requests for a link or high bandwidth version. I finally found it on MSN Soapbox and YouTube (thanks to whoever posted it there). It shows a whole bunch of Microsoft consumer technologies working together in this average guy’s “digital lifestyle”. Most Microsoft products featured in this video, including Windows Mobile, Zune, XBOX 360, and Windows Media Center fall under the Entertainment & Devices (E&D) division, arguably the best division to work at within Microsoft (biased personal opinion). Come work here!


The soundtrack in this video is very catchy too, and I’ve seen just as many requests from people asking about the song and band. The song is called “Girl From Mars”, and it is covered by a band named Magneta Lane. I’m not sure but they might have done some private/promotional work for Microsoft because I can’t find the track associated with Magneta Lane anywhere else. The original song was released in 1995 by a band named Ash from their album named “1977″. Watch the original Ash version on YouTube or check out the Wikipedia entry if you like the song.


-Mel Sampat


(update) p.s. I don’t know where the green jacket is from. Banana Republic maybe?

Feb 29

Recom Research is running a wireless developer survey and offering participants a free copy of the findings, as well as discounts to the Wireless Developer Forum Conference in Cambridge on March 10-11 and a chance to win a wireless application development package.


 


I think we have the best, most talented developers of any mobile platform, and want to make sure your voice is heard!  You can participate by following this link:



 


http://www.recomdeveloper.com/uc/main/6b0d/?a=109&b=



 


Thanks!

Feb 23

A quick glance at the Windows Mobile Developer Center clues you in to the fact that we’ve done a complete overhaul of the site.  For years, our “bread and butter” has been delivering you content on Smart Device Development which most often included articles on building apps with the .NET Compact Framework and SQL Server CE/Mobile/Everywhere/Compact.  While we will still do that, we’re now making a concerted effort to expand the diversity of our content to cover an ever-growing mobile developer audience.


 


The biggest thing you notice when you come to the site is 4 big boxes.  Think of these as 4 concurrently running worker threads delivering more content on more topics than ever before. 


 


1.       From the “Applications for Smart Devices” box, you’ll see content that targets native, managed, and SQL Server Compact topics.  Don’t worry.  It won’t be 100% enterprise development 24/7 anymore.  We’ll tackle more and more consumer scenarios like Peter Foot did recently with his article on Mobile Facebook.  We’ll also go the other direction too and provide content on working with low-level APIs with C++.  And yes, we’ll even start talking about creating better device drivers.


2.       The “Mobile Web” box will unleash wave after wave of new content that covers the explosion that some are calling “Mobile 2.0.”  You’ll learn the nuts and bolts of building web sites designed for mobile devices as we talk about things like the new .MOBI standards, W3C Mobile Web best practices and the XHTML Mobile Profile.  Don’t forget AJAX on Internet Explorer Mobile.  Jim Wilson and Mel Sampat have blown everyone away with their coverage of AJAX on our favorite mobile platform.


3.       In the “Mobile Games” box we’ll resurrect a topic that we used to give a lot of coverage to several years ago.  Based on the way this segment of the market is taking off, teaching you how to build games for Windows Mobile devices could turn out to be just as important as the work we’ve done in teaching you how to build mobile apps for the enterprise.  We do in fact have a portable gaming runtime for all our devices called Direct3D Mobile that can be programmed via another portable runtime called the .NET Compact Framework.  We also have Direct Draw or you could just chill out and create a casual 2D game with simple Sprites using NETCF and maybe a little GDI+.


4.       The “Rich Internet Applications” box is a bit of a mystery and looks to be pretty vacant place at the moment.  Don’t think of it like you would an “Under Construction” web site.  Think of it as the big tease that it is.  Who knows for sure what’s to come in the RIA space for Windows Mobile devices?


 


Now that I’ve covered the 4 big boxes, take a look at the “Getting Started with Windows Mobile” section on the top-right hand side of the page.  This place is a tour de force of readiness to get you going with Windows Mobile development.  Labs, Webcasts, Videos, Solution Accelerators, Wiki’s, SDK’s, runtimes, and Power Toys oh my!


 


Stay on the right side of the page and drop one section down to give props to our Device Application Developer MVPs.  We all owe so much to these great folks!  They single-handedly created the Windows Mobile developer community back at the beginning of this decade by answering questions in the NETCF newsgroup, writing books, speaking at conferences (with the highest scores) and creating amazing organizations like OpenNETCF.org.  They also identify a disproportionally greater number of bugs in our beta software than any other individual or group.


 


If you move back beneath the main boxes on the page, you’ll see a section on the left that completely displays the content of the latest Windows Mobile Team Blog.  The section on the right displays the latest blog posts from Jim Wilson, Loke Uei, Me, Visual Studio for Devices, the NETCF team, the SQL Server Compact team, Steve Lasker, Jason Langridge, Mel Sampat, Constanze Roman, and Frank Prengel.  The real-time information delivered by these blogs will keep you abreast of the latest developments in the Windows Mobile community.


 


Last but not least is a section at the bottom that lists all the Forums that help make up the Windows Mobile ecosystem.  Get answers to some of your toughest questions from Microsoft employees and the community at large whether you’re building apps with C++, C#, VB, and/or SQL Server Compact.


 


As a Mobile Developer, Architect, Marketer, Planner and former Embedded MVP, it’s been my vision to create a one-stop resource for all my Windows Mobile needs.  I believe this new Windows Mobile Developer Center is a big step in that direction.  The multiple, concurrent streams of content that follows the launch of this new site will represent the proof in the pudding.  It’s been my great pleasure to deliver fresh content on a monthly basis to the Windows Mobile developer community.  As always, I look forward to your feedback so that I can better equip you with the information you need to get your job done.


 


Best Regards,


Rob Tiffany

Feb 17

Zune logo       Windows Mobile logo 


What are some ways the Zune player and a Windows Mobile device can work better together? I’m not referring to an imaginary ”Zune phone”, and I’m certainly not hinting or speculating about a converged device.


Instead, I’m wondering if there are any opportunities for us to improve the experience for people who use both devices (a Zune and a Windows Mobile phone). For example, viewing your Zune Social network in IEMobile, converting a Zune playlist into .WMA ringtones, converting Zune’s artwork to Windows Mobile themes, showing your Windows Mobile contacts as pictures in Zune etc.


If you can think of similar interesting or compelling scenarios, we’d love to hear them.


Thanks,


-Mel

Jan 16

When I was in college and heard about some of Microsoft positions (PMs, SDETs, SDEs) I thought immediately that I liked writing code and solving problems, so I wanted to be a Software Development Engineer (SDE). But what do SDEs do?


What does the D in SDE stand for?


 


D is for Development


Ok, let’s get it out of the way. Yes, the one task an SDE does that no one else does is “they write product code”.  An SDEs main task is to write code that is secure, maintainable, readable  and that does what it is supposed to do. The program written should also have good performance and also be “world ready”. An SDE without good coding skills is like a carpenter without tools.


 


D is for Design


Contrary to popular opinion, a developer does not spend every day of his/her life coding in a closed room (Although some SDEs would actually enjoy that). An extremely important part of the developers life actually happens in front of a whiteboard, where he/she is drawing boxes and arrows. In my opinion, this is probably the most enjoyable task, and one that should be given enough time. Having a good design makes all the difference when the time comes to actually write the code.


 


The design phase is the spiritual creation of the code. The code has not been written, but with a good design – writing the code should be pretty straight forward. And if you are designing an API, you should pay particular attention at your customer. How does your customer like to write code?


 


D is also for Debugging


In my experience, I spent about a fourth of my time, looking for bugs and eliminating them. In the end, that’s what SDETs get paid for, to find bugs in my code. Fixing those bugs increases the quality of our products. When debugging, I should be able to fix bugs that other people wrote. I might have inherited some code, or need to help someone else with their bug count. That’s OK – it just means that an SDE should also learn to read code and understand it.


 


D is for Discussion and Communication


When I was in college I took an English class that was necessary for all engineers to graduate. I remember someone saying something like this to me: “I don’t see why we need to take this class. All I want to do is write some code”. If my friend is reading this blog post, he will know by now the importance of both verbal and written communication. The development of large software projects is an art of communication. That’s one of the reasons, you can’t just add more and more developers to a project to complete it faster. As the number of developers increases, the need for communication and the time that communication takes increases as well.


 


There are many ways of discussion and communication mechanisms. Probably the most common in my personal life is e-mail and face-to-face communication. There are other methods of communication that are very valuable as well. During the past year, we have used an internal wiki to share information in our group. That has been tremendously helpful.


 


Before I move on to the next “D”, I just want to point out that our friends the PMs (Program Managers) are communication masters. A good PM is like the oil that keeps a machine running smoothly. I hope my PM friends like the comparison J.


 


D is for Documentation


If I die today, who will take care of my code? Who will finish the piece of art I have been dreaming about during the last 6 o 10 months? That is the question I ask myself to force myself to document my ideas and my code. Software is very dynamic, and the actual person writing a piece of code can change just as easily. Even if there are no changes in the ownership of code, your piece of software is surely interacting with many components that you did not write. Good documentation can make all the difference.


 


So a good developer makes sure the ideas are not only in his/her head, but written down in paper – well maybe not paper, but a file somewhere. Make sure that file is easily found.


 


F is for Fun


Ok, F != D. But Fun in Spanish is “Diversion”. Anyway, as you do your job, remember to have fun and enjoy what you do. Do something that will serve many and you will see your efforts will bring you much happiness.


 


-Luis E. Cabrera 


*This is my personal take on development. I am sure others might have different experiences — but they probably are all having fun anyway.

Dec 29

I’ve seen people internally and externally ask for help copying files out of \Windows on the device, usually EXEs and DLL files. I’m not sure what their end goal - sometimes it’s to try those binaries on a different device but there are probably other reasons too. In general, it’s pretty hard to do this and the obvious methods won’t work.

There are two main sections of the internal ROM of a device, called FILES and MODULES. You can copy anything you want out of the FILES section. All of the data files like graphics and other multimedia go in the FILES section. Some program binaries will also end up in the FILES section, depending on where Microsoft and the OEM choose to put them. You can tell a file in the MODULES section because it will have the FILE_ATTRIBUTE_ROMMODULE attribute as well as FILE_ATTRIBUTE_INROM. Files in the FILES section will only have FILE_ATTRIBUTE_INROM. If you’re looking at the files in a file explorer that shows attributes in hex, FILE_ATTRIBUTE_ROMMODULE|FILE_ATTRIBUTE_INROM shows up as 0×2040.

The programs in the MODULES section of ROM are specially processed before getting put into ROM. Most of the headers are removed and the addresses are fixed up so that the programs can run without having to be loaded into RAM first. This saves RAM and performance later on. What this means to you is that even if you could get the bytes out of ROM, you wouldn’t be able to use them. The binary has been stripped down and customized for that particular device.

There are unsupported tools externally available that are able to copy the modules out of ROM and then try to reconstruct the original file. If you still need to extract those bytes, you can probably find one of those tools.

 

Scott