Who Do You Recommend to Design a WordPress Website?

Here’s an email I got a few days ago from someone I met at a Meetup about 6 months ago:

Hi Mike,

I have a friend looking for setting up a non-profit website and they want to use WordPress. I was wondering if you’d be able to help with this, or if not if you know of someone you can recommend who does WordPress website design? My friend needs mostly graphics work, but also need help setting up their WordPress site. They already have the logo and the content. Their budget for this is around US$1000.

- Thanks!

Déjà Vu

I get an email similar to the above about once a week on average. It seems I’ve become branded in the eyes of many people in Atlanta as "The WordPress Guy" even though I don’t do what most people think of when they think of "People who do WordPress"; i.e. I don’t design nor do I build WordPress-based websites[1].

<sigh> :)

Pay it Forward

But when someone asks for help I really do want to help.

I’d never fault anyone for not knowing that I’m the wrong person to ask. And I also wouldn’t fault someone who doesn’t know how much it costs to hire a WordPress specialist; if someone is not a immersed in the web world how could they know?

No More 1-off Emails

Still, I’ve written a response to this type of email more times than I care to count. Speaking of, a few days ago a blog post by Eric Mann inspired me to stop replying long form to emails and to start writing blog posts instead.

So here goes.

A Custom Website Design for US$1000?

Let’s talk about that US$1000 budget. In the Atlanta area we have over ten (10) Fortune 500 companies and as a result we probably have over 100 digital agencies, all directly or indirectly serving those large companies as well most of the midsize companies in the area. Good graphic designers are in high demand here, and they are used to being very well paid. I’m not sure, but I expect the same is true in most major US cities as well.

For US$1000 it might be reasonable to expect to three (3) design comps for your future website’s home page. But it’s highly unlikely you’ll find a quality designer to generate a custom design for an entire site, encode the design into HTML+CSS, convert the code it into a WordPress theme, install WordPress at a hosting company, research, select and then install the various WordPress plugins needed for the features desired, and finally configure everything, all the while taking input from a client who is likely to constantly question aspects of the implementation. All for only US$1000.

And the previous paragraph assumes you can even find someone with the skill to do all those things rather than needing to find a team or to assemble a team of different skills to build the site.

Of course you might get really lucky and find a student from SCAD, Creative Circus, Art Institute, or Portfolio Center who would be willing to build your website for US$1000, assuming your student has already worked extensively with WordPress as a hobby.

So like I said, you might get really lucky…

What Should My Website Cost?

But what price is reasonable to expect?

Those who build WordPress websites know the "How Much?" question can be a landmine. Quoting a price too early can get a WordPress sitebuilder into hot water. I’ve seen WordPress websites cost between free – self-serve at WordPress.com – and US$500k or more. How can a site builder know how to price a website prior to fully understanding its requirements?

Price really depends on both what the client needs as well as what the client wants/expects. And the latter is rarely consistent with the former. For example, does a divorce attorney’s website really need a Flash-based header showing storm clouds, and lightning strikes on hover?!? (yes, that is an actual client request, no demand, that I heard from one of my friends who is a sitebuilder.)

WHICH IS WHY I LOVE this website price calculator:

It was built by Erik Wolf who runs ZeroG Creative. It walks a wannabe website client through a series of questions that help the prospect understand some of the things can affect price and by what magnitude.

Here are some of the questions:

  • "Are you planning on hiring a designer/firm?"
  • "How many people will be involved in the decision-making process?",
  • "Will your website require eCommerce?",
  • "Will your site require social media integration?", and
  • "Will you need a dynamic photo gallery that you can update yourself?".

Depending on the options selected Erik’s price calculator generates prices between US$500 and US$16,500, where for $500 you basically get a site and theme installed, nothing more. And for small business websites I’d say that’s pretty close although frankly I’d expect more like US$1000 and US$25,000.

What About Non-US People?

Note those prices above are for US-based WordPress developers.

And yes, you can pay significantly less to have a WordPress site built by someone outside the USA. But it’s also possible that you will pick the wrong person and that person will either not deliver or will deliver something that doesn’t match your expectation after your entire budget has been spent.

Offshoring can work great for certain type of projects if you have the luxury to pay to try numerous people to find the one that really meets your needs. But if you have only enough budget to try one person, your taking a big risk with your money. And you’ll have no recourse if they fail you.

So caveat emptor if you hire your web developer off Elance.

