My Introduction to Qyoto

In a recent project I have been working on, I have been exploring the cross platform framework using Qt and C++. Qt is a really interested framework for doing cross platform development in C++ on Windows, Mac and Linux.

Specifically I am a C# programmer at heart and wanted to find a project that supported doing both Qt and C#. To my surprise I found a project on Github that provided a C# language binding to the Qt framework.

Qt is really great for developing apps for cross platform and has recently had a port to Android. I also had found a plethora of web resources to help the C# developer get started with Qt.

In my future blog posts, I will talk more about this.

 

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

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 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), 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 and read his blog at 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

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

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