Welcome to MSDN Blogs Sign in | Join | Help

News

  • User Experience
    IT Manager
    Developer
    IT Professional

    These postings are provided "AS IS" with no warranties, and confers no rights. You assume all risk for your use.

    Bloggers

    Christian Beauclair
    Christian Beauclair
    Senior Developer Evangelist

    John Bristowe
    John Bristowe
    Senior Developer Evangelist

    Joey deVilla
    Joey deVilla
    Developer Evangelist

    Qixing Zheng
    Qixing Zheng
    User Experience Advisor

    Paul Laberge
    Paul Laberge
    Partner Advisor

Joel Semeniuk on Visual Studio and Team Foundation Server

In this episode of Developer Night in Canada (DNIC), John Bristowe (@jbristowe) and Joey deVilla (@AccordionGuy) chat with Joel Semeniuk (@joel_semeniuk) about a number of topics including Visual Studio and Team Foundation Server (TFS).

Download MP3 Audio - Joel Semeniuk on Visual Studio and Team Foundation Server (24.59 MB - 53 minutes, 58 seconds)

Show Links

About Joel Semeniuk

Joel Semeniuk is a founder of Imaginet Resources Corp; a Canadian based Microsoft Gold Partner. He is also a Microsoft Regional Director and has a degree in Computer Science from the University of Manitoba. Joel has spent the last twelve years providing educational, development, and infrastructure consulting services to customers throughout North America. Joel specializes in helping organizations realize their potential through maturing their software development and information technology practices. He employs a customized and incremental approach, promoting the ability to quickly adopt and tailor processes and technologies that best suit the needs of the organization. Backed by industry best practices and his experience, Joel works with organizations to ensure that their technology supports the vision of their business and is adaptable to the ever-changing marketplace, to accomplish this responsiveness without sacrificing quality, and to realize earlier and greater returns on their technology investment. For Joel and his customers, the ultimate goal is to achieve superior business agility.

Windows Azure Training Videos

Windows Azure logoWindows Azure is Microsoft’s cloud computing platform, and it’ll be going live very soon – expect to hear a number of announcements about it from next week’s Professional Developer Conference (PDC).

I’ll be posting articles showing you how to get into developing on Azure, but if you want to get a head start in the meantime, a good place to go is MSDev, Microsoft’s site that’s packed to the rafters with video training on all sorts of Microsoft platform development topics. There’s a series of training videos covering Azure development, including:

…and more videos are on the way.

[This article also appears in Global Nerdy.]

Next Week: TechDays Calgary

calgary

The next stop on the TechDays Canada cross-country conference tour is Calgary! We’ll be there for most of the week, and the conference itself takes place on Tuesday, November 17th and Wednesday, November 18th at the Calgary Stampede Roundup Centre.

After that, we’ve got the following dates in December:

  • Montreal (Sold out!) – December 2nd and 3rd
  • Ottawa – December 9th and 10th
  • Winnipeg – December 15th and 16th

[This article also appears in Global Nerdy.]

New Book: Ultra-Fast ASP.NET

UltraFastASPNET

The Empire’s been fine-tuning ASP.NET, SQL Server and the .NET runtime from the get-go, so ASP.NET is a pretty snappy platform. Even so, the fastest of platforms will still run like molasses in January if you don’t do things right. With any platform, there’s a body of best practices for getting the best performances, and with far too many platforms, these best practices haven’t been gathered into a single place.

ASP.NET developer are in luck: I just got notified by Apress of the release of a new book, Ultra-Fast ASP.NET. Here’s the blurb:

Ultra-fast ASP.NET by Rick Kiessig presents a practical approach to building fast and scalable web sites using ASP.NET and SQL Server. In addition to a wealth of tips, tricks and secrets, you'll find advice and code examples for all tiers of your application. By applying the ultra-fast approach to your projects, you’ll squeeze every last ounce of performance out of your code and infrastructure, giving your site unrivaled speed.

