"Are you tired of recreating the same about dialog logic and content for each Windows Phone app every time? "Your Last About Dialog" is a robust and generic, highly configurable implementation you can easily pull into your own app and set up for your needs. It is able to pull most data from your application automatically, supports fetching both text and Xaml content from remote sources (with fallback local content), and allows easy localization of the complete dialog content to all of the languages supported by your app.
"Inspired by a blog post from Jeff Wilcox back in July (here), I started creating a generic about dialog for Windows Phone based on his initial ideas and design. Over time I improved the code more and more, created new features and avoided pitfalls, and eventually added localization support. At this point I think it's a pretty handy piece of code that is also interesting for others to use in their applications, and it has proven to be robust and reliable by multiple applications in the Marketplace that use it. Remembering my own "reinventing the wheel" issues with about and help screens, I hope that this addition will indeed be "your last about dialog", serving all your requirements. Included features:
- Extracts all information about your app automatically (name, version, description etc.).
- Allows overriding all information with alternate fixed values.
- Shows a configurable list of hyperlinks to your web site(s) or email addresses etc.
- Shows a button that lets the user rate your app in the Marketplace.
- Supports additional pages (pivot items) to be added, containing local or remote content.
- Freely configurable fallback content for remote sources that cannot be retrieved.
- Supports both text (with auto-formatting/highlighting) and XAML content.
- Can be localized for any culture you want to support.
- Only loaded when the user requests it – zero memory/performance impact otherwise.
Your Last About DialogCreating an about dialog, or something comparable, is mandatory for a Windows Phone app. In the technical certification requirements (5.6) you are required to include "easily discoverable" information about the application name, version and technical support contact options. On the other hand, statistics show that the about or help screen of an application is one of the least used features of apps (some claim something as low as only 3% of the users are accessing it). This results in the need for something that:
- Is only loaded when the user actually requests it, to avoid unnecessary bloating of the apps memory footprint and wasting performance
- Updates the information e.g. about the app version dynamically to minimize your efforts and to eliminate the risk of forgetting to do that manually
- Looks good but doesn't require too much time to implement, and can be reused easily for future projects.
- Allows you to easily extend the content with additional information or data you want to present for a particular app only.
YLAD is exactly that. It's easy to integrate into your own app, it pulls the required data from your application dynamically so you'll never forget to manually update it, it's loaded dynamically when the user requests it and still optimized to show first content as quickly as possible, and you can extend it easily with both local, static content as well as content that is fetched from a remote source and can be switched and changed dynamically even after publishing your app. In addition, the dialog supports localization. All this is achieved through configuration and doesn't require to write additional code. For more information, please scroll down.
Mister Goodcat (aka Peter Kuhn) has done it again, this time with a cool, "why, oh why, do we all have to create our own About's... well, we don't now!" solution. And best of all, he not only gives it out free, but has released the source too. Love that...
Mister Goodcat, thank you! :)
Related Past Post XRef:
PAARC (Phone as a Remote Control) - A library for WP7 & Desktop that lets the two easily connect... (Think "Writing a WP7 app that connects to and "controls" a Desktop app...