Tim Heuer
9mi ENE of San Jose, CA
While we were in Boulder, Colorado, we had a chance to sit down with a few of our customers and get some insight into their experiences with some of the new technologies announced at MIX. One of those partners was Me.dium, a company providing an add-on to the browser to provide a social browsing experience. Me.dium graphically connects users with their friends and others enabling users to interact online, similarly to how one interacts with people in the real world.
We met with David Mandell, Peter Newcomb and Robert Reich, founders of Me.dium, as they shared their experiences working with Internet Explorer 8 and how Activities and WebSlices are helping to expand the reach of their offering as well as enhance the user's browsing experience. They were able to implement WebSlices within their existing content management framework that they developed as well as bring the Me.dium social browsing graph to the end user via Activities. The end user can highlight a term on any web page and start the Me.dium activity which shows them contextually to that term their social browsing experience.
Take a look at the video then head on over to the IE developer center and look at the Activity and WebSlices whitepapers to learn more and implement yours today!
Jason Mauer
9mi ENE of San Jose, CA
The Code Trip bus stopped by Moscone West yesterday so we could check out VSLive! 2008. We were onsite interviewing attendees, harassing presenters, and giving away hundreds of prizes throughout the day.
This was the debut of the Code Trip foam bus collectible, which was showered upon the crowd at the Wild Wednesday event that night. All in all, it was a great time at a great conference, and we hope to make it back to VSLive! again in the future. Thanks to the VSLive! gang for letting us in and sanctioning our monkey business.
Tim Heuer
9mi ENE of San Jose, CA
A lot of people have asked us about our video introduction animation. We put a mention of the artists behind it in our toolbox section, but thought we'd share a bit of an e-terview with the main man, Eden Soto. When The Code Trip was in early planning stages and after we had worked with Terralever for an initial brand and design strategy, we turned to Eden based on referrals and proven work with some of the shows on Revision3.
As developers, we rely on designers (visual and motion) to ensure the technology and user experience work together. In the world of rich media solutions and rich internet applications, this is becoming increasingly important to work hand-in-hand with designers and user experience experts in our application development. For our intro video (sure, it's not an 'application') we wanted something that 'popped' and kept the attitude of the overall design elements for The Code Trip...and animated stick figures wasn't going to cut it.
We virtually sat down with Eden recently to talk to him about how he took a vector file of The Code Trip logo and created the 13 second intro animation that you see at the beginning of the videos. Here's what he had to say...
Code Trip (CT): What is your background?
Eden Soto (ES): I started out in print design back before digital video had really come of age. I started dabbling with After Effects way back at version 3 I believe it was...it always fascinated me, so I kept playing around in my spare time until finally digital video (and more importantly video on the Internet) really started to explode.
CT: When you were presented with the vector art for The Code Trip, what was your inspiration?
ES: Right when I saw the Code Trip logo, I knew it was going to be a fun project. One of the early logo comps had a bus in the art, and I really liked that and knew that would animate well with the final logo, so it was really just melding the two and coming up with a neat little way to have the animation play out.
CT: What tools do you use?
ES: My daily apps I use are the Adobe CS3 Production Premium Bundle (with After Effects CS3 at its core)...then I use Cinema 4d R10.5 a lot, which is primarily what the Code Trip bumber was created in. Other than that I use a great suite of 3rd party plug-ins for AE by GenArts called Sapphire. Oh, and some of the Trapcode plug-ins too like Particular and 3D Stroke.
CT: How long does it take from inception to final?
ES: Really depends on my workload at the time. The Code Trip bumper took about 16 hours from start to finish. A lot of that is waiting on renders...ambient occlusion renders take a long time :-P
CT: When providing audio, what determines the attitude of the audio track in your animations?
ES: Audio I leave to the master...Lawrence Scaduto. He is the pinball wizard when it comes to all things audio.
CT: Is this your passion (doing visual design and animation)?
ES: Absolutely. I still feel like I'm just getting started ;-). I don't envision doing anything else other than motion design now.
CT: Other than The Code Trip, obviously :-), what is your proudest piece of work?
ES: Proudest piece of work was probably the Diggnation open...it's really the piece that really pushed me over the edge and made me want to go full time with motion design, it's what most people know me for. Other than that, being a HUGE gamer, I recently had the opportunity to do some motion graphics for some SXSW content produced by Microsoft that got published on the XBOX Live Marketplace (Bringing it Home SxSW), so that was a huge thing for me, as I frequent the Marketplace so often, knowing something I made is on there is really cool...I'm REALLY hoping I get to do more for the XBOX Marketplace in the future :-D.
Thanks to Eden and Lawrence for their participation in making The Code Trip bumper for our videos. We are very impressed with their work and can definitely say when you need some motion design, look no further than Eden.
Jason Mauer
9mi ENE of San Jose, CA
It's Launch Day today in Phoenix and Seattle for Visual Studio 2008, SQL Server 2008, and Windows Server 2008. We on The Code Trip wanted to be a part of the launch wave, so we did up an advertisement for Windows Server 2008 when we were on campus a while back. For reasons unbeknownst to us, our ad was given the thumbs down. Here is our rejected ad... just don't tell anybody you saw it here.
David Robinson
9mi ENE of San Jose, CA
Friday night, The Code Trip stopped by Red Bull headquarters for some good ol’ P&P (presenting and partying). I was first to speak and Woody, Buzz and I were talking to some of the people there about how easy it is to provision an SSDS Authority and get an application up and running. 20 minutes before I was about to start speaking, Woody and Jason(Buzz) have the video camera out and we are like ‘DUDE…why don’t you go on video and write an app in the 20 minutes you have before you present?’ So what would this app do? How about a database of drinks you can make with Red Bull :) So I found a soft spot in the corner, fired up my laptop, and started coding. A couple minutes later the guys from TechZulu.com came over and were like “What you doing?” and I told them and they proceeded to start interviewing me as I am coding…All in all, I probably coded for about 5 minutes if you factor in the interview time and the laptop booting up and all the people stopping by to ask questions and say hi… Oh yeah, and I was using a wireless network that had a EVDO uplink to the Internet…
But, I did it…
Here’s what it looks like….
This is probably the best UI design I have ever done. The top text box(without the label) is the name of the drink, and the bottom is the ingredients. I know entering a comma separated list is lame, but I was short on time…Add button, will add the drink entity to the Container.
There is also the Setup SSDS button which creates the Red Bull authority and the Drinks container.
The part I wanted to call out in this demo was not only is SSDS easy to provision and develop against, but i wanted to demonstrate flexible entities. If I was doing this using a relational DB, I would need to have two separate tables. DrinkHeader and DrinkIngredient with a foreign key. So when I insert a new drink, I have to insert 1 DrinkHeader record and N DrinkIngredient records where N = the number of ingredients.
SSDS’ flexible entity model allows me to have each Drink entity have whatever shape, or in this case, ingredients that I require…Lets look at a couple entities from the app…
1: <RedBullDrink>
2: <s:Id>redbull jaeger</s:Id>
3: <s:Version>1</s:Version>
4: <Name xsi:type="x:string">redbull jaeger</Name>
5: <Ingred1 xsi:type="x:string">redbull</Ingred1>
6: <Ingred2 xsi:type="x:string">jaegermeister</Ingred2>
7: </RedBullDrink>
8: <RedBullDrink>
9: <s:Id>redbull vodka</s:Id>
10: <s:Version>1</s:Version>
11: <Name xsi:type="x:string">redbull vodka</Name>
12: <Ingred1 xsi:type="x:string">redbull</Ingred1>
13: <Ingred2 xsi:type="x:string">vodka</Ingred2>
14: </RedBullDrink>
15: <RedBullDrink>
16: <s:Id>Chucks Irish Bomb</s:Id>
17: <s:Version>1</s:Version>
18: <Name xsi:type="x:string">Chucks Irish Bomb</Name>
19: <Ingred1 xsi:type="x:string">2 shots Hpnotiq</Ingred1>
20: <Ingred2 xsi:type="x:string">2 shots Jack Daniels</Ingred2>
21: <Ingred3 xsi:type="x:string">1 shot Vodka</Ingred3>
22: <Ingred4 xsi:type="x:string">1 shot Irish Whiskey</Ingred4>
23: <Ingred5 xsi:type="x:string">1 splash Cherry Juice</Ingred5>
24: <Ingred6 xsi:type="x:string">4 shots Red Bull</Ingred6>
25: </RedBullDrink>
So if you scroll through the entities, you will see that each of them have different ingredients. I don't know who Chuck is, but WOW...
The flexibility of our entity model allows your data to take whatever shape you need. In our case instead of having to use a header/line model, I am able to have my entity contain all my data for my item in one nice and neat package...
And...I was able to use my Excel AddIn to pull it down into a spreadsheet...
Here is the code - for the authority and container setup
1: private void button2_Click(object sender, EventArgs e)
2: {
3:
4:
5: ssdsCreds = new NetworkCredential(RBSSDSUserName, RBSSDSPassWord);
6:
7: string payload = BuildAuthorityEntity("redbull");
8: string RBUri = HttpHelper.PostHTTPWebRequest(RBSSDSUri, payload, ssdsCreds);
9:
10: payload = BuildContainerEntity("rbcontainer");
11:
12: RBUri = HttpHelper.PostHTTPWebRequest(RBUri, payload, ssdsCreds);
13: }
14:
15: static string BuildContainerEntity(string ContainerName)
16: {
17: string ContainerTemplate = @"<s:Container xmlns:s='http://schemas.microsoft.com/sitka/2008/03/'>
19: <s:Id>{0}</s:Id>
20: </s:Container>";
21:
22: return String.Format(ContainerTemplate, ContainerName);
23: }
24:
25: static string BuildAuthorityEntity(string AuthorityName)
26: {
27: string AuthorityTemplate = @"<s:Authority xmlns:s='http://schemas.microsoft.com/sitka/2008/03/'>
29: <s:Id>{0}</s:Id>
30: </s:Authority>";
31:
32: return String.Format(AuthorityTemplate, AuthorityName);
33: }
Here is the code to add the drink
1: static void BuildEntity(string name,string Incredients)
2: {
3: string TenantEntityTemplate =
4: @"<RedBullDrink xmlns:s='http://schemas.microsoft.com/sitka/2008/03/'
5: xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
6: xmlns:x='http://www.w3.org/2001/XMLSchema' >
7: <s:Id>{0}</s:Id>
8: <Name xsi:type='x:string'>{1}</Name>";
9:
10: int x=0;
11: string entity = string.Format(TenantEntityTemplate, name, name);
12:
13: foreach(string ingred in Incredients.Split(','))
14: {
15: x++;
16:
17: entity = entity + String.Format(@" <Ingred{0} xsi:type='x:string'>{1}</Ingred{2}>", x, ingred, x);
18: }
19:
20: entity = entity + @" </RedBullDrink>";
21:
22: HttpHelper.PostHTTPWebRequest(containerUri, entity, ssdsCreds);
23: }
So that’s it.
For more SSDS specific goodness, check out my blog at http://blogs.msdn.com/drobinson
-Dave
Woody Pewitt
28mi NW of Monterey, CA
While at Cuesta College in San Luis Obispo I was doing a demonstration of Internet Explorer 8 Beta and showing off a new add-on type called Activities.
During the demo I had a weak moment and said that it looked so easy to implement that while the bus was driving on the way to Mountain View, CA after the meeting I would implement an Activity for Wikipedia. I thought I understood what I needed to do from just looking at the Windows Live Maps sample but I wanted to make sure.
I found the current documentation Internet Explorer 8 Readiness Toolkit and the Activities white paper and gleaned the rest from the available samples. Here's what I came up with:
<?xml version="1.0" encoding="UTF-8"?>
<openServiceDescription xmlns="http://www.microsoft.com/schemas/openservicedescription/1.0">
<homepageUrl>http://en.wikipedia.org/</homepageUrl>
<display>
<name>Define with Wikipedia</name>
<icon>http://en.wikipedia.org/favicon.ico</icon>
</display>
<activity category="Define">
<activityAction context="selection" >
<execute action="http://en.wikipedia.org/wiki/Special:Search?search={selection}" />
</activityAction>
</activity>
</openServiceDescription>
I did learn that you need to use the proper capitalization for the category so that the new Activity will be grouped with the other Activities of that category in the "Manage Add-ons" dialog.
Once you have the XML file you need to install it, it turns out quite easy to do:
<button
onclick="window.external.addService('http://thecodetrip.com/common/wikipedia_activity.xml')">
Add Define Activity</button>
Now a button like this one (yes it's live) will show up.
So how long did this take? Including a stop at Taco Bell on the way out of San Luis Obispo this took less than an hour to implement! Now that is an easy way to improve the user's experience and help drive traffic to sites.
JD Lewin
San Luis Obispo, CA
My Friday started as innocently enough. Email and breakfast at my cafe, then a long slow mass transit trip to the airport for a flight to LAX. The Red Bull HQ wasn't the sort of place LA cabbies seemed familiar with (but really, are they familiar with anything?), but I got myself there nonetheless. The Code Trip vs. Red Bull Party was largely an exercise in drooling over the gorgeous office space Red Bull calls home in Santa Monica (many thanks to Nate Warner for rolling out the waving wooden carpet).
After a riveting demo of SQL Data Services from Dave Robinson, I adjourned for the evening. Saturday was spent with my good friends Josh Fulton from Incase and the Nemesis of Evil and an early night of sleep.
Today began, well, just watch...
Jason Mauer
8mi E of Los Angeles, CA
Weather modification has been in the news recently with China planning to attempt to control the weather for the upcoming Olympics. This may seem pretty far-fetched to some, but weather modification has been going on for years to a lesser degree, even right here in the States.
After a fun-filled weekend at Boise Code Camp, the Code Trip crew stopped by Idaho Power to check out a .NET application they have running in their Weather Center to do just that -- modify the weather.
Christopher Frye, developer of the application, and Gary Riley, senior meteorologist, give us the rundown on how this .NET app controls remote cloud-seeding generators, resulting in increased snow pack and more power generated through their hydroelectric dam. In this Travel Log segment, see how Idaho Power uses .NET to bring down more snow to meet their electrical needs.
Tim Heuer
37mi SW of Los Angeles, CA
Almost a year ago I learned about preview handlers from an awesome article written by Stephen Toub. Preview Handlers are essentially the 'reading panes' for file types. Think about when you read an email message in your mail client (most of them have some type of reading pane now) as you highlight the message, you get a view next to (or under) of the message contents. Wouldn't it be nice if you could do this for your file explorer or for email attachments? Well, in Windows Vista, you can already. With Outlook 2007, you can also get that feature with email attachments. This feature of preview handlers is a part of those products. The best part is...it is extensible! There are included preview handlers for Office documents, but not for custom ones. After reading the article (and downloading the massive collection that Stephen did), I set out to create my own for PDFs as I wasn't an Acrobat Reader user, but rather a Foxit user. This resulted in the Foxit PDF Preview Handler. There was one caveat, however. You needed Vista.
You see, Vista includes the out-of-process host for previews (prevhost.exe) and because this is included, you can write your preview handlers in managed code. This is great for developers as you simply implement a few interfaces and go to town writing your C# or VB code to handle your custom .foo files or whatever you wanted. For Windows XP users though who wanted the same functionality for the custom file types (i.e., PDF, ZIP, etc.), the same installs would not work. This is because there is no preview host on XP. So to write a preview handler targeting XP, you'd first also have to write the preview host, an out-of-process COM server essentially.
That is where today's code release comes in. When the preview handler article was written, there was a little sidebar about this COM server situation for XP. It was mentioned, but no real implementation shown. Ryan Gregg, a program manager for the Outlook team, had written one for PDFs for Vista or XP and put it out there. He released the binary but not the source. And after Adobe implemented their own preview handler in Reader 8.1, he removed his download. Well, we're bringing it back!
Today we published an MSDN Code Gallery project called the Preview Handler COM Server. This code gallery sample includes the code Ryan used to create his handler. The code is a good demonstration of creating a COM server host in .NET, thanks to some helper code from CodeProject, as well as the necessary code required to implement the preview handler interfaces. In the video attached to this post, you'll see me take 4 minutes describing what amounts to the core piece of this code sample, demonstrating implementing a plain text handler using this code.
And since I got numerous requests for the Foxit handler for XP, you can download it now. It uses this same implementation and adds the funcionality of presenting a PDF using the Foxit ActiveX framework, without having to have any PDF reader installed on your machine. As a reminder this one is for XP and I recommend sticking with the managed handlers for Vista as it already has the preview host as a part of the operating system.
Hopefully this will get you started for developing preview handlers that target Outlook 2007 on Windows XP if that is a need for you!
Tim Heuer
37mi SW of Los Angeles, CA
Telerik, a leading vendor of UI components for ASP.NET and Windows Forms development, has joined The Code Trip. Telerik will be sponsoring some of our remaining events through the Pacific coast. In addition, the team at Telerik will be providing a license of each of the products listed here as a part of our event give-a-ways at the Code Trip stops! These are amazing products to add to your toolbox and another reason you'll want to be sure you catch up with The Code Trip crew soon.
Telerik has provided a license for:
RadControls for ASP.NET AJAX RadControls for WinForms Telerik Reporting Sitefinity CMS Be sure to subscribe to the site for continued information! Thanks to Telerik for their support! There are still a lot of great Code Trip stops happening, so be sure to check out the events section for one near you!