Archives

All posts for the month September, 2011

What is new in Firefox 7?





In my previous post, I highlighted how Windows Metro style apps can be developed utilizing the HTML, CSS, and JavaScript skills you already have. if your world is code, Visual Studio offers a great environment in which to write, edit, test, debug, and deploy these apps. Of course, great apps need great user interfaces. And when you need a visual, design-centric way to build your UIs, we have a brand new flavor of Expression Blend for you, built from the ground up for the visual authoring of Windows Metro style apps written with HTML5 and CSS. unlike most other HTML editors, Blend for HTML is focused on app design, not on Web sites, with an unmatched ability to work on AJAX-style, JavaScript-centric UI.

Blend for HTML provides a rich toolset for authoring HTML and CSS-based user experiences, helping you to create, layout, and style visually on a high-fidelity design surface. in particular, Blend for HTML makes working with CSS a lot more enjoyable: you can focus on concepts rather than on syntax, and you get immediate visual feedback on anything you do. Building great user experiences is usually a multi-disciplinary effort, spanning development and design. therefore, Blend for HTML is built on the same philosophy as our previous releases of Expression Blend for XAML: a rich, design-centric visual authoring environment paired with great developer-designer workflow. where Blend for HTML takes a design-centric view, Visual Studio gives you the code-centric complement. Expression Blend and Visual Studio share the same project files, and they can be used simultaneously by a single person or across a team of people with specialized skills.

Here are a few highlights of the first preview of Blend for HTML:

  • A powerful visual CSS editing environment, with predictable and efficient CSS and HTML5 markup generation. CSS3 adds a range of new layout techniques that are much more appropriate for resizable, dynamic application scenarios. Blend for HTML provides a rich visual environment for the new CSS Grid and Flexbox layout modules.

  • Accurate rendering on the design surface, using the same rendering engine that is employed by the app at run time. just as importantly, Blend can display and edit UI and content dynamically generated by JavaScript code. Because dynamically generated or modified content usually plays a central role in client-side HTML apps, traditional HTML authoring tools that only look at HTML and CSS markup cannot adequately render and edit such UI. Expression Blend, in contrast, runs the JavaScript code of your app right on the design surface, so that layout, controls, dynamic content, and other code-dependent parts of your app appear just as you intended. this gives visual authoring in Blend a lot more reach than in other visual tools. what you see really is what you get, even if it’s dynamically generated.

  • Styling of complex dynamic application states. Interactive apps invariably have complex states that modify the user interface of the app (a simple example would be a dynamically generated fly-out triggered by an event handler). Such states usually cannot be expressed in static markup, making them inaccessible to most visual authoring tools. Blend for HTML solves this problem with Interactive Mode, enabling users to interact with the app on the design surface, and freeze any state reached for subsequent editing. 

  • Visual editing for Windows 8-specific features such as controls and views. most notably, Blend for HTML lets you preview and edit in full, portrait, fill, and snap views, making it easy to design user interfaces that shine regardless of how and where they’re presented.

Along with the Visual Studio 11 Express for Windows Developer Preview, we have also made available a developer preview of Blend for HTML (look for the Expression Blend 5 Developer Preview).   this is just the beginning, and the team and I are looking forward to hearing your feedback.

Expression Blend for HTML

Back in May 2008, K. Scott Allen accidentally called my on Skype, and we joked that we should start a podcast. And then we did – we roped in Kevin Dente and Scott Koon since the four of us tended to argue quite a bit on Twitter anyways – and kind of figured it out as we went along. along the way, we’ve recorded 115 episodes (pretty much an entire week of audio), discussed the comings and goings of myriad technologies, and had the opportunity to talk to some incredible guests.

If you’re not currently listening or subscribing, you can find shows and show notes here, and subscribe here.

Bandwidth

Initially, I tried to host the audio on SkyDrive, quickly found out that SkyDrive files didn’t send correct media headers so it wouldn’t work with FeedBurner. At Scott Koon’s recommendation, I set up a simple WordPress blog at Site5 which has turned out to be a great decision. They’ve had great uptime and phenomenal prices. We pay about $7/month for an unlimited storage and bandwidth, and they’ve delivered that with great uptime as well. Here’s a look at the download bandwidth per-year:

table.border {border-collapse:collapse;}table.border, table.border th, table.border td {border: 1px solid black;} Year Bandwidth (GB) 2008 1830.36 2009 6134.74 2010 10705.6 2011 (to date) 6678.78 Total 25349.48 Popular shows

Here’s a look at our top 25 shows of all time – the listener count is actually a bit higher since we also distribute via BitTorrent, but the order is pretty accurate. Remember that some of these shows have had 3 years to build up a count, so it’s pretty cool to see two of the last 15 (102 and 106) already showing on this list:

