XAML for live tiles
Allow developers to implement an interface(s) on a user control and "submit" that instead of just filling in a tile data structure. This will make tiles truly "live" and open up the live of WP7 to new applications. This is also completely secure because the runtime can analyze the class (and it's IL) being submitted. A bevy of restrictions can also be heaped on the said user control in order to maintain performance and not sap battery life. Let Live tiles be live, please.
Hi Ananth, we absolutely understand the desirability of this feature. However, our team must carefully balance the power and flexibility that we offer developers, with the consistency and performance of the most prominent screen on the device: Start.
We are currently exploring ways to host a light-weight XAML engine in a memory constrained way, but there are a number of technical limitations making this a non-trivial problem. Memory usage on 512 MB devices, resolving ValueConverters that live within an apps’ assembly, exposing storyboards/animations in a consistent/performant way, are just a few examples. We look forward to updating you once we’ve been able to draw a definitive answer!
Andrew Bares commented
Update: Adaptive Tile Templates have been added in Windows 10, partially addressing this issue. Adaptive is a lightweight XML way to define your tile notification's appearance. It isn't as powerful as XAML, and it isn't animated, but it's a step in the right direction.
Learn more about Adaptive here: http://blogs.msdn.com/b/tiles_and_toasts/archive/2015/06/30/adaptive-tile-templates-schema-and-documentation.aspx
Couldn't you default back to ordinary live tiles on memory or resource constrained systems?
Wow this would be so amazing!! Please do this!! Especially for Windows Desktop where resource constrains are much less of an issue...
Martin Anderson commented
If the designer/developer is able to generate XAML (in the background thread) and then the OS generates that XAML as an image or Animated PNG file before displaying that on the Tile.
I understand this would be difficult to implement, as it is not something that is currently part of the Tile or the XAML frameworks, that you could expose. But I believe it would go some way to producing an animated tile, made from a XAML storyboard, or a static but custom designed XAML experience - but does not require parsing with each Tile flip/cycle, results in a smaller inMemory footprint.
Of course, you could follow other routes. You could have a small XAML subset, and a constrained storyboard system, which only supports render efficient animations. Limits on the data-bindings and the control types supported. So TextBlocks, Images, and Paths only?
You don't need to be told how things may be done, as you are all smart people there in Redmond. I am just enjoying the excuse to excise some of my own thoughts on what I may want as a designer/developer myself.
Light-weight XAML would be fantastic! On other mobile-OS the Tile is activated only once it is visible, this could be a nice solution for a good performance :)
you can do this allready. Create a live tile with XAML, render it and use it as Background. There are a lot examples out there
I have many commented
Also allow local updating of faster than 30 minutes as per iOS and Android, they can update the badge numbers on the home screen icons in real time ala timer apps so Windows Phone should be able to do the same!
Needed. Currently, there are Live Tiles for 1st party apps (people, Xbox, etc.) but third party apps are just a template where we can provide data. This is pretty dump in my opinion. Even the counter for notifications on the tile for third party apps (small circle with a number) makes my app look amateurish because first party apps can use big fonts with animated numbers. On iOS and Android, third party apps have a similar look and feel as first party apps. Only in Windows Phone, Microsoft has decided to make third party app developers look bad.
Ananth Balasubramaniam commented
Alternate way: Let’s suppose the API allowed us to pass in the URI to a XAML file instead, one that wasn’t allowed to link to any assembly namespaces (so it couldn’t run custom code or require the OS to load in any other assemblies). The OS would load the XAML file from the given URI, verify that it didn’t require or link to any assemblies and set its content root into a “tile”, allowing the XAML to run any animation it needed. Any URI’s that referred to the application’s isolated storage would be redirected to access the appropriate location. Battery life concerns could be addressed by suspending ALL (and I mean ALL) live tile animations when battery saver is enabled. This would allow flexible, really live tiles that would be on par with OS live tiles.
System can do, App can do too.
Like 'People' tile animation, like SMS's number, like picture tile animation.
Alex F. commented
I think you confused WP7's live tiles with Android's widgets. No thanks.
Ananth Balasubramaniam commented
Such live tiles can also interact with background agents by being passed in to OnInvoke via ScheduledTask.