Upcoming Developer Events(New England & Upstate NY)
Welcome to February. It’s time for a new roundup of developer-focused events that you may find interesting. Most are free, but the exceptions are noted with [$].
Interested in other local user groups? Boston User Groups lists New England area tech groups of all kinds.
As always, if you know of other (free or nearly free) developer-focused events, please let me know.
-Chris
[Last updated 2/7/12]
February 2 Fairfield/Westchester .NET User Group – Stamford, CT “Azure, Azure, Azure: Windows Azure Update” – Peter Laudati
February 8 Connecticut Access Users Group – Farmington, CT
February 9 [$] Agile Connecticut - Farmington, CT
February 13 Hartford Area Build Guild – Farmington, CT “Web People + Adult Beverages + High Fives”
February 14 Connecticut SharePoint User Group – Farmington, CT “Building Custom Workflows in SharePoint 2010 Using Visual Studio 2010” – Reddy Kadasani
Schedule TBA Connecticut .NET Developers Group – Farmington, CT Connecticut DotNetNuke User Group - Bethany, CT Connecticut Web Innovators – Hartford, CT Fairfield County SharePoint User Group – Fairfield, CT Fairfield/Westchester SQL Server UG - Stamford, CT Hartford SQL Server Users Group – Farmington, CT
February 16 Maine Bytes User Group - Portland, ME “Get Kinected” – Angelo Castigliola
February 28 Bangor Area .Net Developers (BAND) - Bangor, ME “WebSockets & WebWorkers – Getting plugged in, powered up and getting things done” – Corey Gray
Schedule TBA Agile User Group – Portland, ME Maine Developer Network - Augusta, ME SharePoint Maine User Group – Portland, ME Usability / User Experience User Group – Portland, ME Web Designers User Group – Portland, ME
February 2 New England Visual Basic Professionals - Waltham, MA “Async Programming in .NET 4.5” – John Bowen
February 2 Refresh Boston – Cambridge, MA Patrick Haney
February 2 Boston Software Engineering Meetup – Boston, MA #WeAreTech Icebreaker Networking Event
February 2 HPC & GPU Supercomputing Group of Boston – Cambridge, MA
February 2 Boston Accessibility Roundtable – Cambridge, MA
February 3 New England Database Summit 2012 – Cambridge, MA
February 3 Kinect Boston Users Group – Cambridge, MA ”Kinect Accelerator Info Session!”
February 6 HTML5 Boston – Boston, MA ”Mobile Website Development” – Tunde Ashafa & Jeff Boulay
February 6 Drinks on Tap – Boston, MA ”Demos, drinks and discussions about mobile development'”
February 7 Microsoft DevBoston & Boston Azure Cloud User Group Joint Meeting – Cambridge, MA “Architecting for Failure: Why Cloud Architecture is Different” – Michael Stiefel
February 9 New England Mobile .NET Developers’ Group – Cambridge, MA “Windows 8” – Chris Bowen
February 9 New England SQL Server User Group - Waltham, MA “Big Data with Hadoop and SQL Server”
February 10-12 [$] Startup Scramble – Cambridge, MA
February 13 Boston Area SharePoint Users Group – Cambridge, MA Rob Windsor on Visual Studio LightSwitch applications (using data from SharePoint 2010)
February 13 Kinect Boston Users Group – Cambridge, MA ”Demos and Kinect for Windows!”
February 15 HTML5 Game Development Meetup – Boston, MA
February 15 Boston Web Performance Group – Boston, MA “An Expert’s Guide to Making a Website Slow! Anti-Patterns” – Bob Buffone
February 15 Boston PHP Meetup – Cambridge, MA “Security-Centered Design: Exploring the Impact of Human Behavior”
February 16 Boston Orchard CMS User Group – Cambridge, MA “Website Development”
February 21 Tech Tuesday – Cambridge, MA ”Developers Wanted”
February 21 Hacks / Hackers Boston – Dorchester, MA ”The Boston Globe’s digital strategy: A peek behind the (pay) wall” – Jeff Moriarty
February 21 Boston Predictive Analytics – Cambridge, MA ”How far away from me is Kevin Bacon? (Social Media & Network Analysis)”
February 22 Boston XNA Developers Group - Waltham, MA
February 22 Boston Tech Meetup - Cambridge, MA “SharePoint Performance: Best Practices from the Field” – Jason Himmelstein
February 22 Western Mass Microsoft Technology Users Group - Agawam, MA “Telerik Product Presentation”
February 22 Agile Boston User Group - Waltham, MA “A Culture of Agility” – Pete Behrens
February 23 Boston Azure Cloud User Group – Cambridge, MA ”Solving Access Control in the Cloud – from WIF to ACS” – Brock Allen
February 23 Worcester Web Technology – Worcester, MA “Practicing Agile/Scrum”
February 23 Boston New Technology Meetup – Boston, MA Multiple presentations on what’s new in the startup scene
February 23 Boston JavaScript Meetup – Boston, MA “The Promises Pattern in JavaScript” – Eric Strathmeyer
February 23 Lean Startup Circle Meetup – Cambridge, MA
February 27 Boston WordPress – Cambridge, MA
February 29 Emerging Business Tech – Newton Center, MA ”Native and HTML5-based mobile: Strategies for mobile app development”
March 1 HPC & GPU Supercomputing Group of Boston – Cambridge, MA
March 5 Beantown ALT.NET Group – Cambridge, MA “Introduction to F#” – Talbott Crowell & Scott Theleman
March 5 Web Innovators Group 33 – Cambridge, MA
March 5 Cloudy Mondays – Cambridge, MA ”Battle of the Public Clouds”
March 8 New England SQL Server User Group - Waltham, MA “T-SQL Bad Habits to Kick” – Aaron Bertrand
March 10 Boston Predictive Analytics – Cambridge, MA “Big Data Workshop: Session 1”
March 13 Build Guild – Salem and Cape Cod “Web People + Adult Beverages + High Fives”
March 13 DotNetNuke Boston Meetup – Cambridge, MA
March 14 [$] Xconomy Forum: Mobile Madness 2012 – Total Mobility – Cambridge, MA
March 15 Microsoft DevBoston – Cambridge, MA ”Service Design Patterns & Solutions” – Robert Daigneau
March 21 HTML5 Game Development Meetup – Boston, MA
March 22 Worcester Web Technology – Worcester, MA “SpringRoo”
March 22 Western Mass Microsoft Technology Users Group - Agawam, MA TBD – Ian Drake
March 26 Boston WordPress – Cambridge, MA
March 26 Drinks on Tap – Boston, MA ”Demos, drinks and discussions about mobile development'”
March 29 Boston Azure Cloud User Group – Cambridge, MA ”Introduction to Windows Azure SDK” – Jason Haley
March 29 Lean Startup Circle Meetup – Cambridge, MA
Schedule TBA Boston .NET Architecture Study Group - Waltham, MA Boston Arduino Users Group – Cambridge, MA Boston Artists + Coders – Boston, MA Boston BizSpark Meetup – Cambridge, MA Boston Business Intelligence – Waltham, MA Boston Cloud Services – Waltham, MA Boston Front End Developers – Cambridge, MA Boston Node.js Meetup – Boston, MA Boston Web Design Meetup – Cambridge, MA Boston WebsiteSpark Group – Cambridge, MA Cape Cod .NET User Group – Plymouth, MA jQuery Boston Meetup – Boston, MA Mobile Monday Boston – Boston, MA New England ASP.NET Professionals – Waltham, MA New England F# User Group – Cambridge, MA New England Windows Phone User and Developer Group - Waltham, MA North Shore .NET User Group - Ipswich, MA North Shore Web Geeks – Newburyport, MA OWASP (Open Web Application Security Project) – Cambridge, MA UX Book Club, Boston – Cambridge, MA Western Mass Developers’ Group – Hadley, MA
February 2 eBrew – Portsmouth, NH
February 8 Joomla NH User Group – Durham, NH
February 15 NH .NET User Group, Seacoast – Portsmouth, NH “Windows 8” – Chris Bowen
February 15 Web Dev Meetup – Portsmouth, NH
February 28 Systems Engineering and Administration Technical User Group – Portsmouth, NH ”Big Data: What it is and What it’s Good For” – Geoff Noel
Schedule TBA Granite State SharePoint User Group – Nashua, NH Nashua Scrum Club – Nashua, NH NH .NET User Group, Concord – Concord, NH NH .NET User Group, Nashua – Nashua, NH Seacoast SQL Server Users Group – Portsmouth, NH
February 1 Central New York .NET Developer Group - East Syracuse, NY “Design and Usability” – Gary Davis
February 1 Rochester JavaScript Meetup (Coworking Rochester) – Rochester, NY
February 8 Western NY SQL Server PASS – Amherst, NY ”What’s New in SQL Server 2012” – Erik Harman
February 15 Tech Valley .NET Users Group - Latham, NY “ASP.NET MVC 3” – Joseph Payette, Jr.
February 15 Build Guild – Troy, NY “Web People + Adult Beverages + High Fives”
February 20 Capital Area SQL Server Users Group – Albany, NY
February 21 Upstate NY PowerShell Users Group – Rochester, NY
Schedule TBA AppRochester – Rochester, NY MS Dev WNY– Buffalo, NY OWASP (Open Web Application Security Project) – Rochester, NY Refresh Rochester – Rochester, NY Rochester SharePoint User Group – Rochester, NY VDUNY - Visual Developers of Upstate NY - Rochester, NY Western New York Back Office Technology User Group – Blasdell, NY
February 8 Southern New England SQL Server Users Group – East Greenwich, RI ”Policy based management with SQL Server 2008 R2” – Scott Abrants
February 9 Providence Web Development Lunch Hour – Providence, RI
February 15 Providence Geeks – Providence, RI
March 8 Providence Web Development Lunch Hour – Providence, RI
Schedule TBA MoDevRI (Mobile Developers & Entrepreneurs) – Providence, RI Rhode Island .NET User Group - Bristol, RI WordPress Providence Meetup – Providence, RI
February 13 Vermont .NET User Group – S. Burlington, VT 10th Anniversary Celebration!
Schedule TBA Burlington PHP Users Group – Burlington, VT Vermont SQL Server User Group - Burlington, VT
The first series of HTML5 Game Camps concluded yesterday, helping attendees to learn HTML5 by diving in and writing games. Here’s a summary of links and resources for anyone who would like to get started.
The events featured introductions to the underlying technologies (HTML5, JavaScript, graphics) then a look at engines that can make game development easier. The second half was hacking time followed by a chance for everyone to demo their creations. It was great to see what could be made in just a few hours!
Thanks to everyone who participated, and let me know if you’ve continued working on your creations after the events!
This session focuses on a brief introduction to HTML5, CSS3, standards, and browser support.
Learning HTML5
Implementing HTML5
Internet Explorer & HTML5
The focus is on a few resources for learning JavaScript, libraries to make things easier, and support in developer tools.
General JavaScript
JavaScript Frameworks & Tools
Internet Explorer Developer Tools (built in to IE 8+) – See also Firebug for Firefox and the Chrome Dev Tools
WebMatrix 2 Beta
Visual Studio 2010 Extensions
Expression Web 4 HTML5 Support
Focused on 2D graphics with SVG and Canvas and choosing between them.
SVG
Canvas
SVG & Canvas
At this point, the survey of the moving parts (HTML5, JavaScript, graphics, etc.) is done, so it’s time to pull it all together and make games! So many choices, but to keep things simple the focus was on leveraging game engine libraries already out there.
JavaScript Game Engines
Audio
3D in 2D
Game Dev Resources
Much of the time was spent in code and demos, but the slides we did use are up in a presentations folder on SkyDrive. The relevant files are:
Missed the in person events? Fortunately, it isn’t game over! The content is being brought to you online via these webcasts:
Enjoy creating those games!
As the Learn Windows Azure event rolls along today (keep an eye on the site for recordings of the content if you missed it), here are some other great ways to dive into cloud computing. Update: the session recordings are now available.
Entertain your competitive side, improve your cloud development skills, and have a chance to win prizes! Enter your bot in the Rock Paper Azure Challenge by this Friday evening (12/16, 6PM EST), battle the competition, and see if you emerge victorious:
Play Rock, Paper Scissors in the cloud for your chance to win a trip to Cancun, an Acer Aspire S3 Laptop, a Windows Phone, or an XBOX 360/Kinect bundle! Entering is simple – create a player bot (sample code provided) and enter it before December 16th. Winners will be chosen at random from all bots submitted. Want to test your strategic coding skills as well? Build a killer bot to crush the competition and see how you stack up against other players on the Leaderboard. Each Friday the top 5 players will receive a $50.00 Best Buy Gift Card.
Play Rock, Paper Scissors in the cloud for your chance to win a trip to Cancun, an Acer Aspire S3 Laptop, a Windows Phone, or an XBOX 360/Kinect bundle! Entering is simple – create a player bot (sample code provided) and enter it before December 16th. Winners will be chosen at random from all bots submitted.
Want to test your strategic coding skills as well? Build a killer bot to crush the competition and see how you stack up against other players on the Leaderboard. Each Friday the top 5 players will receive a $50.00 Best Buy Gift Card.
Think you don’t have the time to ramp up and create a winning bot? You’ll be surprised at how quickly you can take the starter code and turn it into a fierce competitor!
For a great way to get some in-person instruction on Windows Azure, check out the Windows Azure Dev Camps series, now touring all over the place.
Don’t see one in your area? The Windows Azure Training Kit has the content and labs, and recordings are available for some of the past events.
(While you’re visiting, take a look at the Windows Phone Camps and Web Camps!)
Looking for more? Here are some resources to help you to the cloud:
Scott Guthrie has announced a Learn Windows Azure event on December 13th (12 – 8PM EST). It’s free and will be streamed live via Channel 9, featuring sessions with Mark Russinovich, Dave Campbell, Scott Guthrie, and others:
Register for the online event, or, because there’s an real event with real people on the other end of the connection, you can attend in person if you’re in the Redmond area.
If you’d like to have the tools to work with as they’re mentioned during the event, you can head to the Windows Azure site to learn more, download the SDK, and get a head start with some code samples and tutorials.
As you might know from my list of podcasts for .NET devs, I’m a big fan of podcasts to help make travel time less… [annoying | mind-numbing | wasteful].
As my recent work has focused more on game development, I’ve been keeping an eye out for relevant podcasts. Here are the ones I know of that focus primarily on game development and the gaming industry.
Another Castle Charles J. Pratt Interviews with game developers, especially with a focus on game development in New York. gamedesignadvance.com/?page_id=1616
The Brainy Gamer Podcast Michael Abbott Interviews with game developers and a focus on the video game community. www.brainygamer.com/the_brainy_gamer/podcast/
Experimental Game Dev Podcast About independent (indie) games and development. www.indiegamepod.com
The Game Developer’s Radio Joseph Burchett & Devin Becker Focused on game development and design. www.gamedevradio.net
The Game Engine Podcast Andrew Bittman, Paul Sztajer, Saul Alexander, and Dan Graf Focused on game developers and topics around game development. www.gameenginepodcast.com
IndieGames.com Podcast Interviews with indie game developers. indiegames.com (and indiegames.buzzsprout.com)
Irrational Interviews Ken Levine & Shawn Elliott Irrational’s Ken Levine and Shawn Elliott conduct interviews around the industry. irrationalgames.com/insider/irrational-interviews
LostCast Geoff Blair & Matt Hackett A brand new HTML5 game development podcast by Lost Decade Games (creators of the HTML5 “Onslaught!” game). www.lostdecadegames.com
One of Swords Dan Amrich Activision’s Dan Amrich hosts industry interviews and provides insights into what’s happening at Activision. OneOfSwords.com
Each of these podcasts has had activity in the past few months. If you know of any other active ones, please comment below (and thank you!)
It’s pretty amazing that this list already has events that bring us to the end of the year. Every year does seem to go more quickly than the last! Anyhow, here’s the latest list of developer-focused events you may find interesting as the remaining weeks of 2011 breeze by.
Most are free, and the exceptions are noted with [$].
November 14 Hartford Area Build Guild – Farmington, CT “Web People + Adult Beverages + High Fives”
December 7 Windows Azure DevCamp – Farmington, CT Free afternoon to evening event to help you learn about Windows Azure. Sessions in the afternoon, and hands-on hackathon in the evening.
December 14 Fairfield County SharePoint User Group – Fairfield, CT
December 14 Connecticut Access Users Group – Farmington, CT
Schedule TBA Agile Connecticut - Farmington, CT Connecticut .NET Developers Group – Farmington, CT Connecticut DotNetNuke User Group - Bethany, CT Connecticut SharePoint User Group – Farmington, CT Fairfield/Westchester .NET User Group – Stamford, CT Fairfield/Westchester SQL Server UG - Stamford, CT Hartford SQL Server Users Group – Farmington, CT New England Silverlight Guild – Hartford, CT
November 15 Bangor Area .Net Developers (BAND) - Bangor, ME Windows Azure (w/RockPaperAzure) - Jim O’Neil
November 16 Maine Developer Network - Augusta, ME Windows Azure (w/RockPaperAzure) - Jim O’Neil
Schedule TBA Agile User Group – Portland, ME Maine Bytes User Group - Portland, ME Usability / User Experience User Group – Portland, ME Web Designers User Group – Portland, ME (on Summer break)
November 14 Windows Phone Inner Circle – Cambridge, MA “Enjoy free appetizers and cocktails, be one of the first people to get your hands on incredible new Windows Phones, and meet the team that brought them to life.”
November 15 Boston New Technology Meetup – Boston, MA 6 presentations on what’s new in the startup scene
November 15 Harvard Tech Meetup – Boston, MA
November 15 Boston Predictive Analytics – Cambridge, MA ”Big Data” .. Applications from Enterprises to Individuals
November 16 HTML5 Game Development Meetup – Boston, MA “Enchant.js” - Ubiquitous Entertainment “Internet Explorer 9 & 10 and HTML5” – Chris Bowen
November 16 New England Windows Phone User and Developer Group - Waltham, MA “Developing Microsoft Push Notification Service (MPNS) Applications”
November 16 Boston .NET Architecture Study Group - Waltham, MA
November 17 HTML5 Game Camp – Cambridge, MA Free event w/ morning sessions on HTML5 & game dev, then the afternoon is a hands-on game dev hackathon!
November 17 Boston Azure User Group – Cambridge, MA “Back to the Basics: What is Cloud, What is Azure, and Intro to Windows Azure”
November 17 Boston JavaScript Meetup – Boston, MA “JavaScript Style, Code Conventions & Quality” – Joe Morgan
November 17 Lean Startup Circle Meetup – Cambridge, MA
November 17 North Shore Web Geeks – Newburyport, MA
November 17 Worcester Web Technology – Worcester, MA “Rackspace Tutorial” – Chris Johnson
November 17 Western Mass Developers’ Group – Hadley, MA
November 17 [$] EFactor Presents: Mobile App Accelerant – Boston, MA
November 18 Social Mobile Cloud Event – Boston, MA
November 19 AT&T Mobile App Hackathon – Boston, MA
November 19-20 Fall 2011 Boston Game Jam – Cambridge, MA
November 22 Cape Cod .NET User Group – Plymouth, MA “HTML5 – A Practical First Look” – Chris Bowen
November 22 New England Mobile .NET Developers’ Group – Cambridge, MA Microsoft’s Jesse Liberty
November 22 Agile Boston User Group - Waltham, MA [$] “Give Thanks for SCRUM” – Honoring Jeff Sutherland & Ken Schwaber
November 23 Boston XNA Developers Group - Waltham, MA
November 28 Boston WordPress – Cambridge, MA “WordPress, HTML5 Adoption, and Internet Explorer 9 & 10” – Chris Bowen “Caching, Scaling, and What I’ve Learned Programming for WordPress.com VIP” – Erick Hitter
November 28 Beantown ALT.NET Group – Cambridge, MA “Exploring Domain Driven Design Implementation Patterns in .NET” – Steve Bohlen
November 29 Web Innovators Group (webinno) – Cambridge, MA
November 29 Tech Tuesday: Meet the Rockstar Developers of Massachusetts – Cambridge, MA
November 30 Boston Front End Developers – Cambridge, MA “Implementing the New BostonGlobe.com” – Adam Salsman
December 1 Microsoft DevBoston (formerly Boston .NET & Beantown .NET) - Cambridge, MA “How to be a C# Ninja in 10 Easy Steps” – Ben Day
December 1 New England Visual Basic Professionals - Waltham, MA “XBox/Kinect Using the .NET Framework” – Phil Denoncourt
December 1 HPC & GPU Supercomputing Group of Boston – Cambridge, MA
December 1 Boston Tech Meetup - Cambridge, MA
December 3-4 Random Hacks of Kindness (RHoK) – Cambridge, MA
December 5 New England F# User Group – Cambridge, MA
December 6 Boston Web Performance Group – Boston, MA “Testing in the Cloud” – Dan Bartow
December 7 Boston Artists + Coders – Boston, MA “Playing with Music” – Echno Nest co-founder Tristan Jehan
December 8 New England SQL Server User Group - Waltham, MA “Enterprise Information Management” – Chad Gronbach
December 12 Boston Area SharePoint Users Group – Cambridge, MA
December 13 Boston Azure User Group – Cambridge, MA
December 13 Build Guild – Salem, MA “Web People + Adult Beverages + High Fives”
December 13 Build Guild in Cape Cod – Sandwich, MA “Web People + Adult Beverages + High Fives”
December 14 Microsoft DevBoston (formerly Boston .NET & Beantown .NET) - Cambridge, MA “Using Windows Azure to Build Cloud Enabled Windows Phone Apps” – John Garland
December 14 Boston Area SharePoint Users Group – Cambridge, MA
December 14 North Shore .NET User Group - Ipswich, MA “Cloud Architecture Patterns” – Bill Wilder
December 14 Boston PHP Meetup – Cambridge, MA “Paper Prototyping: Sketching and Evaluating Your Design Concepts” – Christine Perfetti
New Group! December 15 Boston Orchard CMS Group – Cambridge, MA Kickoff Meeting
December 20 New England Mobile .NET Developers’ Group – Cambridge, MA
December 21 Boston .NET Architecture Study Group - Waltham, MA
December 27 Beantown ALT.NET Group – Cambridge, MA “Introduction to MonoTouch” – Michael Bluestein
Schedule TBA Boston Arduino Users Group – Cambridge, MA Boston BizSpark Meetup – Cambridge, MA Boston Business Intelligence – Waltham, MA Boston Cloud Services – Waltham, MA Boston Node.js Meetup – Boston, MA Boston Web Design Meetup – Cambridge, MA Boston WebsiteSpark Group – Cambridge, MA DotNetNuke Boston Meetup – Cambridge, MA jQuery Boston Meetup – Boston, MA Mobile Monday Boston – Boston, MA New England ASP.NET Professionals – Waltham, MA New England Silverlight Guild – Cambridge, MA OWASP (Open Web Application Security Project) – Cambridge, MA Refresh Boston – Cambridge, MA UX Book Club, Boston – Cambridge, MA Western Mass Microsoft Technology Users Group - Agawam, MA
November 16 NH .NET User Group, Nashua – Nashua, NH “Developing Cloud-Enabled Windows Phone Applications with Windows Azure” – John Garland
November 16 NH .NET User Group, Concord – Concord, NH “XBOX / Kinect Using .NET Framework SDK” – Phil Denoncourt III
November 16 NH .NET User Group, Seacoast – Portsmouth, NH “Real Projects with Entity Framework 4.1”
December 8 Granite State SharePoint User Group – Nashua, NH “SharePoint Loggins & Debugging: The Troubleshooter’s Best Friend” – Cornelius J. van Dyk & Jason Himmelstein
Schedule TBA Nashua Scrum Club – Nashua, NH Seacoast SQL Server Users Group – Portsmouth, NH
November 15 Upstate NY PowerShell Users Group (Rochester chapter) – Rochester, NY
November 15 Windows Phone Camp – Univ. of Rochester, Rochester, NY Free and open to all. Afternoon w/ dev sessions followed by evening hands-on hackathon.
November 16 MS Dev WNY– Hamburg, NY “Introduction to HTML5 Development” – Patrick Lupiani
November 16 Build Guild – Troy, NY “Web People + Adult Beverages + High Fives”
November 17 VDUNY - Visual Developers of Upstate NY - Rochester, NY “Windows 8 Metro Development” – Steve Maier
November 21 Capital Area SQL Server Users Group – Albany, NY
December 2-4 RIT Game Camp – Rochester, NY Special free weekend, combining four events! A weekend-long Game Jam, along with “XNA in a Day”, HTML5 Camp, and Windows Phone Game/App Camps on Saturday.
December 6 AppRochester – Rochester, NY
December 7 Rochester JavaScript Meetup (Coworking Rochester) – Rochester, NY
December 20 Upstate NY PowerShell Users Group (Rochester chapter) – Rochester, NY
Schedule TBA Central New York .NET Developer Group - East Syracuse, NY OWASP (Open Web Application Security Project) – Rochester, NY Refresh Rochester – Rochester, NY Rochester SharePoint User Group – Rochester, NY Tech Valley .NET Users Group - Latham, NY Upstate NY PowerShell Users Group (Syracuse chapter) – Syracuse, NY Western New York Back Office Technology User Group – Blasdell, NY Western NY SQL Server PASS – Amherst, NY
November 16 Providence Geeks – Providence, RI
December 8 Providence Web Development Lunch Hour – Providence, RI
December 13 Tech Club Rhode Island – Providence, RI End of Year Celebration
Schedule TBA Rhode Island .NET User Group - Bristol, RI
November 17 Burlington PHP Users Group – Burlington, VT ”Building Faster Websites”
December 5 Vermont .NET User Group – S. Burlington, VT “WCF RIA Services” – Kathleen MacMahon
Schedule TBA Vermont SQL Server User Group - Burlington, VT
The schedule has just been posted for this Saturday’s Code Camp 16 (in Waltham, MA):
New England / Boston Code Camp 16 Saturday, October 29th 8:30 AM to 6:40 PM (Doors at 8 AM) Microsoft, 201 Jones Road (6th Floor) Waltham, MA
Schedule and registration at http://codecampboston.eventbrite.com
About 40 sessions spanning many topics - HTML5, cloud computing, Kinect, mobile, JavaScript, Netduino, XNA, SharePoint, SQL/NoSQL, ASP.NET MVC, and more. All by the community, for the community, and free.
Thank you to the speakers, contributing companies, and especially Patrick Hynds, Robert Goodearl, and Chris Pels for organizing the event!
This is going to be a good one, and I hope to see you there! -Chris
P.S. The tag for the event is #boscc
Update: Slides and links from the events are now available.
Ready to learn HTML5? Enjoy games, too?
Join in the HTML5 Game Camps, free events offering a chance to learn about the next wave of web standards including HTML5, CSS3, Canvas, SVG, and more. And while you gain practical knowledge about HTML5 and JavaScript techniques, it’s all joined together by the fun of creating games!
These are part of the Microsoft Web Camps series and feature a half day of sessions followed by hands-on game creation time. Get up to speed with HTML5 and game dev concepts in the sessions, then turn your ideas into reality as we leave the slides behind. Design and develop creations of your own, with plenty of guidance and help for your questions.
Here’s where the HTML5 Game Camps are heading, with links to details and registration:
(Note some of these events are morning through afternoon, and others are afternoon to evening.)
Don’t forget to read the prep steps at the bottom of the event pages. To get ready for coding, consider installing WebMatrix (it’s free) and other tools via the Web Platform Installer. Also, consider attending with a friend and tackling the game creation as a team!
For those of you in the Rochester, NY area, there’s a special RIT Game Camp the weekend of December 2nd-4th. It’s all about game development, and features multiple ways to learn about and create games:
It’s free, hosted on the campus of RIT, and open to everyone. So, choose what you’d like to participate in, and enjoy!
Fall is upon us, and with it comes an uptick in the tempo of developer events in our area. Here’s the latest (and long!) list of developer-focused events you may find interesting. Most are free, and the exceptions are noted with [$].
October 6 Fairfield/Westchester .NET User Group – Stamford, CT “jQuery 101 – Making JavaScript Fun” – Mark Freedman
October 10 Hartford Area Build Guild – Farmington, CT “Web People + Adult Beverages + High Fives”
October 11 Connecticut .NET Developers Group – Farmington, CT “Introduction to Metro UI Application Development in Windows 8 Developer Preview” – Michael Gerety
October 12 Connecticut Access Users Group – Farmington, CT
October 13 Fairfield/Westchester SQL Server UG - Stamford, CT Business Intelligence – Andrew Brust
November 9 Fairfield County SharePoint User Group – Fairfield, CT
November 10 Fairfield/Westchester SQL Server UG - Stamford, CT Zoho Creator – Herb Wexler
Novermber 11-13 [$] Startup Weekend New Haven – New Haven, CT
Schedule TBA Agile Connecticut - Farmington, CT Connecticut DotNetNuke User Group - Bethany, CT Connecticut SharePoint User Group – Farmington, CT Hartford SQL Server Users Group – Farmington, CT New England Silverlight Guild – Hartford, CT
October 13 Maine Bytes User Group - Portland, ME “BUILD Conference Debrief” – Fritz Onion
October 25 Bangor Area .Net Developers (BAND) - Bangor, ME “SketchFlow – It’s Like a Big Pile of Napkins” – Charlie Villard
Schedule TBA Maine Developer Network - Augusta, ME Agile User Group – Portland, ME Usability / User Experience User Group – Portland, ME Web Designers User Group – Portland, ME (on Summer break)
October 6 Microsoft DevBoston (formerly Beantown .NET) - Cambridge, MA “HTML5 Development” – Chris Bowen
October 6 New England Visual Basic Professionals - Waltham, MA “Interactive Dashboards with PerformancePoint 2010” – Sunil Kadimdiwan
October 6 HPC & GPU Supercomputing Group of Boston – Cambridge, MA ”C++ AMP” – Ken Domino
October 8 OWASP (Open Web Application Security Project) – Cambridge, MA 2011 Boston Application Security Conference (BASC)
October 11 Build Guild – Salem, MA “Web People + Adult Beverages + High Fives”
October 11 Build Guild in Cape Cod – Sandwich, MA “Web People + Adult Beverages + High Fives”
October 11 DotNetNuke Boston Meetup – Cambridge, MA “Introducing DotNetNuke 6!”
October 12 & 13 MSDN Event: Windows Phone Camp – Cambridge, MA Two free days of the tech to help you develop Windows Phone apps, practical guidance (interested in making money?), and the latest on Windows Phone 7.5 (codename “Mango”).
October 12 Boston Artists + Coders – Boston, MA ”Super Data Vis Skills (Intro to D3.js)” – Pascal Rettig
October 12 Worcester Web Technology – Worcester, MA “Ruby on Rails” – Chris Johnson
October 12 Boston Area SharePoint Users Group – Cambridge, MA “Heavy Metal PowerPivot” – Jason Himmelstein & Cornelius J. van Dyk
October 12 Boston PHP Meetup – Cambridge, MA “Introduction to FirePHP 1.0” – Christoph Dorn ”Proof You do not Need SQL Anymore…” – Chhean Saur
October 13 New England SQL Server User Group - Waltham, MA “Enterprise Information Management” – Chad Gronbach
October 13 Boston Node.js Meetup – Boston, MA ”Node.js and Using nowjs” – Eric Zhang
October 14 Boston JavaScript Meetup – Cambridge, MA “Using CommonJS with PINF JavaScript Loader” – Christoph Dorn
October 14-16 [$] Boston Startup Weekend – Boston, MA
October 15 New England Business Intelligence Code Camp 2 – Waltham, MA Community event for developers and IT professionals, with a focus on building real-world business intelligence solutions.
October 17 Mobile Monday Boston – Boston, MA ”Building Successful Mobile Web and Native Apps in the Enterprise”
October 18 Boston New Technology Meetup – Cambridge, MA
October 19 New England Windows Phone User and Developer Group - Waltham, MA ”It’s a (Third) Party!: Tools Beyond Just Visual Studio and Blend for Windows Phone 7 Development”
October 19 Boston .NET Architecture Study Group - Waltham, MA
October 19 HTML5 Game Development Meetup – Boston, MA
October 20 Western Mass Microsoft Technology Users Group - Agawam, MA “Using PowerShell to Run SharePoint 2010, and Fill it Full of Data”
October 24 Boston Tech Meetup - Cambridge, MA ”What Can Cloud Do for You?” – Jim O’Neil
New Group! October 26 New England Mobile .NET Developers’ Group – Cambridge, MA
New Group! October 26 North Shore .NET User Group - Ipswich, MA
October 26 Boston XNA Developers Group - Waltham, MA
October 26 Agile Boston User Group - Waltham, MA “Teams and Leadership” – Christopher Avery
October 27 Boston Azure User Group – Cambridge, MA “Azure Architecture or Other Topics”
October 27 Lean Startup Circle Meetup – Cambridge, MA
October 29 New England Code Camp 16! – Waltham, MA A free, full day of technical content, by the community, for the community.
October 29-30 [$] WhereCampBoston – Cambridge, MA An unconference focused on geography and technology.
November 2 jQuery Boston Meetup – Boston, MA “Why Wait for Harmony? Use Asynchronous Modules with jQuery Now!” – John Hann
November 3 Microsoft DevBoston (formerly Beantown .NET) - Cambridge, MA “Geo-Aware Applications for Windows Phone 7” – John Zablocki
November 3 New England Visual Basic Professionals - Waltham, MA “Scrum Project Management with Team Foundation Server 2010” – Steve Resnick
November 7 New England F# User Group – Cambridge, MA
November 9 Boston PHP Meetup – Cambridge, MA “Google Analytics for Developers” – Justin Cutroni
November 10 Boston Business Intelligence – Waltham, MA “Dimensional Modeling Fundamentals for the SQL Server Platform” – Warren Thornthwaite
November 10 New England SQL Server User Group - Waltham, MA “Denali HA/DR” – Allen Hirt
November 10 World Usability Day – Cambridge, MA
November 22 New England Mobile .NET Developers’ Group – Cambridge, MA
Schedule TBA Boston .NET User Group - Waltham, MA Boston Arduino Users Group – Cambridge, MA Boston BizSpark Meetup – Cambridge, MA Boston Cloud Services – Waltham, MA Boston Front End Developers – Cambridge, MA Boston Web Design Meetup – Cambridge, MA Boston Web Performance Group – Boston, MA Boston WebsiteSpark Group – Cambridge, MA Cape Cod .NET User Group – Plymouth, MA New England ASP.NET Professionals – Waltham, MA New England Silverlight Guild – Cambridge, MA North Shore Web Geeks – Newburyport, MA Refresh Boston – Cambridge, MA UX Book Club, Boston – Cambridge, MA Western Mass Developers’ Group – Hadley, MA
October 13 Granite State SharePoint User Group – Nashua, NH “Planning and Configuring Extranets in SharePoint 2010” – Geoff Varosky
October 19 NH .NET User Group, Seacoast – Portsmouth, NH “HTML5 Practices and Adoption” – Chris Bowen
November 10 Granite State SharePoint User Group – Nashua, NH “Developing in SharePoint’s Middle Tier” – Marc D. Anderson
Schedule TBA Nashua Scrum Club – Nashua, NH NH .NET User Group, Nashua – Nashua, NH Seacoast SQL Server Users Group – Portsmouth, NH
October 5 Central New York .NET Developer Group - East Syracuse, NY “Windows Phone 7 Ad-Network Manager Development with XNA” – Dan Colasanti
October 12 Western New York Back Office Technology User Group – Blasdell, NY ”Introduction to PowerShell” – Joel Bennett
New Group! October 17 Capital Area SQL Server Users Group – Albany, NY ”SQL Server Reporting Services Tips & Tricks” – Daniel Bowlin
October 18 Rochester Web Startups Meeting – Rochester, NY ”Legal Entities” – Jennifer Lunsford
October 19 Build Guild – Troy, NY “Web People + Adult Beverages + High Fives”
October 27 VDUNY - Visual Developers of Upstate NY - Rochester, NY “The Model View ViewModel (MVVM)” – Larry O’Heron
October 29 BarCamp Rochester – RIT, Henrietta, NY
November 2 Rochester JavaScript Meetup – Rochester, NY
November 4-6 [$] Startup Weekend Syracuse – Syracuse, NY
Schedule TBA AppRochester – Rochester, NY OWASP (Open Web Application Security Project) – Rochester, NY Refresh Rochester – Rochester, NY Rochester SharePoint User Group – Rochester, NY Tech Valley .NET Users Group - Latham, NY Upstate NY PowerShell Users Group – Rochester, NY Upstate NY PowerShell Users Group – Syracuse, NY Western New York .NET Users Group - Amherst, NY Western NY SQL Server PASS – Amherst, NY
October 11 Tech Club Rhode Island – Providence, RI ”The Art of the Schmoze” – Robbie Samuels
October 13 Providence Web Development Lunch Hour – Providence, RI
October 19 Providence Geeks – Providence, RI
November 8 Tech Club Rhode Island – Providence, RI ”Video for Nonprofit Websites”
November 10 Providence Web Development Lunch Hour – Providence, RI
Schedule TBA Rhode Island .NET User Group - Bristol, RI Southern New England SQL Server User Group, Warwick, RI
October 10 Vermont .NET User Group – S. Burlington, VT “Making Sense of the Microsoft .NET MicroFramework” – Eric Hall
October 27 MSDN Event: “Windows Phone Camp” – Champlain College, Burlington, VT A free, full day of the tech to help you develop Windows Phone apps, practical guidance (interested in making money?), and the latest on Windows Phone 7.5 (codename “Mango”).
November 7 Vermont .NET User Group – S. Burlington, VT ”Developing Metro-Style Applications in Windows 8” – John McConnell
Schedule TBD Vermont SQL Server User Group - Burlington, VT
New England Code Camp 16, a major community event for developers, is coming to Waltham, MA on October 29th!
Registration (free!) is now open, as are the Calls for Speakers, Volunteers, and Contributors (details below).
New England Code Camp 16 Saturday, October 29, 2011 8:30 AM – 6 PM + post-event Geek Gathering Microsoft, 201 Jones Road, Waltham, MA http://codecampboston.eventbrite.com #necc16
Code Camps are free events, held outside of regular work hours, organized by and for the developer community, and offer a chance to learn, share, and network. What kind of stuff might you see? It varies significantly camp to camp, but take a look at the previous camp’s schedule to get an idea.
Register today and join hundreds of your fellow developers!
From first-time presenters to veterans of national conferences, Code Camps are made great because we hear from many perspectives – including yours. Have something to share, the community wants to hear from you.
How? Just see the registration page for details (speakers only need to register as a speaker, not as an attendee.) Proposals can be for any technology topic and sessions will be 75 minutes long.
The Call for Speakers will close at the end of Friday, October 21st.
Have a question about speaking? Send a note to codecampspeaker@bostondotnet.org.
Contributors are a critical part of each Code Camp, relied upon to provide the essentials for the Code Camp experience, like:
You’ll have a highly-targeted audience thanking your company for its support of the developer community, so please send a note to codecamp@bostondotnet.org if your company can help make Code Camp 16 a success!
Want to help before or at the event? Great, and thank you! Just drop a line to codecamp@bostondotnet.org.
Special thanks to Patrick Hynds, Chris Pels, and Robert Goodearl for the care and feeding of this event, to the contributing companies, and of course to the many speakers who volunteer their time and expertise!
See you at New England Code Camp 16!
A series of Windows Phone Camps has just kicked off, bringing free, full days of the tech to help you develop Windows Phone apps, practical guidance (interested in making money?), and the latest on Windows Phone 7.5 (codename “Mango”):
Don't miss the new Windows Phone 7.5 (codename "Mango") features as well - with detailed sessions in the afternoon around Fast Application Switching, Multitasking, Live Tiles, Push Notifications, and more. The day will be capped with an open lab hands-on session and prizes for apps completed. This is the perfect opportunity to begin work on your dream application, or finish that app you've already started, with Windows Phone experts there to guide you every step of the way. Bring your own laptop to join in the fun and show off your killer app!
Don't miss the new Windows Phone 7.5 (codename "Mango") features as well - with detailed sessions in the afternoon around Fast Application Switching, Multitasking, Live Tiles, Push Notifications, and more.
The day will be capped with an open lab hands-on session and prizes for apps completed. This is the perfect opportunity to begin work on your dream application, or finish that app you've already started, with Windows Phone experts there to guide you every step of the way. Bring your own laptop to join in the fun and show off your killer app!
Those of us in New England will have two chances to join in, with a visit to Burlington, VT and a special two-day event in Cambridge, MA.
9/22
Atlanta, GA
Registration
9/27
Malvern, PA
9/29
Reston, VA
10/12 10/13
Cambridge, MA
Day 1 Registration Day 2 Registration
10/18
Chevy Chase, MD
10/19
New York City, NY
10/25
Tampa, FL
10/27
Champlain College, Burlington, VT
11/2
NCSU, Raleigh, NC
11/4
Fort Lauderdale, FL
11/8
UCF, Orlando, FL
11/10
Univ. of Miami, Coral Gables, FL
SUNY (New Paltz), NY
11/15
Virginia Tech, Blacksburg, VA
11/17
Howard University, Washington, DC
11/29
Pittsburg, PA
Georgia Tech, Atlanta, GA
12/1
Hofstra, Long Island, NY
Most of the events are featuring the following agenda, including a mix of presentations and hands-on labs:
9:00 AM
Welcome Campers
9:15 AM
How to make money with your Windows Phone app
10:00 AM
Frameworks for fun and profit > Silverlight and XNA
Canteen
1:00 PM
Hands-on lab
3:00 PM
Cool stuff your app can do
4:00 PM
To the Cloud
4:45 PM
Be What's Next > People's Choice Awards
In Cambridge, MA, the event packs an extra punch, spanning two days, October 12th & 13th:
Day 1 will feature inside advice from Windows Phone experts and local MVPs, plus technical sessions on Windows Phone app development. Day 2 goes hands-on with the opportunity to roll up your sleeves and code. Whether you're a student just starting out or a seasoned developer for Windows Phone, Android, Symbian, Web OS or iOS, we'll be sharing tips and tricks and valuable app development know-how throughout the sessions. Check out the agenda and select the day that best fits your needs — or join us for the full event. The choice is yours.
Day 1 will feature inside advice from Windows Phone experts and local MVPs, plus technical sessions on Windows Phone app development. Day 2 goes hands-on with the opportunity to roll up your sleeves and code.
Whether you're a student just starting out or a seasoned developer for Windows Phone, Android, Symbian, Web OS or iOS, we'll be sharing tips and tricks and valuable app development know-how throughout the sessions. Check out the agenda and select the day that best fits your needs — or join us for the full event. The choice is yours.
You can attend either or both days, but there’s separate registration for each day (day 1, day 2).
Day 1 Agenda: October 12th
8:00 AM
Arrival and Registration
Windows Phone Overview
9:45 AM
How to get started building Windows Phone Apps with Visual Studio
10:45 AM
Break
11:00 AM
Frameworks for fun and profit (part 1) – Building apps with Silverlight
12:00 PM
Lunch
Frameworks for fun and profit (part 2) – Building games with XNA
2:00 PM
Live Tiles and Push Notifications
3:15 PM
3:30 PM
Windows Phone 7.5 Fast Application Switching, Tombstoning and Multitasking
4:30 PM
How to make money with your Windows Phone App
5:00 PM
What's Next/Resources
Event Ends
Day 2 Agenda: October 13th
Open Lab Hands-on Sessions
I’ll be at the Cambridge event and hope to see many of you there!
On the heels of the launch of the New England Mobile .NET group, there’s another Boston-area developer group – Beantown ALT.NET! The group is organized by John Zablocki and starts in September.
First of all, what’s “ALT.NET”? The concept has been around quite a while, and there are groups in many other cities. In fact, click through to NY ALT.NET or DC ALT.NET for a good description. John also has a post describing “Why Beantown ALT.NET?”
First meeting’s details:
Beantown ALT.NET September 28th, 6:30 PM Microsoft NERD 1 Memorial Dr., Cambridge, MA Topic: “HTML5 Practices and Adoption” Speaker: Well, me…
John kindly invited me to speak for this meeting. We’ll go beyond the “What is HTML5?” introduction to focus on practical strategies, tools, libraries, etc. for adopting HTML5 technologies today, while accommodating browsers that don’t natively support those features.
On October 26th, John will be covering “.NET and NoSQL: Relaxing with CouchDB”.
I hope to see you there!
I’m happy to pass along word that the date is set and venue reserved for the 16th New England Code Camp, a free, full day of knowledge sharing and networking, driven by developer community volunteers.
New England Code Camp 16 Saturday, October 29th, 2011 Microsoft 201 Jones Road, 6th floor Waltham, MA
Never been to a Code Camp? To get an idea of what to expect, take a look at the schedule for Code Camp 15, held earlier this year.
Registration and the Calls for Speakers and Sponsors will be coming later, but in the meantime, mark your calendar and get ready to join hundreds of your fellow developers for this great community event!
There’s a new developer group forming in the Boston area, focusing on cross-platform development for mobile devices. Topics will include mobile devices (iPhone, Windows Phone 7, Android, etc.) and development, .NET, Mono, and frameworks like MonoTouch and beyond.
First meeting:
New England Mobile .NET Developers’ Group August 24th, 6PM Microsoft NERD Cambridge, MA
The group is organized by Mike Bluestein, who has spoken at area events like Code Camps and is author of Learning MonoTouch.
See you there!
P.S. Focusing on Windows Phone development, there’s also the Boston / New England Windows Phone User and Developer Group, meeting monthly in Waltham, hosted by Don Sorcinelli and Steve Hughes. (Next meeting, August 17th.)
I’ve been running sessions on HTML5, Internet Explorer 9/10, CSS3 and more at recent Web Camps, Code Camps, and user group meetings. Many resources are shown or mentioned in those sessions, so I’ve compiled a list of them for you here.
I hope you find these useful!
And finally, here are slides I’ve used at some point for various presentations.
My teammate Rachel Appel has posted materials from her HTML5 Web Camp sessions as well.
The Microsoft HTML5 Web Camps are free, full-day events to help you get up to speed with HTML5 and related web standards.
After the popular events in Massachusetts & NYC in June, Rachel Appel, G. Andrew Duthie and I will be running six more Web Camps in August and September:
They’re all listed on the MSDN Events site and will soon be on the Microsoft Web Camps site as well.
Over the course of four sessions, we’ll introduce you to the next wave of web standards including HTML5, CSS3, ECMAScript5, SVG, and more:
We’ll also show you techniques and frameworks to help you get started today while still offering good experiences for non-modern browsers.
Hope to see you at the Web Camps!
This post completes a series on the F12 Developer Tools included with Internet Explorer (since version 8) to help you improve your websites with tools to review content, diagnose issues, improve performance, and more:
If this is your first look at the F12 Tools, I recommend you skim through the introductory post first.
So far, our discussion of the F12 Tools focused on the client-side experience, but it’s very important to know how your applications utilize network resources.
Reducing download sizes, finding missing/redirected content, improving cache utilization, and much more can improve performance (actual and perceived) and lower your bandwidth bills.
New in Internet Explorer 9, the Network tab offers an easy way to capture and investigate network traffic and cache requests. You can get a quick report of requests and responses, including headers, timing, and many more details.
No, but…
Fiddler is a web debugging proxy developed by Eric Lawrence (who also happens to be a PM on the Internet Explorer team.) While in some cases you’ll see similarities to Fiddler, they are very different in other regards.
Eric gave a great session on Fiddler at MIX11, and spent time (around 12:30 in) describing key differences from the F12 Tools. The session recording and slides are available for free.
You can also hear more in Eric’s very recent appearance on episode 116 of the “Herding Code” podcast.
To begin, launch the F12 Tools (Tools –> “F12 developer tools” or just press F12) and click to the Network tab. Click “Start capturing” and request a page (in this case, the IETestDrive home page):
By default, captured traffic is shown in summary view, with the following fields:
Click any field header to sort, and right-click for options such as showing data as bytes and times in milliseconds:
Double-click or select an item and press “Go to detailed view” for full details.
There are seven detail categories for each request:
Cycle through items with the Previous (CTRL + ,) and Next (CTRL + .) buttons, and press “Back to summary view” to return.
Timing details can seem a bit complex at first, but they’re fairly straightforward once you learn a few concepts.
Let’s start with a simple image request from the IETestDrive home page (after clearing the cache – see later), showing Timing details for GraySwooshWatermark.png:
Zooming in to the left-hand side:
The request/response cycle has seven timing components:
Click in the list or on the diagram to highlight each timing component.
Why are DOMContentLoaded and page Load different events? DOMContentLoaded fires when the page and scripts are loaded. This can happen before other requests (e.g. for images) are complete, at which point the page Load event would fire.
The difference between these can be significant, especially when downloading large graphics, ads, or other content, so it may be useful to tie script to the DOMContentLoaded event rather than page Load.
For a good demonstration of this in action, run the DOMContentLoaded example from the IETestDrive site:
Run it twice to see the impact that browser caching has on the delta between the events.
So far, we’ve focused on profiling network use related to an initial page load, but the F12 Tools can also track ongoing requests, such as requests for additional content and Ajax-based calls.
To see this in action, we’ll run the Texas Hold’em example from IETestDrive.
Run the example and on the Network tab, click “Start capturing”. Next, hover over the game’s “START” button, but don’t click it yet:
You’ll see an image request (buttonGeneric_Hover.png) was made the moment the cursor hovered over the button:
Why did IE9 wait to download this? For details, double-click (or hover over for a tooltip) the Initiator field, pictured above showing the value “background-image”, and the following is displayed:
The Initiator tells us what prompted IE9 to make the request. In this case CSS indicated an alternate background for hovering over the button, but IE deferred downloading the image until the hover event was executed. (As shown in Part 2, you can select the button and view the CSS Styles tab to see the input.actionButton:hover rule.)
Now click the game’s “START” button and you’ll notice three more requests:
The requests were for the background for another element, along with the first two playing cards dealt. Click “Go to detailed view” or double-click on of the card requests, then choose the “Response body” tab:
Again, to see why the request was made, click the “Initiator” tab:
Now we see JavaScript changed the src attribute for the img element (in this case to “Hearts_Queen.png”), and that resulted in a request to download the image.
From HTML to CSS and scripting, there are many possible request initiators. Some common examples:
Taking time to understand initiators will give you another tool for improving page & network performance. For more detail, see “Understanding Download-Initiator” in this Fiddler blog post.
After a number of Texas Hold’em hands, you may notice requests for certain items either aren’t made or show a 304 Result. This is because they’ve already been downloaded to play other hands and are already available locally.
Restart the application (refresh IE9) and you may see some 304 results. For example:
Notice the large difference in the Received field between cached (304) and downloaded (200) images. In this example, 11.65KB for the full image vs. just 162 bytes for a 304 - Not Modified result.
To see this at a higher level, here is an initial request to the CSS3 Media Queries example:
The second request is very different:
Not only is the page ready more quickly, but most requests were served by the browser cache (evidenced by the 304 Results, smaller Received sizes, and fewer blue segments under Timings.)
To clear the cache so requests again hit the network, click the “Clear browser cache” button (CTRL + R).
The Timings field shows timing of later requests relative to the original requests (including time waiting for you to click a button as in the Texas Hold’em example). This happens until you start a new session or click the “Clear” button , which clears results and resets timings for subsequent requests.
As we saw with JavaScript profiling, you can also save network profiling details to an external file. Press the “Export captured traffic” button to save captured results:
Network data can be saved in CSV (comma separated values) format or as XML using the HTTP Archive format, described in this IE Blog post.
I sincerely hope you’ve found this series useful. If you have feedback or ideas for other scenarios to cover, please leave comments here or send me a note.
Thanks, and enjoy using the F12 Tools!
This continues a series of posts on the F12 Developer Tools included with Internet Explorer (since version 8) to help you improve your websites with tools to review content, diagnose issues, improve performance, and more:
In the last post, we saw many ways to help create JavaScript that is correct, but what about making it efficient? Though the new “Chakra” JavaScript engine in IE9 helps, it certainly that doesn’t mean we can stop looking for ways to optimize script performance.
Let’s fire up the IE9 Developer Tools (press F12 or choose Tools –> F12 Developer Tools) and take a look.
The F12 Tools’ Profiler tab lets you analyze the execution of JavaScript, showing which functions (whether custom or built-in) are being called and where time is spent.
Just click “Start profiling”, load a page and/or use page functionality, and click “Stop profiling”. You can also use F5 and Shift+F5 to start/stop, though I rarely find that easer.
In this example, we’re using the “ECMAScript5 Tile Switch Game” sample from the IETestDrive site
When the session is stopped a report of the instrumented script is shown, including the following by default:
Double-click a line to go directly to the source for the function, if you have access to it. See Part 3 - JavaScript debugging for more on the Script tab.
Click the Profiler tab to return to the list.
There are more details available via columns that are hidden by default. To show them, right-click in the report and choose “Add / Remove columns”:
This will give access to:
The right-click menu also enables sorting by displayed columns, but you’ll probably find it easier to click on column headers to toggle between sorting ascending and descending.
There are two options available for viewing profiling report data: Functions and Call Tree views.
By default, reports are shown in Functions view, listing content at the function level (one line per function) and allow an easy way to see where the most calls are made and where time is spent.
Call Tree view shows the same data (each line is still a specific function), organized into a hierarchy by caller/callee relationships. From the root function(s), expand to see functions were called (and continue to expand to functions they in turn called.)
Sorting in Call Tree view works at the group level, with each subgroup sorting individually.
As with other areas of the F12 Tools, use the Search box to find functions by name:
If a match is found, use the Next/Previous Result buttons (Enter / Shift+Enter) to navigate results.
As you create profiling sessions, you may notice the report drop-down is keeping track:
Use this to switch between individual profiling sessions. These are retained only for the life of the window.
To save the data for later use, or to perform more analysis, click the “Export data” button to save to a CSV format (that can then be load directly into Excel):
Once in Excel, you can decide where to go next. Build up an archive to document application performance during development, create various analysis graphs, or even extend Excel with .NET to help detect changes and trends from session to session.
Now that you know how the profiler works, what should you be looking for? It’s a huge topic, subject of books, presentations, and articles, but here are some ideas to get you thinking:
Again, just a starting point, and many books and articles await you. For more ideas, watch Jason Weber’s “50 Performance Tricks to Make Your HTML5 Web Sites Faster” session from Mix11.
JavaScript execution is only part of the performance landscape. How you utilize (and don’t utilize) the network is another major performance factor.
In the next article, we’ll take a look at the Network feature that was added to the F12 Tools with Internet Explorer 9.
Because using JavaScript to create web applications isn’t without its share of… challenges, the F12 Developer Tools can be very handy.
In this article, you’ll see how features from breakpoints and debugging code, to variable inspection and script formatting can make things easier.
To start debugging, open the Developer Tools (press F12 or choose Tools –> F12 Developer Tools) then select the Script tab and set a breakpoint (F9 or right-click and choose “Insert breakpoint”), then press “Start Debugging”.
Use the script drop-down list to switch between all of the page’s scripts:
Start debugging, and if the breakpoint (or an error as we’ll see next) is hit, the debugger will pause at the line:
Use the toolbar buttons or access keys to step through code:
The options are (from left to right):
Right-click on the code for more options:
Tip: If Internet Explorer reports “not responding”, check to see if the F12 Tools are waiting on a line of code in debugging mode. The F12 Tools’ window detaches in debugging mode and may have snuck under IE’s window while awaiting your input.
If you run a script with an error (and the F12 Tools running), you’ll see the error highlighted in the Script tab:
The Console (on the right-hand side) will display a list of messages and errors. You can click on the hyperlinks to navigate to the line of code when available. MSDN has a list of built-in error codes (and suggested fixes) for common issues (from security to HTML5). More on the Console in a moment.
Note that before seeing this, you may be prompted to launch the debugger. Click Yes to launch the debugger (and check “Do not show this message again” to keep it quiet in the future).
Note that you can enable/disable breaking for errors via the “Break On Error” configuration option (CTRL+SHIFT+E).
Many times, you’ll use “minified” versions of JavaScript files to reduce download sizes and improve performance. That’s great for optimization… but not so great for readability.
Fortunately, the Configuration (CTRL+ALT+O) menu has a “Format JavaScript” option:
Same source, just formatted to be easier to read (notice how the line numbers are preserved). Set breakpoints as you wish and enjoy.
The Console was given its own tab in IE9, but as you’ve seen above, is also available as a pane of the Script tab (in IE8 and later).
Console displays error messages and also supports diagnostic information via the window.console object. You can use these functions to instrument your scripts to help you detect and trace issues (instead of those jarring alert() calls):
Also:
You can check existence of window.console if you have script you only want executed when the F12 Tools are running. For example:
Seeing too many messages, or just want to see certain message types? Right-click in the Console and choose “Filter” option(s):
The textbox at the bottom of the Console supports direct script execution. Enter variable names to see details (via window.console.dir), expressions, or statements.
You’ll see the result in the Console, and browser’s rendering of the page will reflect any effects/changes as well.
You can enter a single line, or click the multiline button (CTRL+ALT+M) to enter multiline scripts.
Because seeing code is only part of the battle, you’ll want to inspect variables as well. When debugging, the Script tab lets you hover over variables to see details.
From simple properties and scalars:
To full object inspection:
The Locals and Watch panes help you track values of variables and objects. Locals is constantly updated to show you values of locally-scoped variables:
Values changed by the latest executed statement are shown in red.
The Watch pane shows only variables and expressions you indicate. You can also add a watch directly in the Watch pane, from an entry in the Locals pane, or by right-clicking on a variable name in debugging mode:
Also note that as you execute script via the Console, variables, jQuery results, and the like offer an “Add to watch” option.
Unlike the Locals pane, Watch retains the same set of items as you step through code. In-scope watch variables will have values displayed, out-of-scope variables are shown as “undefined”:
The Watch and Locals panes allow you to edit variables. Double-click the Value cell or right-click and choose “Edit value”:
Many times you will be debugging code but wondering just what series of functions led execution to that point. Use the Call Stack pane to see the path of functions:
You can navigate between items on the call stack by double-clicking. The chosen stack item line will be highlighted in green (and as always the current/executing line of code is highlighted in yellow):
Finally, you can direct the tools to break at certain lines by setting breakpoints. Just select the line in the Script tab and press F9 or right-click and choose “Insert breakpoint”:
You can further control breaking by setting the “Break on error” and “Continue after exception” options:
The Script tab’s Breakpoints pane lets you view and manage (disable/enable and delete) all breakpoints at a glance:
Conditional breakpoints can be set via the Breakpoints pane (above), or by right-clicking on the breakpoint indicator and choosing “Condition…”:
Enter the JavaScript expression for the condition to check (you have access to any in-scope variables as well):
Conditional breakpoints are displayed with a plus indicator:
I hope you’ve enjoyed this look at working with JavaScript in the F12 Tools.
In the next article, we’ll take a look at profiling and optimizing JavaScript, using the F12 Tools Profiler tab to analyze script performance.
Welcome to summer! Though beaches, ice cream trucks, and vacations await, the developer community marches on, so here’s a look at events in the northeastern U.S. for the first part of the season.
July 5 Agile Connecticut - Farmington, CT
July 11 Hartford Area Build Guild – Farmington, CT “Web People + Adult Beverages + High Fives”
August 2 Agile Connecticut - Farmington, CT
August 8 Hartford Area Build Guild – Farmington, CT “Web People + Adult Beverages + High Fives”
Schedule TBD Connecticut .NET Developers Group – Farmington, CT Connecticut DotNetNuke User Group - Bethany, CT Fairfield/Westchester .NET User Group – Stamford, CT Fairfield/Westchester SQL Server UG - Stamford, CT Hartford SQL Server Users Group – Farmington, CT New England Silverlight Guild – Hartford, CT
June 23 Maine Bytes User Group - Portland, ME “Azure State of the Union” – Ben Day
June 28 Maine Developer Network - Augusta, ME HTML5: Intro, graphics (CSS, SVG, Canvas), and practices/adoption – Chris Bowen
June 28 Bangor Area .Net Developers (BAND) - Bangor, ME HTML5, IE9 & 10, and More – Chris Bowen (Yes, I’m also presenting in Augusta, but that’s during the day )
July 26 Bangor Area .Net Developers (BAND) - Bangor, ME
July 29 – 31 Maine Code Camp 2 – Mt. Blue State Park, Weld, ME Escape from the office with fellow developers for a weekend of actual, honest-to-goodness camping and tech!
Schedule TBD Agile User Group – Portland, ME Usability / User Experience User Group – Portland, ME Web Designers User Group – Portland, ME (on Summer break)
June 22 Boston XNA Developers Group - Waltham, MA
June 22 Agile Boston User Group - Waltham, MA “Agile Coaches Panel Presentation”
June 22 Boston Front End Developers – Cambridge, MA
June 23 Boston Azure User Group – Cambridge, MA “Rock, Paper, Azure Challenge” – Hands-On in-the-Azure-cloud Game Challenge
June 23 Boston Web Performance Group – Boston, MA “Powering Up Your Code with High Performance CSS and HTML5” – Tim Wright
June 23 Refresh Boston – Cambridge, MA “Hopping on the Bandwagon: Branding & Marketing for Smallish Businesses” – Fred LeBlanc
June 25 Hack/Reduce Boston Hackathon – Cambridge, MA
June 29 Worcester Web Technology – Worcester, MA “Intro to Ext JS 4”
June 30 Boston JavaScript Meetup – Cambridge, MA “Sencha Ext & Sencha Touch” – Aaron White
June 30 UX Book Club, Boston – Cambridge, MA “Christopher Alexander: The Timeless Way of Building”
June 30 Lean Startup Circle Meetup – Cambridge, MA
July 7 New England Visual Basic Professionals - Waltham, MA “Identify & Fix Performance Problems with Visual Studio Ultimate” – Ben Day
July 7 HPC & GPU Supercomputing Group of Boston – Cambridge, MA
July 11 New England F# User Group – Cambridge, MA “F# Type Providers” – Keith Battocchi
July 12 Build Guild – Salem, MA “Web People + Adult Beverages + High Fives”
July 12 DotNetNuke Boston Meetup – Cambridge, MA
July 13 Boston Area SharePoint Users Group – Cambridge, MA “SharePoint 2010 Usage and Adoption Best Practices” – Scott Jamison
July 13 jQuery Boston Meetup – Boston, MA “Web Mapping with Geomap, a jQuery Plugin” – Ryan Westphal
July 13 Boston PHP – Cambridge, MA “Learn the Secrets of SEO (Search Engine Optimization)”
July 14 Worcester Web Technology – Worcester, MA
July 19 Boston New Technology Meetup – Cambridge, MA
July 20 New England Windows Phone User and Developer Group - Waltham, MA Summer of Mango: “Developing Windows Phone 7.1 Structured Storage Applications”
July 20 Boston .NET Architecture Study Group - Waltham, MA
July 20 HTML5 Game Development Meetup – Boston, MA
July 20 New England ASP.NET Professionals – Waltham, MA
July 20 Boston Arduino Users Group – Cambridge, MA
July 27 Boston XNA Developers Group - Waltham, MA
July 28 Boston Azure User Group – Cambridge, MA
August 9 DotNetNuke Boston Meetup – Cambridge, MA
August 17 New England ASP.NET Professionals – Waltham, MA “Intro to HTML5” – Chris Bowen
August 17 Boston .NET Architecture Study Group - Waltham, MA
August 17 HTML5 Game Development Meetup – Boston, MA
August 17 Boston Arduino Users Group – Cambridge, MA
August 17 Worcester Web Technology – Worcester, MA
August 18 Western Mass Microsoft Technology Users Group - Agawam, MA “ASP.NET MVC3 and Razor” – Chris Bowen
Schedule TBD Beantown .NET User Group - Cambridge, MA (On Summer break) Boston .NET User Group - Waltham, MA Boston BizSpark Meetup – Cambridge, MA Boston Business Intelligence – Waltham, MA Boston Cloud Services – Waltham, MA Boston Web Design Meetup – Cambridge, MA Boston WebsiteSpark Group – Cambridge, MA Cape Cod .NET User Group – Plymouth, MA Cape Cod XNA User Group – Hyannis, MA IASA New England – Waltham, MA New England Silverlight Guild – Cambridge, MA New England SQL Server User Group - Waltham, MA (On Summer break) North Shore Web Geeks – Newburyport, MA OWASP (Open Web Application Security Project) – Waltham, MA Western Mass Developers’ Group – Hadley, MA
July 13 Granite State SharePoint User Group – Nashua, NH
July 20 NH .NET User Group, Seacoast – Portsmouth, NH
July 20 NH .NET User Group, Nashua – Nashua, NH
August 10 Granite State SharePoint User Group – Nashua, NH
Schedule TBD Nashua Scrum Club – Nashua, NH NH .NET User Group, Concord – Concord, NH (On Summer break) Seacoast SQL Server Users Group – Portsmouth, NH
June 22 Build Guild – Troy, NY “Web People + Adult Beverages + High Fives”
June 23 VDUNY - Visual Developers of Upstate NY - Rochester, NY “Windows Communication Foundation (WCF)” – Steve Maier
July 6 Rochester Javascript – Rochester, NY
July 12 Rochester SharePoint User Group – Rochester, NY
August 3 Rochester Javascript – Rochester, NY
Schedule TBD AppRochester – Rochester, NY Central New York .NET Developer Group - East Syracuse, NY OWASP (Open Web Application Security Project) – Rochester, NY Refresh Rochester – Rochester, NY Tech Valley .NET Users Group - Latham, NY Upstate NY PowerShell Users Group – Rochester, NY Upstate NY PowerShell Users Group – Syracuse, NY Western New York .NET Users Group - Amherst, NY Western NY SQL Server PASS – Amherst, NY
July 13 Providence Geeks – Providence, RI
July 14 Providence Web Development Lunch Hour – Providence, RI
August 11 Providence Web Development Lunch Hour – Providence, RI
Schedule TBD Rhode Island .NET User Group - Bristol, RI Southern New England SQL Server User Group, Warwick, RI
July 11 Vermont .NET User Group – S. Burlington, VT Mark Dunn
September 10 Vermont Code Camp 2011 – Burlington, VT
September 16 VT Hackathon – Burlington, VT