Agency Projects for Large Companies

By the way, if you are trying to determine the cost of a WordPress website for your Fortune 500 employer expect that your site will cost between US$100k and US$500k.

Why the huge difference in price between small business websites and large business websites? In a word, "Expectations."

More specifically, because of their collective need to see exhaustive design variations, their need to allow your numerous stakeholders to control and approve every detail, their insistence that unrealistic deadlines be met, their expectation that every aspect is perfect upon first preview of features, their desire for constantly scheduling unnecessary and unproductive meetings, and their IT department’s insistence upon using a hosting company that has no expertise in WordPress and no desire to learn it.

But I digress.

But Do You Really Need a Designer?

Considering the budget of US$1000, maybe a "Website Designer for graphics work" is not really what is needed. Maybe what they need is a what I like to call a "Site Builder."

A Site Builder is a jack-of-all-trades and master of none, with respect to WordPress. This is someone who can setup a web host, install and configure WordPress, select an off-the-shelf theme and tweak it to incorporate the logo, and finally add and configure various plugins to add functionality such as email signup forms, social media integration and optimization for SEO.

To further illustrate the difference between a Designer and a Site Builder I roughly categorize WordPress skills as one of these where many people having more than one (1), but rarely more than two or three:

  • User/Author (Content writer)
  • Layout/Graphic Designer (Photoshop)
  • HTML Coder (HTML+CSS)
  • Themer (WordPress Themes)
  • Front-End Developer (Javascript/AJAX Developer)
  • Back-End Developer (PHP/MySQL/Plugin Developer) <– This is me
  • and finally Site Builder (Installs/Configures/Adds a Theme and Plugins)

So for a US$1000 budget I think it’s realistic to find a US-based consultant who can deliver a basic website, assuming the client understands the limitations of using off-the-shelf themes and plugins, i.e. but no custom design and custom PHP or Javascript code. It’s a lot like buying a car; you might not like the wood-trim dash but if you chose a model that only comes with a wood-trim dash, that’s what you get.

Other WordPress Specialties?

I tend to want to make my lists exhaustive, so in that vein I might as well list these specialties too, for the record:

  • eCommerce Specialist - Expertise in online retail and payment processing
  • SEO Specialist - Optimizes for search engines
  • Security Specialist - Reviews code for security holes
  • Performance Specialist - Helps developer improve performance
  • Hosting Specialist - Configures servers for high scalability

What are Off-the-Shelf Themes?

Yeah, I threw that bit of jargon in there when I mentioned Off-The-Shelf Themes. If you are not familiar with this term it refers to packages of design and code that you can purchase from 3rd party vendors that, once installed will update the look and feel of your WordPress-based website.

In it’s 10 years WordPress has spawned a large number of commercial theme vendors, more than 100, although the vast majority of themes are probably sold by 10 or fewer vendors.

Look for an Existing Theme.

If you need a website and your budget is small I’d recommend you surf the main theme vendors websites to find a theme you could envision your future site using. If you can find one that meets all your needs, your low budget website might just be able to be reality.

The following list are the theme vendors I know the best, in alpha order (if you are a fan of another theme vendor feel free to list in the comments.):

But Don’t Expect Significant Changes

Please do realize though it is very difficult for a Site Builder, Graphic Designer or even HTML Coder to make more than trivial changes to the look-and-feel of an off-the-shelf theme without a huge expense. Themes can be very complex beasts and it often takes as long for someone to learn how to modify someone else’s theme than it does to create one from scratch.

So please don’t put your Site Builder in the position of having to explain to you why your "simple change" is really a very time-consuming and labor intensive task (that they will have to bill you for, if they will even agree to do it.) Instead, have them explain to you what is easy and what is hard and then only ask them to do the easy (and inexpensive) things. Your willingness to appreciate their efforts will keep them wanting to service you in the future when you need additional support.

Finally, Who Do I Recommend?

So who do I recommend to build your WordPress-based small business website here in Atlanta? Frankly in good faith I can’t recommend anyone. Why? Because I’ve never worked on a team building a small business website before so any recommendations I would make would really just be me telling you who I know.

That said, I can tell you who I know that specializes in building WordPress websites, in the Atlanta area. Here they are, listed in order of how well I know them (note: I believe all of these have minimum fees higher than US$1000):

There are a lot of others I know outside of Atlanta, but most of the requests I get are from people in Atlanta and thus I’m listing those I know who serve my local area.

