06JulHosting is killing ASP.NET

Most of the people who know me, know that I’m a fairly dedicated Microsoft fan boy. However, most of my fellow .NET developers are quick to point out that the vast majority of my projects are in PHP. A quick look around will show that this is not an uncommon occurrence. Amplify, my former employer, and Piehead both have a staff of experienced .NET developers, but still do a lot of work in PHP. I’ve heard a variety of theories from Microsoft fans and haters, but I can summarize the phenomena in 1 word: Hosting.

My Current Situation

My primary hosting account is through Dreamhost. I pay less than $20/month and I’m hosting about 60 sites, 10 of which actually get some traffic. Almost every site has its own sub-domain and its own MySQL database. In addition, I have access to 742GB of storage and several terabytes of bandwidth, both of which increase every month.

This hosting arrangement is critical for my success as a free-lancer for several reasons:

  1. I can create lots of sub-domains and databases to create client staging sites and/or test out new things.
  2. I have enough storage and bandwidth to use my web server as a file server for client comps and other large files I need to share.
  3. It’s dirt cheap. My free-lance projects and start-up ideas have little to no margins, so cheap hosting is critical.

The Windows Hosting Dilemma

I’ve brought this issue up several times, both online and in person, with stakeholders at companies that provide windows hosting. Without fail, I receive the same handful of responses. Here are the most common responses and some reasons why they’re complete garbage:

  1. We provide better support. This may be true, but it doesn’t really matter. I contact support once or twice a year. If have to contact support more often than that, it’s not worth working with your company. I don’t want to pay extra so your support team can hand hold your other accounts.
  2. Windows licensing is expensive. This is true. However, my biggest issue is often with storage and bandwidth, which isn’t any more expensive for a Windows host than a Linux host. This could justify charging more, but it doesn’t justify the miniscule amount of storage and bandwidth most Windows hosting companies provide.
  3. We have 99.999% uptime! I don’t care and my clients don’t care. Look at Twitter’s reliability and then tell me that having ridiculously high uptime is critical to success. It’s true that my Dreamhost server goes down from time to time, but 99.9% is perfectly fine. In all honesty, there aren’t many website owners that are willing to pay $50-$200/month for those extra two 9’s.
  4. If you actually used all of that storage and bandwidth, Dreamhost would cut you off. This is the ultimate cop-out and usually comes up as a last ditch effort from the Windows hosting companies to disparage Linux hosting. The truth is that I’ve exceeded my storage and bandwidth before, and nothing bad happened. In fact, there have been a few cases where one of my Wordpress sites have gotten Digg’d and Dreamhost has stepped in to keep things running. At GiveCamp, I was putting all of the projects on my server and Dreamhost’s response was “That’s awesome, let us know if you need more space for a few weeks.”
  5. We focus on enterprise. Really? Are enterprise customers looking for shared hosting and reseller plans? Every enterprise level client I’ve worked with either has in-house IT or uses a larger company like Rackspace. Smaller Windows hosts don’t even come up.

Let’s Fix This

In the end, this situation hurts many of us. If I had a Windows hosting plan on par with my Dreamhost plan, I would be a much happier developer. Microsoft is missing out because hosting is preventing them from being a viable option for small agencies and start-ups. Hosting companies are missing out because they seem to be targeting demographics that don’t need their services. Developers miss out because we have to make technology decisions based on hosting costs rather than what technology best fulfills the client’s needs.

If Microsoft wants to be competitive with small agencies and start-ups, they need to work with their hosting partners to solve these problems. They’ve taken a big step in wooing start-ups with the Bizspark program, but without affordable hosting, start-ups will continue to flock to PHP, Ruby, and other cheaper platforms.

16JunA Pragmatic Opinion on Crappy Websites

After several tweets about Flash tonight, I’ve realized that it’s nearly impossible to make any real point in 140 characters. Flash has been a hot button issue for web developers since it first emerged. On the one hand, it provides reliable, cross-browser functionality, on the other hand, it’s in-accessible, overused, and a go-to option for people too lazy to learn javascript.

