Sounds very interesting. Well, Erik and I wanted to find out more about Bling (Is it a library or a DSL? Is WPF programming really that hard? How is Bling designed and what makes it a simplified abstraction over a full featured platform technology like WPF?). It just so happened that Bling creator and software developer Sean McDirmid was in town recently (he works at Microsof's Advanced Technology Center located in Beijing, China). Tune in to see how the latest E2E unfolded (you must realize by now that we never really plan anything and E2Es just happen as you see them - it's just part of the game we play). Bling is an interesting idea with potential. Simplifying complexity is an important goal. Enjoy.
cool but im a little confused.. how does this relate to xaml? the argument is that setting up a binding is so verbose [and i agree with that for custom expressions, althoguh thats partially migitated by using a viewmodel] but setting up bindigs in xaml is not verbose, or atleast far less so than setting up a wpf binding in c#.. isnt that the whole point of xaml? to take the writing of ui in c# and make it less verbose?
now we're writing ui in c# again? seems like a step back :/ for me it would make more sene if you used expressions in you xaml bindings: <Label Content={Binding Path=Name+Age}> or something. im not a wpf guru by any means but wouldnt it be possible to achive this by having a markup extension and perhaps pass it a string that represent the expression you wan tto bind to and then genereate a expression/function from that? maybe thats how bling works already [not done watching yet]
--edit--
the pixelshader stuff is really cool.. too bad we didnt get to see much of it though translating c# into hlsl would have really interesing possebilities for GPGPU applications from .net.. hoping for some some announcement in that space soon... ..and natal videos
good stuff
It would be good to see a piece where Sean's obvious enthusiam was encouraged to come across without being squashed at every turn by Eric wanting to show off. Check the last frame. If looks could kill, Eric would be a dead man.
Erik wasn't showing off. This is Expert to Expert. Experts often encourage fellow experts to did deeper, explain their reasoning at every turn. I did not sense any bullying or grandstanding. Sorry you perceived that.I'll pass this along to Erik (well, he's probably already read this....). What about the content? Do you think Bling is useful? Does it really solve the poblems it's attempting to address?
C
XAML isn't functional (meaning you can't handle events, compose algorithms, etc in XAML. It's design layout mark-up with support for data bindfing UI elements). Bling is for programming interactive experience, not just layout and databinding (which is somewhat more complicated than it needs to be today, generally). Have you played with Bling yet? What do you think? Also, Bling is really a prototyping tool and useful for those who don't understand the intracacies of WPF.
Bling looks great, I'm certainly going to play with it. I think that Erik was trying to get information from Sean on what the pain points in C# are and how MS can improve C#/VB to make even more impressive libraries/DSLs possible. I agree that it would be great to have a video with more in-depth explanations about the different parts of Bling.
BTW is there a Scala version of Bling?
yes i know that allthough you could argue that xaml does do composition quite well.. It is the back bone of wpf. you typicly do all your databinding and event wireups in xaml, not c#. hence my question, how does bling relate to xaml. sean doesnt even mention xaml and all the databinding is done in c#. im just asking why that is.
my point is that the argument that databinding is verbose and hard in xaml isnt fair, what is fair however is that databinding to a reactive expression is verbose and hard. but thats not the same thing even so, xaml is the way we write wpf ui and code behinds are something you typically want to avoid for testing purposes (in favor of a viewmodel for example). Also, a canvas that stacks its children using a reactive expression is more opaque than a stackpanel tag in xaml imo [yes i know thats just an example, but it still]
as for your question, no i havent tried bling yet. i was hoping to get a quick awnser first, if xaml is not supported i fear it will be of limited use to me :/ also, time is not something i have in excess
not to forget [Data]Triggers, they do express application logic as well
*Disclaimer - I haven't watched the whole video yet.
To be honest, I got annoyed in the first few minutes when Sean was getting interrupted and not able to finish his thoughts. I understand the idea of experts having a back-and-forth, but it can be frustrating at an observer when no one actually finishes fully articulating their point because someone is jumping in with the next question or thinking they are helping to clarify. That being said...
I think Bling is very interesting, but I'm really struggling with the target audience. To me, I don't see this as a prototyping tool that's going to make me any more efficient. But maybe I'm not doing prototyping at the same advanced level. I'm a developer who is crossing over into design. I see tools like Blend and Sketchflow as the future of my prototyping universe. Even when I'm writing the actual UI, i want to spend as much time in visual tools like Blend as humanly possible. I do not find binding to be a very painful experience right now (at least not to the extent this video implies). So when I find myself immediately disagreeing with some of the base assumptions, it's hard to stick with the concept.
However, it sounds like there is some really cool stuff in here. I like the idea of easy constraints, for instance. I'd like to do more with physics in my applications (although, again, this is an area where the demo of physics behaviors in Blend 3 was a lot more exciting for me), and I have definitely found that doing anything beyond the simplist geometry calculations in WPF is currently way harder than it should be. So maybe there is value here for me, I just need to know how it could fit into my workflow.
Value transitions are something that I currently really struggle with, and I'm wondering if Bling might address it. I see that it makes an effort to make creating bindings easier, but my current gripe with bindings isn't creating them in the first place, but dealing with what VISUALLY happens when the value changes. Especially when developing NUI applications, you want everything to transition smoothly. A value should almost never just update, it usually needs to animate to it's next value. Making this happen is completely manual and often requires short circuting the traditional binding methods. Could Bling be setup to, for instance, make a slider animate to the new value whenever it changes? Or could you tell a list box to always apply a given animation to an item about to be removed? I constantly deal with needing to add items to lists and then deal with the container in some way after it's been generated, or stop my code-behind from removing an item from a bound itemsource until I've had a chance to run a 'closing' animation. To me, these are the real pain points with the current binding system.
Thanks for your feedback!
Bling seems to be one attempt to make it easier to code against some powerful and liberating stuff that would otherwise be written off as 'too hard' by the majority ... and that can only be good for the future of UI.
I heard Sean trying manfully to get that across, and Erik (sorry about the earlier mis-spelling) missing it completely in favour of some DSL vs API whimsey.
The fact that *I* competely missed the 'Expert to Expert' format I can only put down to being a victim of my new medication