Live Info Casting of #MIX09

Notes from the #Mix09 Key – Newest notes on top. Ready from the bottom up.

——

——

@ScottGu – Just announced support for Silverlight 3 outside the browser on win and the mac.

Built in auto update support. Dev can change it – update the server – SL3 will auto detect / update / install and start using the new application.

Offline aware support in SL3.

Event to be raised when the network status changes.

Offline data support!

————

Blend 3 has native import of Adobe PhototShop and Illustrator files.

Saves the layer support, merge layers, etc.

———–

DSC03095 DSC03096 DSC03097 DSC03098 DSC03099 DSC03100 DSC03101

Ship the protoype to client with a free runtime / viewer / player – can run and collect feedback.

 DSC03102 DSC03103 DSC03104 DSC03105

Protyping with Blend 3 Sketch Flow

———–

DSC03094

10:41 Scott Gu Back on Stage. Talking about Expression Blend 3 – Sketch Flow.

——

this summer is releasing a new site http://CoverToCover.com

 

Excited to announce… a new site, a new concept. Will go live later tonight ….

http://PlayBoyArchive.com launching this evening with 54 free issues using the technology.

——-

@10:37 – Scott from VERTIGO showing how they’re using SL3 to browse old rags, with a Rolling Stones demo. Deep linking demo to send a specific page to a friend.

——

DSC03093

———

DSC03088 DSC03089 DSC03090 DSC03091 DSC03092  DSC03087

————-

DSC03086

10:27 SL3 News. GPU Accelration, Perpective 3D, Bitmap & Pixel API, Pixel Shader + Deep Zoom

———

10:21 Perkins Miller Sr. VP Digital Media for the Beijing Olympics. Huge traffic volumes, not only during the Olympics, but for the weeks after. The Advertisers were very happy. Users who used the enhanced experiences, ended up watching more regular TV. The online presence made them happier, more engaged, and also ended up watching the television. Again, good for everyone.

Will be able to use the pause, rewind, slow motion, + full meta data overlays.

Olympics will also have a Silverlight relationship for the Winter Olympics next year in Vancouver, Canada.

Will have the ability to do live ad insertions.

331 days to go until the next winter Olympics 🙂

——

10:20 New player / IIS Streaming / Has a record behind, with pause for live video, the new web server, automatically archive the video being displayed. give the ability to rewind a live event, pause a live event. Very cool

———

10:16 –Gu Demo – Import AVI, h.264, vc1, mpeg3, mpeg4 , showing off the live streaming, the encoding, and

DSC03077 DSC03078 DSC03079 DSC03080 DSC03081 DSC03082 DSC03083 DSC03084 DSC03085

———-

10:13 Gu back on Stage. SL3 – Enables hardware graffics acceleration – both Windows + Mac. Deliver true HD Quality Media.

DSC03076

NEW Codec support. MPeg-4, H.264, AAC

Also excited to announce, IIS Media Services platform. One click install from the web platform shown earlier.

On demand smooth streaming, Edge caching, web playlists, bit rate throttling, and advanced logging.

Shipping support for LIVE Smooth Streaming. Released today in Beta form.

———

DSC03070 DSC03072 DSC03073 DSC03074

Kevin McEntee – Talks about how great Silverlight is for NetFlix. Users do not like to do installers. 12% won’t install. 8% that do try, fail. that’s a 20% failure rate on the old installers.

With the Silverlight installers things are much better.

Now Netflix is out of the installer business. Content protection is built into Silverlight.

Able to rev the NetFlix player every two weeks – in the old days – the player couldn’t be udpated because of the new install. So the player just keeps getting better and better – because a new player doesn’t require a new installer – ITS BUILT ON SILVERLIGHT 🙂 Such a great success story.

——

10:01 @ScotGu back on stage – Talking about Silverlight 3

-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px” title=”DSC03069″ border=”0″ alt=”DSC03069″ width=”644″ height=”484″ src=”https://scottcate.com/wp-content/uploads/2012/11/live35.jpg”

New Silverlight Virtual Earth SDK.

10’s of thousands of sites aroudn the world

——–

Joel Spolsky – Talking more about how BizSpark helped them get started. Didn’t want to build StackOverflow for a ton of money, they built it as a prototype.