Overall, I would be very happy to see most Flash content die a horrible death, doubly so for sites that are 100% Flash. The idealistic side of me would love to see a rich, interactive web that runs on standards alone. However, the pragmatic side of me accepts that browser plug-ins aren’t going any where for a while.

While ranting about how horrific Flash is has become very popular, it’s important to keep the following points in mind:

  1. Flash was the only cross-browser animation option for years. While we have an arsenal of slick tools at our disposal today, 5 years ago Flash was pretty much it.
  2. Most of the people with bad Flash content likely don’t know it’s bad. We web developers tend to forget that 99% of the people online have never heard of web standards or accessibility. We tend to be the most vocal on the web, so we assume we represent the majority, but we don’t.
  3. Most of the people with bad Flash content likely don’t care. Most businesses would consider 90% of users good enough. Especially given that the anti-Flash crowd is still demographically similar. A website for tech-savvy 20 somethings will lose money with a Flash site. A site selling infomercial crap to boomers probably won’t.
  4. Finally, HTML5 is not only a year or so away, it’s also not 100% on par with Flash or Silverlight. Want to access a webcam? Want 3d graphics support and inverse kinematics? Want to display a video that isn’t square? If so, a browser plug-in may still be the best option.
  5. Every obnoxious thing developers do in Flash will be done in HTML5. It’s only matter of time before you see obnoxious mortgage ads, animated splash pages and lame navigation systems using the canvas tag instead of the embed tag.
  6. Most business owners don’t care about losing business from iPad and iPhone users. Chances are, if they have a 100% flash site, they lost your business years ago.

I know that any comments posted here will likely be telling me why Flash sucks, but that doesn’t make me wrong. I would love to see Flash and SilverLight limited to a few rich experiences, but it’s not going to happen any time soon. How many table-based websites do you still see out there?

Like the transition from tables to CSS, the transition from Flash will be long, painful and expensive.  It will be worth it, and we will all be better for it, but this battle will be won by even-tempered education. If we want the web to get better, we need to tone down the whiny “It doesn’t work on my iPad” bullshit and build a solid argument that business owners and content-providers can understand.

13MayWindows Phone 7 Dissappointment

As many people know, I’m a bit of a Microsoft fan boy. I’ve been an open supporter of most of their technology and I make a decent living writing code for various Microsoft platforms. Needless to say, when the new Windows Phone was announced, I was pretty stoked. I was even more excited when it actually looked good. My excitement peaked at MIX, when I actually saw the dev tools and got my hands on some prototype hardware.
Unfortunately, my interest in the Windows Phone has dropped dramatically since MIX. In fact, at this point, the Windows Phone is at the top of my 2010 disappointment list. How did the Windows Phone crew complete alienate a known, Microsoft fan?

  1. No News is Bad News

    When the Windows Phone 7 was announced, there was a lot of excitement in the MS dev community, but also a lot of questions. At MIX, the team had an opportunity to answer questions. Instead they made a bunch of announcements that everybody expected and they showed of a bunch of apps my friends have had on their iPhones for over a year. Announcing Silverlight support was about as surprising as Ricky Martin coming out of the closet and watching Jeff Sandquist bob along to the Blacked Eye Peas was funny, but we’ve all seen Shazam.

    Even after MIX, the only news I’ve heard is some leaked hardware specs from Dell. If you think I’m exaggerating, check out the wp7dev Twitter account. An entire month’s of updates fits on a single page and most of it is duplicates and replies. Charlie Kindel’s blog has no posts since a week after MIX. Even the Windows Phone dev blog has only had 7 updates since MIX.

  2. WinPhone7 Hijacked MIXI was hesitant to write this because overall I think MIX was great, but it really felt like a lot of good web content was killed to make room for WinPhone7 content. Most of the first keynote at Microsoft’s web conference was dedicated to the phone, rather than actual web development or design content. Bill Buxton, who was easily the most anticipated speaker for designers, was given 15 minutes at the tail end of the last keynote. It also seemed that an inordinate amount of sessions were dedicated to WinPhone7, despite the fact that they could even give an approximate release date of the hardware.

    The Windows Phone 7 stuff at MIX was little more than a PR ploy to get more posts on Engadget and Gizmodo. I can honestly say that this was an opinion shared by almost everybody I talked to at MIX.

    Based on this and my previous point, it’s clear that WinPhone7 isn’t close enough to completion to warrant this type of coverage.

  3. No HardwareI understand that it will be a while before we see and actual WinPhone7 in the wild, but it would be nice to have something to work with. There are lots of multi-touch devices out there, but based on reading various forums, support for the WinPhone7 emulator is sketchy at best. I’ve tried contacting lots of people, including the special support contact offered to MIX attendees and not one has any recommendations.

    The most frustrating part is that the only hardware I’ve seen recommended was the PDC laptop, which is still not available for purchase. So, if you went to PDC you’re all set, however if you went to the conference about the phone, you’re pretty much screwed.

