Riapalooza and Twin Cities Code Camp content

May 8, 2009 19:38 by Corey

So I am breaking blog silence today, its been a while since I have posted anything, I have been knee deep in lots of different efforts and I made multiple promises of getting my content out to everyone. So I will start with my content from Riapalooza as well as the same content for Twin Cities Code Camp, the turn out to both was awesome and the response from everyone was even better. I am glad this talk seems to be taken in by both developers and designers alike and I was honored to have been abled to bring it to a code camp even without its direct nature to real "code". Anyways as promised here is the slide deck:

BetterApps.pptx (4.31 mb) (uses Microsoft Power Point 2007 and you can use Power Point Viewer which is free)

Some Links I used in my talk:

  1. Awesome Persona Resource Collection: http://deyalexander.com/resources/uxd/personas.html 
  2. Quince, Infragistics UX Pattern browser: http://quince.infragistics.com

For those of you waiting/looking for "Mix It Up" tour bits from that talk, I will be prepping that content to share Tuesday following my Fort Wayne presentation (May 12th).


Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Fantastic, Friday Fun with "My Brute"

April 10, 2009 09:12 by Corey

So I was introduced to the latest internet craze, it would seem across the internets is the spread of a crazy game called "My Brute". Its ultimately about building a community and I havent exactly figured out what the trick is to the game. I know, I know, I may be missing the point somewheres. Its very much a social networking triangle, and if you want to check it out I of course encourage you to go here: http://xamlmammal.mybrute.com and just very quickly create a guy and fight.

Its funny, I wont lie to you, the game is geared around spamming the world with your own personal link and getting as many people to create guys with your link. I ask you to check it out because I want to see where the game goes in the short term. OK OK I really want to beat up my co-workers but is there anything wrong with that?

The game and interface itself seems somewhat simple, you do nothing but manage the fight system itself and watch. And like twitter, it makes no sense to you sit down and watch yourself get sucked in. Happy Friday.


Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: General
Actions: E-mail | Permalink | Comments (4) | Comment RSSRSS comment feed

SilverlightShow announces "Shared Experience" Initiative

April 8, 2009 12:57 by Corey

SilverlightShow.net, an online community for providing a plethora of information, tools, and tutorials regarding Microsoft Silverlight, has announced a new initiative around "shared experience". Think of it as a program for those of us who have real world experience in implementing real business solutions with Silverlight as an outlet to share those experiences with you. If your interested in how silverlight could be leveraged with your company or considering using it with your business solutions this is a great place to see how others are using Silverlight and learn their experiences with it.

 If you are someone who has integrated Silverlight in your environment and want to participate in this program, check out this page for more details.

The first person to participate in this cool program is David Kelley from Identity Mine and you can read his white paper here. If you have heard me talk on Silverlight, you probably heard me mention SilverlightShow.net, its a great website trying to build an international community around Silverlight, so I encourage you to check them out.

 


Currently rated 5.0 by 2 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

What happens at Mix, gets exposed to everyone

March 23, 2009 17:21 by Corey

Day 1

Day 1 of mix was awesome, it started off with the retrieval of a goody bag from registration that had an impressive amount of free stuff... A really cool notebook, a KEXP cd which housed alot of local bands from Seattle, all of which I had never heard of but the music wasn't bad at all. The sharepoint and IE8 cups were nice, 4GB USB drive, a copy of WIndows Server 2008 Web Edition, and my personal favorite a copy of Bill Buxton's book. Definately way better than last year's free stuff, which was so awesome I dont remember any of it. My only complaint was the bag's seem to get worse year after year. Luckily I ran into Rob Zelt and Rachel Appel at a critical discussion where Rob announced he had a few extra Tech Ed backpacks that I am hoping to walk away with.

Day 1 continued with a keynote gathering with Bill Buxton evangelizing user experience. It was interesting, the one thing I couldn't help but notice that he really set up the ball for the later announcement of the sketch flow, the setup was almost comical for someone who already knew about the awesome new feature. Scott Guthrie came out with a bang, his video really setup the mood and it helped provide more character to his personality. Scott Guthrie's keynote came off with great success... his announcments were taken in with applause and it was a great start off to the rest of the day. The only downside is, I will totally be focused on if he is wearing a red shirt everytime I see him now.

The tone at day 1 was filled with alot of excitement around Silverlight 3, Blend, and to my surprise, even Expression Web with the new feature of "Super Preview". A name of which I hope sticks in the final release. And I look forward to the next generation which has to be called "Super Duper Preview. Now I had seen alot of the features at the MVP Summit, of which I was not allowed to talk about. So most of it was old hat, but what wasn't old news was the details of the Silverlight Out of Browser experience, while it has some work to be done, it definately has some amazing potential. The enthusiasm for it by the community is definately reassurring, I have always felt the adobe community really hasnt utilized air to its full potential and we shall see the truth of that when Silverlight 3 goes RTM.

Some where in the mix of day 1 I was standing around talking with Rob Zelt and Pete Brown when this really nice looking blonde hottie comes up and hugs Rob Zelt and then apparently remembers Pete Brown too... The look on his face was pretty priceless. He didnt remember at all, and I know he was trying. I guess last year at Mix, Pete was trying to get the demo rubber ball to light up when he dropped on the ground and she saw his frustration and showed him how it works. The solution was it needed more muscle. Thats one way to get chicks to remember you Pete. Rob never really explained why he got the hug out of the group... What happens in Vegas stays in Vegas I guess, unless your Rob's wife, in that case let me reassure it was a friendly hug, it was more of shock that he knew one of the few women in the geek crowd.

The night ended at the Tao where the herd of people mingled at one of Vegas's awesome night clubs. I mingled with too many people to announce here, but overall day 1 ended solemly. There was a tweet up too, where I hung out with some cool people talking about... I dont remember, but I am sure it was interesting.

Day 2

Day 2 of mix had two very different keynotes, the first was the announcement of Internet Explorer 8, which was a surprise to me, I dont know why it was a surprise, obviously I wasnt keeping up with the browsers progress closely. The emotions around the browsers announcment was followed with alot of enthusiasm in the crowd with a not so much enthusiasm from twitter and facebook comments, I will say this, I loved the intro video, best video for Mix 09. 

The keynote that followed was Debrah Adler who was fantastic. It was an honor to hear her speak and I hope people understood the importance of what she presented and the significance it has to our field. It's about changing the way we do things, it's about revolutionizing the experience for the person who matters, the user. It's about getting to know the user, the fact she used her Grandmother as one of her user personas and test cases made her care more about the output... a fact to be reminded of when you build your next application. She made a change that seems so obvious, yet was missed for years and by many different people. We should all approach our software solutions with the same passion for our users as Debrah has done. A great new motto for work tomorrow is, "Bad interfaces kill people, dont let your friends die to bad experiences with your applications."

I spent most of the rest of the day in the 3rd place area, networking with people. It was pretty spectacular, I followed Pete Brown around, because he's the man, but aside from that this is where the "incident" happened. It all started a while back when I have a bad habit of being baggy pants'd if you will... you know the college prank where you let your laptop or computer logged in while your away and your friends think its a cool idea to pull up some obscene image... except in this situation, the laptop was my phone and the baggy pants prank was when Anthony Handley decided to twitter some awesome stuff about David Hasselhoff to Rachel Appel, thats when Rob Zelt had the great idea of "hey, take a picture of my elbow, up close it looks like a Butt!!!" which they did. It was about this time that I hear enough giggling coming from the crowd behind me did I go, whats so funny, "HEY thats my phone". About 10 minutes later, I get a phone call from my Mother who wanted to know exactly what I was doing at mix that I would take a picture of some man's butt and put it on facebook, which is one of the places my twitter feed goes to. I explained that it wasnt a butt but rather an incredibly hairy man's bicep squeezed to his forearm, in which my mother said "Corey, I know what a butt looks like" and of course I lost the argument. Later my wife calls wanting to know why my Mom is calling her about a naked butt and wonders what I am doing in Vegas. I finally sent a picture of a zoomed out version which finally they caught on and I was moved back from the couch to sleeping in my bed status. And of course, during the whole moment everyone around me was just esstatic with the conversation. Needless to say I was Hoff'ed again. 

The night finished with some private parties, one in particular was the silverlight insiders party with John Papa... John if you ever read this, your party was the best... I got to meet up with all my silverlight community buddies and it was a fantastic evening, even without the free stuff. Thanks to you and your crew for putting on a great time for everyone.

It was this night I had a good time with David Campbell (Wynapse/Silverlightcream), Page Brooks (Silverlight contrib), Pete Brown (The Man, Commodore Emulator), Rob Zelt (Ineta President and maker of "Real" applications), Jon Galloway (Ex-Hippie & Vertigo Awesomesauce), Brian Henderson (Shortest person at mix), Jon Stockton (His goatee threw me), and Anthony Handley (ChiTown homie). I would drop more names like Rick Barrazza who is an icon in the world of designer/developers from Cynergy, but I dont want to sound like a freak or a stalker... I think the names I mentioned would all confirm they let me follow them around.