Rank Show Title Downloads 1 HerdingCode 0063 Victory in Software Development 29762 2 HerdingCode 0010 LINQ 15410 3 HerdingCode 0011 Glenn Block Part 1 13521 4 HerdingCode 0005 Firefox 3 Released 13084 5 HerdingCode 0049 Search with Bing and Wolfram Alfa 12976 6 HerdingCode 0012 Glenn Block Part 2 12307 7 HerdingCode 0064 Phil Haack on MVC 2 12078 8 HerdingCode 0035 Fun at work 11476 9 HerdingCode 0051 Greg Young on our Grand Failure 10510 10 HerdingCode 0046 Mistakes and News Recap 10481 11 HerdingCode 0037 Jon Udell 10014 12 HerdingCode 0047 Joe Brinkman on Webforms vs MVC 9869 13 HerdingCode 0048 Dustin Campbell on Visual Studio 2010 9751 14 HerdingCode 0102 Tim Caswell on Node js 9664 15 HerdingCode 0027 what every web developer sh… 9659 16 HerdingCode 0009 Rob Conery on SubSonic, MVC Storefont, and the Silverlight Ninja Squad 9402 17 HerdingCode 0058 Presentation Patterns with Jeremy Miller, Ward Bell, Rob Eisenberg and Glenn Block 9389 18 HerdingCode 0050 Damien Guard on LINQ to SQL, Entity Framework, and Fontography 9316 19 HerdingCode 0013 Back To Basics (but which ones?) 9266 20 HerdingCode 0038 NHibernate Performance with David Penton, and Ben Scheirman 9255 21 HerdingCode 0087 Jeff Atwood on Area 51 and Stack Overflow 9213 22 HerdingCode 0032 Windows 7 First Impressions 9118 23 HerdingCode 0059 Web Standards with Milan Negovan 9001 24 HerdingCode 0106 mark Rendle on Simple Data 8980 25 HerdingCode 0015 Chris Tavares 8975

Our top show of all time is Victory in Software Development, talking about an interesting post K Scott had written. I think it was a really interesting discussion, but it’s not clear how that show got so many listens. Stats don’t really show anything obvious. strange.

The full archive is here. for nostalgia’s sake, you might want to check out our Hello World first show.

Show Topics and Guests

The one rule we’ve tried to stick to is avoiding the standard .NET podcast circuit. There are some great, well produced, very popular podcasts out there that cover the standard fare pretty well, and we thought it was important to try to surface topics and guests who are a bit below the radar, especially for the majority of our listenership with a  mostly Microsoft development background. I listen to a lot of podcasts, and we try not to duplicate what any of the others are covering.

A lot of our show topic and guest ideas have come from guest recommendations, so I recently set up the Herding Code Guest Suggestion form to make it easier to submit ideas. Got any?

Show Notes

The show notes and links take a lot of time. We’ve had a good amount of volunteer help on these from Ben Griswold over the years, as he has time available. He really stepped up the quality there – pretty much any topic mentioned during a show is listed in the show notes with links provided. thanks!

Podcast Announcement Posts

Before we set up a site for the podcast, I used to post the episodes here. when I set up the separate site, I thought it was important to keep this blog and the podcast separate. In retrospect, that doesn’t make any sense. I’m going to try to at least announce each show here, but also put in some sample code and additional info that I found interesting while editing and compiling notes.

Herding Code podcast update: 3 years, 115 episodes and 25TB of traffic later…

Read in this issue:

The Visual C++ Weekly Vol. 1 Issue 23 (June 4, 2011)

My last couple of posts have looked at the lighter side of blue screens by showing you how to customize their colors. Windows kernel mode code reliability has gotten better and better every release such that many never experience the infamous BSOD. But…(read more)

The Cases of the Blue Screens: Finding Clues in a Crash Dump and on the Web

Here is the latest in my link-listing series.  also check out my Best of 2010 Summary for links to 100+ other posts I’ve done in the last year.

[I am also now using Twitter for quick updates and to share links. Follow me at: twitter.com/scottgu]

ASP.NET

  • Introducing new ASP.NET Universal Providers: Great post from Scott Hanselman on the new System.Web.Providers we are working on.  This release delivers new ASP.NET Membership, Role Management, Session, Profile providers that work with SQL Server, SQL CE and SQL Azure.

  • SassAndCoffee 0.9 Released: Paul Betts blogs about the latest release of his SassAndCoffee extension (available via NuGet). It enables you to easily use Sass and Coffeescript within your ASP.NET applications (both MVC and Webforms).

