| Comments

hey mac users, educate me...what's a media center equivalent for osx?  i'm not talking apple tv -- i'm talking to receive television signal on my mac...

| Comments

well, i'm sitting at sky harbor airport waiting to get on a plane to head to dallas for the day.  the plane is supposed to depart at 6:50am (it's 6:32am as i'm writing this).  about five minutes ago, the pilot of the aircraft just walked to the counter and made an announcement.

he couldn't figure out the public announcement system, so just started shouting.  he gave first an informative update about a weather issue in dallas, and then went on a personal rant about how we were being mistreated because there was no gate agent, etc.  he was pretty harsh on his own airline...and i was surprised...encouraging people to write to the ceo of the airline to tell them how horribly they were being mistreated.

i first appreciated his update (the gate agent arrived mid-rant with the latest information), then was a little disappointed with how he was talking about his company...i felt like he wasn't even giving them a chance.

i've been traveling quite a bit lately and have seen so many unruly passengers treating flight attendants and agents pretty bad.  in my travels i've come to realize, *most* of it isn't the airline fault.  we take air travel for granted.  if there is such a bad weather situation, do we have the right to be so angry at an airline who made a decision in safety to ensure nothing happened?  sure the world isn't perfect, and neither are the airlines...but let us give them a break!

oh, and the pilot?  well, he went behind the counter, continued his rant, shared some explicative banter with his co-pilots...he lost my respect immediately.

| Comments

first, thanks to all who came out to the microsoft silicon valley campus on thursday to listen to me babble about microsoft and web developer technologies.  as promised, i said i'd make a post with answers to unanswered questions and/or concerns... so here we go!

logistics:

