Archive for the 'Opinion' Category

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.

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

12JanGen Y Talks About Gen Y

Over the past 2 years, there have been a boatload of articles, posts, books and informative pamphlets about Generation Y. Most of them have either focused on “dealing” with us or how wrong we are. Every time I’ve read one of these, I’ve felt like it was written about somebody else. The facts have been accurate, but the conclusions drawn have been way off base.

Rather than assume I was some strange anomaly, I put the word out on Twitter to see if my fellow Generation Y friends would be interested in answering some questions. I received 14 responses to the following questions:

1.       In what year were you born?
2.       Are you well employed, underemployed or unemployed?
3.       How would you like to be identified in the post?
4.       Would you consider yourself Civic minded?
5.       Do you believe that the US government is effectively representing the US people?
6.       A common stated trait of Generation Y is the “Everybody Gets a Trophy” philosophy. Do you think this applies to you and is it a good thing?
7.       As employees, Generation Y often chooses jobs that provide opportunities for growth over jobs that provide purely financial rewards. Would you agree? Has this influenced your career decisions?
8.       Are you comfortable sharing personal information publicly or with people within internet-based communities? Do you feel that you are more open about your opinions and personal life than previous generations?
9.       Do you assertively seek more feedback, responsibility, and involvement in decision making in your career? Would you rather have feedback on a frequent informal basis or within a formal review structure?

The best part of the responses is that they are surprisingly diverse given the small sample size. The respondents included almost the entire age range of the generation, included a range of political affiliations and included an almost even gender balance. The surprise is that every question has at least 9 similar answers and 1 question was unanimous.

My original plan was to write a single post covering all of the results, but my new plan is to write several posts focusing on specific topics. Stay tuned for the results and analysis. I will probably tackle #5 or #6 first.

28NovTechstars Update

Yesterday, I posted about some concerns I had about Techstars. The post came across a bit more harsh than I intended (I’m a coder not a writer), and I’ve received a lot of feedback from both the Techstars crew and several of their participants. However, some of my concerns still stand.

$6k per founder is not enough to be the sole source of seed money. Based on a few quick exchanges with David Cohen at Techstars, it’s clear that this is intended. The capital provided is to help, but not sustain a company. While I agree that Techstars shouldn’t be fully funding their companies for a long period of time, I think that covering the cost of living for the founders for the 3 month course wouldn’t be unreasonable.

On a separate note, part of my concerns are clearly a result of my misunderstanding about the purpose of seed money. Most of the events I’ve attended are focused on companies that have already started and are looking for Angel or VC funding. At these events, it’s always been implied that seed funding is generally enough to get the company running and ideally have a first product ready to ship. Based on what I’ve been reading, it looks like most organizations that provide seed funding are more focused on providing connections and expecting the founders to front the capital.

In the end, there are really 2 core problems:

  1. Organizations like Techstars work best for founders who already have some capital, rather than founders who are just starting.
  2. There is a lot of confusion and mis-information around about how start-ups get going before they receive Angel or VC funding.

Based on these problems, there could be a variety of solutions.

For companies like Techstars and Y-Combinator, it would be interesting if the system would still work if founders recieved $10k-$12k. This would cover cost of living for the founders for the 3 month program, but is still low enough to encourage them to keep moving forward. Based on the potential gains, this seems like a relatively inconsequential amount and it would open the doors to a lot of talented people who don’t have access to capital.

It would also be great to see a few events targeted at pre-seed entrepreneurs. It’s clear that Techstars and similar groups have worked for lots of companies. It would be interesting to have  day to hear from organizations like TechStars, CRV, Y-Combinator and some of their companies to hear how others have made it work. It would also be great to give people an  idea of what it really takes to get though the seed phase. There are a lot of people like me, sitting around with prototypes and plans with no idea how to get that first beta to market or prepare for Angel or VC funding.

I owe the people at Techstars an apology. While their program doesn’t seem like a good fit for me in my current situation, it’s clear that they’re doing a lot of things right. It’s just frustrating to see great ideas that could become multi-million dollar companies fail because the founders can’t borrow that first $30k. It’s tough to walk through BarCampBoston or Ignite and see dozens of great ideas that will never see the light of day.

Blogroll

Recent Listening