houstonaltnet

 

Dev for Mobile Devices 

Page history last edited by Jake Stevenson 8 mos ago

Mobile Development

There's a big market for mobile applications, and it's growing.  Iphone has made having a computer in your pocket fashionable. As more and more people are used to the idea of having their information on the run, there will be more of a demand for devlopment.

 

As .NET developers, Microsoft has given us some fantastic tools to leverage our existing knowledge for mobile development:

1.  VS.NET Pro comes with mobile development built in.  It includes project templates and emulators to let you test your code on a variety of form factors

2.  You can leverage your existing .NET knowledge, to the point that some of the exact same code can run on desktops AND mobile devices.  You can even use some assemblies across both platforms.

3.  For web development, the windows live team just released http://mdbf.codeplex.com/, which you can include in your ASP.NET site and use to programatically detect the browsing device's capabilities and handle appropriately.

 

There are several things too keep in mind when doing mobile dev:

1.  Memory Constraings-- Most of the devices have very limited memory and sharing the WM platform handles that limitation aggressively by shutting down applications if needed

2.  Battery Constraints-- Calculations require CPU cycles, and CPU cycles use energy from the battery.  You have to balance re-calculating values vs storing them in limited memory.

3.  "Spotty" Communication-- While many of these devices have "always on" data connections, they are not 100% reliable and your application may need to handle broken communications gracefully. Sync when the network is available, store when it isn't

4.  Limited Input/Output (Screen size, keyboard entry, etc)

 

The biggest hurdle for mobile developers is changing their focus from someone sitting at a PC with a large screen and keyboard to a small device with s limited screen and input.  Often, this involves considering how the user's needs will differ when accessing from a phone than from a desktop.  For example, a "meetup" site.  When at the desktop, I want information about the meeting, an agenda, and an address. But if the user is on a phone they are most likely lookinf for the directions to the location and a phone number to call.  Your UI should adapt to the different use case.

 

The .NET platform comes with good development tools, but a HUGE range of devices as potential targets (each with some differening hardware characteristics).  This is a challenge that developers for the iPhone, Android, and Palm Pre do not yet face.

 

Another limitation of the .NET platform for mobile development is the lack of modern, slick user interface components.  If you want a UI to have more than the standard buttons and textboxes, you may have to write your own.

 

Comments (0)

You don't have permission to comment on this page.