Learn How To:

  • Think about performance issues that will help you obtain real results.
  • Apply key principles that will help you build ultra-fast and ultra-scalable web sites.
  • Use the ultra-fast approach to be fast in multiple dimensions. You’ll have not only fast pages but also fast changes, fast fixes, fast deployments and more.
  • Use techniques that are being used by some of the world's largest web sites.
  • Structure your HTML and CSS to create pages that load ultra-fast.
  • Utilize tips and tricks for optimizing your ASP.NET and SQL Server code for performance and scalability.

You can order the dead-tree edition of Ultra-Fast ASP.NET online (it sells for USD$49.99, which at today’s exchange rate is CAD$52.32), or if you’re like me and try to get the electronic version when possible, the PDF version sells for USD$34.99 (CAD$36.62 at the time of this writing).

[This article also appears in Global Nerdy.]

WinMoDevCamp Toronto’s Agenda

Toronto WinMoDevCamp logo

WinMoDevCamp Toronto, the Toronto edition of the workshop for developing applications for Windows Phone, takes place today at Microsoft Canada’s headquarters.

If you can’r make it to WinMoDevCamp in person, you can attend virtually by watching the streaming video feed.

Here’s the agenda (all times are Eastern):

12:30 pm – 1:00 pm

Light Snacks and Event Registration

1:00 pm – 1:15 pm

Opening Remarks & Explanation of WinMoDevCamp purpose.

1:15 pm – 1:45 pm

Keynote by Microsoft Canada’s Joey deVilla, Developer Evangelist.
This session will give you an overview Microsoft’s commitment to mobility and the tools in place to assist developers in creating world class applications.

1:45 pm – 2:00 pm

Break

2:00 pm – 3:00 pm

Developing for Windows Mobile - Mark Arteaga, RedBit

Learn how to use the familiar Microsoft .NET Framework and .NET-based programming languages like Visual C#® development tools to develop world class applications. Learn about new features in Windows Mobile 6.5 such as the Gesture APIs and the Widget Framework and how to use them appropriately.

3:00 pm – 3:30 pm

Saviidesk – Joe Compta, Bradon Technologies Ltd (Bell Mobility)

Application presentation and demo

3:30 pm – 3:45 pm

Break

3:45 pm – 4:15 pm

Telus Application Developer Program Presentation

Program presentation and overview

4:15 pm – 4:45 pm

Merge Healthcare OEM – Atul Agarwal, Director Web Apps

Application presentation and demo

4:45 pm – 5:45 pm

Samsung TouchWiz and Widgets – Max Karlin, Samsung Canada
An in-depth look at Samsung’s TouchWiz UI and Widgets. How to develop widgets, upcoming features and functionality and how to distribute widgets for Samsung devices.

5:45 pm – 6:30 pm

DinnerWindows Marketplace Overview, Anthony Bartolo, Microsoft

6:30pm – 7:00 pm

vPost, Sculpting Mobile Data Convergence – John Cousens, Vayyoo

Application presentation and demo

7:00pm – 7:30 pm

Sony Ericsson “Hero” Developer Program – Sean Cheddi, Sony Ericsson

Developer Program enrolment and Panel SDK overview

7:30pm – 8:00 pm

WinMoDevCamp wrap up and Prize Giveaway

[This article also appears in Global Nerdy.]

The Facebook/.NET SDK

facebook sdk

Facebook has announced official support for the just-released 3.0 version of Microsoft’s Facebook SDK (also known as the Facebook Developer Toolkit). The kit was written with one goal in mind: to make it easier for .NET developers to write applications that integrate with Facebook.

I’ll leave it to the Facebook SDK Overview to do the talking:

The main entry point is the API (Facebook.Rest.Api) class in the Facebook.dll assembly. This class wraps the Facebook REST API and provides an easy to use interface for calling the different methods currently available in the Facebook API. We've also provided samples and tools for helping develop Facebook applications in the various .NET platforms including: ASP.NET, Silverlight, WPF and WinForms. Additionally, we've provided all the source code for the API, components, controls, and samples for you to explore.

