Background: So I’m currently working on a project that is going to use a WPF frontend, with a complete .NET backend. We’ve had some UI Design Specialists come into the project to do the UI.
The designers will be using Expression Blend to create the User Experience and hand over a bunch of XAML to the developers / integrators (me). We just had our first meeting. I showed up with my other integrator partner.
The designers started talking about what we needed to do.
They told us about how proficient they were in WPF, Expression and XAML.
Hell they even had some programming experience!
They even knew how to work with “Clear Objects”.
Yep, I heard right, “Clear Objects”.
Oh they must mean CLR Objects. They carried on and after a while they made mention of more Clear Objects.
“Oh, you mean C-L-R Objects right, the Common Language Runtime objects, not Clear Objects right?”
“Sure, those.” , and then they carried on some more. It didn’t take long before the Clear Objects came up again and again. Everytime they appeared I said “C-L-R Objects”,
Finally it happened again: Clear objects.
My reaction: ok, I’m going to have to stop you right here, there is no such thing as a “Clear Object”, it is a CLR object, we are working on a team of about 15 people and more than a couple don’t have English as their first language, you can’t start making up terminology. We have enough communication issues as it is. Everybody should be using the same vocabulary for the same concepts. If everybody in the world calls it a C-L-R object, you should to. Otherwise you’re an asshole. I didn’t throw that last part in.
Ok, after this there was no more talk of Clear Objects, the discussion continues.
Now they start talking about the layers they will be providing us.
?? Now I’m guessing it has something to do with… fuck I don’t know. What do you mean layers?
They start telling me all about Photoshop concepts and Photoshop layers and how Blend can do magical transformations by adjusting the size of layers…
In WPF there is no such thing as a layer. There are objects, there are containers, but there are no layers. Show me the layers!
They fire up a laptop and point out a layer:
Its a grid. If you look at the XAML, you will see something that looks like this:
<Button HorizontalAlignment=”Left” VerticalAlignment=”Top” Content=”Button”/>
<Rectangle HorizontalAlignment=”Left” VerticalAlignment=”Top” Width=”100″ Height=”100″ Fill=”#FFFFFFFF” Stroke=”#FF000000″/>
It is a <GRID/> object, not a <Layer/> object.
Then they point out something I had never noticed before: Holy shit! Hey MS, what is that doing there? WTF are you doing? Sure Blend caters to designers and developers but it is a WPF tool. It uses WPF objects. There is no Layer object in WPF, don’t tell anybody there is one, they might start telling people about it. Then it’ll be back to Clear Objects, and who knows what else.
So in closing:
Dear MS, you’re not helping, developers and designers need a common vocabulary. Please take that layer shit out of the menu. PS. I am not a crackpot.