expression web product: i learned some clarification on the fulfillment of the expression web product (note: if you didn't hear, those that registered and attended will receive a not-for-resale copy of expression web, one of the products we discussed and showed in the morning for developing/authoring standards-based web sites/pages/applications.  there was confusion (mostly on my end, well not mostyl...all) about where it would be shipped.  i've learned that it will be shipped to the address on file when you registered.  i told our fulfillment house that everyone put their information on the eval, and they said they would try to accommodate that, but that the address used during registration would be used. 

evaluations: for those who weren't able to get an evaluation form, this is required for the product fulfillment :-).  i took some business cards and will send you a note with a pdf of the eval form.  if you could kindly fill it out and fax it to me (fax number to be included in the email) i will appreciate you that much more.

questions:

here's some questions we got that i didn't know the complete answer to...

    • expression tools and source control...when will that happen : we don't have a definitive answer to this right now, sorry...when i know more i will post it.
    • cab/xpi deployment of silverlight: there were some strong opinions here despite the fact that the deployment is the same number of clicks for the end-user...with that said, the team continues to take feedback and i've provided the feedback from the attendees of the event to the deployment team. 
    • where can i get the silverlight.js file? - this is included in the sdk which is at http://silverlight.net -- if you want just the latest file only and don't want the sdk, see this post.
    • coho winery ajax application sample: where's the source code? download coho code here
    • silverlight for mobile?  watch the keynote from and you'll see a sneak preview -- it is definitely on our minds but we have nothing to show/talk about beyond that right now.

because there was discussion on the deployment of silverlight, i wanted to clarify the deployment process...

if the user does not have the plugin installed, they will be presented with a silverlight-branded experience indicating such.  there are two options for the user...the default is an image that looks like below telling the user to get the silverlight plugin:

you can alter the creation of your silverlight object, by using the inplaceInstallPrompt property (default is false) and changing it to true.  a typical createSilverlight function might look like this (taken from the sdk):

   1:  function createSilverlight()
   2:  {  
   3:      Sys.Silverlight.createObject(
   4:          "plugin.xaml",
   5:          parentElement,
   6:          "myControl",  
   7:          {             
   8:              width:'1024',
   9:              height:'530',
  10:              inplaceInstallPrompt:false,
  11:              background:'white',
  12:              isWindowless:'false',
  13:              framerate:'24',
  14:              version:'0.9'
  15:          },
  16:          {
  17:              onError:null,
  18:              onLoad:null  
  19:          },
  20:          null);           
  21:  }

by changing inplaceInstallPrompt (line 10) to true, then the user will be presented with a different branded experience:

this would allow them to click right there and install the plugin inplace without leaving the site.  note: the wording on this portion of the inplaceInstallPrompt is not to be edited per the sdk (since it involves the EULA of the plugin).  the images, however, can be altered to your liking -- these are just default user interfaces, you can provide your own and alter the javascript file that emits them.  an in fact, it might be a good idea...for example, if your silverlight application area is smaller than the default images, you may want to create a size-appropriate one (and vice-versa).  for example, you can create one that says this:

leveraging the inplaceInstallPrompt enables the user the fewest clicks to install the plugin and provides the same experience as other plugins. 

it was also asked what would be seen in an unsupported browser scenario (please note the browsers supported are IE, FireFox on windows and Mac, Safari and Opera (not currently but planned), the first image (indirect download) is what would be displayed in unsupported browsers -- directing them to a page that shows what the requirements are for download.

source and samples:

during the session we did some demonstrations using asp.net ajax and silverlight.  i'm going to include them here for reference.  these were quick samples and there are much better on the reference sites :-).  this is a visual studio 2005 web site project and requires the pubs database.  you'll need to change the connection string in the web.config to point to an instance of sql server that has the pubs database.

File: asp.net ajax and pubs data using client script

resources:

again, thank you much for attending and i hope it was informative.  you have my email...you have my blog.  i write a lot about web stuff so i encourage you to visit often or subscribe to my syndicated feed.  if i missed anything, let me know!

| Comments

an insult to mankind is happening in my area.  no seriously, it is.  a radio station i listen to announced a concert happening soon in the summer...and they are calling it Festivus for the rest of us.  i think i nearly caused an accident on the 101 when i heard this...my car swerved and explicatives were flying all over the place.

that's right...festivus in mid-summer.  clearly the peak (98.7) couldn't be doing such an injustice to ?  (note: for those in phoenix and know my musical taste, i listen to 98.7 because it is the least suckiest for me on my 1.5 hr commute sometimes...oh, and the fact i have no ipod/zune adapter in my car -- so step off the jokes about listening to k-lite -- they play some hard core hits of the 70's, 80's and today ;-)).

i, for one, cannot sit idly by and watch this happen...i must do something about it, and so should you.  after all, everyone knows that festivus is actually december 23.  the national festivus conservators (NFC) are angered by this blatant disregard of the holiday.  where are the airing of grievances?  the pole?  c'mon peak, don't be so lame.  each year i hold a festivus party (okay, not on the 23rd exactly, but at least i'm honoring the time within the ballpark of a few friggin days) for friends, neighbors and family.  it's a blast.  yes, there is a pole.

so, if you feel so offended as i, let them know...preserve festivus and vote at preservefestivus.com!  let us be heard people!  let the pointy-hairs at the peak know that we will not stand for such an abomination of the holiday!  send this to everyone you know!!!

| Comments

i was recently logged in to a members-only web site (of which i'm a member) and noticed two buttons in the left navigation titled:

    • Administrator Options
    • Record Keeping Information

upon clicking on either one i was presented with a pop-up and this message:

Please note:
In order to speed up some of the lookup functions of the website, it was necessary to enable the Website Admin Button for all user screens. The Admin Button is only functional for users with Admin Rights. Clicking on the Admin Button will check if the user is a current admin and then go to the admin site if the user has rights to those pages.

huh?  okay, seriously...i'm not the best developer, but i do know there are two ways off the top of my head that i could think of solving this...1) caching and 2) role-based security (some type of bitmasking)

seriously folks, you shouldn't show features that aren't available to users...you are just inviting frustration.  this was a huge problem in sharepoint 2003 when basically every user could see all admin functionality and they wouldn't be alerted to what they couldn't do until they tried to complete the task (yes, you could walk through all steps in a wizard and then fail on the 'finish' button).

don't let systems rule your experience design...if it starts to, then something is wrong in my opinion.  systems are successful when users use them and when they aren't frustrated.  abstracting this type of stuff is key i think...

do you think this is what the designers had in mind?  design smart, develop smarter.