And yes I know, it’s a potential faux pas for me to create this list as I’ve most certainly forgotten someone; if it was you who I have forgotten please accept my profuse apology and leave a comment with your contact information below.

Friends, Family or DIY?

Finally, if you or your friend cannot find a WordPress specialist to build your website within your budget, maybe you can find a friend or family member who can help? WordPress powers almost 20% of the web so that means you probably already know a friend of a friend at least who has set up their own WordPress website and can help you get your site going. Ask on Facebook, maybe?

If you are a non-profit, as above, maybe you can find someone passionate about your non-profit’s mission who knows how to set up a WordPress site; they might be willing to work for significantly below market rates.

And if all else fails, do it yourself. It really is possible for a reasonably intelligent person with moderate computer skills to install and configure WordPress; it just takes a bit of stick-to-it-iveness and lots of Google searches to figure out how to do it and launch it yourself.

Anyway, hope this helps.

-Mike Schinkel
WordPress Platform Architect

Footnotes:

  1. Instead of designing and building small business websites I architect and build products based on WordPress for software companies and agencies. I call myself a "WordPress Platform Architect." My focus is very narrow and as such I don’t develop the experience needed to build websites for small businesses. I can’t help select a theme and I don’t know which plugins work best. And I’m as far from being a designer as any web person has the potential to be. But if you want to use WordPress to implement a complex site and need a specialist to architect if for your team to then perfect, I’m your guy.

Atlanta Web Entrepreneurs learn about Twitter

Lots of Atlanta Web Entrepreneurs

Last month on the 21st we had a blowout meeting about Twitter for the Atlanta Web Entrepreneurs meetup group I organize; over 100 people attended!

We started out with an Intro to Twitter which I prepared and delivered. It reminded me of delivering training long ago during my DSW Group, Financial Dynamics, and Expert Education days.

Loren Norman setting up videocast for AWE

Triangle Tweetup and Robert Scoble on AWE Videocast about Twitter

Normally we find others to give all the presentations but given how confused some people where at our Facebook meeting when we started with the assumption they knew about it, I decided it was best for me the Twitter newbie to give the other newbies the introduction and then let the "rock stars" in our lineup really get into the meat of things.

We then launched into a video conference with both Wayne Sutton (@waynesutton on Twitter) and the Triangle Tweetup (@triangletweetup on Twitter) as well as Robert Scoble a.k.a. "Scobelizer" (@Scobelizer on Twitter).  Loren Norman (@lorennorman on Twitter) of Snowcap Labs did the honors of organizing the video conference and for that we were very grateful. Knowing what a web celeb that Robert is and the subsequent constant demand on his time, we scheduled Robert to speak for only 5-10 minute but instead he spent over 30 minutes answering audience questions. Kudos! Sanjay Parekh (@sanjay on Twitter) Tessa Horehlad (@tessa on Twitter)

After the video conference we have the took a break and then moved into a Q&A session with Sanjay Parekh (@sanjay on Twitter), Tessa Horehled (@tessa on Twitter), and Paul Stamatiou (@stammy on Twitter) each gave us their perspectives on why Twitter is so invaluable.

Paul Stamatiou at (@stammy on Twitter)

As many people said after the event this was one of their very favorite AWE events yet, and I certainly agree; it was right up there. Thanks to all involved including Wayne and the Triangle Tweetup, Robert, Loren, Sanjay, Tessa, and Paul for making this such a great event.

 It really is great to have such nice people who are willing to help their peers all here in our hometown of Atlanta GA.

Go Atlanta!

Visit Flickr to see all photos I took for this event.

P.S. Oh, and I almost forgot!  Atlanta Web Entrepreneurs is @atlantaweb on Twitter, and I’m @MikeSchinkel on Twitter.  See ya in the Twittersphere!

Event: Why you MUST have a Twitter Strategy

Just an announcement that we are going to be discussing Why you MUST have a Twitter Strategy at Atlanta Web Entrepreneurs on August 21, 2008.

I’m going to present a short intro/overview to Twitter and then, god willing and the creek don’t rise, we plan to have two (2) video conferences, one from Triangle Tweetup and the other from a soon-to-be-announced Industry luminary with over 25,000 Twitter followers!

After the 8pm break we’ll have a roundtable-less discussion and Q&A led by our featured participants:

Anyone that wants to attend should first be sure to have a Twitter account and to follow atlantaweb. We’ll use that list as a roll call for the meeting and we’ll announce our special guest on the atlantaweb Twitter account by 6pm Wednsday August 20th.

For more details and to RSVP see go here.

 

Atlanta Web Entrepreneurs learn Email Marketing

Ben Chestnut of MailChimp taking Q&A

This month at the Atlanta Web Entrepreneurs meetup group I organize we hosted two sharp email marketing professionals: Sandi Karchmer Solow of I Send Your Email and Ben Chestnut, co-founder of Mail Chimp, a successful Atlanta-based Email Service Provider. Sandi presented Email Marketing 101 to the group, and Ben regaled us with his story of how MailChimp came to be.

Sandi Solow on Email Marketing

Sandi gave us a really great base level of overview of the email marketing landscape and explained how its critical to correctly opt-in your subscribers and to give them exactly what they asked for, and only what they asked for. Otherwise you loose trust and the fallout is worse than anything you could gain. Oh, and Sandi was a real trooper to speak this month because she’s about seven months pregnant. So good luck to her and her soon-to-be-newborn.

As for MailChimp, evidently it was a side project that Ben and his partner’s web consulting company implemented to keep a client who wanted them to manage his email broadcast from hassling them, but they didn’t fully embrace it as their primary offering until many years later. And the month after they fully embraced it their revenue exceeded every prior month’s revenue they’d seen life-to-date for their business! Ben told us how MailChimp has a focus on simplicity and when we reviewing his prices we found MailChimp to be very price competitive, especially for email lists of less than 100 which they send for free!

Details count!

Now most marketers have heard of ExactTarget before but many may not have heard of MailChimp, and based on MailChimp’s low pricing, it simple-to-use interface and its fun and irrerevent name, many people might think that MailChimp is only for businesses with tiny email lists. But most in the audience including myself were shocked to learn that they have successfully delivered some of the largest email broadcasts in the industry!  Ben told us about a major software launch announcements where they sent out millions of of emails in just about 30 minutes! (Ben said the client asked never to be named but believe me, it was major!)

What was especially interesting was when member/attendee Jason Prance mentioned during Q&A that he’d been using both MailChimp, for personal projects, and ExactTarget for a 100,000 name work mailing list, and that he loved the former and really disliked the latter. He then said if he had his druthers he’d be using MailChimp for work but couldn’t switch without re-opting in and loosing probably half his subscribers. To this Ben replied that all he’d need to do is provided his ExactTarget reports showing them being a responsible emailer and then he could easily move his 100k list to MailChimp. Sold!

Email Marketing for Atlanta Web Entrepreneurs

Anyhoo we had a great time, enjoyed learning about email marketing, and look forward to future Atlanta Web Entrepreneur meetups. Oh, and I want to thank both Sandi and Ben for taking the time to make such a memorable evening for us.  It really is great to have such nice people who are willing to help their peers and who are offering such worldclass services so reasonably priced, all here in our hometown of Atlanta GA. Go Atlanta!

Visit Flickr to see all photos I took for this event.

P.S.: This was NOT a paid endorsement for MailChimp. We invited Ben to speak about MailChimp because one of our members that we really respect recommended him very highly. Plus Ben turned out to be a really great guy and there were actually several members in attendance who already use his service and love it. Evidently, MailChimp really kicks ass!

Twitter URL = Universal Person Locator (UPL)?

Universal Person LocatorI tried Twitter a year ago and either couldn’t "get it" back then, or I was just mentally, philisophically or logicistically in the wrong place to appreciate it. But I recently started Tweeting and all of a sudden I am seeing real value in it and am also seeing how so many others who still are not using it could see value in it too!. And to slightly paraphrase an old saw, "There are none so evangelical as the recently converted…"   ;-)

But rather than blog my full thoughts on Twitter right now I just want to ponder the following; if a web page can have a URL a.k.a. Universal Resource Locator (or for w3c purists, a URI), shouldn’t we establish a Universal Person Locators, for people, or "UPLs" for short? 

I’ve actually pondered this question numerous times in the past as I contemplated one of my many web entrepreneurial ideas.  In one context I’m lucky; there are very, very few people in this world whose name is "Mike Schinkel", and the few I’m aware of are not at all active on the web so I pretty much "own" the "MikeSchinkel" as my universal person identifier.  I’ve so blanked the use of "MikeSchinkel" on the web that there is little change of anyone else actually wanting to use it lest they be confused with me (that is, unless they wanted to create that confusion. But that is another subject.)

But what about my friend David Cohen?  From him I understand that he has the opposite situation.  For him there are hundreds if not thousands of other David Cohens (to link but a few.) Poor guy; how does he get his name known for being him? But I digress.

Yes we can all have our own domain names, like I have http://mikeschinkel.com and my friend has http://davidcohen.com (can you believe he got that domain, with all that competition?!?), but so many people don’t have their own domain and for some people it takes more knowledge or effort then they are willing or able to invest. On the other hand getting a Twitter account is free to create and free to maintain and only requires 5 minutes and then occasional access to an Internet-connected computer which in the USA and most non-3rd world countries can be had at the library or an Internet cafe. Once a twitter account is created, that’s it; no one else can stake that claim. 

Now, thanks to some rather saavy engineers at Twitter and the brilliance of the underlying technology of the web (i.e. the URL) we now have what could potentially become the Universal Person Locator, at least within the subset of people are active on the web.  With someone’s Twitter URL you have a direct way to "locate" them. Minimally you can follow their updates, but for most Twitter users you can relatively easily contact them; just tweet them and most will reply. Just as importantly you can use someone’s Twitter user name and unambiguously refer to them by that unique identifier which behaves for people just like URLs behave for "resources" (i.e. web pages, PDF files, graphic files, .ZIP files, etc.)

Will Twitter ever make it’s way to effectively being the "Universal Person Locator."  Probably not for all people, but at least for the subset of people on Twitter, it is a really interesting piece of infrastructure to consider.  And if you don’t yet have a Twitter account, now’s the time to get one.

P.S. So can you guess my Twitter user name?  "MikeSchinkel", of course.   David Cohen’s Twitter user name?  "davidscohen"; Unlike with his domain name, "davidcohen" had already been taken on Twitter (by a duffus that’s not even using it!) before my friend David Cohen could grab it. Ah, such is life when resources are scarce.

Live Pictures from Podcamp Atlanta 2007

Amber Rhea at Podcamp Atlanta 2007 I’m definitely not a real-time blogger, but I can take pictures. It’s actually very cool as people are taking pictures and uploading them as the conference is running and they are showing them on the overhead from time to time. Here you can see my Podcamp Atlanta 2007 pictures on Flickr. And you can see other people’s Podcamp Atlanta pictures:

I’m going to Podcamp Atlanta!

Amber Rhea pitching Podcamp Atlanta to the Atlanta PHP User Group as Robert Swarthout looks on. Well, yes as I’ve already said, I’m not a super-timely blogger. I should have blogged this long ago, but ah well. Anyway, Amber Rhea of The Georgia Podcast Network organized a Podcamp here in Atlanta for this weekend March 16-18 2007 at Emory University. An as of yesterday when I asked, Amber said that she had 185 people registered! Wow. Another event like SoCon07; I can’t wait!

But this one is going to be special for me as I get to hold my first discussion on Saturday about User-Centered URL Design. What’s that got to do with Podcasting, you ask? I’m not sure either, but Amber assurred me that attendees would be interested. :-) But seriously, podcasters has many of the same issues to address that everyone publishing on the web should consider including usable URLs for their audio files as well as the website that hosts them.

I look forward to some likely discussions!

Mike Gunderloy gets fed up with Microsoft

A Fresh Cup

Ok, for those who have been keeping up with Mike Gunderloy this is old news but I just ran across it. Mike is one of the most prolific writer/developers I know and one of those rare breed that can evidently learn new technologies in no time flat.

Mike has been working with Microsoft technologies for about fifteen years, but it seems he’s gotten fed up with Microsoft. Even though he is continuing his blog of links to info and tools of interest to .NET developers at The Daily Grind, he has started a new blog named A Fresh Cup where he explores his search for an alternative development platform.

Here is an except of his initial post:

…I’ve spent the bulk of the last fifteen years developing some amount of reputation and expertise in the Microsoft universe…

Unfortunately, over that time I’ve also come to the conclusion that, even though it is staffed largely by smart and ethical people, Microsoft itself represents a grave threat to the future of software development through its increasing inclination to stifle competition through legal shenanigans….

…I can’t afford to just walk out on a career that brings in good money. But I rather desperately want to find an alternative. This blog will record some of my explorations as I hunt around in other corners of the software world, trying to decide if there’s a viable business plan for me that can include weaning myself off of Microsoft software.

So it seems like I’m not the only one who has gotten frustrated with Microsoft as of late.

Clarifying my Microsoft Developer Division Rant

Contents


I Ranted and Eric Rebutted

The day before yesterday I wrote a long winded and rambling rant about how Microsoft’s release cycle and process for creating developer tools. I commented on how I believe it is making them fall behind and causing many formerly loyal Microsoft developers to look at open source solutions on non-Windows platforms. I referenced a post that Microsoft’s Eric Lippert wrote over 2.5 years ago titled Top Minds Are Working On It[1]. In retrospect it might have appeared I was being critical of Eric but that wasn’t my intention, and if that’s how I came across I apologize. Instead I was referencing Eric’s comments as symptomatic of the Microsoft culture at large. And yesterday I awoke to find that Eric had issued a rebuttal.

While I Respect the People at Microsoft…

But before I address his comments let me talk about Eric and all the others I’ve met from Microsoft. Eric is actually a brilliant guy, and very likeable. I’ve met Eric face-to-face and it’s obvious he’s much smarter than me. But then I could say that about most of those I’ve met from Microsoft; they don’t hire dummies. As a rule I’ve been impressed with every Microsoft employee I’ve met. They are super bright and AFAICT they do really want to do "Good Things(tm)".

…They Become Detached

But group dynamics being what they are, when you get a group of super-bright people together they become competitive, hone their debate skills, and learn to be strong advocates for whatever their own positions. And they can become detached from the outside world, much like politicians in high office. Politicians are also typically super bright, and most enter office wanting to do Good Things(tm), but once "on the inside" they loose touch with the concerns of their constituents. So I am not condemning Eric and his Microsoft colleagues, I am merely commenting on the culture that results and collectively channels them.

Eric Unconsciously Supports my Thesis!

So I started yesterday’s post saying I’d been planning to blog on the topic for a while but the reality was I still didn’t know how best to explain my concerns. But for better or for worse I did write a rambling essay yesterday, but ironically Eric’s comments made my points far better than I! My central thesis was that Microsoft isn’t meeting developer’s needs because of their processes and infrequent releases and consequently open-source alternatives are meeting developer’s needs instead. Eric’s both debated my examples and pointed out they now plan to address some issues I referenced. But not only did Eric not address my central thesis, he ironically supported it given his rebuttal’s choice of focus! In my post I wrote the following:

"Microsoft’s culture is to argue semantics when reality doesn’t match their world view"

And Eric’s comments proceeded to do exactly that! In my post from 2.5 years ago[1] I called for Microsoft to address things that PHP, Ruby, and Python are addressing today, which Eric rebutted at the time. In yesterday’s rebuttal Eric referenced his earlier comments stating (emphasis mine):

"Second, my ‘esoteric’ reasons for not implementing a scripty version of VB on the .NET platform were hardly esoteric then and are hardly esoteric now. They are (1) fracturing the language further causes confusion amongst customers and is massively expensive for little gain, …"

Dismissing the Proposal, Not Solving the Problem

Now I’ll freely admit Eric is far more qualified to evaluate my suggestion on technical merit, but that wasn’t the point of my 2.5 year old post. Customers with needs a company’s not addressing will often propose solutions they believe will address their needs, yet often their suggestions aren’t workable for whatever reason. People who specialize in addressing customer needs know that rather than dismiss suggestions as unworkable it’s far better to determine the customer’s actual needs and implement a workable solution instead. And often, many other customers have those same needs. So Eric dismissed my proposed solution but didn’t address my unresolved needs that prompted the proposal. I don’t attribute this failing to Eric, I attribute it to Microsoft’s current culture.

Not More Power; Transitionality!

Eric then went on to say:

"(2) we can do things to make VB.NET more powerful without fracturing the language,…"

Ironically, I didn’t ask for a more powerful VB.NET; I asked for one that was easier to start using and one that developers could then easily transition to more powerful usage. Though they believed they were providing an easier to use Visual Basic 2005, they addressed the language but not how people develop applications. Though they made strides with the Express Edition, my biggest concern was with the complexity of the development environment and the language. I suggested an interpretive environment with a transitional language design that allowed new developers to start easily yet be able to effortlessly grow their expertise with use. What I envisioned was something like Boo, but I wanted it 2.5 years ago with a simple interpretive environment, and I wanted it from Microsoft so that it could possibly generate a large and immediate and user base with a thriving community and significant peer support.

