in

Utah .NET User Group

Home of Utah's professional .NET developers.

Bryan Hinton's Blog

  • .NET Framework Source Code to the Rescue

      On Tuesday I got a call up from a developer that was dealing with an unusual ASP.NET problem and was looking for some help.  I am not an expert with ASP.NET at all, but we booted up in a Shared View session to look at the problem (that had been stopping him for the better part of a day or two at that point).  He had sub-classed a dropdown list and was trying to use it in his site.  The new dropdown list had a read-only property added so that when set it would render as basically a label instead of as a dropdown list.  He had validated the behavior of the new control in a separate website but couldn’t get it to work in his website and he had borrowed the code along with some other code from another project that had done a similar thing within our company.  I didn’t realize the significance of that fact until later.

      We tried every little hack or nuance that I could think of and it got us nowhere.  The issue was clear the render method that had been overridden for the control was not getting called, but all the other overridden events were (like OnLoad, OnUnLoad, etc….).  Why was that happening that way?  We had another sub-classed control (a textbox) that was working correctly which made things even more confusing.  So as a last straw I figured we would plug into the new feature with Visual Studio that allows you to step into the .NET Framework code and see what is happening.  So we configured our machines using the following instructions/resources – the first link is the most update to date as VS2008 SP1 seems to have added greater support for this feature than which is was launched soon after VS2008 RTM.

      Then off we went – before long we were in the ASP.NET code watching as it enumerated the control list and called render on each one of the controls belonging to the page.  Surprisingly when we got to the control that was having the problem we saw that instead of calling into our render overload it was calling into a  DropDownListAdapter class that was a sub-class of a WebControlAdapter that was been injected into the process and was controlling the rendering of our control.  Now knowing where to look we found the adapter class as well as some entries into a ServerStateBrowser file registering the adapter to our custom DropDownList class.  This was code given to the developer by the other project.  That code was obviously doing things that the developer wasn’t expecting and didn’t understand (neither did I).  Obviously there is something to learn there about being wary about taking a lot of code that you probably don’t need and aren’t sure all it does.  But all is well that ends well (especially since both he and I wanted this resolved since the New Years holidays started the next day).  We could very well still be hunting without the wonderful new tool in the toolbox to reach into the Framework to see what is happening.  Next time I will break it out sooner rather than grappling in the dark for as long as we did!

     

    Technorati Tags: ,
  • A Suggestion for Windows Live and Windows 7

      In playing around with the Windows 7 bits I got at PDC I had a small idea that I submitted through the feedback link for Windows 7.  The feedback is more related to how Windows Live works with Windows 7, but I thought I would submit it through that avenue as well as post it here.  The note I sent through the feedback link was

    I installed the Windows Live suite of products.  One of the immediate things that came to mind is I would rather have one deskbar icon rather than one for each product.  It would be nice to have one Windows Live icon on the bar and use the little arrow to go select which one to launch - I like having quicker access to them and grouping access under a Windows Live icon would make the experience of the Windows Live Suite feel more unified I think.

    Thanks,
    Bryan Hinton

    I used the unlock method documented here to get access to the incomplete deskbar feature.  I like it - although I would like it more with the Aero Peek feature.  As I used it I realized it would be nice if there was a Windows Live icon on the deskbar that I could click the little arrow on to boot up an instance of Writer or Mail or Messenger etc…  I think it would connect the Windows Live Suite (make it feel more like a suite) and reduce the clutter on the Superbar (that seems to be what people are calling it) by having all the different Windows Live apps pinned there.

     

  • Requirements Definition : The Danger of Failing Before You Have Really Started

      Requirements, Stories, Use Cases, or whatever a team wants to call them form a key part of the execution plan for a development team.  It should tell them what a customer wants.  The artifacts in whatever form they are tend to have varying degrees of detail.  Getting the right amount of detail at the right time is critical to the process of producing successful software.  My thoughts on Requirements definition form around a process with three key elements.

    1. Development
    2. Prioritization
    3. Definition

      Development is first because you have to develop or brainstorm something to start with.  This generally is initially tied to a vision of what the software is supposed to do.  Over time as a product matures this phase often happens through user trials, surveys, feedback, and telemetry from the app that describes its usage and provides insight into where the app needs to evolve. This also happens as analysts evaluate the market the product fits in and based on the market’s evolution or the assumptions about where it will evolve.  In evaluating they determine what features needs to be added in order to allow the software to continue to be competitive in the marketplace.  With internal software this phase is often underappreciated and underutilized.  This is unfortunate because mistakes here whether in internal or commercial products can cause teams to miss the target market tremendously.  A mistake of one degree in a flight plan early in a flight plan causes a much greater deviation than a mistake relatively close to the target.  The Agilist in me openly admits that it is impossible to know everything upfront.  The development effort isn’t about deep detail, but broad strokes of strategy that guide the more detailed planning that occurs later.

      Prioritization comes second as the ideas developed get prioritized.  This act pares down the list of items that need to be defined in detail.  I like Scrum’s backlog analogy but I think the Product and Sprint backlogs might not be enough.  To use a baseball analogy I think you have an At-Bat Backlog, an On-Deck Backlog, and an In the Hole Backlog.  At bat would be your Sprint Backlog representing what is in play now.  On Deck represents perhaps a release backlog or something of that sorts.  These are items that are going to be in play and will need to be defined fairly soon.  In fact during a Sprint it wouldn’t be uncommon for the PM, Business Analyst, etc… to be very active in defining those items near the top of the On-Deck list.  The On-Deck list becomes a focal point in the prioritization process.  The Sprint is work committed to and while some teams might want to have a relative priority there I don’t have a firm opinion on it.  The On-Deck list is key – what will the team work on next is the question that needs to be answered by the prioritization process.  Once we have a prioritization there we can move forward with the third step in the process – Definition

      Definition in this context is providing the detail necessary to move the concept forward in the planning process and ultimately moving it successfully into the implementation phase.  Steps 2 and 3 in the process end up being a rinse and repeat type of deal.  Items will be prioritized onto a list and will need to be defined to some degree.  For example when an item is prioritized onto the On-Deck list it is likely that definition needs to happen in order for some estimates to be provided as to how long the items on the On-Deck list will take to complete (thinking of the On-Deck list as representing the functionality in a release).  As On-Deck items in the list move up – more definition is added so that the customer needs can be clearly identified and the developer can have in hand as much detail as possible when that item pops onto the At Bat Backlog.  It is here that we get to the crux of the matter that caused this post to be written.  I have seen two common behaviors that cause teams to fail relative to requirements definition.  The first is that requirements are defined too early in too much detail and not revisited effectively and as time goes on customer needs shift or change and the requirement as it was written months ago no longer accurately reflects their needs.  The second behavior is too little detail.  A story is defined with a title (which I think the whole story card/post-it thing encourages) and little else and exists like that all the way to the developer.  He has in his mind what the title means, the customer has another thing in mind, and program management has yet another.  Agile methodologies advocate the definition happen through consistent customer interaction and if that happens that can work.  All to often in practice it doesn’t work that way.

    The takeaway is don’t under value the requirements process it is perhaps the most difficult thing to get right in the whole software process.  Too much detail, too soon or too little detail, too late – what is too soon and what is too late and how much is too much or little – not easy questions – the process above has worked well for me in addressing the challenges with getting requirements right.

  • Meshified Car

    I am sitting in LAX waiting for my flight home and just finished a video done by Channel 9 with Ori Amiga who is one of the stars of the Live Mesh Development team.  He was showing a custom gadget that he built to integrate with his car that included integration with Live Mesh so that he had a Meshified car.  It was pretty cool so I thought I would link to it – With everybody excited about the release of the Mesh client for Windows Mobile this is A different kind of Mobile Mesh.

  • Watching Internet Video in double time

    I watch a lot of podcasts and videocasts.  So much so that I often wish I could watch them in a “faster” mode.  Which I can do with podcasts that are in WMV format.  When they play in Windows Media Player you can right click on the play button and select “fast” playback.  It isn’t double time, but it certainly is sped up.  I listen to all I can with that setting – it helps me get through them faster while still being perfectly understandable etc…  Not all WMV support this so I suspect it may be an encoding feature, but most that I run into do (all the Channel 9 for example - .NET Rocks – etc…).  Windows Media Player on my Samsung i730 can’t do it unfortunately.  All in all it is a nice feature to help me consume information a little quicker than I would otherwise be able to (I get so used to it that it gets to be painful to listen to someone in “normal” speed).

  • Analyzing Windows Azure

     

    Azure is/was the product formerly known as Red Dog.  It is more than just a Cloud OS.  It is a hosting platform as well (ala Amazon EC2) with components that give it S3 and Simple DB capability.  The Simple DB capability comes from SQL Server Data Services which has been renamed SQL Services or SQL Server Services.  The name change comes from the added capability to support Reporting Services and Analysis Services.  So the Data story of Azure looks to be much deeper than Simple DB as MS fills it out.

    There is a rich service infrastructure built on top of it including Live Services and .NET Services (there are others).  The .NET Services provides the ability to make your app Cloud-aware as well as integrate with your existing in house infrastructure.  It is on that point that Azure really starts to set itself apart. 

    I will ignore the fact that MS historically has done a better job of making things easier than any other vendor (you are of course welcome to disagree).  Because on that point alone I can see the average developer taking advantage of Cloud Computing more often now that it is almost a Visual Studio click away.  The existing infrastructure investment is an fascinating twist on the Cloud Computing story that has been spun by everyone to date.  Google App Engine says come to me and I will host you – you can use Amazon a little more piecemeal (use just S3, etc…), but the ability to authenticate a Cloud app against your existing identity infrastructure (and taking that and extrapolating that out to the other components of an app) is a huge innovation and makes Cloud Computing much more palatable especially for the enterprise.

    Few enterprises were ever going to move all their data or capabilities out to the cloud – too many info security, reliability, and availability concerns.  So the I will host everything models that exist today only really work for small business and startup areas and could (the market is so new we don’t know how things will truly evolve) cause problems as you grow and want to move stuff in house.  Azure really changes that – it still has a very compelling story for the small business/startup, but with the integration with existing infrastructure it starts to work for enterprises as well. 

    An example of that is LDS General Conference.  Twice a year the LDS Church hosts this conference and does quite a bit of online streaming (both video and audio).  This has fairly significant infrastructure implications.  What do we do – do we setup our infrastructure to scale to the peak demand (which we really could never do) or something close?  The cost associated with that is just not worth it for the two times a year that the infrastructure is needed.  Enter dynamic resource allocation from the cloud.  Now we deploy our app to the cloud with hooks into our identity and storage infrastructure (or even push some of the storage to the cloud).  Now we can dynamically add resources leveraging our existing app.  Another area that was mentioned by a co-worker is the community development initiative that the Church is starting – hosting in the cloud with secure access to internal services provides some interesting food for thought.

    I have registered for the Azure CTP and am looking forward to writing some real code with it to try out some of the claims and see where they deliver and where there is more vapor than substance.

    Technorati Tags: ,
  • Check out Twitter for PDC updates

    I will try and add posts here as I can – but Twitter is much better for sharing the bite-sized updates that are captured as part of sessions.  You can catch my Twitters at http://twitter.com/HintonBR.  A summary post will be coming sometime soon to capture my notes from the VS2010 session I went to plus the Dublin session I am in as well as others depending on when I get it done.

    Technorati Tags:
  • Microsoft Surface hands-on

    Here are the pictures I took of my time hands-on with Surface

    Snowboard Design app

    IMG_8346

    App list that you can flick through

    IMG_8347

    Photo app grouping photos by categories

    IMG_8348

    Virtual Earth app – I loved it – no 3D mode yet – that would be even better – but cool to use Multi-Touch movement to navigate the map

    IMG_8350

    Keynote stage

    IMG_8351

     

     

    Technorati Tags: ,
  • PDC is finally here

    Over the last few months it has seemed like every interesting discussion about MS products has some how involved a “just wait until PDC” statement.  Thankfully PDC is finally here.  Tomorrow Ray Ozzie and Bob Muglia kick it off with a keynote starting at 8:30 am PT.  On Tuesday there are two keynotes one from 8:30-10:30 with Ray Ozzie, Scott Guthrie, and David Treadwell and then another one from 11:00-12:30 with Don Box and Chris Anderson.  The second one is for sure about Oslo and demoing that.  If I had to guess the first one on Tuesday will involve a Live Mesh show and tell – I wonder what Monday will bring with Muglia and Ozzie – VS2010 stuff to show??

    The “goods” or the “bits” won’t be given to attendees until Tuesday – undoubtably because they don’t want the surprises slated for the keynotes to slip out beforehand.  I will be busy twittering for sure and probably a little live blogging as well.  Can’t wait to get started tomorrow. 

    I am staying up in Hollywood as all the Conference hotels were sold out by the time I registered (or at least the ones that where semi-reasonable were sold out).  So I am taking the Metro into the Convention Center every morning.  Not too bad actually – I actually enjoyed the experience today – we’ll see if I get tired of it as the week wears on.  The only bummer is no cell reception on the metro – is it like that in New York and other places (Washington D.C.) – if so that is lame – and if not then why hasn’t LA figured out how to make it work yet?

    Windows Live Tags: Live Mesh, clubhouse, PDC, story
  • How many choices are too many choices?

    Americans are constantly faced by a myriad of choices.  When we go out to eat we have to pick between Italian, American, Chinese, Greek, Thai, Mexican, Indian, etc….  Once you have picked a type then you have to choose between Applebees, Chili’s, Outback, etc…  The same thing happens on trips to the grocery store, picking a dentist, or what movie to go to.  Many times we sit and spin on making a choice about something that likely doesn’t truly matter that much.

    In the technology world this problem continually manifests itself.  Most techies have probably seen projects where the project deadline was hit before all the architectural choices were made because too much time was spent weighing the pros and cons of the variety of choices available.  That isn’t to say that decisions shouldn’t be weighed and measured, but that this activity should be time-boxed and at the end of the time the decision be made based on the data available.  One common example I use as evidence for this is citing the variety of technologies used by the big sites out on the Web.  Facebook uses PHP, MySpace and Microsoft use ASP.NET, Google uses Java (I believe) as do many, many others.  The same argument could be made about what server OS to use, what database to use, and so on.  The fact of the matter is with good people most technologies can be made to meet the need.  The argument that many people will try to cite is the productive improvements that technology X will bring.  The problem with that argument is that productivity is very difficult to measure (many smart people have tried and I have yet seen anyone to trumpet a truly successful way to measure) and so that argument is easy to make, but very, very difficult to prove correct (and often not worth the cost of doing so).

    The danger comes when the new technology of the day or moment causes continual churn in an organization.  The seduction of always looking for best of breed (assuming for a moment that there was someway to truly determine best of breed) is that you are then set up to become a technology merry-go-round.  Invest in your technology selections, build expertise, and go deliver value.  Choose to get off the merry-go-round and make a commit.  Change of course will come over time, but when it does it should be obvious and done for obvious reasons.  In most cases change should be made because it will be a game changer either in dollars saved or dollars earned or provide obvious (emphasis on obvious) productivity gains.

    Note: I use this blog to post both Personal and Technical articles.  For a technical only feed use the following URL (http://bryanandnoel.spaces.live.com/category/technology/feed.rss).  For a family only feed use the following URL (http://bryanandnoel.spaces.live.com/category/family/feed.rss)

  • Hotmail gets a Wave 3 Update

    Hotmail was updated this week as part of the Wave 3 rollout.  When the Live Calendar Wave 3 update rolled a couple of weeks ago we got a good idea of what the UI for the new Hotmail would look like.  I like the cleaner look a lot.  In my previous post about the Client pieces of Wave 3 I commented that the UI change on the client didn’t do much for me.  That is not the case with the UI changes for Hotmail and Calendar, I like the changes a lot.  The performance as promised by the team seems great. 

    The search feature worked great – sweeping quickly through my mail collection to find matching items.  I couldn’t find a way to make it only search a specific folder which I like as an option to constrain search results from time to time. 

    One glitch to note is that with IE8 when trying to switch to Calendar it opens a new window.  With FF3 the Calendar view shows up in the same window that Hotmail was showing in as I would prefer and expect.  Not sure if that is a problem with how IE8 is working for me specifically or if that is the anticipated behavior for IE8 – I hope not!

    image

     

    Contacts

    I have a couple of gripes about contacts to air, but they really stem from the fact that I love what they have done to the Contacts view.  There has been some great work done there.  Not all the integration is available to us at this point I am assuming because in blog postings about the upgrade from the Hotmail team I could see People showing up on their Wave 3 header and that doesn’t show up on mine (although People does show up on the Contacts page as the “title” for that page.  You have a better breakdown of all your contacts versus who is a Messenger contact.  You get to see their profile pictures and when you click on it you can send them a Spaces message, IM them, email them, or view their contact information.  When I try to IM them Live Messenger comes up from what has been written I would expect a Web version of Messenger would be displayed for you to chat with the contact if Live Messenger wasn’t installed on the system.

    The Contact Info page is awesome in my opinion.  I love the Recent email listing sitting at the bottom.  The ability to quickly fire off an email to them embedded inline in the Contact page works really well for me (from a UI layout perspective that is – I never doubted that it would actually send an email to the person).  I went to my Gmail account to compare the UIs quickly.  Visually Hotmail was much cleaner to me – looks more polished as well.  All in all a much better UI look than Gmail IMO.  Back to the Contact page I LOVE that I can see a contacts permissions across Windows Live properties.  I can tell what Calendar permissions they have, what Skydrive folders they have access to (can wait for Skydrive and Live Mesh to have some integration story), and Profile information of mine they have access to as well as the same information about what I have access to of theirs.  It surprises me that I can’t edit those permissions from that screen – that enhancement would be Request #1.  Request #2 is that I would like to be able to sort my contact list in other ways than by name.  The main one that come to mind is by Status (Available, Offline, etc…).  There seems to be no effective way to see easily who is Online for example without selecting the Messenger Contacts option (since that is above the Category section it would seem to be considered something different than a Category) and then scanning the list which isn’t easy or effective.  Once again well done on the Contacts interface I love it.

    image

    Calendar

    The Calendar Wave 3 upgrade rolled out a couple of weeks ago or so.  I talked briefly about it or referred to it is a more appropriate description in my previous post on the Wave 3 Clients.  I love the interface.  Clean and focused.  I love that To-Dos have made their appearance and with them being connected to a Calendar that concept of a shared task list etc… is really nice and MS has definitely one upped Google in this space.  With the subscription to ICS files worked out etc… my wife and I have started using this heavily.  We sync them to Outlook and update them in Outlook using Outlook Connector and that works wonderfully as well.  Calendar has made huge strides and now stands as a worthy competitor to Google Calendar.  That said I do have a few requests of course!

    First – a way to search through your calendar – neither the online edition or the Live Mail Client exposed a way to search for future appointments.  Google Calendar has this and it is very handy – definitely a must have.  Second is To-Dos syncing down to the various Clients (Outlook or Live Mail).  I was disappointed that Live Mail didn’t have this with Wave 3.  I realize that there is a level of difficulty in matching Client capabilities with Server capabilities, but if the Clients are always going lag the Servers in functionality that is going to be a big disappointment.  Especially if new releases have the long lead times that Wave 3 has had.  Lastly, Recurring To-Dos!  I was surprised since we can add recurring events that recurring tasks weren’t available.  I use them heavily with Outlook and could never replace my To-Do tools without having recurring tasks.  You would also have to have that if you wanted to support a sync scenario with Windows Mobile.  I suppose that is truly my last request.  Windows Live for mobile has worked great for my email and contacts.  Obviously the last two pieces are Tasks and Calendar items.  Calendar is probably to the point where it may be possible to add that syncing capability.  Tasks/To-do synchronization with Windows Mobile will have to wait until we get recurring tasks.  I am not sure why I see a banner add on my Calendar.  I have a Hotmail Plus subscription and so I don’t see it on the Hotmail screen or on my Spaces site, but do see it on Calendar – that would seem to be a bug as I would expect it not to be there – am I wrong on that?

    image

    image

    Additional requests aside I am very pleased with the server upgrades to Windows Live (much more so than the Client upgrades frankly).  I am very excited and hopefully to see similar good things with the upgrades to Spaces, Photos, etc… 

    Note: I use this blog to post both Personal and Technical articles.  For a technical only feed use the following URL (http://bryanandnoel.spaces.live.com/category/technology/feed.rss).  For a family only feed use the following URL (http://bryanandnoel.spaces.live.com/category/family/feed.rss)

  • Maps.Live.Com continues to get better – now with Visible Weather and lots more

    I love maps.live.com and have for a long time I must confess.  There new update is full of good stuff – you can read about it here.  Weather is only one of the cool features that were added in this latest release.  I love the context provided in the driving directions (like turn at the Taco Bell).  Just ONE REQUEST add the drag route feature that Google and Yahoo have.  That is an awesome feature that can be very useful. 

    I like where MS is driving Live Maps and Virtual Earth.  I love that 2D and 3D are together in the same interface.  I love the new imagery including trees and bushes. It enhances the image quality immensely.  Too bad there are only 6 cities online with the V2 imagery right now.  Below you can see that Washington DC is partially cloudy as of the writing of this (weather data is updated every 3 hours or so I think) and Miami is cloudy (gotta love the trees in that picture as well).  Okay – in addition to my one request above, it would be cool to allow for a time of day setting.  Perhaps initially just a dusk type setting to differentiate between night and day.  But it would be awesome to do something similar to what is done with trees and bushes and added light sources.  Bigger buildings are lit up of course and then some amount of street light density, etc…  All in all - Well done Virtual Earth team!  I am looking forward to what you are going to do next!

    image

    image

    Windows Live Tags: clubhouse, Live Maps, Virtual Earth, Story
    Technorati Tags: ,
  • Windows Live Wave 3 Impressions

    Setting the context

      As I share my impressions at this point in the Wave 3 rollout I realize that we have yet to see the full picture.  At this point we have seen the Betas of the client pieces of Wave 3, but with the exception of the Calendar upgrade released last night the server pieces (like Groups, Photos,  Spaces, Hotmail, etc…) have not been upgraded and I have every reason to believe that great things are coming for those server pieces.  So I fully anticipate updating this post with my impressions of those upgrades as they come out as well as revising my impression of the client side tools as server upgrades affect the client experience.

       One of the major themes of Wave 3 so far seems to have been to revise the UI.  More consistent branding (excluding Photo Gallery which for some reason deviates from Mail and Live Writer) along with a cleaner look with more white space seem to have been key areas of focus.  Integrating Windows Live features throughout the suite seem to have been a focus as well, but after a year of largely silence for most of these tools I can’t escape the feeling that I wanted more.  For example calendar integration for Mail is a great feature, but after a year I was expecting it.  6 months ago I would have been excited by it.  I would have seen it as a satisfier.  After a year I expected it and if it hadn’t been there it would have been a major dissatisfier.  Couple that with the release of To-Do features on the server part of Calendar that are not exposed in the Client and I am left wanting (which in some ways could be seen as a good thing).  The major disappointment is that based on the past year I am expecting to not see another Mail upgrade for another year with little communication on what will be in it.   

    Writer

       Writer already had a decent extensibility story in V1 and I enjoyed leveraging the variety of plugins that were available.  The new UX is nice, but doesn’t make a net difference for me (not negative, but not positive either).  Writer didn’t have much to do in my opinion so little change here was expected.  The addition of YouTube as a provider of videos (and as a destination for publishing) is nice.  The integration story with Photo Gallery could have been improved (it is nonexistent).  Being able to pullout pictures from the Gallery using tagging and dates is much easier than having to sort through all my folders and files as the current Add Picture experience forces me to do.  As it is I open Photo Gallery find the pictures I want and use that to help me navigate to the right pictures in Live Writer.

    Live Mail

        Obviously as I mentioned above Calendar integration was a must for Mail.  I have had great success with my parents and grandparents using Mail for email and for RSS which I have written about before.  The RSS integration in Mail makes them feel like a blog article comes to them like an email and in a day when I still know IT people that don’t leverage RSS for my parents and grandparents to be using it is amazing in my opinion and a direct result of Mail being available as a desktop client (the fact that Google doesn’t have a better web integration experience for Reader and GMail continues to amaze me).  I am disappointed that Mail doesn’t expose the To Do functionality just released for the server part of Calendar.  I also am perplexed why clicking on Calendar changes the main window view, but clicking on Contacts opens up a completely separate window.  The Contacts window acted like this in V1 as well, but with Calendar operating differently the lack of consistency in the UI in that regard is highlighted even more.  Not a big deal just a little strange.  Mail doesn’t have an extensibility story nor does it have integration with Windows Live Events in anyway (which you do have with the web experience for Calendar).  Lastly does anyone still use the newsgroup feature?  If so for what?

    Photo Gallery

       I have loved Photo Gallery over the last year.  It is fast and focused on what I want to do.  I loved the Panorama feature.  Google stole a little bit of the thunder of the Photo Gallery upgrade when they released an update to Picasa that did facial recognition.  There are subtle differences in implementation that need to be noted.  Photo Gallery does recognition on the client while Google only exposes that functionality on the server I believe.  Google does take facial recognition to the next level on the server side by grouping faces that it sees as being similar together to make tagging them quicker.  I am not sure if Picasa goes to the next step by looking at previously tagged photos and trying to guess what tag should be applied to the faces.  The facial recognition feature is the major feature in this Photo Gallery upgrade.  Right now it’s usefulness is limited honestly.  Without it detecting pictures that have the same face to allow for bulk tagging or even better detecting what you have tagged that face as and applying a tag automatically facial recognition feels like standard tagging which drags down the “coolness” of the feature.  I can’t help but look ahead to the future with this feature because right now it simply makes little difference (especially considering that there is no way I going back to tag one by one the thousands of pictures I currently have in my library).  The last thing of note on Photo Gallery is the new extensibility feature that allows extras to be added to the extras menu and exposes a publishing API.  That is really nice and I look forward to a nice set of plug-ins coming out to enhance Photo Gallery.

    Messenger

    I really like the Messenger upgrade.  I have thought that Messenger needed a UI refresh for a while.  It put front and center a lot of features that I and everybody I knew didn’t really use.  So it was great to see the team recognize that and make a change.  I love the Scene capability.  I have thrown a couple of my own pictures in as scenes and it just looks great.  I would like the ability to control how the picture gets cropped into the scene window (move the point of focus from the center).  The integration of the What’s New feed is a nice subtle enhancement.  I am a little confused at this point though because what I see on my Live Spaces What’s New feed doesn’t match up with what I am seeing in my Messenger feed even though clicking on the What’s New link in Messenger takes my to my Lives Space What’s New feed with completely different items in the feed.  A little bizarre, but perhaps due to the Lives Space upgrade (that I am anxiously awaiting) not having rolled out yet.  I like the Favorites feature that is something that I wouldn’t have called out explicitly before the release, but after seeing it I can’t help, but think – “yeah, I have always wanted that.” I love the change so that people are represented by their profile picture with coloring to tell you what their status is and that they reduced the number of statuses.  I look forward to hearing how we can add stuff to the What’s New feed or customize what shows up as well.  Based on my use so far I think my Messenger use will increase because of the upgrade (I also just started using Messenger with Facebook – I love the ability to sync my Messenger personal messages with Facebook).

    Movie Maker

    Movie Maker is embarrassingly incomplete.  Honestly I am surprised Microsoft shipped it.  When Live Photo Gallery came out as a replacement for the Photo Gallery in Vista it had feature parity and had added the Panorama functionality.  It was a worthy replacement.  Movie Maker is almost laughable in how incomplete it is.  It doesn’t feel like it is from MS.  It doesn’t install on XP machines and people with Vista have the original Movie Maker so I have no idea who will ever use this version of Movie Maker.  Here is hoping that the Movie Maker guys are very busy working to upgrade and enhance the product because if Windows 7 ships with this instead of something closer to what Windows Movie Maker does that will be a real disappointment.

  • Programmatically setting the version of the Enterprise Library Configuration Tool for Visual Studio

    I previously wrote about the issue we ran into using Enterprise Library and Unity that caused us to have to roll our own version of the binaries.  The procedure to get the config tool to reference our custom binaries involves changing the EnterpriseLibraryConfigurationSet solution property.  Since we are developing a Starter Kit to be used for new projects starting up here at the Church I wanted to add to our Starter Kit automation the setting of the property to the appropriate value.  Tried as hard as I wanted I couldn't get it to work until I accessed the Solution Property using EntepriseLibraryConfigurationSetPropertyExtender.EnterpriseLibraryConfigurationSet which is how it was listed when I enumerated the property collection. 

    So the one line piece of code to do the job is

    Dte.Solution.Properties.Item("EntepriseLibraryConfigurationSetPropertyExtender.EnterpriseLibraryConfigurationSet").Value = "StackV1EntLib";
    Of course that needs to be accompanied with an entry in the Registry that the StackV1EntLib string can point to which is listed below

    [HKEY_CURRENT_USER\Software\Microsoft\Practices\EnterpriseLibraryV4\ConfigurationEditor\StackV1EntLib]
    "ConfigurationUIAdapterClass"="Microsoft.Practices.EnterpriseLibrary.Configuration.Design.UI.SingleHierarchyConfigurationUIHostAdapter"
    "ConfigurationUIAssemblyPath"="C:\\Program Files\\MSStack\\V1\\StackEntLib\\Microsoft.Practices.EnterpriseLibrary.Configuration.Design.UI.dll"
    "ConfigurationUIPluginDirectory"="C:\\Program Files\\MSStack\\V1\\StackEntLib\\"

    Note: I use this blog to post both Personal and Technical articles.  For a technical only feed use the following URL (http://bryanandnoel.spaces.live.com/category/technology/feed.rss).  For a family only feed use the following URL (http://bryanandnoel.spaces.live.com/category/family/feed.rss)

    Technorati Tags: ,,
  • Programmatically setting multiple startup projects on a Visual Studio solution

      A month or so ago I was waist deep in Visual Studio automation code trying to figure out how to create a solution programmatically with multiple startup projects.  I searched and searched on the Internet, but could never find the answer.  I knew that the code I was writing was very, very close, but it wasn't working.  At the time I had to step away and work on other things that were more important, but today I was in and around that code and tried again.  I found the answer on good old Google in less than 10 minutes - http://www.dotnetmonster.com/Uwe/Forum.aspx/vs-ext/1609/Editing-DTE2-Solution-SolutionBuild-StartupProjects .  It is as simple as setting the StartupProjects property of the SolutionBuild object to an array of objects populated with the unique name of projects in the solution.  I had been trying to set it to a string array of the same thing!  Talk about close.  Either way job accomplished.  Our VS automation is now just a little more polished as a result.

    Note: I use this blog to post both Personal and Technical articles.  For a technical only feed use the following URL (http://bryanandnoel.spaces.live.com/category/technology/feed.rss).  For a family only feed use the following URL (http://bryanandnoel.spaces.live.com/category/family/feed.rss)

    Technorati Tags: ,
More Posts Next page »
Copyright © 2000-2007, Utah .NET User Group
Powered by Community Server (Commercial Edition), by Telligent Systems