Tuesday, July 26, 2011

Investigation of VSM (Visual State Manager)

Hi all,

Recently at work I have been spending a lot of time investigating Visual State Manager (VSM). VSM is so powerful in what it can allow you to do and if you know how to use it, you can create a lot of cool WPF effects like those fancy animations in controls and stuff.

So what is VSM?

Simply put, its a state manager, and it has the ability to keep track of the object component state. Think of it as a state machine and your control has all these defined states like MouseOver or IsPressed etc.

VSM main core areas are:
Encapsulation of control state information into a visual representation
The concept of transactions or as I like to call them similar to State Machine methodology a transitions. In these transitions, you can define them in a predefined way, or the change from one state to another state.

Further it allows a control template designer to define the parts and the states of a control. Microsoft Blend for example in the XAML it writes makes significant use of the VSM of each control.

So I got all these states. How are these things organized?

Well each of the controls states are organized into mutually exclusive state groups. For example a button has the state groups of CommonStates and FocusStates.

In CommonStates, the button uses the states of Normal, MouseOver, Pressed and Disabled.
In FocusStates the button can either be Focused or Unfocused.

For further reference material about the state groups, look into the MSDN documentation as they provide really good definition of this.

VSM originally came from Silverlight and has now been heavily brought into WPF 4. The concept of defining the states transition behavior is what is new in WPF 4.

Going forward, it seems that if you want to design a control for both Silverlight, Windows Phone and WPF, one should really take a closer look at learning about the Visual State Manager.

In my next post, I will provide an example of how to do this (tried with Blogger but it tried to convert my XAML to HTML 5)

All the Best,
Jeff

Wednesday, July 13, 2011