Today’s Potential Didn’t Address Yesterday’s Deficiency

Eric continued with the following…:

"(3) Microsoft makes scripting languages like Iron Python"

…but omitted the fact that a robust Iron Python was just a gleam in Jim Hugunin’s eye 2.5 years ago and is still not ready for prime time. Further, Microsoft’s approach is to host IronPython in Visual Studio which does nothing to bypass the complexity of Visual Studio!

Nor Does an Orphan Address Yesterday’s Deficiency

Eric then said:

"…and JScript .NET, use the right tool for the right job."

To which I did a double take wondering if he were really serious! JScript .NET is such the orphan that I can’t even believe he suggested it! The JScript .NET newsgroup has less than a screen full of messages, JScript .NET hasn’t been updated since 2003, and nobody’s even written about JScript .NET in years! So could Eric really have been serious when he suggested JScript .NET? Well, assuming he was, then:

  • JScript .NET does NOT have an easy-to-use interpretive environment, and
  • JScript .NET is a complex language; NOT simple-to-use, and
  • Again, JScript .NET has NO user-base!

And a Potential isn’t a Solution

Moving on Eric said:

"The .NET framework is already amenable to the development of scripting languages."

So why do we still not have a viable scripting solution for .NET supported from Microsoft more than half a decade after the .NET Framework’s first release?

Yes, there’s Powershell, but…

Okay, that’s not quite true. Eric didn’t mention it but in the spirit of honest debate, there is Microsoft’s PowerShell. But while I will freely admit PowerShell is really nice, PowerShell:

  1. Was only just released so doesn’t address the past 2.5 years,
  2. Doesn’t have a development environment,
  3. Can’t be used for web development,
  4. Doesn’t have a compiler for creating components for use in other .NET languages.
  5. Doesn’t have transitionality allowing it to scale up for much more complex projects as the developer’s experience grows.

A Correct yet Irrelevant Point

Eric then makes a point about "scripting languages" vs. "dynamic languages" (emphasis mine):

"Third, I want to make a distinction between scripting languages (languages intended to script things) and dynamic languages (languages which admit a type system which cannot be deeply analyzed at compile time.) Scripting languages are often dynamic languages, however it is entirely possible to use dynamic languages for tasks other than scripting. "

Okay… So Eric’s points are very technically valid, but they are totally irrelevant! Frankly I wasn’t asking for a language that was "intended to script things," I was proposing a language (and IDE) that would be:

  1. Productive,
  2. Easy to start using, and
  3. Scalable as one’s skills evolve.

Call it "scripting", call it a "dynamic language", call it whatever; it’s irrelevant. What is relevant is for it to be productive, easy, and scalable. Microsoft could choose to get there however they will, bit like arguing the semantics of "Car" vs. "SUV" with someone who just needs transportation, Eric’s distinctions were simply irrelevant to the needs. Totally unrelated, I ran across this joke yesterday. What could be more ironic?

Interest Doesn’t Necessarily Change Process

Eric finishes his prior point with:

"The VS team is VERY interested in understanding how to make the platform more amenable to dynamic languages."

Great! But are they going to actually engage people who are not .NET developers in the design of said dynamic languages and their respective development environments and then incorporate their feedback? Or is the VS Team just going to plug another dynamic language into Visual Studio? If the latter they will do so ignoring that Visual Studio users already have the language(s) they need and that there are at least an order of magnitude more people for whom Visual Studio is too overwhelming.

A Solution Offered; Wrong Product, Years from Now

A couple other comments Eric made were:

"C# 3.0 will have the "one line auto-implemented properties" feature you requested for VB. Enough people asked for it, we put it in. I do not know if VB will be doing the same. You’re welcome. "

and

"Current C# 3.0 features move in the direction of dynamic languages without actually making the language dynamic (lambdas, improved generic method type inference, extension methods, implicitly typed locals, anonymous tuple types). All of these however are implemented so as to keep the language statically analyzable. We are considering features for C# 4.0 which would make the language more dynamic without losing that important statically analyzable core."

That’s well and good, but it doesn’t address VB.NET, and it also makes my own point that Microsoft’s release cycles are too far apart! There are badly needed enhancements and they need to get them to developers more often than once every three years. C# 3.0 is still a way’s out, people need something today, and I personally wonder if I’ll even care about programming by the time C# 4.0 is released. Hell, I hope to have made my fortune and be retired by then! :-) But seriously, C# is a professional developer’s language and adding features to a professional developer’s language wasn’t even close to what I was proposing.

