Today was the first full day of the DevConnections 2012 conference, held in Las Vegas. Since I tend to get overwhelmed by all my conference notes and materials when I return home, I thought I would post the interesting bits from the sessions I attended on Day One. This is by no means a complete summary of all the session material, just things I found noteworthy and want to follow-up on later.
Morning Keynote: Connected Devices, Continual Services – Jason Zander, Corporate Vice President, Visual Studio (Microsoft)
- 90% of Visual Studio 11 development teams use Scrum. Approximately 1,000 developers and they have set half the milestones as the last version, with no loss in productivity.
- New “Page Inspector” feature - brings IE “Developer Tools”-like functionality into the Visual Studio environment. Lets you hover over sections of page in Design view and see highlighted sections in code, CSS, JS, etc. all on one screen. I might actually use it instead of Firebug. Maybe.
- Windows 8 emulator was pretty cool and sexy.
- Expression Blend 11 will now have development environment for HTML, previously missing.
- PowerPoint storyboarding, bringing Balsamiq-like mockup functionality to PowerPoint.
- Brian Keller demo’ed the new feedback functionality baked into VS11: can request/give feedback, take screenshots, edit screenshots, add comments, etc.
- Intellitrace diagnostics added to Systems Center Essentials. Our team has been moving toward greater logging/monitoring capacity, starting with the third-party tool Gibraltar. Having Intellitrace data on production apps would be very useful.
- Visual Studio Ultimate Feature Packs
What’s New in SQL Server 2012 Reporting Services – Chuck Heinzelman, Microsoft
- PowerView – new UI design experience and data visualization tool. Self-service data exploration. Requires Tabular BI Semantic Model and SharePoint integrated mode. Uses Silverlight, requires IE or Firefox. PowerView reports can be embedded into PowerPoint; if connected to server/data source, can interact with report within PowerPoint slide.
- Data Alerts – can send email to users upon report conditions. Report feed is simply an Atom feed, so you can subscribe to it. Schedule it to be checked down to the minute and/or when results change. Runs as background service on SharePoint. Requires stored credentials. Email will include link to launch report. Only available if report is running in SharePoint integrated mode.
- SharePoint integrated mode should run faster, though still not quite on par with Native mode.
- Designer for VS2010 can support reports from 2008 and up.
- SQL Azure – SSRS is now available as a service on Azure. Operational reporting against SQL Azure data. Renders reports in ReportViewer controls. Can develop within Visual Studio using SQL Server Data Tools.
- When Chuck asked the audience who was using SQL Azure, no one raised their hands. He seemed surprised.
- SQL Server 2012 Early Adoption Cookbook
Async: New Feature for Responsive Programming in Visual Studio 11 and .NET 4.5 – Lucian Wischik, Microsoft
- Born from Microsoft Research, team has spent two years bringing it to developer fruition.
- The UI message pump is key to async.
- With async, the message pump spins continuously like usual, but is not blocked by long-running processes.
- The Await keyword is like a placeholder for tasks. It helps the program remember where it left off, before it returns to the caller. When the task process finishes, it notifies the message pump, and continues execution at the placeholder.
- Repercussions: you will need to disable UI elements/methods to prevent multiple invokes. It is easy to deadlock when you mix sync and async code, so don’t do it!
- Tasks are a promise of future results.
- Async functions are required to return tasks. As a result, only top level callers can have async subs; otherwise, you must use functions.
- Console apps: since there is no message pump, calls are passed to the thread pool. Returned tasks are posted to another thread. This is not parallelism, just different threads. As a result, you cannot use ThreadLocal storage.
- CancellationTokenSource – cancel requests no longer needed.
- The UI thread is like a single waiter (thread) serving multiple customers (tasks).
- Asynchrony and concurrency don’t need multiple threads.
- No multiple threads = no race conditions!
Using ASP.NET MVC 4, Web API, jQuery Mobile to Create an Engaging Web App Targeting Modern Tablets and Mobiles – Scott Hanselman, Microsoft
- Users accessing web via mobile only: US-UK: 25%; China: 30%; India: 59%; Egypt: 70%.
- If you do nothing else to make your site mobile friendly, add the viewport meta tag.
- To fix your site on the client: custom CSS, media queries, adaptive rendering (responsive design).
- Scott demo’ed his own blog and how it uses adaptive rendering, including the “opt group” syntax to handle his main navigation menu. Also has a post on how to make embedded YouTube videos fluid and responsive.
- Mediaqueri.es - Gallery of cool responsive designs, with four different breakpoints for each site.
- 51degrees.mobi - open source database of devices along with dpi, width, etc. You can query the database for your custom CSS.
- ImageResizer – NuGet package provides API for manipulating images. Works server side.
- To fix your site on the server:
- Custom mobile views using display modes.
- Mobile UI frameworks: jQuery Mobile comes included with MVC, but Sencha Touch, Kendo UI are others.
- Electric Plum – mobile device simulator.
- MobileFirst movement – design for mobile first, desktop second.
- GetSkeleton – Boilerplate HTML/CSS template for responsive design.
- 320AndUp – Another boilerplate template.
- In the global.asax, use the DisplayModeProvider to add new “displayModes” for different devices.
- Unlike desktop apps, Metro apps use the same WinRT APIs whether they are XAML or HTML/CSS based.
- Use the skillset you have, whether it’s XAML or HTML. Both have same tooling, same WinRT.
- If you’re a XAML developer, you’re already a Win8 developer.
- Windows 8 is a content-centric UX: it’s about what you don’t see, what’s left out: extra chrome, extraneous navigation, etc.
- File types/templates are all about consuming and displaying data: grid groupings, split applications, etc.
- Windows 8 has new namespace, new controls.
- Handling events is about handling the Touch APIs: pointers, gestures, and manipulations.
- WinRT consolidates mouse, stylus, and touch inputs; handle via Case statements?
- Styling is like painting a wall from blue to red.
- Templates are like changing a wall to a window.
- Three ways to use animations: use baked in animations, roll your own custom animations, and use the Animations library.
- One ASP.NET – feedback has been that the New Project dialog in Visual Studio is like a frightening fork in the road, and once you make a decision you are stuck with it forever. Team wants to change that perception.
- MVC 4 comes with Modernizr, jQuery, jQuery Mobile. HTML5 requires polyfilling for browsers that don’t support those elements yet.
- jQuery Intellisense in Visual Studio 11
- Scott Hanselman was joined by Scott Hunter and Scott Guthrie to announce the “open-sourcing” of ASP.NET MVC, Razor, and Web API on Codeplex. http://aspnetwebstack.codeplex.com
- Miguel de Icaza was the first “third-party” to request a pull on the project. Watched it live during presentation.
- Contributors will have to submit an agreement, stating that the code is theirs (and not their employer’s, etc.)
- All code will go through same review, unit testing, security testing, etc. as code written by Microsoft team. Same standards applied to other open source project incorporated into ASP.NET MVC: jQuery, Modernizr, JSON.NET.
- Subscribe to project’s RSS feed to follow check-ins.