Here are some of the common business features and technical requirements/constraints for both consumer-facing apps and corporate internal apps that could show up in the product backlog:
- Responsive UX Design (screen size, orientation, device features, etc.) – for this you will need to identify a limited set of target device configurations for acceptance
- Required corporate branding/corporate style guides
- Choosing between a native app style UI that is device specific vs. a common style cross-platform UI
- Stringent speed/performance targets for initial app loading, screen navigation, response to user actions
- Connected vs. Disconnected Operations requirements – you need to clearly define what features work when there is no connection
- Data security and Personally Identifiable Information (PII) protection
- Support for multiple OS and multiple versions of an OS
- Support for multiple types of mobile browsers
- Integration with companion apps on the device
- Cloud/web service integration to access corporate systems of record
- App Store submission requirements (i.e. Google Play, Apple App Store and the Windows Store). Each store has its own unique sets of UX requirements, minimum performance, storage management, legal/copyright, privacy notification requirements, content age appropriateness designation, etc.
- App version management
- Code-sharing across device and OS platforms
- Graceful degradation of the app functions in case of failures
- Process improvement support, especially for corporate vs. consumer apps that are targeted for mobile workers
- Security and device management for corporate apps
The items in the list above may all need to be considered when you first start working with the product owner to both build the product backlog for the mobile app and help define the overall scope and timeline for the project. For consumer apps deployed through app stores in particular, the timeline for publishing to the stores — and factoring in the review and acceptance process — needs to be considered up front. Read More…
While the Windows.Storage.Compression namespace does provide an interface for compressing individual files, there is no native support for creating a multi-file archive. In order to implement this feature I chose to use the third-party JSZip library, which is a light wrapper around the zLib library. Read More…
- Your code is easier to understand, maintain and troubleshoot.
- You are much more productive when you leverage the frameworks’ (WPF, Silverlight, XAML, WinRT) built-in features like Data Binding, Resource Dictionaries, Dependency Properties, Routed Events, Commands, etc.
- You can test your app’s behavior “under-the-skin,” avoiding the pitfalls and cost of testing at the UI level.
- Your ViewModels afford testability. You can have unit test coverage allowing “Test-Driven-Development” and “Automated Regressions.”
- Decoupling the View from the ViewModel in the way enabled by MVVM allows designers and developers to work productively in harmony.
First, read through Microsoft’s lengthy guidelines for Windows 8 Apps. Make sure you familiarize yourself with the terminology Microsoft uses for the Windows 8 system like hub pages, live tiles and badges. Don’t worry about memorizing everything in the document, just keep it handy and refer to it when you come to that section.
However, it is important to understand that these are still two distinct platforms and still do not have 100% convergence with binary compatibility. Maximizing reuse across these platforms is key to an efficient development experience.
For last several years I have focused on the web technologies, starting with server-side technologies but lately client-side single-page style apps. So the h5c3js model is more suitable based my skillset. (Additionally, my knowledge of XAML is limited to WF serialization format.)
This model, which allows HTML-based native Windows 8 apps, is innovative in my opinion and I applaud the folks responsible for the language projection in Windows RT.
Congress may be lame duck but our new voting app is not!
Netizen is a Windows 8 app (available in the Windows Store for free) that brings the voting record of your congressional representative to your finger tips, directly from your Windows 8 device. Simply select the member of Congress you want to follow and “flick through” their voting record. Information about each member’s voting record is stored in Windows Azure Storage and is updated daily.
But don’t just follow how your representative is voting in Congress, make your voice heard. By clicking on the “Like It” button on the mobile application, you can influence your friends and neighbors about the bill through the power of social networking. For each bill, Netizen automatically provisions a Facebook page dedicated to your member of Congress. This page acts almost as a virtual ballot for a bill as well as a community hub where fellow constituents can gather to express their support. Read on for more, plus some screenshots from the application: