Bitesized tidbits for building Modern (Metro) apps.
Whatever your reasons are for using WebView in a UWP app, whether it’s just to display some raw HTML or you need to actually show external web pages inline in your app, one thing is almost certain, you will not be able to await the web navigation. Yes, you can subscribe to the events for completed, failed, etc, but that then starts to all become a little messy, especially if you end up having to this in multiple places.
Ideally, it would be nice if you could just say to the WebView, “you go ahead and navigate, I’ll wait here.” So what can you do?
In Windows 10, we’ve seen apps that look to have different tile faces and they cycle between those tiles. It’s a really nice effect and can be a very powerful thing for your app to use, it allows you to present more data to the user without having to have your tile all cramped. A good example of this would be a weather app where you might want to allow the user to show the weather for different places. So, how do you go about creating a tile like this?
Yesterday Microsoft [finally] released the MS Health APIs they’d talked about at this year’s Build conference. These APIs are a way of accessing the data that’s been accrued from your Microsoft Band, so any bike rides, runs, sleep tracking, etc. These APIs are a set of REST endpoints that, once authenticated, you can call to access this data. So, naturally, I’ve decided to make this easier.
One of the new ways users can interact with your app is through notifications. Now, notifications are nothing new, for either Phone or Desktop, however, what’s been added to 10 is new. With Universal Windows Apps, you can now have interactive toast notifications. So what are these? They are like regular toast notifications only they can have elements that the user can interact with, maybe make a selection, or type in a response to something.
There’s an excellent blog post on MSDN that covers all the different types of interactions you can have within your app’s toasts, along with all the xml elements that are required in order to build your toast notification, but that does mean dealing with xml, and who likes that?!
One of the things you can add to a Desktop variant of a Universal Windows App is a back button that a developer can add to their app; this back button appears in the top left corner of the app. In order to use the back button, the developer needs to tell it to appear, as well as potentially wire up to the back button’s pressed event, but that’s not the Cimbalino way.
One of the things shown off at Build recently was this new thing for updating tiles, called Adaptive Tiles. The notion is, that like your Universal Windows Apps can adapt to different sizes on different platforms, so, too, should your tiles. So Adaptive tiles allows you, with one bit of XML tell your tile how to behave at different sizes. For more information, you should definitely watch the Build session on all this
The problem is, it means crafting the XML. And who likes XML?
Windows 8.1 and Windows Phone 8.1 both have this really great theme support that allows you to use ThemeResource as a xaml type, it means if the theme changes, anything using that will change its theme too. It’s actually very cool. What’s not cool though is you can only have two themes (Light/Dark). What if you want other themes? Yes, you can override both of those themes to show your own custom theme, but what if you want a third? A fourth? What then?
Well I’ve created a little helper that helps to alleviate that, and also means that you can swap themes on the fly without having to restart the app. Pretty cool, huh.
Over the weekend I was looking at some Rotten Tomatoes stuff for Media Browser 3, and I noticed they had an API for getting the movie information (including reviews and fresh ratings). It’s been a while since I last did a PCL and to avoid any withdrawal symptoms, I created a new project.
For those that don’t know, Rotten Tomatoes is a review aggregator for movies that gives a “freshness” rating based on the reviews that have been done about a given movie.
A while back I was working on a project that allowed me to actually look at, and use, the Live SDK in order to access information on SkyDrive. I was surprised to find just how hard it was to use the Live SDK, so as part of building the main project, I also built a little helper for using the Live SDK.
For a game I’ve been writing the last few weeks, I’ve been using an online scoring system in order to keep a track of people’s best scores whilst playing the game. What I’ve been using is Scoreoid, which is a cross platform scoring platform. It’s actually pretty easy to get yourself set up with Scoreoid, but that’s not the purpose of this post.
Their API is a REST based one and has a pretty expansive list of calls, from player creation, to score creation to leaderboards, etc. Initially, I looked to see whether anyone had already created any kind of helper library for Scoreoid and found Scoreoid for Windows 8 which I had to tweak in order to use it in my Windows Phone game. Unfortunately, the number of methods it had implemented was somewhat limited, I guess Rudy only implemented the ones he needed, so I found I was going to be adding a lot to his existing code base. In the end, I decided I’d write my own version and have the library how I wanted it (naming conventions etc).
So that’s what I did.