Kind of a http://StackOverflow.com commercial now.

———

Jeff Atwood trying to push OpenId

asp.net routing – mans the urls are pretty, clean, simple, and just make sense.

performance, performance, performance

 

——–

DSC03066 DSC03067 DSC03065

9:54 Invite Jeff Atwood – Joel Spolksy hit the stage.

———

9:53 Bizspark – Enable Startups. http://Microsoft.com/Bizspark

Access to microsoft software.

free licenses.

any product license for first 3 years.

lower initial startup costs.

program includes additional marketing + bix dev

godaddy / rackspace / teir 1 – offer free hosting for BizSpark startups.

———-

9:51 commerce server 209 release – new version this week.

Host applications in the cloud – SQL services now support relational database Raw ADO.NET support.

.NET full trust ( this was a huge upgrade from the original .net medium trust )

———–

Installer now with web sites.

http://Microsoft.com/Web/Gallery/default.aspx

An online app store – all free – and one click installer – used the web platform installer.

dev hosts their own stuff. the instal bits come from dev servers, just hosted on the app store.

 

DSC03060 DSC03061 DSC03062 DSC03063 DSC03064

 

————–

DSC03059

The @Umbraco team is happy to have their logo on screen 🙂

———-

9:43 Common theme – alot of new technology – how do i figure out all the new technolgoies.

today we’re shipping V2 of Web Platform installer.

provides a unified list of all the microsoft web.stack

DSC03058

http://Microsoft.com/Web

———-

DSC03057

9:42 – Multiple web.cofig support

——-

9:41 Code focused features – lots of editor improvements

———-

9:40 asp.net 4 improvements. distributed caching – velocity, ajax, mvc, and web forms.

——

Visual Studio 2010 javascript / ajax / jquery / sharepoint major imporvements

——-

9:39 – ASP.NET MVC 1.0 RTM. This was known earlier this week.

——–

9:38 Super Preview is available today – as a stand alone version – should be available now.

——–

New product – that shows ALL browsers at once.

SUPER PREVIEW – new Feature in Expression Blend

Can use cloud service – to get images of html from browsers in Microsoft cloud

DSC03056

This isn’t out of focus – it’s showing two browsers overlayed on each other. what’s cool about this above photo, is that the overlay is safari on a mac. yes a mac. it’s an image that was returned from a cloud service, that has a mac running, the html is rendered, and the image is returned and overlayed.

VERY COOL.

 

 DSC03049 DSC03050 DSC03051 DSC03052

see content in side-by-side. Test ie6, ie7, ie8 on a single machine.

DSC03053 DSC03054 DSC03055

9:33 How do you build a CSS / HTML – Super Preview Demo

————

 

DSC03048

——————

——————-

9:27 Buy Steve, Welcome video for ScottGu.

(I have the video – will post later)

Standards based web.

——————

DSC03045

Briefly talk about how 9 months from zero to scratch was pretty amazing. not that zune is better than iPod – but how zero to final in 9 months was a big deal.

——–

9:23 Microsoft is bringing on more and more (800) designers

——–

 DSC03044

9:20 Someday we’ll have tools – with renderings, states, and transitions. ( HERE IT COMES >>>> )

————–

9:19 Need as much details in the transitions, as you do in the states. The transitions are very important. Without the transitions, it’ll fail.

————–

DSC03043

9:18am Do it with post it notes – much faster than any technology.

————–

DSC03042

9:17. Starting to talk about Sketching. I think this is linking into a product

————–

 DSC03041

9:13am – Draw my phone. Easy.

Draw the User Interface. Really Hard.

Draw the Experience. impossible.

 

————–

  DSC03040

————–

 DSC03039

9:12 Talk about this bike ad – vs. the bike running through the water.

————–

9:08 General Message == Return on Experience.

————–

DSC03038

9:02 Bill Buxton takes the stage – Focus on Experience.

———-

DSC03036

9:00 Show is about to begin – just hooked up with the @Umbraco crowd

————

DSC03035

8:54 Trying to find the right picture size – trying 640X480 now. Going with a native 640X480 size.

the hall has 2500 seats – not sure how many are in attendance

———-

DSC03034

8:51 Live DJ on stage

——

DSC03033 