The toolkit is comprised of the following core assemblies:

  • Facebook.dll: This is the main assembly that will be used by all applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications (Silverlight and WPF) to enhance the Facebook platform to make databinding and data caching easier.
  • Facebook.Silverlight.dll: This is the Silverlight version of the main assembly that will be used by all Silverlight applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications to enhance the Facebook platform to make databinding and data caching easier. The REST API in this assembly is Asynchronous only.
  • Facebook.Web.dll: This assembly should be used by Canvas applications. The main functionality supported in this assembly is to encapsulate the handshake between the Facebook application and a canvas application (both FBML and IFrame)
  • Facebook.Web.Mvc.dll: Provide a support building canvas applications using ASP.NET MVC. Separated from Facebook.Web.dll to avoid all developers from needing to install the MVC bits.
  • Facebook.Winforms.dll: This assembly provides support for writing Facebook applications using Winform technology. This provides a Component that wraps the API to make it easier to use from Winforms. This also contains some user controls to help display Facebook data easily.

To get started, download the SDK, then consult these docs:

If you create any Facebook apps using the SDK, let me know by dropping me a line. I’d love to feature it here!

[This article also appears in Global Nerdy.]

Taking JavaScript Performance to the Extreme with Thomas Fuchs

"Extreme JavaScript Performance" (from JSConf.eu, November 7)

thomas fuchsTake a look at the slides from Extreme JavaScript Performance, a presentation by Thomas Fuchs, creator of the script.aculo.us JavaScript library, collaborator on the book Agile Web Development with Rails and one of the people behind FailCamp. He gave the presentation last week at JSConf.eu in Berlin.

In the presentation, Thomas looked at six simple things you can do to boost the performance of your JavaScript:

  • Use inline functions instead of function calls.
  • Embrace the language – using the language’s conventions yields unexpectedly faster code. Instantiate arrays using var myArray = [] instead of var a = new Array, and instantiate objects using var myObject = {} instead of var o = new Object.
  • Unroll your loops! (A trick so old that we covered it when I was in school!)
  • Cache globals. If you’re going to access a global object, store a local reference and use that instead.
  • Tune your boolean expressions: in logical “AND” (&&) operations, make the operand most likely to be false the first one.
  • Watch out for slow constructs such as with blocks, try/catch and features that JIT compilers don’t support well.

The presentation includes benchmarks for the four most common JavaScript engines:

  • SpiderMonkey (Firefox 3.5)
  • JavaScript Core (Safari 4)
  • JScript (Internet Explorer 8)
  • V8 (Google Chrome)

And yes, he does warn you – at least twice – of the dangers of premature optimization.

JavaScript Performance Rocks

JavaScript performance rocks

If you liked Extreme JavaScript Performance, you’ll love the ebook Thomas co-authored with Amy Hoy, JavaScript Performance Rocks! Actually, it’s more than just a book – it’s four books and a profiling tool:

  • Book 1: Understanding and Measuring Performance (or: “Dude, Where’s My Performance?”) - “In which our brave hero or heroine (that's you!) apprentices to the cryptic-but-charming Master (that's us) and learns how to get into the enemy's head—the better to eat it alive, my dear.”
  • Book 2: Loadtime (or: “The Land of Unicorn Tears”) - “Loadtime is a sad time, a time of of enormous, slow-loading assets; of maxed-out request queues; of bloated, waddling DOMs. Of limp white screens. Most of the world's worst web performance woes? They live and breed in Loadtime. That's why it's the Land of Unicorn Tears, because unicorns hate slow web apps just as much as the rest of us. And they have magical horns. So there.“
  • Book 3: Runtime (or: “’Cuz Tuning Loops is Hardcore”) - “The vast majority of the problems that the vast majority of apps will have can be solved with loadtime fixes of various stripes. But just in case you're unique, and special, and have particularly intractable issues—or are just a glutton for punishment—we have written a third booklet, all about speeding up code when it runs.”
  • Book 4: Interface Coping Strategies (or: “If You Can’t Fix It, Fake It”) – “Come across a performance problem that you really can't fix? Long-running calculations? Slow server you can't tune up? If you can't make it, fake it. You can make your app feel faster to your customers, even if you can't fix the underlying problem. And, let's face it, that's what your customers care about.”
  • The DOM Monster profiling tool.