ASP.NET MVC

  • ASP.NET MVC Mini-Profiler: the folks at StackOverflow.com (a great site built with ASP.NET MVC) have released a nice (free) profiler they’ve built that enables you to easily profile your ASP.NET MVC 3 sites and tune them for performance. 

  • Precompile your MVC Razor Views: Great post from David Ebbo that discusses a new Razor Generator tool that enables you to pre-compile your razor view templates as assemblies – which enables a bunch of cool scenarios.

  • Unit Testing Razor Views: Nice post from David Ebbo that shows how to use his new Razor Generator to enable unit testing of razor view templates with ASP.NET MVC.

  • Bin Deploying ASP.NET MVC 3: Nice post by Phil Haack that covers a cool feature added to VS 2010 SP1 that makes it really easy to bin deploy ASP.NET MVC and Razor within your application. This enables you to easily deploy the app to servers that don’t have ASP.NET MVC 3 installed.

.NET

  • Table Splitting with EF 4.1 Code First: Great post from Morteza Manavi that discusses how to split up a single database table across multiple EF entity classes.  This shows off some of the power behind EF 4.1 and is very useful when working with legacy database schemas.

  • Choosing the Right Collection Class: Nice post from James Michael Hare that talks about the different collection class options available within .NET.  a nice overview for people who haven’t looked at all of the support now built into the framework.

NuGet

  • NuGet 1.4 Released: Learn all about the latest release of NuGet – which includes a bunch of cool new capabilities.  It takes only seconds to update to it – go for it!

  • NuGet in Depth: Nice presentation from Scott Hanselman all about NuGet and some of the investments we are making to enable a better open source ecosystem within .NET.

June 26th Links: ASP.NET, ASP.NET MVC, .NET and NuGet

I just posted about my experiences writing my third technical book, Wrox Professional ASP.NET MVC 3, along with Phil Haack, Brad Wilson, and K. Scott Allen. we had a general discussion on the latest episode of Herding Code with the Wrox MVC 3 book authors and Jesse Liberty, author of three dozen odd books.

Download / Listen to the show:

Herding Code 118: on the Writing Technical Books (with Jesse Liberty, Phil Haack, and Brad Wilson)

We got a lot of great questions via Twitter before the show, and I think the discussion was really interesting. we covered a lot of topics – here are some that were particularly interesting to me:

Why? are books still relevant?

We had several questions about that before the show. It’s a good question – there’s a ton of information available on the internet, and it’s usually both timely and free. I think Jesse summed this up best:

In terms of rather books themselves have a place as opposed to a world of just blog posts, I would argue that two things happen when you write a book. first of all, your thoughts get organized in a totally different way with a great deal more substance. and secondly, any decent book has a good editor who’s adding tremendous value that just can’t be in blog posts. So I think they serve really different functions. Books are much more comprehensive, blogs are much more up to date and give you bite sized chunks.

I strongly agree – the editorial review process (including technical review) and peer review with other authors improved my chapters from first draft to printed page tremendously. It’s a painful and humbling process at times, but it definitely improves the quality.

Later, Jesse talked about the value of "telling a story" in a book, so that the reader doesn’t need to work to assemble the information and see how the different pieces fit together.

How do you get started writing books?

All of the authors on the show had been invited to write their first book. Usually that came as a result of writing in other mediums first – blogging, newsgroups, magazines, etc. Phil Haack speculated that top StackOverflow authors may be a new source of authors. the main takeaway for me is that working publicly – blogging, open source participation, etc., is the best way to advance your professional career, and author opportunities is one of the many benefits there.

The value of working with several authors

All authors on the show talked about the many benefits of working with others, including:

  • Peer review and feedback
  • Ability to divide work up so each author covers what they know – and can teach – best
  • Ability to maintain a sane work schedule and still release when the technology is still relevant
  • Group discussion on ideas for the book
  • Peer pressure to keep to the schedule

I used to chuckle at the books with twelve authors on the cover, but I see some benefit now. I think the challenge is to maintain consistency among several authors. we discussed that on the show, and I think the best idea we came up with was to make sure the authors read each others’ chapters.

The overall process of writing a book

We talked over our experiences as authors, and Jesse confirmed that it was pretty representative from his dozens of books with several publishers:

  1. Assemble an author team
  2. Get both a table of contents and schedule approved
  3. Get the "author pack" from the publisher, which usually includes some Word templates, screenshot guidelines, and style guides
  4. Submit your first drafts via FTP
  5. Get the shredded remains back after the technical and editorial reviews are complete
  6. Fix the problems and submit the second drafts
  7. Review the final proofs
  8. Profit! (ha, just kidding!!!)

Overall, writing my 3rd books was a great experience, and it was nice to discuss the experience with some other authors across the spectrum of experience levels.

Writing Technical Books