4 important things to have in your Windows Phone 7 app
Join the DZone community and get the full member experience.Join For Free
There are some things when it comes to Windows Phone 7 application development that are less common in the applications that are distributed in the Marketplace. I am somewhat surprised these aren't actively used even though the user experience could be enhanced so much in a few simple steps. Here is a list of top four features that aren't that popular but are very important to have.
A Windows Phone 7 device turns. And users like to be able to use a larger keyboard and more screen space - give them that possibility. It is a simple XAML attribute value change and some UI adjustments (to keep the visibility of some controls on rotation) but this simple change will make it easier for some users to use the on-screen keyboard. As a developer, don't be lazy and expect the user to only consume the content provided by the app in one view.
Microsoft provided a pretty straightforward way to use push notifications, that can be either presented as toasts (popping up on top of the screen) or tile (changing the pinned application icon). There are plenty of applications out there that can use this functionality (e.g. Twitter and Facebook) but for some reason it's not there. I can understand that there are some limitations as to how intensively push notifications can be used, but at the same time it is handy to be notified of new replies or DMs on Twitter. Hopefully the situation will change soon.
Custom SIP + InputScope
Along with the default Software Input Panel there are a bunch of custom ones that can be used for various situations. For example, if I want to enter a phone number, I don't need to use the entire alphanumeric set. All I need is a keypad with numbers only and Windows Phone 7 SDK gives developers a possibility to do this - with the TelephoneNumber InputScope. Also, if you are building an application that processes text input in some way, make sure you add some word suggestions via the same InputScope, especially if specific technical terminology or abbreviations are used (e.g. some IM acronyms).
In-app Error Reporting
Errors happen all the time, even in well-tested applications. It is the developer's responsibility to make sure that the number of possible crashes is reduced to a minimum. An important element in crash prevention is giving application users the possibility to report cases that led to a failed operation. Yet another thing I haven't seen to often in Windows Phone 7 applications that are publicly available is a crash reporting mechanism. One of the simplest and most efficient way to do this was implemented in Seesmic - whenever an exception is thrown, message details as well as the call stack are passed to EmailComposeTask - if the user wants to, he can send the report to the developer and chances are the same thing won't happen in the next release (update).
Overall, as I mentioned before - implementing these features is not hard given the available tools. It is that extra mile that a developer should go to ensure a better usability and future reliability.
Opinions expressed by DZone contributors are their own.