JavaScript Performance Rocks! isn’t your ordinary ebook, with material laid out for a dead-tree book simply cast in PDF form. It was designed from the ground up for onscreen reading, written in an entertaining way to keep you amused and your mind ready to learn, and written in a fun, irreverent way so that you don’t zone out. I know Thomas and Amy personally and have seen them teach; trust me – you want to learn from them.

JavaScript Performance Rocks! usually sells for US$49, but there’s a special deal right now – the first 500 books are selling for 10 dollars less -- US$39. You’ve got two good reason to buy immediately: first, there’s this $10 discount, and second, the US/Canada exchange rate’s pretty good right now (as I write this, the PayPal exchange rate is CAD$1 = US$0.92).

I’ve already ordered my copy.

[This article also appears in Global Nerdy.]

WinMoDevCamp Toronto This Wednesday!

WinMoDevCamp banner

WinMoDevCamp Toronto, the free workshop where you can learn about Windows Phone Development, takes place this Wednesday at Microsoft Canada’s offices in Mississauga. Come learn about Windows Phone by participating in a development project, and come meet some of the faces (including me) at the local branch of The Empire! (And yes, we’ll serve snacks and dinner.)

WinMoDevCamp is free of charge and takes place this Wednesday, November 11th, from 1 to 9 p.m. at Microsoft Canada Headquarters (1950 Meadowvale Boulevard, just off Mississauga Road north of the 401). To participate in WinMoDevCamp, please register.

Click to register for WinMoDevCamp

[This article also appears in Global Nerdy.]

First a Django Guy and Now a Microsoft Guy: “Thank You, Rails”

monkey-knife-fight Platform wars are like monkey knife fights: amusing at first, but regrettable and messy in the end.

You don’t see this very often, and it’s a shame: Jacob Kaplan-Moss, co-creator of Django, the Python-based MVC web application framework, wrote a great article titled Thank You, Rails. From the article’s opening paragraph:

It’s fashionable, or perhaps inevitable, for tech communities to trash their competition…We geeks make arguing over minor technical points into a kind of art.

The most important point in his essay is a few paragraphs down. He points out that while having a competitor often lends focus to a developer community and that a rivalry can often bring about excellence among all parties concerned, it can also bring bitterness and nastiness. He wants to counter those latter things, and so he writes:

I think it’s important to recognize that we in the web development community do in fact owe Rails and the Rails community a debt of gratitude. Rails helped reframe the way we think about web development, and even those who’ve never touched Rails nevertheless are probably reaping indirect benefits right now.

So I think we should all step back from our personal preferences and plainly say thank you, Rails, for all that you’ve done to move the state of web development forward.

Rails was a wake-up call to the web development world in so many ways. In the short time – a mere five years -- that it’s been around, it’s been responsible for many changes in the world of web applications:

  • Popularizing MVC amongst web developers. Yes, it had been done before, but never quite as elegantly or explained so clearly.
  • Bringing concepts like DRY and Convention Over Configuration into the developer vernacular.
  • Proving that simplicity is a feature, whether it’s from the developer’s or end user’s point of view.
  • Pointing the spotlight at the Ruby programming language.
  • Driving a movement towards web applications with both beautiful and usable interfaces.
  • Reminding us that programming should be fun.
  • Reinforcing an important idea that we often forget: community matters. (If you’ve been to a RailsConf or better still, RubyFringe and FutureRuby, which takes the Ruby/Rails community camaraderie and turns the dials up to 11, you know what I mean.)

Speaking as a Microsoft guy, I too would like to say “Thank you, Rails”. While I can’t honestly classify myself as ever having been a serious Rails developer – it’s mostly noodling on personal projects and one major cancelled project at Toronto’s worst-run startup – I come from the periphery of the Rails community, having been an unofficial evangelist and occasional court jester, as evidenced in this performance from the evening keynotes at RailsConf 2007:

I take a lot of what I’ve learned from the community-building effort that made Rails what it is today and have applied it to my work at Microsoft. From what I’ve been hearing, it seems to be helping.