Overall, it seems like the WinPhone7 pre-launch hype has been a big mess. Most of the windows mobile guys I know are upset because the new phone doesn’t have any backwards compatibility and most of the people who were interested at MIX are waiting for news on hardware and launch dates. I really think Microsoft jumped the gun on this and as a result they’ve alienated many of the same developers they were hoping to woo. With Android 2.1 just released and iPhone 4’s leaking every day, Microsoft needs to get their act together if they want to have a chance in the mobile market.

20FebOAuth is destined to fail

Over the past couple of years, a small but dedicated group of developers have been pushing a new technique for authenticating users called OAuth. While it has some benefits, it’s limitations are crippling.

The goal of OAuth is to create a more secure authentication system by limiting who has access to your username and password. By authenticating with a system external to your application, the idea is that your data is more secure. Unfortunately, OAuth was clearly developed without much regard real-world problems. Here are a few reasons why OAuth is destined to fail:

  1. Horrible User Experience - In a world where doing something as simple as changing a font or button color can create noticable changes in user behavior, asking a user to jump over the hurdles required by OAuth is just unrealistic. For web apps, it adds multiple steps to the authentication process and the experience is even worse for desktop apps. The experience also closely resembles the phising sites that we desperately warn our non-tech friends to watch out for. Also, keep in mind that the applications that poeple consider most secure (online banking, tax software, email, etc) NEVER redirect the user to a different site to enter login info.
  2. No Consideration for Desktop Applications - While web-based apps are growing in popularity, desktop apps still dominate in most industries. The OAuth experience is completely focused on web applications. Whether it’s an app on your home PC or an app on your iPhone, the OAuth experience sucks.
  3. OAuth is far from perfect - An ambitious hacker can get information via OAuth without much more effort than other athentication methods. There’s nothing to stop an application from collecting additional data in the background withour your knowledge after you’ve logged in. There’s also nothing to prevent an attack against or data breach with the OAuth provider.
  4. It takes power from vendors, but not from hackers - The main goal of OAuth is to prevent nefarious people from having your precious login credentials. However, most OAuth providers still transmit your credentials over an insecure connection. So, rather than having my app send you credentials via Basic Auth, the browser sends it via an HTTP post. In the end, the chances of a request being intercepted from a browser or an app are about the same.

While I completely understand the concept behind OAuth, it’s just never going to catch on. There is no such thing as a 100% secure system and there a plenty of approaches that are just as secure as OAuth. In the end, OAuth doesn’t solve any real security problems and shifts a lot of work onto developers. I don’t mind putting in the extra work, but OAuth is replacing a few lines of code with 1MB of dlls and a bunch of UX headaches for an illusion of security.

23JanWhat Trophy?

One of the most common complaints about Generation Y is the “Everybody gets a Trophy” ideal. There have been dozens of articles and even an entire book dedicated to this and how to train us Generation Y kids to just drop it and behave like good cubicle monkeys should.