Too Little, Too Late: Acknowledged

In the last paragraph, Eric finally gives tacit acknowledgement of the concerns I raised in yesterdays post:

"Now, maybe these features aren’t what you want, or are too little too late, or the release schedule is too long for your liking, or whatever. That’s unfortunate."

Exactly. The release cycle needs to be compressed by an order of magnitude as it has been at the competition. More on this in a bit.

Studying Users Isn’t Feeling their Pain

Eric then signs off with:

"However I take exception to the claim that we do not study what real users are doing and try to provide tools that do what they want. We do that every day."

With this Eric either misunderstood my point, or more likely I didn’t state my point in a manner that was understandable. Whichever the case, let me clarify. I know the VS Team works hard to study real user’s needs every day. But what I also know is that the people who make the decisions about what gets released and when have considerations that are far different from the needs of developers. And it is human nature for one to place solving one’s own pains ahead of solving the pains of others as people simple can’t fully comprehend pains they don’t experience.

Trade-offs that Shortchange Developers

Eric let’s be concrete; if solving a customer problem today will cause the VS team a problem tomorrow they won’t do it. For example if the VS Team plans to rearchitect something next version they won’t provide an interface that developers need in this version if doing so will make that rearchitecture difficult. Some would say this is good product engineering to which I would actually agree, but it is nonetheless a trade-off that keeps developers from getting what they need today.

Experiencing Pain Empowers Real Solutions

So, if you’ll reread my post from yesterday you’ll see that I didn’t say "Microsoft doesn’t listen to customers"; I know damn well they do. On the contrary, I said that Microsoft’s Developer Division "Don’t solve real world problems." And the reason you don’t is because you don’t experience the pain that those real world problems cause. By comparison most developers contributing to open-source projects are doing so to solve pains which they themselves have, and that is why they are addressing developer needs much faster than Microsoft’s Developer Division.

Yes it is a Paradox…

An observant person would say that I’ve present a rather intractible dichotomy for Microsoft’s Developer Division; i.e. they need to use the developer tools they build to solve real world problems yet they also need to to develop those tools ten times faster! Now I’m sure these comment will cause the blood of those in Microsoft’s Developer Division to boil thinking I believe it’s possible they do their work ten times faster and do real world projects. But I was not advocating that; I’m fully aware of the myth of the "man-month" in software development projects.

…But Solve it You Must, Or Else

What I was pointing out, however, is if Microsoft’s Developer Division maintains its status quo they will slip farther behind and the loss of developers to other platforms will accelerate. And since developers, developers, developers have always been Microsoft’s life blood it is critical they address this issue. Every developer they loose to Linux or the Mac doubly weakens Windows. Microsoft must address this issue if they are to maintain the same level of relevancy during the next twenty years that they’ve had for the past twenty years. And most of what I’m suggesting isn’t complex, and it isn’t new. They probably have most of what they need already written and used internally. They just need to rethink what they are offering.

Change, or Be Changed

So to wrap up this second long-winded essay:

Microsoft’s Developer Division needs to implement drastic changes sooner than later. If they do not, outside forces will soon impose drastic changes upon them and it’s certain they will find those imposed changes to be far more painful. Or as the mechanic on the old Fram Oil Filter commercial used to say "Pay me now, or pay me later."

What if I’m Not Wrong?

P.S. If you’re from Microsoft’s Developer Division and choose to dismiss my concerns, just ask yourself this: What’s the downside for you if I’m right?

  1. Eric Lippert’s post was in response to my post entitled A Modest Proposal: VBScript.NET, aka "Helping Mort use .NET".

 

Open Source Web Design Templates

The open source ethos is growing fast, and it has finally made its way to website template designs: www.oswd.org. No longer does one have to go to Template Monster or the likes and pay $40-$100 for a cool web design![1].

This guy ROCKS! His name is Francis J. Skettino and he’s from Philadelphia, Pennsylvania. Do him and the rest of the web developer world a favor and blog about him to give him lots of Google-juice (be sure to put a title in your links, something like “title=’Open Source (Free) Website Design Templates’.”)

  1. But I’ll bet the designers who upload templates get lots of consulting business enhancing those templates!