Categories
Uncategorized

Introducing WebMatrix

What is WebMatrix?

webmatrixBy now, you’ve probably seen the tech news reports as well as Scott Guthrie’s announcement about WebMatrix, Microsoft’s lightweight web development web development system that packages a web development tool with a number of new web technologies:

  • IIS Developer Express: a lightweight, free-as-in-beer web server with simple setup, runs on all versions of Windows and is compatible with the full-on version of IIS 7.5
  • SQL Server Compact Edition: a lightweight, free-as-in-beer file-based database with simple setup that can be embedded within ASP.NET applications, supports low-cost hosting and whose databases can be migrated to the full-on version of SQL Server.
  • ASP.NET “Razor”: A new view engine option for ASP.NET for easy and clean templating with a simple syntax. You can use Razor to embed C# or VB into HTML.

WebMatrix ties these goodies together in a nice simple package that the beginning web developer will find easy to use and that the pro web developer will find handy for building quick sites. These parts are also available individually to ASP.NET developers and will soon be available to ASP.NET MVC developers.

If you’re looking for a quick video tour of WebMatrix, chack out the Channel 9 video below:

Get Microsoft Silverlight

Can’t see the video? You can download and install Silverlight or download the video in iPod, MP3, PSP, WMA, WMV, WMV (High) or Zune formats.

A Quick Look at WebMatrix’s Parts

WebMatrix provides a simple, task-based interface for quickly creating web sites, both static and dynamic:

WebMatrix "Quick Start" screen, with four links: My Sites, Site from Web Gallery, Site from Template, Site from Folder

It makes it easy to include open source ASP.NET- and PHP-based web applications in your site:

WebMatrix App Gallery page, featuring apps like DotNetNuke and WordPress

It’s also easy to manage applications in a WebMatrix site:

BlogEngine.NET management page in WebMatrix
If you’d rather write your own web app in WebMatrix, you can do that too. There’s a rich file editor:

WebMatrix file editor, showing the site.master page in BlogEngine.NET being edited

And database definition and management tools:

Screenshot of table definiton and contents in WebMatrix's database tools

There’s also sample code and web helpers to make your life easier and show you what’s possible, such as this handy sample that makes it easy to make a Twitter client. Here’s the code that takes advantage of the sample:

WebMatrix code editor showing a Twitter class' "Search" method being called

…and here’s the result:

Screenshot of sample Twitter app in WebMatrix

If you need to get hardcore, you can open your WebMatrix project in Visual Studio or even the free-as-in-beer Visual Web Developer 2010 Express:

WebMatrix toolbar, with the "Launch in Visual Studio" button highlighted

Previewing your WebMatrix site in multiple browsers is a snap:

The "Run" button in WebMatrix, showing the different browsers you can use to preview your site

Deployment is nice and easy once you’re doing editing your site:

The "publish" button and screen in WebMatrix

Find Out More

I haven’t had a chance to take WebMatrix out for a proper spin yet, but I’m hoping to over the next few days. It’s a collection of cool technologies (which I ‘ll also use in my regular ASP.NET MVC development) wrapped together by a nice, simple tool that’s great for the web developer who’s not working on enterprise sites. I can also see myself using it as a handy prototyping tool.

If you’d like to find out more about WebMatrix, take a look at these:

Download the WebMatrix Beta now!

WebMatrix has just been released as a beta and available for download right now! We want you to try it out and let us know what you think, because we’ll be refining it based on what you tell us.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Yuri Gurevich: “Introduction to Algorithms and Computational Complexity, Part 1 of n”

Get Microsoft Silverlight

Can’t see the video? You can download and install Silverlight or download the video in MP4, MP3, WMA, WMV, WMV (High) or Zune formats.

If you took computer science in university, you might remember a course or two with a title like “Algorithms and Data Structures”. Perhaps – and this is more likely – you might not. It’s understandable: as a student, you were probably bored by the course’s deep forays into theory-land and never cracked open Rivest and company’s Big Book of Algorithms, certain that you’d never end up using this stuff in real life (and admittedly, the only time I ever found the “Could P ever equal NP” problem useful was in an extremely unusual dating situation).

As a reader of this article, the chances are that you’re out of school and working either as a programmer or at least work with them. You might have come around to thinking that you wish you’d paid a little more attention in that Algorithms course, in that wistful, grown-up “Why did I quit piano lessons when I was young?” way. If you feel this way, here’s your second chance.

Microsoft’s Channel 9 is presenting a series of video lectures by computer scientist and big math brain Yuri Gurevich,, the guy behind the abstract state machine (an enhancement of the Church-Turing Thesis, which states that if it’s computable, it can be computed by a Turing machine). In this series, he’ll walk through all those algorithms that were covered in that course, provide plenty of historical context and explanations, and hopefully give you enough knowledge to help make you a better programmer. The first lectures in the series introduces algorithms by starting with Euclid’s “greatest common divisor” algorithm, explores the history of computation (including the Entscheidungsproblem), covers the difference between solvable and non-solvable and covers all those goodies you missed in Algorithms class.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