8:44 – Sending Twitter updates with #Mix09 tag – will show up in the keynote as we’re waiting.

——

If you’re not able to Make it to Microsoft’s MIX09 conference this year, I have good news for you. I’ll be ( let’s call it ) live casting several of the sessions, mainly the keynotes. Images + Quick notes will let you instantly know what’s being announced.

There will be several ways to virtual attend … I’m sure Microsoft will be posting the keynotes in video form, like they have in the past; but I’m not sure it’ll be live. I’ll be posting pictures + short notes as live/fast as I can from the keynote sessions.

Setup a twitter account (if you don’t have one already) and Follow @ScottCate

Alternatively you can bookmark this page –> http://ScottCate.com/Blog/LiveMIX09 and the during the conference it will Live Update with details as they are delivered.

This work is licensed under a Creative Commons license.

WPF: To Screen Stack or Load On Demand ??

In WPF which is better, to Screen Stack, or Load on Demand.

By ScreenStack, I mean to load all the screen dynamically onto a stack, and then set the visible property of all to false, except the one you want displayed. Like a stack of pancakes, popping the current screen to the top when you want it displayed.

Or … Don’t load the screens in advance, and then Load the screen you want on demand.

Both work … but I’m looking for pros/cons here.

Maybe a combination of both? If this is the case, what screens would I want to keep on the stack, and what screens would I load on demand? Why?

Thank you for your feedback / opinions.

This work is licensed under a Creative Commons license.

Please explain your build numbering system

Build numbers are tricky. Just a set of digits, that we all try so hard to make more valuable than 1.0.0.0, which isn’t helpful at all. Our build servers build. That’s all they do is build. Well I guess they also package.

It’s nice to know that the packages are without having to think to hard about it, so here is the build numbering system we came up with. (Notice the dots at EOL).

[Major].

[4 DigitYear].

[Minor][WeekNumber(zero srtart)]
[DayofWeekNumber1=Monday].

[24Hour][Minute(zero start)]

A the final build number of looks like this …

  • 1.2009.30402.1010

 Which interprets as …

  • Version 1.3
  • Built on Tuesday = 02
  • During the fourth week = 04
  • 2009
  • 10:10 AM

With many product builds, building all day long, and so many versions in the wild, I can look at an assembly version number (that match this) from last year, on a product that I may not be familiar with, and immediately know everything I need to know about it’s original and life span. It’s also very easy in my head to know if there is a newer version.

This is all the information we need from the build number, and it’s nice and sortable in the file system.

We prefixed the MMDD with a Minor build number, because when the week is < 10, the 0 is truncated, which breaks the sort.

Do you have another build number idea?

This work is licensed under a Creative Commons license.

Today @GangPlank – Brown Bag Lunch: ScreenCast Focused Video Blogging

I’ve been forced into @GangPlank, and I’m scared!

Not really, but kinda!

GangPlank Headquarters is a very community oriented tech group in Mesa, and I’ve heard about all the community events they do, but I always seem to be to busy to get over there. With all the community stuff I do, it’s hard to get to everything. Anyway, in December I got a mail from Derek that basically said “You’re speaking in February”. Didn’t ask, just appointed me. There was an out clause, but I agreed, and really liked the idea.

Had he just called out for speakers, I (and presumably others) wouldn’t have responded.

 So Derek — Good job on the take action / just ^ do it (NSFW) / plan.

In January 2009, I started a new blog, and I’m focusing a lot on screen cast videos. There is a lot of reasons, but mostly I just like video. You can say and do so much more, in so much less time, and people really Get It on video.

Here are my starter topics / bullet points to cover in my 20-30 minutes.

Some of these I know, and some of them I don’t. I’ll share what I’ve learned over the last 30 days in getting started with a ScreenCast video blog, as well as be asking questions about the parts I don’t know.

  • Software used / Camtasia Recording / Snagit (I heart TechSmith Tools)
  • Screen size (why I chose the somewhat weird 900X580 resolution)
  • Microphones and pre-amp (I use a Mobile PRE USB)
  • Rendering (Camtasia and/or Microsoft Expression Media encoder)
  • Mobile rendering (for playback on Windows Mobile)
  • Hosting / storage (why I have two storage facilities)
  • Blogging engine (how/why I chose GraffitiCMS)
  • Playing back on Silverlight vs. Flash
  • Online media players, ScreenCast.com, Youtube, Yahoo, Google, Soapbox

 

 