MVVM Talk in Indianapolis (Thought I'd pass along to those who live in Indy)

Hi Guys,
Those that live in Indianapolis thought this be a great talk to go see.
FYI

* Group: IndyNDA: Indianapolis .NET Developers Association
* Subject: IndyNDA on Thursday, July 14: M-V-V-M for WPF

Implementing M-V-VM (Model-View-View Model) for WPF

Categories: Architecture/Patterns; Windows Presentation Foundation

Now you are writing WPF applications, and wondering – what is all this code in the code behind? Shouldn’t we be doing something different? Our cousins working with ASP.NET< http://ASP.NET > MVC don’t even have a code behind! The answer is YES – you should indeed be doing it differently. The M-V-VM pattern is the WPF adaptation of the Presentation Model pattern (first documented by Martin Fowler). I will show how the M-V-VM pattern is utilized for building SOLID WPF applications that are also testable.

About Phil Japiske
An international speaker, Microsoft MVP, and a passionate member of the developer community, Phil Japikse has been working with .Net since the first betas, developing software for over 20 years, and heavily involved in the agile community since 2005. Phil works as the Patterns and Practices Evangelist for Telerik (www.telerik.com< http://www.telerik.com/ >), serves as the Lead Director for the Cincinnati .Net User’s Group and the Cincinnati Software Architect Group, as well as founder and president of Agile Conferences, Inc., a non-profit dedicated to advancing agile in all aspects of software development. In his spare time, Phil works part-time as a Firefighter/Paramedic, serves as Cub Master for his son’s Cub Scout Pack, and volunteers for the National Ski Patrol. You can follow Phil on twitter viawww.twitter.com/skimedic< http://www.twitter.com/skimedic > and read his blog at www.skimedic.com/blog< http://www.skimedic.com/blog >

5:30 Registration
6:00 Industry insights
6:15 Phil Japikse on M-V-V-M
7:30 Prizes
7:40 SIGs

Location
MID
9800 Association Circle
(North of 96th Street using Bauer Drive)

Details at http:://IndyNDA.org

Saturday, July 9, 2011

This J-BYTE is for u.: Windows Phone 7 and WCF Services

Hi Guys,

Jeff Bytow posted this on his blog and thought I would pass it on on my blog.
Excellent resource. Thanks!
Jeff

This J-BYTE is for u.: Windows Phone 7 and WCF Services: "A great article on Windows Phone 7 and WCF Services can be found here:  Creating a Windows Phone 7 Application consuming data using a WCF..."

Great Project Management Article

Hi Guys,

I came across this excellent technical article about Project Management, and I'd like to share it with my readers for those who are also PMs. But for a developer I think this is important too because we all if we work for a company have to deal with them. At Motorola I work closely with PMs on a daily basis and they are crucial to ensuring the success of a project. And we as developers have to deliver on our priorities, and we use the SCRUM methodology along with TDD to plan and deliver on that.

So here is the article from Scott Burkman. Burkman is the author of The Art of Project Management and reflects about his role as Software Project manager at Microsoft.
http://msdn.microsoft.com/en-us/library/aa480154.

You can find it on Amazon at http://www.amazon.com/Project-Management-Theory-Practice-OReilly/dp/0596007868

If you know of any other great reads, pls go ahead and shoot me an e-mail and I'd like to take a look at them.

Thanks,
Jeff

Thursday, June 30, 2011

Developing Facebook with WPF (Fishbowl)

Hi Guys,

So I have started on my Windows Phone app to create a prototype of simple chat with Facebook.
Being new to REST services, I was looking online for a good C# article to describe how to connect to my favorite site in the world, Facebook.
Low and behold some folks at Microsoft created a nice sample app to learn from and I thought I would share this my fellow readers (basically pass the word on to other developers who are looking to do the same thing as well) :).

You can find this at http://fishbowl.codeplex.com/

Peace.

Thanks,
Jeff

Wednesday, June 29, 2011

Getting datagrid column header text to expand out

Hi Guys,

I thought I throw a WPF XAML hint out there.

So today I was cleaning up column headers at work and thought I let you guys know a simple way to get your headers to size to the width of your column header names.

So in the XAML its pretty simple as all you need to do is set in the Field Settings the Width property to Auto.

It is my intention every Tuesday of the week to place a new WPF tip on my blog.


Thanks,
Jeff

Tuesday, June 14, 2011

MVVM Talk Resources

Hi Guys,

Sorry for the delay in getting this posted as I have been super busy with work these past few days.

Attached you can find the PPT for the presentation I gave to the Software Developer Community about MVVM this past June 5.




Thanks,
Jeff

Monday, May 30, 2011

Talk on MVVM at the Upcoming Software Development Community

Hi Guys,

Since we had trouble finding a presenter for this upcoming week, I decided to take the initiative to talk to you guys about the MVVM pattern that exists for WPF.

I also found this cool site called Vokle that lets you create live events on the web. So I am going to try to host this event using Vokle.



Thanks,
Jeff

Tuesday, May 24, 2011

Awesome video on WPF Capabilities

Hi Guys,

I saw this post of some really cool possibilities that WPF offers to be able to do.
I definitely will be looking into how some of this stuff is done and will be glad to share it with you guys on my blog.

Take a look at here.

Thanks,
Jeff

Monday, May 23, 2011

Speaker needed for Software Development Community 5 June meeting

Hi all,

As assistant organizer of the Software Development Community, I am trying to find a speaker that would want to speak at our monthly Software Development Community meeting this 5 June 2011, or in future meetings.

If interested, ping me and let me know what you would want to present on.

For those not familiar with our group, you can learn more about us and join us at
http://www.meetup.com/SofDev/

Thanks,
Jeff

Tuesday, May 17, 2011

MVVM - why we need it

Hi All,

If you guys do WPF, you all have to love or loathe MVVM - Model View View Model design pattern.
Basically this pattern breaks from the MVC pattern or Model View Controller pattern.

What I really love about MVVM is the fact that it makes a great use of code use by allowing you to separate your biz logic from your GUI.

Josh Smith has an excellent book ou called Advanced MVVM. I just had opportunity to read through it and I must say it is hands down an excellent read. I have learned a few more tricks of the trade that I can use in my WPF projects.

Karl Shifflett has an excellent training plugin for VS to learn MVVM with. You can find that here For the newbies, I definately recommend it.

All the best,
Jeff

Monday, May 16, 2011

WPF ... oh so interesting

Hi Guys,

Its been a long time since I have posted to this blog, but I thought I better get back into the habit of giving back to the technical community so I thought I would dedicate this blog to .NET, WPF and Windows phone.

This past weekend I had attended Chicago Code camp and was quite impressed as usual about all the neat technologies that exist out there.
http://www.blogger.com/img/blank.gif
One thing I think I am going to begin using is Git. Git is a really cool SCM tool that you can use locally in conjunction with TFS or other SCM tool the big corp guys make you use.

Heres the link to the pres I learned at Code Camp: Pres Link

I plan on posting more on Git as well as time permits.

I have also started on a side project in Windows phone development and Monodroid.