A Must-Read for Mobile Developers: The Mobile Developer Economics 2010 Report

What’s the number one reason why developers choose a mobile platform? According to Mobile Developer Economics 2010 Report, which is produced by VisionMobile (and which I’ll call MDE 2010 from now on), it’s market penetration:

developers reasons

Do mobile developers stick to one platform, or do they develop for multiple platforms? MDE 2010 says that the latter is true:

Most developers work on multiple platforms, on average 2.8 platforms per developer, based on our sample of 400 respondents. Moreover, one in five iPhone and Android respondents release apps in both the Apple App Store and Android Market.

Which mobile platform was most used by developers in 2010? It might not be what you think, going by MDE 2010’s numbers:

most used platform

Are app stores the way of the future? Quite likely, and that’s because according to MDE 2010:

  • It provides the fastest time from final GM version to market, and
  • It’s the fastest way to get paid.

time to market

MDE 2010 is a treasure trove of useful information for developers and entrepreneurs looking to make it big by creating software that runs on those little computers that are rarely more than arm’s reach away. Luckily, it doesn’t cost a thing – the folks at VisionMobile have made the download available for free!

If that weren’t enough, VisionMobile is also posting a four-part series of articles on their blog in which they discuss MDE 2010. Part one is here, with the other parts to follow.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Uncle Bob: All Our Programming Languages Boil Down to Sequence, Selection and Iteration

“It’s not true that life is one damn thing after another,” wrote the American poet Edna St. Vincent Millay, “it is one damn thing over and over.” Her statement is simply a newer version of the French expression Plus ça change, c’est la meme chose, which is approximated in the English “The more things change, the more they stay the same”. In turn, that French expression echoes a sentiment that dates at least as far back as the biblical book of Ecclesiates: “What has been will be again, what has been done will be done again; there is nothing new under the sun.” Even the idea of history repeating itself has a history of repeating itself!

That’s the essence of the keynote at the 2010 RailsConf conference given by Robert C. “Uncle Bob” Martin, whom I like to think of as “the programming world’s adult supervision”. If you’ve got some time to spare – perhaps while you’re having lunch – watch the video above, because it’ll give you a better sense of the history of programming languages and some educated guesses as to where they’re heading. Once you strip away the syntactic sugar, argues Uncle Bob, our programming languages essentially boil down to three things: sequence, selection and iteration, and every construct within those languages is some combination of them. In the keynote, Uncle Bob explains this essence and considers the implications, in classic “Uncle Bob” style, which includes, of all things, a drum solo at the beginning.

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Ten Things You Need to Know About Design

10 things about design

What you see above is a slide from Jason Putorti’s slide deck titled 10 Things CEOs Need to Know About Design. Don’t let the title throw you off: everything in the presentation is even more important for developers because we actually make the things our customers use.

If you decide to commit only one of these ten things to memory, commit this one: Design is more than pretty pictures. It’s about combining different aspects of intelligence – rationality, creativity and empathy – to meet your users’ needs and drive business success. It’s about crafting the user experience, which is how the thing you’re designing works in the real world and how your users feel about it.

I’ve included the slide deck below…enjoy!

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

TWC9: IIS Express, SQL Compact, Silverlight Pivot Viewer, Zip Support in System.IO, .NET on a Bike and More!

Get Microsoft Silverlight

Can’t see the video? You can download and install Silverlight or download the video in MP4, MP3, WMA, WMV, WMV (High) or Zune formats.

this week on channel 9

Once again, it’s time for another installment of This Week on Channel 9 (or TWC9 for short), Microsoft’s regular video webcast featuring Dan Fernandez and Brian Keller, who provide entertaining and informative coverage of the news of the week for the .NET developer community.

In this episode, Dan and Brian cover:

The episode also features Dan’s and Brian’s picks of the week:

This article also appears in Canadian Developer Connection.

Categories
Uncategorized

Dive Into HTML 5

dive into html 5

If you’ve decided to learn HTML 5 and are looking for a good introduction, I can’t think of a better starting point than Mark Pilgrim’s Dive Into HTML 5. If Mark’s name rings a bell, it’s probably because you’ve heard of his books Dive Into Python and Dive Into Accessibility. As you can see, he’s taken a theme and he’s running with it.

Dive Into HTML 5 covers a number of topics, including:

Mark has a knack for explaining things, so I’m always happy to point people to his books. I consider Dive Into HTML 5 to be pretty comprehensive; you could create a course based solely on the material in this book, and thanks to the licensing, you can!

Dive Into HTML 5 is available for free online and is a work in progress. It seems to be largely complete with only a couple of missing chapters, and when it’s done, it’ll be available in a couple of forms:

  • For free, online
  • For money, in the form of an O’Reilly book

As with Dive Into Python and Dive Into Accessibility, Dive Into HTML 5 is published under a Creative Commons “By” 3.0 license. You can freely share the contents of the book and even take it and adapt it any way you please: into your presentations, into a lecture or blog article series, or even your own book on HTML 5 – as long as you give Mark credit for creating the original work.

This article also appears in Canadian Developer Connection.