Here is the recorded uStream.tv embed….

Live TV by Ustream

This work is licensed under a Creative Commons license.

Graffiti 404 Manager

If you’ve been following my blog recently, you know I just switched from a mix of my old school home grown solution and the Microsoft ASP.NET welblogs to GraffitiCMS.

One thing I started wondering was …. did I get all my traffic? This was pretty easy, because most of my old content is actually in a myKB.com knowledge base, found at http://ScottCate.myKB.com. I decided to let the old posts live where they are, and just start a new blog here on ScottCate.com.

After reading: MadProps.org Custom 404 Page for Graffiti, I was able to setup ASP.NET, IIS, and the 404 Post Page.

But still, what was I missing? Where is that 404 report? What resources are missing, to cause the 404 in the first place? I once sifted through IIS logs; but I am not doing that again?

Everyone is raving about how easy GraffitiCMS is to install, use, configure, and extend. So I decided to try it myself. And today I’m releasing a beta version to get some feedback.

This posts will cover these ordered topics.

  1. Download the 404 Manager
  2. Install the 404 Manager
  3. Create the 404 Post
  4. Create the 404 View template
  5. Setup ASP.NET to utilize the 404 Manager
  6. Setup IIS6 to utilize the 404 Manager
  7. Setup the 404Manager Widget to display the goods

Step 1. Download the 404 Manager.

https://scottcate.com/files/downloads/ScottCate.Graffiti.zip

Step 2. Install the 404 Manager.

This zip has a single ScottCate.Graffiti.dll file in it. This file needs to be uploaded to your /bin directory. You can do this in the Graffiti control panel under Site Options | Utilities | File Browser | bin | Add Files. Please note that you must unzip the downloaded zip file and extract the dll to your local machine. You want to upload the ScottCate.Graffiti.dll **NOT** the ScottCate.Graffiti.zip file. You’ll know if this doesn’t work, because the rest of these steps #4 will fail. The first two lines of the view, are dependant on this DLL file being in your bin directory. If you want to know right away if it worked, navigate to Presentation | Widgets, and you should see a ScottCate 404Widget in your list. Don’t do anything with this just yet, we’ll get to explaining it in Step 7.

Step 3. Create the 404 Post.

Create a new post from GraffitiCMS control panel, Live Writer (my favorite) or any other way you do it. Create this post with a slug of 404. This will render the URL for your 404 page as /404/Default.aspx. This only by convention, it can still work no matter what you name the page, but I think 404 as a slug name is appropriate.

Step 4. Create the 404 View file for rendering.

Here is my code for 404.View file. It uses my standard layout.view page (kind of like the default master page in Graffiti) so I just post a nice little message, and then display the results from my last 15 posts, and my 15 most popular posts. The view sets the 404 status code, so robots will know not to scan this page (this trick was also found on MapProps.org), and also logs the 404 URL into graffiti custom data.

Just so you feel comfortable, only unique entries are stored in the Graffiti custom object database, and each time the missing page is requested, a counter is increased, so we’re not using very much bandwidth from the database. You’ll see this in the final results.

   1: $SCProps.SetResponseStatusCode(404)
   2: $SC404.Log404URL()
   3:  
   4: <h1>$post.Title</h1>
   5: <p>$post.Body</p>
   6:  
   7: <h2>15 Most Popular Posts</h2>
   8: #foreach ($post in $data.PopularPosts(15))
   9: #beforeall
  10: <ul>
  11: #each
  12: <li class="links404"><a href="$post.Url">$post.Title</a></li>
  13: #afterall
  14: </ul>
  15: #end
  16:  
  17: <h2>15 Most Recent Posts</h2>
  18: #foreach ($post in $data.RecentPosts(15))
  19: #beforeall
  20:   <ul>
  21: #each
  22:     <li class="links404"><a href="$post.Url">$post.Title</a></li>
  23: #afterall
  24:   </ul>
  25: #end

Step 5. Setup ASP.NET to utilize the 404 Post for 404’s

