CSS Specificity is the litmus test used to decide which of the ‘cascading’ styles in CSS will ultimately take precedence when the page is rendered in the browser. This short video demonstrates a quick way to quantify CSS specificity making it easy for you to know which CSS rules will render and which are overridden.
Understanding CSS Specificity
Painless Virtual Machine Management with XP-More
Working with beta software is hazardous to any developer’s machine, but betas are also a way of life. Therefore a good virtual machine strategy is important in order to keep those beastly betas at bay. XP-More is a open source tool that helps ease the pain of creating and managing VMs.
Here’s an excerpt from the project’s home page:
What is XP-More?
XP-More is a tool that helps manage Windows 7 Virtual Machines (XP Mode and any other). Specifically, it makes duplication of VMs a no brainer - no more raw XML editing and manually duplicating files.
Why is XP-More needed?
The built-in VM management capabilities are quite basic. If all you're looking for is an XP environment, you can make do with that. However, if you'd like to duplicate existing VMs, there's some delicate manual work you'll have to do. That is, unless you have XP-More. XP-More is a free and portable tool, which helps you manage your virtual machines. Want a new environment where you can test-drive the latest VS2010 RC? Want to create a backup of an existing installation before you make some changes? Just click a button, and your done.
Podcast: Advanced MVVM with Josh Smith
Author, Microsoft MVP and accomplished pianist Josh Smith, Sr. UX Developer at IdentityMine, joins the show to discuss some of Model View ViewModel’s more advanced scenarios.
Full Speed: | download | |
---|---|---|
Fast Version: | download |
Josh shares is experience using MVVM gives some real-world advice on:
- Using modal dialogs
- Evils and virtues of code behind in views
- Use of attached behaviors
- Undo/redo strategies
- Working with animations
- Building a task based architecture for managing communication between View and ViewModel
- Frameworks in the MVVM space
The Book
Get first-hand experience implementing the solutions to the challenges discussed in the show by reading Josh’s new book ‘Advanced MVVM’.
Resources
The following resources are mentioned in the show:
Podcast: MVC Turbine with Javier Lozano
Javier Lozano (@jglozano) joins the show to discuss his project MVC Turbine. What is Turbine? The official website states:
MVC Turbine is a plugin for ASP.NET MVC that has IoC baked in and auto-wires controllers, binders, view engines, http modules, etc. that reside within your application. Thus you worry more about what your application should do, rather than how it should do it.
Full Speed: | download | |
---|---|---|
Fast Version: | download |
MVC Turbine
During our conversation we discuss the following questions and topics:
- What is MVC Turbine?
- What are some practical examples for using Turbine?
- Javier discusses the concept of a Turbine “blade”
- How Turbine works with Portable Areas as well as with the Managed Extensibility Framework
- How Turbine facilitates dependency injection and service locator (Javier strongly advises against using service location, but Turbine will support it)
- Learn about Turbines main areas of functionality:
- Registration
- Engine
- Blades
- Container
- Custom features
- Inferred actions – how Turbine will return a view that doesn’t have a controller if you are trying to access a static page
- Injectable filters: hydrate instances of filter classes from injection from Turbine
- Register a filter directly to a container
- What about Turbine for non-MVC applications?
- Turbine Version 2.1 is now available
- Turbine now batches registrations
- Future plans
- Leverage MEF
Resources
- MVC Turbine Project website
- Javier’s Blog
- Like MVC Turbine and want to see it baked into the ASP.NET MVC runtime? Check out this UserVoice thread: Put IoC Front and Center
- Should Javier Lozano legally change his name to 'Awesome Lozano' so all his projects can be officially deemed "Powered by Awesome"?
- Send MVC Turbine feedback to the Google Group
Mastering ASP.NET 4 on TekPub
Check out my latest series on TekPub, Mastering ASP.NET 4. This is a working-programmer’s guide to getting up-to-speed on all the new advancements found in ASP.NET 4.
Windows Phone 7 and the Robotic T-Shirt Cannon with Clint Rutkas
While is New Orleans for TechEd I had the opportunity to interview the brains behind the robotic t-shirt cannon highlighted at MIX10. Check out this short interview with Coding 4 Fun’s Clint Rutkas where he talks about building the Windows Phone 7 controller for the robotic cannon!
The Fundamentals of WebMatrix
Earlier this week Scott Guthrie announced the release of WebMatrix – a new developer tool and development stack based off ASP.NET. I’ve been playing around with WebMatrix and the new view engine called Razor by experimenting with an upcoming jQuery rating control from Infragistics as well as building a personal website.
WebMatrix is simple to use and and Razor syntax is a lot of fun, but when learning something new it’s nice to have some docs handy. One of the goals that the ASP.NET team had with the release of WebMatrix was to have a rich set of documentation to accompany the release. Going beyond help files, what they are providing is more of a book than traditional toolset or framework documentation. Here are links to each chapter:
- Getting Started
- Coding with Razor Syntax
- Creating a Consistent Look
- Working with Forms
- Working with Data
- Working with Files
- Working with Images
- Working with Video
- Adding Email to your Website
- Adding Social Networking
- Analyzing Traffic on your Website
- Adding Caching for Faster Websites
- Adding Security and Membership
- Introduction to Debugging
- Customizing Site-Wide Behavior
- ASP.NET Web Pages API Reference
- Visual Basic Language and Syntax
A book, in fact, is exactly what they are calling it. If you are interested in a slimmed-down path to web development for quick sites and people just getting started in web development then WebMatrix and this book may be perfect for you.
There is only one problem – every book needs a cover! So I cracked open Photoshop and imagined this:
Note: The "stack" image is courtesy of the WebMatrix product page.
Who knows... maybe it’ll make its way to official website? ;)
Quiz: Is WebMatrix Right for You?
Last week I published a few posts on WebMatrix and Razor. The first was a preview of a jQuery Rating Control in WebMatrix with Razor from Infragistics and the other was a fun post displaying my imagined cover for the WebMatrix book.
I was a little disheartened though when I got this comment on one of the posts:
Wow, that looks pretty horrible. I hope that the examples are just the usual marketing fluff to show how easy it is, and not intended to be how apps are actually written in this thing. Reminds me of the worst parts of PHP and ASP, before folks started understanding how to apply good separation of concerns to web development.
Now to be honest when I read the first line, I thought he was saying my design was horrible, but then I realized that he just didn’t get the intent of the WebMatrix effort. My guess is that this is the kind of guy I'd like to spend a couple of hours talking shop. I can tell from his passion that he's an accomplished developer who cares deeply about the quality of guidance and frameworks/tools that are made available to the developer community. The thing is these new tools aren't intended for him and in all probability, WebMatrix is not for you.
WebMatrix is a stack and tool for folks just entering the ASP.NET development arena. The hope is WebMatrix will provide an easy on-ramp to the enterprise worthy frameworks for the those new to the party. WebMatrix is more concerned with you learning the fundamentals than allowing you to effectively separate the concerns of your application, unit test every aspect of your site or create an n-tier solution.
So I thought what better way to illustrate the point than with a silly little quiz to help guide the way! With all apologies to The Oatmeal, I present to you:
Podcast: HTML5, CSS3 and More Developer Enhancements in IE9
Senior Project Manager for Internet Explorer, Pete LePage (@petele), joins Pixel8 to discuss the upcoming HTML5 and CSS3 support for IE9 along with a review additional developer enhancements coming in IE9.
What’s Coming in IE9?
- Hardware acceleration
- HTML5
- CSS3
- JavaScript optimizations
- Selection API
- Media queries
HTML5… So What’s Taking So Long?
- The spec has some stable parts, but much of it is still some still volatile
- Pete discusses how the W3C will decide when the HTML5 spec is “done”
- Dangers of developing against a moving target (for browser makers as well as web developers)
HTML5 in IE
You can experience the ongoing support for HTML5 by visiting http://ietestdrive.com:
Parts of HTML5 that are support in IE9 include:
- Video
- Audio
- CSS3
- Transparency
- SVG graphics
- XHTML support
Also in the interview…
Pete and Craig also discuss:
- Are the Browser Wars Back?
- What is the Platform Preview?
- How is JavaScript processing affected?
- What parts of the CSS3 spec are being implemented in IE9?
- How do media queries work?
- What does the selection API do?
Professional Activity August 2009 to Date
Every year around this time I turn my attention to what I’ve done over the past year in order to update my MVP profile. While the engine Microsoft provides has many ways to list accomplishments and activities, I’ve always had a difficult time trying to find the right way to list my activities over the year.
Often at the end of the year bloggers will list links to the “greatest hits” posts for readers to review. I thought I’d turn it up a notch. The following links represent just about everything I’ve done from August 2009 to date.
Hopefully you’ll find something fun or valuable below that you may have missed this last year :)
Pixel8 Podcast Episodes
- Magic, Mind-Controlled Interfaces and What Makes an Experience Architect
- Introducing 'Shazzam' with Walt Ritscher
- Data Visualization in the Wild: Chart Analysis with Dr. Tobias Komischke
- User Engaged Prototyping with Billy Hollis
- ASP.NET Simplicity and Performance with Scott Hunter
- Silverlight 4 with Tim Heuer and Jesse Liberty
- ASP.NET Ajax Library Beta with Stephen Walther
- Silverlight 4 with Jeff Prosise
- The Invisible UI : Natural User Interfaces with Josh Blake
- Windows Phone 7 and the Robotic T-Shirt Cannon with Clint Rutkas
- HTML5, CSS3 and More Developer Enhancements in IE9
Polymorphic Podcast Episodes
- ASP.NET AJAX Preview 6 with Stephen Walther
- nBuilder, Ugly Outfitters and VM Workshop
- Portable Areas with Jeffrey Palermo and Eric Hexter
- Advanced MVVM with Josh Smith
- MVC Turbine with Javier Lozano
Blogs
ASP.NET Blog
- Using Firebug and jQuery
- Expression Blend Design Time Data Using MVVM
- Updated Video for ‘Using Firebug and jQuery’ Post
- 15 Desktop Backgrounds to Support .NET Development (and pay homage to the Gu)
- Magic, Mind-Controlled Interfaces and What Makes an Experience Architect
- ASP.NET AJAX Preview 6 with Stephen Walther
- VM Workshop: Model View ViewModel (MVVM) and the Presentation Model Pattern in 5 UI Platforms
- Serialize and Deserialize JSON
- Integrating Infragistics Drag & Drop with jQuery and Microsoft Ajax Preview 6
- Win Asus Netbook or NetAdvantage for .NET While You’re NotAtPDC!
- Silverlight 4 with Tim Heuer and Jesse Liberty
- nBuilder, Ugly Outfitters and VM Workshop
- 12 Ways to Simplify ASP.NET and Visual Studio
- ASP.NET Simplicity and Performance with Scott Hunter
- Presentation: ASP.NET AJAX 4 at Inland Empire .NET User Group
- Lazy Loading JavaScript Files Using ASP.NET AJAX Script Loader
- ASP.NET Ajax Library Beta with Stephen Walther
- Amazon Kindle When You Don’t Own a Kindle
- Podcast: Portable Areas with Jeffrey Palermo and Eric Hexter
- Presentation: ASP.NET AJAX 4 at the Orange Country .NET User Group
- Presentation: ASP.NET Ajax Library at the Los Angeles .NET User Group
- Mastering ASP.NET Ajax Library on TekPub
- Episode 3 of ‘Mastering ASP.NET Ajax Library’ Now Available
- Podcast: The Invisible UI : Natural User Interfaces with Josh Blake
- Presentation: ASP.NET Ajax Library at Southern California .NET Architecture User Group
- Understanding CSS Specificity
- Painless Virtual Machine Management with XP-More
- Podcast: Advanced MVVM with Josh Smith
- Podcast: MVC Turbine with Javier Lozano
- The Fundamentals of WebMatrix
- Quiz: Is WebMatrix Right for You?
- Podcast: HTML5, CSS3 and More Developer Enhancements in IE9
- How a User Group Gave Away Over $65,000 in Prizes with Class
Infragistics Blog
- 8 Essential Infragistics Screencasts that Get You Up to Speed on the Latest Releases
- 3 New Silverlight Data Visualization 2009.2 Videos
- Learning Model View ViewModel and Presentation Model
- Accessing Infragistics JavaScript Files Directly
- Integrating Infragistics Drag & Drop with jQuery and Microsoft Ajax Preview 6
- Win Asus Netbook or NetAdvantage for .NET While You’re NotAtPDC!
- Video: Introducing 'Shazzam' with Walt Ritscher
- Video: Data Visualizaion in the Wild: Chart Analysis with Dr. Tobias Komischke
- Video: User Engaged Prototyping with Billy Hollis
- Podcast: ASP.NET Simplicity and Performance with Scott Hunter
- WebDropDown Lazy Loading : Additional Approaches
- Podcast: Silverlight 4 with Tim Heuer and Jesse Liberty
- WebDataGrid Basics
- WebDataGrid FAQs and Introduction to Quince Pro
- Silverlight 4 with Jeff Prosise, WebDataGrid CRUD & Validation
- What is the difference between WebDataGrid AutoCRUD and manual CRUD?
- Announcing the WebDataGrid FAQ
- The Sweetness of Quince Pro
- Previews of the Upcoming 2010.1 Release
- Podcast: The Invisible UI : Natural User Interfaces with Josh Blake
- Reaching for jQuery Mastery
- Visual Studio Theme Generator
- Check Out the Gradient Maker Tool
- Html Encoding Tool for Publishing Markup Online
- Box Selection, Variable Pinning and 8 Other Cool New Features of Visual Studio 2010
- Faster Responses, More Content and Better Infragistics Help
- NetAdvantage 10.2 Video Rollup
- Webinar: What's New in NetAdvantage for .NET 2010.2
- Webinar: What's New in the NetAdvantage Data Visualization Toolsets
- Introducing the Infragistics Content Delivery Network (CDN)
- Video: Windows Phone 7 and the Robotic T-Shirt Cannon with Clint Rutkas
- Running the NetAdvantage Toolbox Installer
- German Localized Strings Now Available in NetAdvantage 10.2
- Improved Collaboration, More Customization and Other New Features in Quince
- Introducing Infragistics Startup Solutions
- Infragistics jQuery Rating Control in WebMatrix with Razor
- WebRating HTML5 Support, CSS Based Layouts, Custom Images and More...
- HTML5 in Internet Explorer: What’s Taking So Long?
Infragistics Product Screencasts
- Lap Around ASP.NET AJAX Client August 2009 CTP
- Getting Started with the WebHierarchicalGrid
- Binding the WebHierarchicalGrid to a ViewModel
- Using the Ajax Indicator in the WebDataGrid
- Understanding & Overriding Auto Detect Editors in the WebDataGrid
- Multi-Band Support in the WebHierarchicalDataGrid
- Using the DropDownEditor in the WebDataGrid
- Integrating Infragistics Drag & Drop Framework, jQuery and MS Ajax Preview 6
- Accessing Extra Data in Data Bound Controls
- Explicitly Setting the Location of the Row Edit Template in the WebDataGrid
- WebDataGrid 101: Fill the Grid with Data and Change the Look and Feel
- Data Binding the WebDataGrid to Common Data Sources
- WebDataGrid Client-Side CRUD
- WebDataGrid Validation
- WebDataGrid AutoCRUD
- WebDataGrid Manual CRUD
- WebDataGrid Changing Row Styles
- Introduction to the WebTab
- Introduction to the WebExplorerBar
- Introduction to WinControlContainerEditor - Edit Only Templates
- Introduction to WinTilePanel
- Introduction to WinTimeLineView
- Introduction to WinMessageBoxManager
- Introduction to WinSplitter
- Introduction to XamDataGrid Data Value Changed Event
- Introduction to XamDataGrid Excel Exporting
- Windows 7 Default Multi-Touch Gestures in NetAdvantage
- Introduction to xamMaskedEditor & xamDateTimeEditor Spin Buttons
- Introduction to xamDataCards
- Introduction to xamTiles
- Introduction to xamBulletGraph
- Introduction to xamRadialGauge
- Introduction to WPF Data Visualization Excel Library
- Introduction to xamTimeLine
- Introduction to the XamWebBulletGraph Control
- Using Geographic Information in the XamWebMap
- Using Spatial Data in the XamWebMap
- Introduction to the Infragistics Silverlight Drag and Drop Framework
- Create Load Animations While the XamWebGrid Loads
- Using Summary Columns in the XamWebGrid
- Introduction to the XamDateTimeRangeSlider Control
- Introduction to the XamDateTimeSlider
- Introduction to the XamNumericRangeSlider
- Introduction to the XamNumericRangeSlider
- Introduction to the XamNumericSlider
- Introduction to the Virtual Collection Class
- Introduction to xamWebGrid Unbound Columns
- Introduction to xamWebGrid Template Column Layouts
- Introduction to xamWebGrid Data Filtering
- Introduction to the Infragistics Compression Library
- Using the VirtualCollection for Server-Side xamWebGrid Paging
- Introduction to Silverlight Data Visualization Excel Library
- Introduction to xamDataChart
- Navigating the xamDataChart
- Introducton to xamPivotGrid XMLA HTTP Access for SQL Analysis Services
- Introduction to xamTreeMap
- Introduction to the XamGrid Column Chooser
- xamDataChart Real Time Data
- Introduction to Quince Pro
Infragistics Product Articles
- Accessing Extra Data in Data Bound Controls
- Getting Started with NetAdvantage ASP.NET
- Data Binding the WebDataGrid to Common Data Sources
- WebDataGrid 101: Fill the Grid with Data and Change the Look and Feel
- WebDataGrid Client-Side CRUD
- WebDataGrid DataViewState vs ViewState
- WebDataGrid Validation
- HTML5 Mode and Other Goodness in the WebRating Control
- Styling the xamWebGrid Group By Area
- Using the VirtualCollection for Server-Side xamWebGrid Paging
- Extension Methods for Navigating the xamDataChart
Video Interviews
How a User Group Gave Away Over $65,000 in Prizes with Class
I had an amazing time last night at the Inland Empire .NET user group run by Founder and President James Johnson (@latringo). The celebration marked the 3rd annual Most Valuable Member awards ceremony. Thanks to Mr. Johnson this user group meeting went far beyond what you think of when you consider a typical meeting. There was catered food, three presentations, an endless stream of giveaways and a true sense of community!
The night began with James welcoming the group of 50 or so members and guests with a quick recap of the last year. Here are some of the highlights:
- A steady stream of accomplished presenters
- Two 10-week weekend study programs featuring in-depth training on ASP.NET MVC and SQL Server
- A thriving book review program featuring over a dozen reviews and $450 in review awards given back to members
- Status on the support for the a sister group, the Zambian Developer’s User Group
After thanking sponsors and prepping the crowd for the first presentation, the food arrived. When was the last time you saw something like this at a user group meeting?
Presentations
The second act of the night were three short, yet dense presentations on a wide array of topics.
Tales from Access 2007 in the Wild
I don’t remember the title of Davis DeBard’s talk off the top of my head, but he quickly plunged the audience into a series of Access gotchas with strategies of how to deal with each problem. One of the points that sticks out the most is his mention of “phantom breakpoints” that cause an Access application to hang even when it’s not being run in debug mode. Davis rolled out a number of these types of tips and tricks that made for an interesting talk even for someone who doesn’t live in the Access world.
The Worst of Legacy Code – Forensic Development
The next talk given by Llewellen Falco (@isidore_us) and Jason Kerney (@bagheer) entitled “The Worst of Legacy Code – Forensic Development”. This was not only my favorite talk of the night, but perhaps one of best technical presentations I’ve ever seen. Their talk began with an engaging introduction where Llewellyn introduced Jason and then Jason returning the favor. There was stage presence to the format and and they had my undivided attention from the moment they began.
This talk had it all, they told a story, they were funny and even worked a few skits into the talk. The tag-team approach of Llewellyn and Jason complimented the material as they seamlessly transitioned from one principle to the next.
Okay enough gushing about the delivery – the content was superb as well :)
The premise of the talk lies in imagining you are a developer whose job is simply to maintain code. You are a maintenance programmer who must work with code that you probably did not write and certainly were not in charge of up-front design. What if you are this developer at at 4:30pm on Friday the pointy-haired boss tells you that that bug #54 must be fixed before you leave for the weekend. How do you go about finding the bug? How do you know if the bug is really fixed?
One of the first things they did was pass out a sheet of paper with some of the code to debug during the talk. Look close… what do you see?
Debugging code you are unfamiliar with is bad enough, but they endeavored to teach you to debug code that is in Russian no less!
The concepts are simple yet powerful:
- Run the code: Try to simply run the code as-is. Try to ignore database connections and any other environmental dependencies
- Peel off hindrances: Should a database connection or access to the file system stop you from running, “peel” this code off in to a separate method and attempt to move into working code by bypassing the dependencies
- Slice out embedded errors: If there are some errors deep in the code, “slice” them out of the method by using mock objects
The metaphor they used was how you might approach eating a mango:
In the end, the audience was given tools to use the very next day on debugging existing applications.
There was a lot to take away, but some of my favorite quotes from the presentation are:
Don’t think if you don’t have to...
This means let the compiler tell you where the problems are. Systematically peel and slice at the code until you get to the core problem.
Don’t be creative if you don’t have to...
When you create new methods to support the extracted maintenance code don’t try to design an API. If you are working on CreateLoans and you extract some logic to a new method, a name like CreateLoans2 is perfect.
Forensic development indeed!
SmartCare
The final presentation of the night delivered by Lynn Langit (@llangit) is noteworthy for a completely different reason. Lynn shared her experience working with Zambian developers to create SmartCare. The SmartCare system is an electronic health record system that, among other things, uses smart card technology to store patient medical records. Lynn’s involvement with the projects has spanned a number of years and her dedication and passion for the people of Zambia were paramount to her talk.
To learn more about the SmartCare system, watch Lynn’s interview with Mwansa Lumpa during the 2009 TechEd Africa.
Most Valuable Member Award
The final act unfolded when James began to describe the Most Valuable Member program to the audience. The origins of the program come from James’ 8 year helm of the user group and his desire to see members more involved. The incentive program of Most Valuable Member came to life when James began awarding points for members to:
- Help with meeting setup and tear down
- Write technical blog posts
- Conduct book reviews
- Help facilitate meetings
- etc..
Silence fell across the room when James announced that as he began to work with sponsors, the prize packages valued at $20,000 for the two runners-up and a whopping $25,000 for the final Most Valuable Member winner!
2009 – 2010 Inland Empire .NET User Group Winners
- Most Valuable Member, George Ande
- 1st runner-up, Rick Martinez
- 2nd runner-up, Matt Penner
Other Notable People in Attendance
- Photographer, Josh Highland (@joshHighland)
- Newly awarded Silverlight MVP, Cigdem Patlak (@crocusgirl)
- Last year’s MVM award winner, Volkan Uzun (@volkanuzun)
- Denny Cherry
Full Disclosure
My employer, Infragistics is a sponsor of the Inland Empire .NET User Group and provided sponsorship for the MVM event. I also think James Johnson is one of the nicest guys you’ll ever come across ;)
Software Craftsmanship with David Starr
David Starr (@ElegantCoder) is the Curriculum lead on Developer Tools and Practices with Pluralsight. His enthusiasm and passion for raising the bar in software development makes him perfect to join the show to discuss software craftsmanship. David explains what craftsmanship is, how it’s related to the agile movement and how to get started. When he’s not busy leading classes for Pluralsight David hosts Pluralcast podcast and is the founder of ElegantCode.com.
Full Speed: | download | |
---|---|---|
Fast Version: | download |
Resources
ASP.NET Sprite & Image Optimization Framework Intro in WebForms
The ASP.NET team released a preview of the Sprite and Image Optimization framework yesterday. Here's a quick video to get you started.
Note: Make sure to watch it in HD by following this link or switching the player below 480p resolution to see the text clearly.
Enjoy!
Fundamentals of HTML5 Talk at SoCal .NET User Group
I had a great time last night presenting the Fundamentals of HTML5 to the friendly faces at the SoCal .NET User Group. Lionel Wong and Art Villa run a great group!
During this talk, I discussed the new semantic tags and the various JavaScript APIs available in HTML5. If you were at the meeting and would like to review the code, you may download it here.
Podcast: Introduction to HTML5
The web is a-swirl with talk of HTML5. (Seemingly even Windows 8 programming is soon to include HTML5). With all this talk come some questions:
- What exactly is HTML5 anyway?
- Is HTML5 just the next iteration of XHTML?
- When are you able to use these new features and which parts of the spec are still in their infancy?
- What is the significance of the year 2022? (Hint: it’s not the end of the world!)
In Introduction to HTML5 I answer these questions and more. During the show I review the new sematic markup and HTML attributes along with the JavaScript API’s slated to ship with HTML5.
Enjoy!
Full Speed: | download | |
---|---|---|
Fast Version: | download |
Resources
Free HTML 5 Training - Today is the Day to Begin Your HTML 5 Journey!
If you haven’t noticed yet the guys at Pluralsight have made my Introduction to HTML 5 course available for FREE for the next couple of days during BUILD. While this course is available you’ll learn all about the new HTML 5 tags and JavaScript APIs. Demos include:
- creating new HTML 5 semantic markup
- using the new FORM input types
- working with the Canvas element and API
- working with VIDEO and AUDIO elements
While you’re there you’ll notice that there is a huge library of useful courses, so I hope you get a chance to take a look around. Once acquainted with the basics, you may want to move on to the HTML 5 Advanced Topics course which takes you through:
- building HTML offline applications
- locating devices through geolocation
- saving state with Web Storage
- implement UI threading with Web Workers
- implement server messaging with Web Sockets
- expose HTML data to users as well as machines with Microdata
A huge thanks to the Pluralsight team for making this all possible!
HTML 5 Offline Web Applications Webinar Downloads
Thanks to all who joined me this morning for my HTML 5 Offline Applications webinar compliments of the guys at Pluralsight. I had an opportunity to dig a bit into the application cache API as well as discuss some of the distinctions between local storage, client-side databases and offline applications. Thanks for all the great questions!
The code shown in the demos is available for download here. The only part excluded from the download is the “donut-hole” caching sample I showed at the end. That code will appear in an upcoming MSDN article and I can make it available for download once the article is published.
If you have any questions, feel free to catch me on Twitter or contact me via email.
If you like what you saw and want to dig in further into HTML 5, make sure to spend some quality time with my HTML 5 Fundamentals and HTML 5 Advanced Topics courses. These two resources will surely give you a head start on your journey into HTML 5!
Presentation: ASP.NET Ajax Library at the Los Angeles .NET User Group
Thanks to all who joined my tonight at UCLA for my talk on the ASP.NET Ajax Library. If you are looking for the code to download from the talk you can get it here.
Mastering ASP.NET Ajax Library on TekPub
When Rob Conery (@robconery) and James Avery (@averyj) announced TekPub, I remember thinking, "why didn’t I do something like that!?" :)
If you are not yet familiar, TekPub is website that provides high-quality screen-cast series on various subjects. The current catalog features the following series:
- Concepts
- Coder to Developer 2009
- Mastering Git
- Mastering NHibernate
- Building My Blog: Hana
- Linux for Softies: Setting Up Apache with Rails
- Mastering jQuery
- Mastering ASP.NET MVC 2.0
- Mastering LINQ
- Build Your Own Blog: Rails
What’s nice about a TekPub series is that you get professionals taking you step-by-step through a given technology. Books are great, but there’s always a little added magic when you get to see and hear the implementation and explanation of what’s being presented.
Sure, I’m biased though because I am very excited to tell you about the latest series in the TekPub family ‘Mastering ASP.NET Ajax Library’.
In this series I plan to cover the following aspects of the ASP.NET Ajax Library:
- Introduction to the Framework
- Script Loader
- Basic Concepts
- Using the CDN
- Managing Dependencies
- Integrating Custom Scripts
- Lazy Loading Scripts
- Minifying Scripts for Debug and Release Modes
- DataView Control
- Basic Concepts
- Introduction to Declarative Data Binding
- Introduction to Imperative Data Binding
- Changing Data Sources
- Changing Item Templates
- Working with Different Binding Modes
- Auto
- One Way
- One Time
- One Way to Source
- Two Way
- Working with Binding Customizations
- Custom Value Converters
- Default Values Converters
- Default Values
- Template Manipulations
- Creating Headers, Footers and locating alternate rows
- CSS Class Conditional Assignment
- Formatting Bound Items
- Fetching Data
- Static HTML
- ASP.NET WebForms
- ASP.NET MVC
- WCF Data Services Integration
- Working with the Data Context Control
- Declarative Approach
- Imperative Approach
- Examples of the Unit of Work pattern
- Observer Pattern Framework
- Basic Concepts
- Working with Single Objects
- Working with Arrays
- Disconnected Bindings
- Case Study
- Implementing an editable grid
This is just a preliminary outline as ASP.NET Ajax is currently in beta and the series will also cover further changes up until the RTM release.
The price is modest for the series, $20 for all the episodes, but feel free to check out the first episode on the ScriptLoader for FREE! *
* Update: You get the first 12 minutes for free, my mistake :)
Expert Tip
I record and watch a lot of screencasts, so take it from your uncle Craig and download the video files and play them at 1.4x, 2x or even faster speeds so you can digest the information as quickly as possible. If you miss something or you need to review, you can simply slow playback to the normal rate and rewind, but having this type of “consumption control” is one of the great reasons to use audio and video for learning!
Episode 3 of ‘Mastering ASP.NET Ajax Library’ Now Available
The latest episode of my series Mastering ASP.NET Ajax Library is now available! In this episode you’ll see how to inject code into a DataView in order to customize how the template is rendered. You’ll also learn about the $context, $element and $index pseudo columns.
My favorite part about this episode is when we explore all that’s available with the instance of the $context pseudo column. There is so much already available to you during data binding!
I am currently working on episode 5 where I take you step-by-step through the Library’s implementation of the Observer pattern. I hope you are able to get the series. Hopefully it helps makes developing Ajax applications a little more fun and makes you more productive!
Podcast: The Invisible UI : Natural User Interfaces with Josh Blake
Josh Blake of Infostrat joins Pixel8 to discuss NUI development in .NET. Josh is the author of the upcoming book Multitouch on Windows from Manning. Reaching far beyond theory and the niche market of Microsoft Surface, NUI development is now possible with Silverlight and WPF development on Windows 7 and Windows 7 Mobile devices.
The Natural User Interface (NUI) was a prominent force at MIX10. What is NUI? Wikipedia defines it as:
Natural user interface, or NUI, is the common parlance used by designers and developers of computer interfaces to refer to a user interface that is effectively invisible, or becomes invisible with successive learned interactions, to its users. The word natural is used because most computer interfaces use artificial control devices whose operation has to be learned. A NUI relies on a user being able to carry out relatively natural motions, movements or gestures that they quickly discover control the computer application or manipulate the on-screen content. The most descriptive identifier of a NUI is the lack of a physical keyboard and/or mouse.
In our interview Josh demystifies what NUI is, makes a distinction between gestures and manipulations, and talks about what is possible today for NUI development.
For more from Josh make sure to check out his book:
and watch his MIX Presentation:
Developing Natural User Interfaces with Microsoft Silverlight and WPF 4 Touch
Resources Mentioned in the Show
Check out the following videos that show the roots and future of NUI development:
Jeff Han's Multi-Touch TED Presentation
Microsoft Surface
Project Natal
MIX10 Day 2 Keynote
A few times during our talk Bill Buxton’s work is mentioned. To see his segment of the MIX10 day 2 keynote, click below:
Presentation: ASP.NET Ajax Library at Southern California .NET Architecture User Group
Big thanks to Mike Vincent and David Wells of the Southern California .NET Architecture User Group for inviting me to speak this evening! If you are looking for the code and the slides you can download them here.