It’s not just the community aspects of Rails for which both Microsoft and I owe Rails a debt of gratitude -- there are the technical aspects as well. I’m sure the event-driven desktop-style development metaphor behind ASP.NET makes a lot of developers happy, but it drove me bonkers – and also to PHP (and eventually, Rails) -- back in 2002. The drive to create an MVC web application framework that treated the web like a first-class citizen instead of “like the desktop, but lamer” led to the creation of my preferred Microsoft web framework, ASP.NET MVC, and I cannot begin to convey how grateful I am for that. I love ASP.NET MVC, and a good chunk of the reasons why stem from the Rails-isms that found their way into it. I think ASP.NET MVC developers would benefit from getting to know Rails and taking it out for a spin – and I think the Rails developers would also gain something from giving ASP.NET MVC a try.

I once read a saying that has stuck with me all these years: “When you slice a blade of grass, you shake the universe.” Yeah, it’s a pretty drama-queeny way of saying that everything is interconnected, but it’s true in many respects, including human endeavour, which in turn includes software development. It’s an ecosystem, and different parts of it influence each other all the time. I think that the best participants in that ecosystem learn from other parts, and acknowledge those efforts that make the ecosystem a better place in which to live.

joey-devilla-on-accordion-at-railsconf-2007

So to echo a Django guy’s sentiment, here’s a Microsoft guy saying it: Thank you, Rails.

[This article also appears in Global Nerdy.]

Halifax Coffee and Code This Afternoon – Just Us Cafe on Barrington

Just Us Cafe logoThis afternoon (Wednesday, November 4th) from 2:00 p.m. to 6:00 p.m. Atlantic time, I’ll be holding a Halifax edition of “Coffee and Code” at Just Us Cafe on Barrington (1678 Barrington). My coworkers Damir Bersinic and Rodney Buike will be joining me. Come on down and chat with us about Microsoft, the tech industry in general, the job market, accordions, whatever!

(If you’re a developer who’s interested in building a cloud computing-based application on Windows Azure, you might want to come down for this one, as I might have an offer that you might find difficult to resist. Just sayin’.)

There may be plans for dinner and accordion-and-beer-fueled mayhem this evening, so if you’re into that sort of thing, drop me a line.

[This article also appears in Global Nerdy.]

Visual Studio 2010 - Project/File Type Sorting

In previous versions of Visual Studio, the "New {Item}" window was a continual source of frustration for me because there wasn't any way to sort the list of types. This was particularly painful when you had a number of project or file type extensions installed to support development on platforms like Office. Many times I've sat in demos where the presenter needed the audience's help to find a particular type in the "New {Item}" window.

Finally (and thankfully), Visual Studio 2010 introduces the ability to sort types in the "New File" and "New Project" windows:

New File window in Visual Studio 2010
"New File" window in Visual Studio 2010

New Project window in Visual Studio 2010
"New Project" window in Visual Studio 2010

Now, instead of hunting for the project or file type that you're searching for, you can help yourself out by sorting the listing by its name in either an ascending or a descending order.

The New Yorker’s Hallowe’en Cover and Why You Should Go to WinMoDevCamp

The New Yorker’s Hallowe’en Cover

I make sure to keep an eye on how technology pops up in mainstream non-geek culture because it’s a good way to gauge the techno-cultural zeitgeist and see how technologies are being received by the public at large. As techies, we’re all too happy to be early adopters and are willing to put up with usability problems, annoyances and extra work just to have the latest and greatest gear for its own sake. We have a tendency to forget that many non-techies don’t adopt technologies while they’re still new and need a techie mindset to use; they' wait until technologies evolve to the point where the benefits outweigh the annoyances.

The current issue of The New Yorker has a Hallowe’en-themed cover that hints at how much smartphones have worked their way into everyday people’s lives:

New Yorker Halloween Cover

Here's a closeup:

New Yorker Halloween Cover closeup

(I’ll bet that at least one of you went out Saturday night trick-or-treating and checked your smartphone.)

The practical upshot of all this: the mobile platform is in your future. It’s the one that people take everywhere and it’s growing in power in leaps and bounds the way desktop (and later, laptop) computers did in the ‘80s and ‘90s.