There are 2 things that are generally considered part of this trophy idea. The first is that everybody deserves a reward, even if they fail. The second is that every minor success should be rewarded. Based on the opinions of older generations on the web and in print, these are both ideals that every member of Gen Y holds dear. However, a lot of this is based on a misinterpretation of what’s really going on in our heads and I’ve found that many of us only believe the second part.

Nobody likes the Participant ribbon.

Let’s tackle the idea that even failure deserves a reward. Of the people I surveyed, most addressed this. Of the people surveyed, all of them felt that this was inaccurate. I think the idea started because of how my generation was treated in elementary school. In just about every competition, everybody who participates gets some sort of reward. This has clearly led my generation to accept and even embrace failure right? The people I surveyed disagree; here are a few of their responses:

“Boy Scouts, Marching Band, Tae Kwon Do and Academic Decathlon all had a lot of competition in them and they had clear winners and losers. Games where everybody wins were usually the province of corny church youth group games and were the butt of jokes among my friends and me.”

Jason W, Pembroke, NH

“… At sports tournaments, my brothers and I would sometimes receive trophies even for placing in last. My parents were proud of us and put it with our other awards. However, my brothers and I treated them more like a daily reminder of our failure and it drove us to work harder.”

Anonymous

There were a variety of similar responses, but I think these two represent the ideas shared by all. We’ve never viewed rewards for failure as a good thing. I never took home a “participant” ribbon and showed it off to my friends and family. That being said, I think that many companies are far too concerned with failure and fear of failure can cripple a team. Innovation and creativity are rarely the result of continuous success.

Failure is unavoidable. Many of the companies founded by Gen Y are successful because they recognize small failures as necessary steps in the process of innovation.

Rewarding Success is a Good Thing

The other part of this Trophy idea is that Gen Y expects rewards for small successes. I would agree with this 100% and most of the people surveyed agree too.

The general consensus amongst my fellow Gen Y members is that the current corporate culture favors job title and longevity over productivity. I’ve been in many situations where I’ve put in extra hours, travelled over holidays and gone above and beyond only to see a manager get a pat on the back. In one case, my supervisor didn’t even know why he was being congratulated. While this instance is rather anecdotal, nobody can argue against the obscene bonuses executives have received while the companies they run fall apart and destroy our economy. What company do you think would be more successful, the one that rewards the extra effort of individuals or the one that provides a fat bonus for executives?

The issue I have with this aversion to recognizing success is that in most cases it’s very simple and cheap to do. I don’t expect a huge bonus for doing my job, but when my team puts in extra hours every night for a week, maybe a lunch is in order or possibly even just an email saying thanks. Why would having a group of young, ambitious professionals that are easily motivated by small rewards and recognition be a bad thing? I would think that having employees that will work extra hours for a nicer desk chair or bagels once a week would be a c-level executive’s wet dream.

[FYI, for those that doubt Gen Y employees can be motivated by weekly bagels and the occasional beer, take a look at one of my former employers CustomScoop. When a company with less than 20 people is building better products than Google, you know they’re doing something right.]

Summary

Overall, the feeling in the survey could be summarized in the following points:

  • We don’t expect rewards for failure.
  • We will be rightfully upset when others are credited for our hard work.
  • Not every reward has to be cash, a thank you or kind gesture is often more meaningful.

To wrap up, here are a few more quotes:

“Failure is much more important than success and I do not want trophies that I do not earn.”

Matt G, Senior Public Affairs Analyst - Washington DC

“I want recognition, but not necessarily a trophy… I don’t see this as a negative because it just motivates me to strive to do more good.”

Kelley Muir, Manchester, NH

“Actually it really annoys me when people feel like they should be treated like special snowflakes because they exist.”

Courtney, Attorney, Concord, NH

“That is not the way I was raised. In rec soccer, I was terrible, and knew I didn’t deserve a trophy. To this day, I haven’t seen a good argument for rewarding poor performance.”

Anonymous

Blogroll

Recent Listening