Add this line to your web.config inside the <system.web></system.web> node. Your customErrors node may have attributes that vary from mine, but what’s important here is the inner statusCode 404 node that points to your post page.

   1: <!-- Ignore customErrors attributes - yours may vary -->
   2: <customErrors mode="RemoteOnly" defaultRedirect="error.htm">
   3:     <error statusCode="404" redirect="/404/default.aspx" />
   4: </customErrors>

Step 6. Setup IIS to utilize the 404 Post for 404’s

Changing the web.config will direct missing pages to your 404 page, **IF** the request was handled by ASP.NET. There are lots of requests handled by ASP.NET, and a lot that are not. If you request /Scott.aspx, and that page is not on your server, Step 5 has you covered. the request is processed by ASP.NET and the 404 redirect will kick in for you. BUT .. if you request /Scott without an extension (like all the post names on Graffiti) then IIS will show your tradition 404 page. Depending on your hosting, IIS, and operating system this technique will vary. If you’re in charge of it, you probably already know how to do it. If you’re hosting with a company, just open a support ticket, and have them setup IIS for you to show your custom 404 handler.

Step 7. Setup the 404 Manager widget to display your 404’s

If you made it past Step 4, and your 404 page is working, you’re in good shape because the 404 Manager is already collecting data on your behalf. Now you want to be able to see what pages are missing, and what resources are being asked for that are causing 404’s on your site. That’s where the 404Manager widget comes in.

Log into the control panel and navigate to Presentation | Widgets and Select the ScottCate 404Manager from the (Configure Widgets) drop down list. Once this widget is added to the Configurable Widget Column, click edit. You will then be prompted with this form.

image

Widget Title: This is what the widget will render as the group header on your site.

Post ID of the 404 Page to Display: This is only used for clearing your 404 stats. This needs explanation. You know when you look at your Graffiti dashboard, there is a a stats record of your daily post views? There is also a report. You’ll be amazed at how often your dish out 404’s and now you have a post being displayed that will dramatically skew your reports. By supplying the Post ID of your 404 page here, when the Widget is displayed the stats for that Post ID will be cleared. To find your 404 Page Post ID, Edit the 404 post in the Control Panel, and you’ll see the Post ID in the query string of the URL.

Minimum number of hits before display: This defaults to 1, and you’ll have many more 404’s that you care about to see. I set mine to 5 or 10. The onesie twosies are probably typos and I don’t really care about them.

Clear Statistics for 404 Page Views: This is the On | Off (values are true or false) switch for clearing the 404 page view results. Originally these were both combined into a single field. If you supplied the Post ID, the stats were removed, but having a separated on|off switch means that in the future you won’t have to lookup the Post ID of your 404 page.

it’s important for you to know that THIS IS AN ADMIN ONLY WIDGET. Now that your widget is configured, add it to your Left or Right sidebar. Now the fun begins. Navigate back to you site, and watch the 404’s grow. I’m sure you have results to display, because you were originally setting up your 404 page with ASP.NET and IIS, and you tested it right? I wouldn’t be surprised if you already have more 404’s above the test pages you used.

Here is what the final result will look like. Obviously your CSS / Theme will dictate style, but as far as functionality, here is what you can expect to see.

image

The title, you supplied in the widget, and a link back to my blog, with tagged posts related to the 404 Manager. I figured this would be a nice way to let people ask quesitons and read FAQ’s about the Add-In / Widget.

Then a counter summary. Mine says showing 16 of 217 > 5 hits. 16 entries currently qualify for my > 5 hits, with 217 total entries.

And the meat of the widget is a list of the 404 entries. Each is preceded with a [X,Y] number couple. X = the number of hits, and Y = the number of referring sites that were tracked. This is a nice feature to show you where the traffic came from. The URL is truncated to be short enough to give you the gist of what the URL is. But if you click it, a simple JavaScript popup will show you what the full URL is. Here is a sample of the JavaScript popup.

image

Here is the xml structure that ends up being stored in the dbo.graffiti_objectStore. (Click for larger view)

image

Which you can find with the following SQL Query

   1: SELECT * FROM [dbo].[graffiti_ObjectStore]

   2: WHERE [Type] = 'ScottCate.Graffiti.SC404Storage'

Enjoy!