WinMoDevCamp

WinMoDevCamp banner

Speaking of mobile platforms, we’re holding a full-day workshop on Windows Phone development called WinMoDevCamp Toronto next Wednesday, November 11th  from noon to 9 p.m. at the Microsoft Mississauga offices (1950 Meadowvale Boulevard). It’s free of charge and your chance to learn how to develop applications for Windows Phone.

[This article also appears in Global Nerdy.]

One-Handed Computing

Your mind probably went someplace saucy as soon as you saw the phrase “One-Handed Computing”, but in this case, I’m talking about what Jason Kottke is talking about -- those times when you use mobile technology while your other hand isn’t free because you’re:

  • Eating
  • Drinking
  • Carrying or feeding a baby
  • Walking the dog
  • Carrying groceries
  • “Straphanging” on a train or bus
  • Getting by with a broken arm

In the cases above – and I’m sure you can think of many more – you’re accessing computing resources in a very undesktop-like way: with only one hand, and even then, a limited portion of that hand since most of your fingers are busy holding that phone. You’re likely using only your thumb, as shown below:

windows mobile 6.5 and thumb

There are lots of times when users are stuck in “one-thumb mode”. If you’re building mobile applications, you should keep that in mind and make sure you design your user interfaces accordingly. You might need to consider things like:

  • The size of touchscreen controls: make them too small and they’re not thumb-friendly.
  • The number of controls on the screen; the maximum number is dictated by their size.
  • Navigation in your app. Hierarchical arrangements make sense to developers, but lots of user experience people will tell you that ordinary people don’t get hierarchies.
  • Which functions will your users use most often? You should make those very easily accessible. Which functions will your users use less often? You might be able to put them on a secondary or tertiary screen.
  • Can you get information without making the user enter it? For example, can you infer information based on the user’s location, which you can grab from GPS instead of asking for him/her to enter it? Can your application remember your user’s most often-used data?
  • Can you get other kinds of one-handed input, such as from the camera, accelerometer, magnetometer or other sensors?

That’s a fair bit to think about, and I might have to present some ideas at the upcoming Toronto WinMoDevCamp (and yes, I’ll also blog them).

[This article also appears – with a bonus picture, even! -- in Global Nerdy.]

TechDays Halifax / Halifax Coffee and Code Next Week!

halifaxTechDays, Microsoft's cross-Canada conference for developers and IT pros took a break in October, but returns in November to complete its tour of the five remaining cities, starting in Halifax!

I, along with the rest of the TechDays team will be in Halifax and places nearby starting this weekend and for most of next week:

  • We’ll be around on the weekend doing setup and rehearsals for the TechDays conference
  • The TechDays conference itself will take place on Monday, November 2nd and Tuesday, November 3rd at the World Trade Convention Centre Halifax.
  • On Wednesday, November 4th, I’ll be hosting a Coffee and Code event at the Just Us Cafe (1678 Barrington Street) from 2 to 6 p.m.. That means I’ll be working from that cafe – drop by and chat!

And don’t forget that TechDays Canada is also visiting these cities:

  • Calgary: November 17th and 18th
  • Montreal: December 2nd and 3rd
  • Ottawa: December 9th and 10th
  • Winnipeg: December 15th and 16th

Tickets are a still available for these cities.

In case you’ve forgotten the TechDays formula, here it is again:

TechDays = Content from premium conferences far, far away + Delivered by local speakers at venues close to home + Extra events and goodies for you to enjoy

See you in Halifax!

[This article also appears in Global Nerdy.]

Canadian MVPs Contribute to Free Developer eBook

From the Microsoft MVP Award Program blog earlier this week:

Canadian MVPs Contribute to Free Developer eBook!

Nine MVPs recently contributed to the Developers, Developers, Developers, IT eBook. The eBook was created by Canadian MVP Derek Hatchard and Dirk Primbs. It contains 17 articles by developers for developers and is available as a free download from Microsoft.

Sections within the book:

Download the free eBook here!

More Posts Next page »
Page view tracker