Day 3

Day 3 was pretty uneventful, the first half was mainly catch up on the loss of sleep from the night before. When I finally did drag myself into the sessions, I spent most of the time in 3rd place downloading sessions and asking Peter Blois if he did any WPF/Silverlight work outside of developing Blend... in which he was like YEAH! and he showed me some cool demos that he had on his laptop. The rest of the day was kind of a blur, I met another "Corey" who does stuff in Silverlight (apparently Alvin Ashcraft has gotten us mixed up a few times), i wish i could have talked to him more but i was just down right beat. I left, Vegas shortly after.

Oh yeah, and with my final sentence of this Mix overview let me add, if you havent seen it... Pete Brown is going to be on Hanselman's podcast... I thought it was too cool of an experience to tell everyone himself so I followed him around and told everyone for him. I just hope if I am ever on Hanselman's podcast that he would do the same for me, ain't that right Pete?


Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5
Tags:
Categories: General
Actions: E-mail | Permalink | Comments (1) | Comment RSSRSS comment feed

Silverlight 2 Custom Control Gotchas

March 5, 2009 20:12 by Corey

I have been working with custom controls for the past few weeks. I started off by working on my own control library with a loading curtain, color picker, and a cloud tag menu. Later I moved to working on a game concept were my game units utilized the custom control model.

As a side note, I found a unique reason to use custom controls over user controls and that is the ability to inherit from a base class. User Controls won't allow me to inherit from a base class that inherits from a usercontrol. At least at first glance, there may be a way to do it, but none I found. 

So moving on, I thought I would share a few gotchas to keep in mind while developing custom controls, these are not in any particular order but I wanted to discuss them and provide others with a little bit of information:

1. Dependency Property Default Value

Thanks to a comment in my last post by "O'Reilly" (not sure if thats his real name) he pointed out that setting the default value can give you "unpredictable" results. In fact they are very predictable, but lets discuss that point some. When generating a default value for your dependency property its important to note that this is indeed a default value. The value itself will not initiate a property changed event when creating the item; furthermore, if a user provides a value equal to the default value it utilizes what I believe is called "Item Potency", in other words, it accepts the item but does not persist the value into a value changed event because the value did not change it instead silently accepts and ignores. Its important to note that you are fully responsible for the initial state of your custom control when you set a default value for your dependency properties.

So the alternative solution to setting a default value would be to set the default value of a dependency property inside the generic.xaml file in the style tag. The syntax looks similar to the following:

<Setter Property="Value" Value="20"/>

This would then call the value changed event after the template has been applied to your control.

2. Loaded Event vs. OnApplyTemplate

As a rule of thumb, put any initialization code in your custom control in the apply template override, specifically any code that modifies physical template elements that make up the custom control. And in case its not obvious, this includes initializations within the control's constructor. For those using WPF, you may recall this as not being the case; however, as quoted from MSDN Documentation:

“The timing of the Loaded event in Silverlight differs from the timing of the FrameworkElement.Loaded event in WPF. Specifically, the WPF Loaded event occurs after the template is applied. In Silverlight, the Loaded event is not guaranteed to occur after the template is applied.”

The key here is guaranteed! (In case someone tries it and it works for you.) The above information I owe to Page Brooks who when I was having trouble in my custom control he had a blog post that helped me get back on track.

3. Don't forget to set the generic.xaml build action to Resource!

Not really a gotcha unless you forget to do it... don't.

4. Turn off EventHandlers

If you haven't learned your lesson in silverlight 2 yet, be sure to get into the habit of turning off all event handlers you might register for in your custom controls. Specifically any events inside the OnApplyTemplate. I learned my lesson in the beta 2 works that if your dealing with large amounts of disposable controls, if you don't turn off those events then you will find that the memory for those controls will not be released until the silverlight application is disposed. You can do so by using the following syntax and utilizing "-=" instead of "+=":

LayoutRoot.MouseLeave -= new MouseEventHandler(LayoutRoot_MouseLeave);

Thats what I have for gotchas so far, I would definately be interested in any other gotchas you have with building custom controls in silverlight 2, so please feel free to share. I hope to showcase some demo code on my game as I wrap it up in the next week or so.


Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5