Promotions for Windows Phone developers:
You can contact me at greg@gregstoll.com and I also tweet at @gregstoll.
Since I was fortunate enough to have Know Your States featured by a few sites, I thought I'd share what my download numbers looked like. Here you go:
Read the rest of the post...
Make desktop versions of your apps and IAPs need to be more than just removing ads
Read the rest of the post...
I released FlySmarter on May 13 (26 days ago), and I thought it would be a good time to report on how it's doing and some lessons I've learned.
So - how's it doing? The short answer: good and not good.
Read the rest of the post...
TL;DR - if you're manually manipulating the BackStack and using NavigationHelper, see the bottom of this post to avoid a bug. Also, download FlySmarter!
I fixed an interesting bug in FlySmarter after a user complained that the first-run tutorial kept showing up after it had been run once. Here's some background:
Read the rest of the post...
I attended Microsoft's //build/ conference a few weeks ago, and there was a lot of interesting news for Windows/Windows Phone developers. Here's what you need to know!
Read the rest of the post...
I've been working on a flight-tracking app for Windows/Windows Phone for a bit now, and one of the features I really want to add is push notifications for flight status updates. I've been using Azure Mobile Services which has been mostly great, but I had a little trouble putting the pieces together.
Read the rest of the post...
I was working on a Universal app the other day and was quite put out to discover that the WrapPanel isn't supported in Universal apps. A WrapPanel is great for laying out things in a vertical or horizontal orientation until you reach the edge of the container and then moving on to the next column or row. Then I remembered I had written my own version for an earlier project - it's not really that difficult, and it's a neat learning experience, so I'd recommend giving it a shot!
Read the rest of the post...
This was my talk at Austin .NET Code Camp 2014.
Free apps are wildly more popular than paid apps, but some people (myself included) get annoyed at ads in apps. To get the best of both worlds, you can include ads in your free app but let people in-app purchase a way to turn them off. Here's how to do this in a Universal app (see how to do this in WP 8.0), and for an example, check out the Universal app Float to Hex!
Read the rest of the post...
Raymond Chen of The Old New Thing has a great post about paying your "taxes" as a Win32 developer, meaning you have to worry about features of the OS that your app may not be directly calling, but your users might be using. (examples are roaming user profiles, Fast User Switching, Hierarchical Storage Management, etc.) Here are more of his articles about "taxes".
So: what are the "taxes" in Universal app development for Windows/Windows Phone? Here's the list I came up with, and you can use this as a checklist before releasing a new app. Before you get discouraged at the length of the list, a lot of these are fairly easy to do!
Read the rest of the post...
It's tough to start with a blank app - I always want an About page and some other things. Since Universal apps are all the rage for Windows and Windows Phone, I made a universal app template to help get you started!
This template provides:
- About pages that are shared between Windows and Windows Phone, including links to other apps, to contact the author, to review the app, etc.
- Settings that are persisted and the user can set (in an about page)
- A first-run tutorial
Read the rest of the post...
For Windows Phone developers, Microsoft's //build/ conference was a very exciting place! Here's some information for you about developer-specific stuff (Cortana, etc. you can read about plenty of other places...which is not to say Cortana doesn't have some cool stuff for developers!)
Read the rest of the post...
My Marriage Map app has gotten some bad reviews complaining about missing features that were actually present in the app. So, I decided to make a quick tutorial that would point out how to use the app the first time the user ran it. I did a quick search for some sample code but couldn't find any, so I rolled my own. (download the latest version of the app to try it out!) It features:
Read the rest of the post...
When I started to work on Baseball Odds I knew I was going to have to worry about performance - the data set I have for the win probability has right around 15000 records. So I thought it would be neat to compare different file formats and how long it took to read their data in. Each record had the inning number (with top or bottom), how many outs, what runners are on base, the score difference, and the number of situations and the number of times the current team won. Here's a brief description of each format and some sample code:
Read the rest of the post...
Motivational Penguin was my first app that had any lock screen functionality, so I thought I'd write up a few tips I learned along the way.
Read the rest of the post...
I'm running into trouble with a scheduled task in an app I'm working on. I was going to write a post about how to debug a scheduled task, and then I realized I had already written one! Here's info on how to effectively debug a scheduled task. In my case, the ScheduledTaskLogger is going to come in very handy!
Read the rest of the post...
Free apps are wildly more popular than paid apps, but some people (myself included) get annoyed at ads in apps. To get the best of both worlds, you can include ads in your free app but let people in-app purchase a way to turn them off. I've done this in two apps now (HospitalPrices, and one coming soon...), and here's how to do it!
Read the rest of the post...
This isn't too tricky, but for some reason I always mess it up. If you have images that you ship with your app and want to display them in XAML, here's how to do it.
The images in your app can be set in Visual Studio to Content or Resource. Generally you'll want to use Content (for performance), but I'll cover both.
Read the rest of the post...
I just released HospitalPrices for Windows Phone. One of the more interesting parts was figuring out how to put 3000+ markers on a Map control. My first attempt was putting all the markers on the Map, but that ran out of memory. After some more tinkering, here's what I ended up with. It runs pretty smoothly on my Lumia 920 - if it needed to run faster I could have implemented a quad tree to search for markers instead of checking all 3000+ of them every time.
Want to make your own app/website? Check out the SQLite database with all the data!
Read the rest of the post...
Well, I got so excited at the hospital prices data released by the government that I wanted to make it easier for people (myself included!) to write apps with it. So: here's the data in an SQLite database which includes geocoding data and some basic calculations.
Read the rest of the post...
Some of my articles about Windows Phone development have been focused implementing things that every app needs, like settings that are easily set in a UI. A similar article that I haven't gotten around to is writing a proper About page. I figured instead of writing an article I'd make a Visual Studio template with an About page, so when you're creating a new app you can use it and get it easily. So...here you go!
Read the rest of the post...
This post is adapted from a presentation I gave at the University of Texas IEEE Computer Society on March 6, 2013
Storing data on a device is one of those things that is different on every platform, but it's crucial to most apps. (especially if you want to make them work offline) Windows Phone has a lot of good options for storing data - let's look at four of them:
Read the rest of the post...
When I was working on FlightPredictor and was working on showing airport maps, I was surprised there was no builtin "pinch and zoom image control" in the Windows Phone SDK. (to be fair, there wasn't one in Android either, and I'm not sure about iOS) So I had to implement my own, with some help from the Internet.
If I were doing this today, I'd just use the PanAndZoom control from Telerik's RadControls for Windows Phone. (which comes with the Nokia Premium Developer Program! Just sayin') But I did go through the trouble to implement it, so hopefully it will help someone out.
Read the rest of the post...
Unfortunately, bugs are a fact of life, and your app will probably crash occasionally in the wild. But, there are a few nifty tools to help you debug them after the fact.
I wrote about Little Watson a while ago, and while it's helpful, it does require the user to send in a report. Microsoft provides data in the Windows Phone Dev Center that doesn't require the user to do anything - here's how to use it!
Read the rest of the post...
After my last post about adding a settings page to your app, I thought I'd follow it up by adding an enum-like type to the page. Enums and booleans are (at least in my apps!) the most common types of settings, and enums are slightly trickier than the Boolean settings we saw last time.
Read the rest of the post...
As I mentioned in my post about icon design, I'm terrible at art, and I'm also not very good at making apps attractive.
But I do know that a splash of color helps, and since Windows Phone has user-selectable themes, you can use the theme accent color and make the app look "at home" on the phone, since the Start screen will have the theme accent color all over the place.
Read the rest of the post...
I like including a lot of settings in my apps - it gives the user a lot of control about how the app looks/behaves. But it's a little tedious to add the code to save them to Isolated Storage, notify when they've changed, and allowing the user to change them on a settings page. After just doing this for a new release of PhotoNotes, I thought I'd write a step-by-step guide to adding settings to an app.
Read the rest of the post...
Since my last post talked about making a Live Tile update, which is needed for the DVLUP challenges, I thought I'd talk about a different requirement - Fast App Switching. The key to implementing Fast App Switching is understanding the lifecycle of an app. The MSDN page on App activation and deactivation for Windows Phone is an excellent guide, and I refer to it often. The table at the bottom of the page is a quick guide to what you need to do to support app suspend/resume, including Fast App Switching.
Read the rest of the post...
Windows Phone Live Tiles are great, but setting up push notifications is a lot of work, and even running a background agent comes with limitations. There are two easier ways to update your live tile:
Read the rest of the post...
I'm terrible at art, so when I'm developing an app I've learned to dread when it comes time to design an icon. Fortunately, I've done it enough times that I've got a decent process down. Hopefully this will help you get at least halfway-decent icons for your Windows Phone app!
Read the rest of the post...