Entries Tagged 'Opinion' ↓

Best Practices for Meetup Organizers

Meetup.com LogoI’ve been organzing meetups in the Atlanta area since January 2007.  Over that time I’ve organized over 50 meetup events, they’ve typically achieved average ratings of 4.5 of 5 or better, they’ve typically had 50 or more people attend, I’ve helped at least five (5) other people launch their meetup groups, and the member list for my main group has grown to having more members than all but one other business-focused meetup group in the Atlanta area (though we’ve been steadily gaining on them. :) During that time I’ve learned a bit about what it takes to be a good meetup organizer.

Recently someone asked me yet again for advice on how to grow their meetup so I decided this time to blog about it. Let me give the caveat that this is what has worked for me and for my type of meetup but it might not be perfect for yours. My groups have been focused on web/startup/marketing/tech and so I don’t know what works best for a mom’s meetup, for a hiking group or a singles club. Still, people are people and I’m sure anyone organizing a meetup can find something of value here. Here they are, in no particular order (some I fail to do consistently though I know I should; sometimes life just gets in the way):

  • New organizers always try "to get input from everyone." From experience I’ve found that to be a waste of time. Find two (2) other people and form a planning team. Map out 5-6 topics, possibly starting with a "101" meetup and build from there, then meet quarterly to plan to ensure you always have 3 events on the calendar, more if possible (I’ve not always done this even though I know I should.)
  • Do listen to feedback, but don’t wait for feedback before executing.
  • Most people just want to attend meetings, few actually are willing to  contribute a significant effort on a consistent basis even if they say or think they will. If people promise to contribute expect they will not follow through until they have proven otherwise.
  • As much as possible be the catalyst and facilitator, not the featured speaker at every meeting (people will get tired of you if you do.)
  • Whenever possible, have 3 to 6 or more presenters on a theme. It gives multiple perspectives and it keeps you from having failed meetings from building anticipation for a meeting, having lots of people show up and then only to learn that your featured presenter’s "kid got sick" so they decided to cancel.
  • Whenever possible, get people to present from outside the people who usually attend meetings to present. There’s the old saw "Familiarity breeds Contempt" (i.e. "I don’t need to attend to hear them talk; I know them already and can talk to them whenever I want.") Bringing in outsiders also makes people aware of your group that might not normally seek it out or attend. If they have a an influence base such as on Twitter they will promote your group because it promotes them.
  • Ideally you should only ever schedule a person to present to the group once per year. If you do people will, again, think "I’ve already seen him or her." That means be sure to get them to talk on the topic where they can have the most bang for the buck since a lot of people will jump at any chance to present and you really want to get them where they will shine, not just be acceptable.
  • Set up a Twitter account and a Facebook fan page.  Always tweet and post about your events in advance and thank the participants afterwards. 
  • Be sure to post a meetup page that includes links about the people who will be presenting including their Twitter account and a short bio. I like to link to their LinkedIn page for consistency, and also link to their company. Be sure to include an evening agenda so people can see when it starts and when it ends. Here’s an example meetup page that has all these things.
  • Set up a Twitter account and hashtag for your meetup group (i.e. @StartupAtlanta and #OnStage.)  Give people a handout with this info and all the presenter’s/participants Twitter accounts and ask your members to tweet about the event.
  • Send an email out about the most recently meeting and reminding them about the next meeting and thank the people who participated/presented. Send out a tweet about them as well.
  • For my groups I have focus mostly on featuring local people for our regular meetings but when nationally known people are presented I make them special events. Some organizers always try to get one national calibre "rock star" for their events, and that works for them. Pick what works for your group.
  • Keep vendor influence to a minimum; keep it about the people attending.
  • Run a meetup only if you really want to help people and/or build a solid community and not if you’ve just got the idea "Hey I can sell my services to this group." The latter can be a serendipitous result but it’s painfully clear to practically everyone who might attend that if your motivations are to sell them (almost) nobody will want to attend.
  • Pay it forward, focus on what’s good for the group and the community you envision building, not what’s you are hoping to get out of organizing
  • Shake up the format. Have presentations, panel discussions, roundtables, workshops, etc. The topic should make the format obvious. For workshops, recruit lots of helpers. Don’t over worry about format, try a bunch of them, communication will happen ad-hoc (suggest Twitter or make a Google group), and let the topics you pick determine the level of competency. The more detailed your topic announcement the more likely you’ll get the right people.
  • Don’t be afraid to ask anybody to present. I’ve never once been turned down except for people simply not being available at the given time.
  • Look for ways to hold joint meetups with other groups that have cross-over. (Beg meetup on their forums to more easily enable shared meetups.) If possible take the lead in these joint meetups and get people to RSVP at your meetup group’s page (if possible, and at least until meetup enables shared events.) If you do these frequently you’ll all get lots of benefit and you’ll grow your group.
  • Charge for meetings, $5 to $10, starting with your 3rd meeting (assuming you are gaining momentum.) If you don’t charge more than half of your RSVPs will be no-shows. If you charge, only between 10-30% will be no-shows.
  • Don’t try to do too many different groups. Unless you are able to make a living from organizing meetups, which is a potential but a really hard way to make a living, it’s really hard to do more than one well, two at the max. I’ve made that mistake and I’ve recently pared back to two with a potential to phase out of one of them in the near future assuming I can find the people to take over.
  • Find a good place to have meetings, not a restaurant unless its set up for meetings in a special room. This is the hardest part. Look for a local coworking space like Ignition Alley. A college or university may also be very open to hosting community meetings as Georgia Tech has been for some of my meetups. 
  • As for location, you’ll need to decide what works here. In Atlanta you’ll find a bulk of in-town people and a bulk of "up 400" people, and then everyone else is scattered. Pick one and let someone else do the other (you can’t please everyone, so don’t try.)

Well that’s about it for today. I’m sure I missed a few of my own "best practices" and I’m sure there are a ton of other’s I have yet to uncovered but these should get you started.

If anybody has other suggestions please give your best practices in the comments. Be sure to mention your group(s) and how long you’ve been organizing,  and include links to their pages on Meetup.com.

Are Entrepreneurs Born or Made: Does it really matter?

Photo of Lemonade Stand Entrepreneur

Yesterday Vivek Wadhwa who has recently become one of my favorite authors on startup-related topics wrote a somewhat inflammatory post on TechCrunch entitled "Can Entrepreneurs Be Made?" In it he asserts that entrepeneurs are made, not born, and it’s somewhat inflammatory because he calls out Jason Calcanis, Fred Wilson, and other Silicon Valley VCs as being wrong in their previously stated beliefs that what drives someone to be a great entrepreneur is innate, and thus that they are born.

In reaction Mark Suster, a entrepreneur-turned-VC and another of my favorite authors on startup-topics, responded with "Entrepreneurship: Nature vs. Nurture? A Religious Debate." Mark takes issue with Vivek’s thesis citing his experience and intuition as a recent father and calls out Vivek’s use of stats by implying his was based on a "faulty model" although he does state up front his point-of-view is "purely subjective." Mark goes on to presume Vivek may have "used hyperbole to get more readers" (which might be true though I’d expect that the TechCruch editors are more likely to be the culprit there…) and then complains about Vivek "attempting to “prove" unprovable facts (based on) this kind of data manipulation."

I have incredible respect for Mark but I can’t help but sense a tiny bit of defensiveness in his post. As a VC Mark makes decisions every day that will have profound effect on the lives of entrepreneurs and their families and fortunes. But it’s not uncommon that a subconscious defensive reaction is triggered when evidence comes to light that indicates a person’s important decisions might have been made on faulty criteria (see: choice-supportive bias, post-purchase rationalization and escalation of commitment.) I’m not saying  Mark is wrong (or that he is right) but it felt like he was being defensive (as I have been recently.) Even so, if Mark was being defensive I’ll willingly give him a pass because it’s hard to overcome that which makes one human.

Back to the debate at hand; I sit on the fence. While I don’t know which perspective is correct I think the focus on this debate is actually harmful.

I assume that Mark shares Vivek goals and the goals of many others which are "…to boost economic growth by increasing the number of successful high-growth startups."If true then escalation of this nature/nurture debate is taking the eye off the ball.

If Mark and those who strongly believe in the nature convince policy decision makers they are correct then chances are those policy decision makers won’t explore subtlety. If there’s nothing we can do to cultivate entrepreneurs since they’ll bubble up to be recognized on their own, why do anything? Game over.

Wouldn’t it be better to look past the debate and instead focus on cultivating and educating entrepreneurs regardless of if they are made or born? Google has spawned a huge number of startups; were they all born?  Maybe they were; Goggle has had many other employees who have not gone on to launch startups. But the fact that Google has spawned so many and most other companies in other regions haven’t proves (at least to me) that a strong catalyst results in more latent entrepreneurs taking action and launching innovative companies. When such a catalyst doesn’t exist those latent innovative entrepreneurs continue to do what their experience and environment present to them as options: be an intrapraneur climbing the corporate ladder or launch a replicative business.

In Atlanta where I’ve lived most my life, the holy grail for many is to work for one of the eleven (11) Fortune 500 companies that litter our landscape. As a graduate of Georgia Tech, one of the better technology schools in the nation and one that houses a very active state-funded accellerator, the majority of students aspire to work for one of those big companies because that’s the local culture. That’s what students talk about and that’s what the administration talks about. Going to work for a big company is what is expected of successful Georgia Tech graduates.

Most people aspire to the level of their peers. If their peers are not launching innovative startups the majority don’t even think to launch innovative startups. To say the vast majority of students who attend Stanford where many of those ex-Googlers who are now launching startups attended are genetically predesposed to be entrepreneurial whereas the vast majority of students who attend Georgia Tech (a top 10 ranked educational institution itself) are not strikes me as a bit too much confirmation bias.

As an aside: I think having so many Fortune 500 companies in Atlanta might be much more of a curse than a blessing. We have over 50 interactive agenies locally and they mostly suckle on the teets of these companies rather than aspire to create the next Google and drive real economic growth in the region instead. The people running these interactive agencies are entrepreneurs but the local culture and entrepreneurial patterns they are familiar with has had then focus on replication and not innovation. And sadly our local Fortune 500 companies do almost nothing I am aware of to foster startup innovation in our region.

Consider Shaquille O’Neal, one of the most dominant players in the history of the NBA. Would O’Neal have ever been drafted by the Orlando Magic if he had never met Dale Brown in Europe who was LSU’s men’s basketball coach at that time? Consider Sergey Brin and Larry Page. Would they have acheived Google’s level success had Sergey’s parents never left Moscow or if Terry Winograd had discouraged Page from analysing the link structure of the web? Clearly people who launch successful innovative startups are influenced by their life paths, their peers, their mentors, the options they are presented by society and a huge amount of luck, no?

Put another way, what’s the likelyhood that situated in remote villages in Africa or in the Amazon there are not 100s of would-be Shaqs who, without opportunity, will never be discovered? How many young car enthusiasts might end up being a leading NASCAR driver if they only had the ability to try? What if every University throughout the country had the startup culture and experienced startup advisors found at Stanford?  What if government money across the nation spent on economic development was less focused on the zero-sum game of getting a large employer to relocate from another region and instead were focused on encouraging and supporting entrepreneurs to launch innovative startups?

I’m a rarity from Georgia Tech; I started my first real business about a year and a half before I graduated. But that was after working as a co-op student for many quarters at both Owens-Corning Fiberglass and later at IBM. When I started IBM I was completely enamored with them. After two work quarters though I left IBM thoroughly disgusted and started co-oping with a small consulting firm. It was there after watching my employer fumble I came to realize I could easily join forces with a co-worker and we could run our own business. Since then I’ve run many businesses, a few of which have done well and one that grew very rapidly over five years. During that entire time I can honestly say I had few if any real mentors and thus made more mistakes than any one person should be allowed to make! Had I had a better experience at IBM or had the owners of the consulting firm I worked for not been incompetent I might never have become an entrepreneur; it was my life experiences that moved me in that direction instead. And I’m certain I would have been far more successful entrepreneur had I had a better startup education and quality mentors along the way.

Still I won’t argue being an entrepreneur is purely experiential. I also won’t argue it’s all in the genes. But I will argue that in the grand scheme it just doesn’t matter.

What matters it that there is almost certainly a huge pool of untapped latent innovative entrepreneurs who could transition into active entrepreneurs launching high-growth startups. As Azeem Azhar wrote on the subject:

There are those who may have many pop out of the womb on the far end of the distribution, but emerge in cultures where the things that can make one an entrepreneur are not valued. The pastiche of this would be the high-performing child who is driven back to the fat-middle of law or consulting by school, college and parental pressure. I am sure this group keeps many a psychiatrist and divorce lawyer in business as they hit their forties and reality dawns.

How about we discuss how latent innovative entrepreneurs can get the encouragement, mentoring and other forms of support that are crucial. And since "swinging the bat" more often results in more "home runs" let’s find ways to minimize the potential of finanical devastation of a simple "strike out"to encourage more prospective entrepreneurs to "swing" once and/or to swing more often. And as Samidh Chakrabarti asserts, let’s get more people to pursue their passions as innovative startups by helping them see it as an option and by providing education in the skill sets needed by would be successes but are only obvious to most after they’ve failed.

So why don’t we stop this fruitless back and forth about nature vs. nuture and (at least from a public policy perspective) instead focus on finding and cultivating latent innovative entrepreneurs?

P.S. Fred Wilson, another VC I greatly admire, wrote on this topic back on the 19th in his post "Nature vs Nurture and Entrepreneurship." I wonder where he stands now on the idea of encouraging more latent innovative entrepreneurs vs. continuing the nature/nuture debate?

Force of Harm?

Lance Weatherby of ATDC and Socialytics wrote a post today entitled Nobody Told Me where he ranted about how there are too many startup activities in Atlanta and not enough people "creating products, getting customers, and building companies."  After writing a long comment which his blog wouldn’t accept for some reason I decided now would be as good a time as any to start blogging again. What follows is the comment I originally wrote for Lance’s blog:

As someone who started a monthly Atlanta Web Entrepreneurs meetup back in Jan 2007 I feel like this post paints a target on my back. Hopefully that was not your intention?

What may not be obvious is I have been agonizing over the issues you described for over two years but not sure how my efforts could evolve to help. At the end of last year I finally realized how my efforts could positively affect execution and as such I made the changes to AWE that I did, i.e. renaming AWE to Atlanta Web Marketers and also launching Startup Atlanta.

First, one thing that I obviously wasn’t able to make clear to you (and others?) was that Atlanta Web Marketers is NOT targeted at Startups and listing it in this context is doing it a disserve. AWM is targeted at small and medium sized businesses, non-profits, government agencies and replicative entrepreneurs, NOT on innovative startup entrepreneurs with a goal of helping them market their products and services better on the web. FYI, there is a huge demonstrated need for people who are effectively operating their organizations to learn how to better market on the web and that’s the market need that AWM is targeting. AWM meetings is all about execution those people in those organizations, and by focusing on that target market it becomes a business itself and running the events are execution. So please take AWM off your list of Atlanta Startup events, as it’s not. 

Next, Ignition Alley events are for the most part not startup-specific events either. Some are but most of them are targeting the same market as AWM events. It’s as unfair to list Ignition Alley events as being part of the glut of startup events as it it is to blame people who live and work intown as being part of the metro Atlanta’s rush hour traffic problem.

Continuing, there is Startup Atlanta and it is NOT an event; it is a (soon-to-be) non-profit who mission is to study the ecosystem, identify how to grow it and as much as possible be a catalyst help others execute on on advancing the ecosystem. Yes Startup Atlanta will run the #OnStage event monthly (which I think you misnamed as "OnStartup" in your post), it will run roundtables, it will run task force meetings, and it will probably run other events. However, unlike the former Atlanta Web Entrepreneurs events all of Startup Atlanta’s activities will be measured by how well the activities focus startup entrepreneurs on executing and/or growing the ecosystem support needed by startup entrepreneurs to execute and not providing new ways to waste time.

Specifically let’s look at #OnStage. It’s modeled after the NY Tech meetups that according to those I’ve spoken with in New York has been very effective in driving startup execution in the New York area. It’s an event that can give some local entrepreneurs exposure for their startup rather than how most have toiled in obscurity. As a requirement for presenting at #OnStage startup entrepreneurs must demo their offerings somehow (NO powerpoint) so all those who haven’t executed well enough to have something to show won’t qualify. In addition #OnStage allows the audience 10 minutes of rude Q&A forcing presenting entrepreneurs to be well prepared with a viable business model or to come across looking rather foolish to the community. Finally #OnStage rewards startup entrepreneurs who are doing the best job of executing by selecting winners and getting those winners more exposure which hopefully will mean more customers, partners and/or investors.

Beyond that, Startup Atlanta will only be promoting events that have as a goal to either advance the ecosystem or help startups execute better, and we’ll be focusing on metrics as much as possible.

And while Ben Sabrin and those like him may know all they need to execute well without outside help not everyone who could otherwise execute successfully knows everything they need to succeed. And that’s where targeted, smaller events come in including some we plan for Startup Atlanta. I’ve also noticed that ATDC has a plethora of such events which you didn’t mention including "Circles", "Brown Bags", "Open Coffees", and more. While they too add to the glut of events I actually expect they are of the type that will help startups execute better (well, maybe the first two named and possibly others; though not sure about Open Coffees.)

But while I think while your criticism would have been very well placed about this time last year today it’s a little late because we as an ecosystem have evolved. For example, I understand that StartupChicks is doing some really fabulous events focused on execution for their constituents (but as I lack the requried chromosomes I can’t give a firsthand testamonial.) Capital Lounge has renamed to StartupLounge Atlanta to refocus, according to my memory of my discussion with Scott Burkett, on execution rather than on raising capital. And Startup Gauntlet is focused on perfecting a pitch; again, execution and not something you can repeatedly attend. StartupRiot is as I understand it in large part focused on both getting local attention for startups and gaining attention from investors outside of Atlanta who actually write checks, and that is something many local startups badly need to execute as well. I believe most of these evolved because their organizers identified a need to focus more on results and execution.

And some of the other events you mentioned are industry or technology specific too, not startup-specific. So you do Mobile Monday, AWsome Atlanta, SoCon, and ProductCamp all a disserve by listing them here. (As an aside, you didn’t mention ATLRUG; it’s inline with AWsome so why not? As for ATDC/TAG Entrepreneurs and Venture Pipeline I don’t have enough experience with them to comment.)

So Lance please do get to know the value each event and it’s associated organization has to local startup execution and learn which events are startup-related and which are not. Casting doubt on the value certain activities bring may end up harming the creation of products, the gaining of customers and the building of companies more than it helps. 

-Mike Schinkel
Executive Director; Startup Atlanta
Organizer; Atlanta Web Marketers
Partner; Ignition Alley Atlanta Coworking 

P.S. Personally speaking, I spent 2007 through 2009 getting to know people in the Atlanta startup community and to build relationships both as an event host and by attending as many related events as I could. I had never done this locally during my prior two decades and my ability to grow my business beyond $12 million annually greatly suffered because of it (and I expect others who rarely or don’t create relationships in the community suffer an inability to execute as well.) But my New Years resolution for 2010 is to focus my event hosting and attendance on only those events that will help achieve the execution goals I’ve set for Startup Atlanta, for AWM, and for myself. To your point Lance, I’d recommend startup entrepreneurs do the same. 

What’s Wrong with Forward-to-Friend.com URLs?

A friend recently sent me a URL via a Forward-to-Friend.com which is a service of MailChimp. While I really love the guys at MailChimp their URLs for their Forward-to-Friend.com are simply awful. There days of social media well designed URLs are finally being recognized by many as being extremely important, but not everyone gets it yet nor does everyone know best practices for designing URLs.

Make ‘em Short and Sweet

One of the traits of a well designed URL is that they can be grokked with a quick visual scan. They should also be no longer than really necessary because one of the more common link sharing sites (Twitter) shortens long URLs automatically. There are many other traits of a well designed URL, some of which are specific to context but if it’s too long and you can’t understand something about the URL by looking at it something is really wrong. And anything that impedes sharing of links is a foolish addition. So I bitched about this URL on Twitter that a friend of mine sent me in email (let’s call her "Jane Smith" and @BenChestnut asked me to clarify. Here’s the URL:

http://us1.forward-to-friend.com/forward/show?u=0fea6c2e08126550f4c318d4b&id=cd941d1fa5

What’s wrong with this URL?

So what’s really wrong with this URL? Let me count the ways:

1.) "us1."

This subdomain seems to imply that its specific to the US which I’m lukewarm on having a subdomain in this context it adds unnecessary characters. And what’s with the "1?" Is there a ".us2?" Is this just a server convenience? C’mon guys, hide that crap the user; they don’t want to know.

2.) "forward-to-friend.com"

Okay, so it’s a cool domain, but you really couldn’t you come us with something shorter than 21 characters?!?

3.) "forward/show"

Uh, one word: "Why?!?"

4.) "?u=0fea6c2e08126550f4c318d4b"

Do I really need to say anything about this? I mean, it’s waaaay too long and how does any of this mean anything to anybody? The only thing is does it make the programmer’s life a tad easier to uniquely identify the user but only on the day it was implemented.

5.) "&id=cd941d1fa5"

Another too long and non-meaningful computer number. The "id=" identifies the URL being forwarded. But does it mean anything?

What would be better?

So here’s a better hypothetical URL with analysis to follow:

http://fwd2.net/janesmith/laura-coyle-at-fernbank

"fwd2.net"

The "fwd2.net" domain is owned by a squatter. Why not pay them a few bucks and pick it up? (or get something similar and short?)

"/janesmith"

Not super short but much like Twitter’s screen name it identifies the links shared by the user who picked the name "janesmith" (i.e it replaces "?u=0fea6c2e08126550f4c318d4b.")

"/laura-coyle-at-fernbank"

Again not short, but as this would be selected by the user before sharing it would be as short as the user wanted it to be. So the user could have picked just "coyle-fernbank" or "fernbank-oct2" or similar. But what is really important is that it is meaningful!

And another benefit?

With this format you also get this URL:

http://fwd2.net/janesmith

At that URL you could have all the links "janesmith" shared when she is logged in, and she could set those shared links to be private or public, or later once more functionality is added the links could be made selectively available to different groups of friends.

Further there could be groups of URLs shared such as anything with a trailing slash could be tagged links, i.e. in this case "jazz":

http://fwd2.net/janesmith/jazz/

Hopefully you can see a tremendous amount can be done with URL design but sadly there are still too few people who pay attention to it. Maybe that’s because there’s no book of best practices. Hmm, might be an opportunity there…

Still think it is unimportant?

And for you skeptics out there who really think that "users don’t look at URLs" take a look at the apps that are succeeding lately, Twitter being a main one. Most of them are designing their URLs well. Coincidence? I don’t think so.

Thanks for asking

Anyway Ben, thanks for asking. Hoping you see the value in it, make the suggested changes, and find that it’s made a positive difference.

Anti-Follow Spam for Twitter

No Twitter Spam!
Wall of Spam courtesy of freezelight and enabled by Creative Commons

Damon Clinkscales blogged about Twitter Spam last month where he advocated proactively cleansing one follower’s list of "follow spammers" to help reduce the load on Twitter, improve Twitter’s reliability, and increase the value of the Twitter community in general.

I agree!

Still, I think Twitter could take a proactive step reasonably easy that would make it so we don’t have to. I think Twitter could reduce most of the type of Twitter follower spam I got today by applying two simple criteria (And I think Damon also got that same spam today. BTW, nice blog theme Damon! ;-)

I think a strong indication of Twitter follower spam is simply:

  1. Their following/follower ratio (or their ing/er ratio for short), and
  2. Their follow rate (i.e. how quickly they follow someone after that last time they followed someone.) 

This spammer I got today followed me with 4 different Twitter accounts within a few minutes and each account had around 2000 followings and just over 10 followers making their ing/er ratio about 20-to-1 and I’ll bet their followers were all auto-followed. It’s also clear from the fast & furious tweets that I was not their only mark.

I think it would be reasonable for Twitter to auto-block anyone with a ratio of greater than 15-to-1 ing/er ratio. Twitter could even remove the auto-followers from the calculation; those that follow within around 90 seconds of being followed wouldn’t count as a follower. Doing this Twitter would still give someone the ability to follow 15 people for every one that follows them, and heck they could give them their first 150 people[1] for "free" (i.e. not counting against the limit.) If someone really wants to follow 15,000 people they need to be interesting enough to have at least 1000 people follow them. Shouldn’t be that hard…

Also, Twitter could limit followings per day to, say, 75.  That should be enough for anyone, even the most hard-core twitter newbie (150 "free" + 75 more), and it’s not unreasonable to require a newbie to wait a few days to follow lots and lots of people. 

If I were in charge of setting these limits, I’d set the ing/er ratio to 5-to-1, give them only 25 "free" and then limit to 25 followings per 24 hour period, but I shot high because I was trying to be "reasonable." Of course, Twitter could allow for special cases by allowing people to request to have those limits manually raised if they provide a good justification for it.

What do you think?  Would this work to reduce most Twitter follow spam?  I think so.

Footnotes

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.

ASPnix adds ISAPI Rewrite - Finally!

ASPnix Web Hosting Logo Back in July of 2006 someone asked on the forum for ASPnix, the web host that specializes in CommunityServer, to add ISAPI Rewrite to their servers so that customers can clean up their URLs. Seven people including myself chimed in asked for it. Over the past eight months, little was said by ASPnix except by a former staffer who implied it was harm the stablity of their servers and who really gave no indication that any real consideration was being made to offer a solution for URL Rewriting.

Well finally, on Feb 22nd, Roma confirmed that ASPnix has will finally be offering ISAPI Rewrite on ASPnix’s web servers. That’s yet another IIS-centric web host who has finally freed its customers from the shackles of poorly designed URL Hell! Hooray!

Now let’s just hope that Scott Watermasysk can be convinced to add URL Rewriting support in CommunityServer using ISAPI Rewrite to eliminate .ASPX extensions and more on CommunityServer, sooner than later.

OpenDNS to Force Improved DNS Standard?

OpenDNS

So I was reading Hanselman and came across his OpenDNS post. I’d not heard of it, but evidently it is a free service comprised of a network of ’smart’ DNS servers that can correct spelling errors (i.e. convert craigslist.ogr to craigslist.org) and provide warnings when users attempt to go to a phishing sites. Cool!

Reading Scott’s post also led me to a discussion on mrneutrongodeon’s LiveJournal about OpenDNS where dr_strych9 commented (emphasis mine):

Part of your problem here is that BIND just plain sucks. I would expect similar results from djbdns, for example.

I also don’t like that “spelling correction” or “anti-phishing” feature. That doesn’t belong in the cache; it belongs at the resolver. … OpenDNS is unsuitable for use as an enterprise DNS cache. It might be a good solution for people who want to run their own personal cache on a local node.

When challenged by someone who did not understand that the term “resolver” had a defined meaning, dr_strych9 clarified (emphasis mine):

The “resolver” in the DNS protocol is the agent that sends questions and receives answers. Contrast with the other two kinds of agents in the DNS protocol, i.e. the “server” and the “cache” agents. The “server” sends answers to recursive questions, and the “cache” sends answers to non-recursive questions.

I’m saying the “resolver” agents are where this name fiddling code belongs, not in the “cache” agents where OpenDNS is doing it. Technically, OpenDNS is running an alternative “public” DNS horizon for its users. I think more than one “public” DNS horizon is a very bad idea. We only need one: the global public DNS horizon.

Also, I really hate designs that try to make the network protect the nodes from one another, particularly designs that outsource security to somebody I have no reason to trust. A much more secure and sensible approach to this problem would be to be the spelling correction in the DNS content servers (by registering multiple spellings and redirecting) and optionally the resolvers (by making them ask the right questions), and put the anti-phishing protection into just the resolvers, i.e. your web browser should protect you, not your DNS server.

And what follows are both my response and my analysis of the situation:

I agree. And I disagree. :)

What OpenDNS has done is recognize a way to improve on the DNS protocol. This could be argued to be a limitation in the vision of the DNS protocol, and OpenDNS have offered a solution that is of interest to a reasonably significant segment of users. Unfortunately, that solution violates the spirit of the existing DNS protocol. You can say that it should be in the client, but the “cost” (in the technological sense) of requiring clients to be updated to get this functionality is unrealistic when you compare it with the cost of updating a well-defined set of servers.

And whenever the spirit of a protocol is violated it causes lots of hand-wringing among the standardistas [1]. That happened a lot during the browser wars, but it forced the standards bodies to address the needs people were having as opposed to pontificating on abstracts at a glacial pace which is the nature of standards bodies when there is no market pressure to drive them. This market pressure spurs standards bodies into action to as quickly as possible reign in fragmenting yet proven technologies and codify them into a standard instead of spending years debating a hypothetical envisioned use (can you say ‘Semantic Web?’)

Yes some negative can result when market pressure is applied to force standards but I also think negative can also result when a hypothetical is standardized without a lot of proven implementations. All-in-all, I believe the accelerated pace of standards development resulting from market pressure is almost always a net positive.

Given OpenDNS has identified a way to add value to the DNS protocol I think it would make sense for the standards bodies to extend the DNS protocol in a backward compatible way to incorporate this functionality. When up-level clients and servers are paired they can use the newer functionality but when a client attaches to or server where one is down-level, the transactions would work as it always has.

And if OpenDNS were to work to update the DNS standard, they could move from being a novelty for most web users and a rouge element to the standardistas to potentially gaining a huge market share and capitalization. At the same time this newer version of the DNS protocol could provide added value across the broader Internet and provide value-appropriate revenue opportunities for a large number of people and vendors to support companies who want to update to their DNS infrastructure.

JMTCW, anyway.

In closing, I just want to remind readers that I definitely do like the idea of OpenDNS, that is unless and until someone points out some aspect of it where it really should be considered harmful that I hadn’t really considered.

Footnotes

  1. NOTE: I don’t mean the term ’standardistas’ perjoratively; I actually consider myself to be one, albeit a little more pragmatic than most.

Camtasia Studio’s Huge Missed Opportunity

Jon Udel is a big fan of using screencasts to instruct, and I’m a big fan of watching them when I want to learn something. I’d like to start doing some of my own. However, reading his post on screencasting tips today, I was reminded of how I can’t help but think that TechSmith is really missing out on a huge opportunity because of their pricing for Camtasia Studio.

I’ve followed them for a while, and I know that they are pretty much the gold standard for screen recording software. However, their price of $299 is in no-man’s land. It is too low for the market it currently targets, the corporate market, and too high for a much, much larger market; the amateur and semi-pro blogger.

For those company’s who need the software, TechSmith could easily double the price and would probably still sell 90% as many units. But of course, the lost 10% would be well more than made up for by the increased price per unit.  And frankly, a higher price would motive resellers more (which, as a former reseller, I always hated that my business did better financially when I raised prices on customers.)

On the other hand, $299 is way past the threshold where an amateur bloggers would buy a copy. Frankly, I think that is the reason why we see so few screencasts on the web. In my 12+ years experience in selling software tools to developers, I’d say that $69 is probably about the right price for an amatuer to semi-pro blogger to say "Sure, what the heck, I’ll buy a copy and try this screencast thing.

TechSmith could easily cut feature features from this blogger version to differentiate from their professional version. For example, the blogger version could be limited to outputting only to Macromedia Flash, i.e. no AVI, Microsoft Windows Media, RealNetworks RealMedia and QuickTime. The could cut the output-to-EXE feature and the Create a CD-ROM feature. And probably a few more things. 

But TechSmith would need to be extremely careful NOT to cut the features that bloggers would really need. I ran into this over and over with components vendors while running VBxtras/Xtras.Net. I’d suggest a lower-priced version so they could reach a slightly different market, and the vendor would want to cut so many features of the product that it would have been crippled. Instead what’s needed it to look at the features that are needed only by the high end customers and cut those while leaving feature every users could benefit from. For example, if TechSmith were to cut any of the recording, pre-production, or editing features they could very well end of with an expensive demo and lots of frustrated customers badmouthing them on the blogs.

But what they could do, given this market, is to have the screencast on the blogger edition end with a splash-screen/advertisement for Camtasia. Imagine that, having the ability to get advertisements on a larger percentage of the blogs on the web and the only thing requires would be to restructure an existing product! Can you say "No Brainer?"

So, what would this look like?  I think if TechSmith were to offer two editions with the following prices they’d see a surge of new customers, the web would see an explosion of screencasts, and that would be great for (practically) everybody:

  • $69 - Camtasia Studio, Express Edition
  • $599 - Camtasia Studio, Professional Edition

So, if you are a blogger who thinks is a great idea and you’d be anxious to buy a copy of Camtasia Studio for $69 but wouldn’t even consider paying $299, why not go over to TechSmith’s website and send them some feedback on the subject. And be sure to point them to this URL so they can read my justification. Together, we can make a difference. :-)

P.S. One thing the skeptics in the audience should know is that I have recently started playing with the free software called Wink from DebugMode (thanks to Ben Coffey for the recommendation.) While it is great, I’d prefer the polish of Camtasia Studio. However, at $299 they won’t be getting a dime from me. On the other hand, for $69 I’d happy spend the money for the time and frustration it could hopefully save me, and I bet lots of other bloggers feel the same.  So what will it be TechSmith: "$69 in revenue, or nothing?"

On the Hunt for a New Programming Language

When it comes to programming on the modern-day GUI (post-DOS) platform, the vast majority of my coding has been, in order of experience, using T-SQL, VBScript in ASP, and about equal parts classic VB (v3.0 to v6.0) and VB.NET. As you can see from my order of experience, I’m really a database guy, and since the beginning of the web I’ve always viewed the web as somewhat of a database publishing environment (anyone remember the DOS product dbPublisher Pro from Digital Composition Systems?) What’s more the web allows a potentially infinite number of people to use a developer’s database publishing apps without any extra effort to distribute them. Finally, the web provides ability to capture evidence the apps were run, how often, and by how many people. Is it any wonder I have more of inclination to develop for the web as opposed to desktop applications? Back during the period from 1994 to 2006 when I ran VBxtras/Xtras.Net where we where a reseller of ActiveX controls and then later .NET components, I never really thought about the cost of add-on components. Almost anything I wanted to play with I can get an NFR (not-for-resale) copy just by sending an email or picking up the phone. Although I still have many of those relationships from a decade+  in the business, I hesitate to ask for NFRs these days except from my really close friends simply because this business I’m in today has nothing to do with benefiting those people. So numerous facts have me giving up on my prior five year assumption that I would someday learn VB.NET at an advanced level and have me instead actively considering alternatives:

  1. As I just stated, the fact I now have to pay for third party components and tools means I’m paying more attention to cost of acquisition,
  2. My recent favorable impressions of open-source developer tools and components, on par with some of the best tools ever sold by Xtras.Net,
  3. My increasing frustration with the Microsoft developer division’s process and release cycle,
  4. All best web applications seem to target L.A.M.P. such as Mediawiki, WordPress, vBulletin, Subversion, Trac,  Ruby On Rails, Django, etc. and all but one of them are free to use
  5. Completely preconfigured stacks (including O/S) that are becoming available for download as a VMware appliance,
  6. Recognizing that Ubuntu’s has an approach strategic enough to result in Microsoft being profiled in a revised edition of Clayton Christensen’s Innovator’s Dilemma as yet another example of why great companies loose their leadership position,
  7. And lastly my rising disgust for ASP.NET (and I promise I will blog about those specific soon…)

By the way, even though I dislike ASP.NET, I do still really like the .NET Framework and programming model. Oh and a note about the first point; whereas there is good open-source tools available for .NET, the operative word is "tools" not components. When you compare what’s available to freely use for .NET compared to what’s available for any of the "P"s (Perl, Python, and PHP), .NET just can’t compare, at least not in depth or breadth. Of course being commercial products the .NET third party components are more polished and of course have commercial support available. However, unless you are big company that needs to CYA and have a throat to choke, those are often dubious benefits especially when you consider the benefits of open-source (i.e. source code, and the ability to fix something and contribute it back so you’ll know it stays fixed!) Anyway, I could write for hours on the pros and cons for open source vs. commercial developer components and tools but that’s not the subject of this post. The subject is about which language I will focus the majority of my future attentions on learning and using, and I’d love to get your input before I decide. Here are the current contenders:

PHP
All the major web apps I mentioned above seem to be built using PHP and I’m currently running many of those apps, PHP is pretty similar to the ASP that I know so well, it’s web-specific, there is a huge support community, it runs on both Windows and Linux, and every Linux web host known to man seems to offer it preinstalled. However, there seems to be lots more crap PHP code examples littering websites than good PHP code examples making it harder to learn so it might be hard to seperate the wheat from the chafe, it is not easy to configure on Windows Servers (especially at a shared web host), and no one individual framework seems to have gotten the lion’s share of the market attention so picking one would be a crap shoot. Oh, and it uses those infernal semi-colons just like C#.
Ruby on Rails
Ruby and it’s framework Rails have gotten tons of attention and it seems all the cool kids are doing it, especially lots of the Web 2.0 startups, it is very database-centric, has very elegant URL mapping functionality, and it seems you can get web apps built really fast using it. And Ruby.NET is also on the horizon meaning I might be able keep my toe in .NET. However, the community comes across as just a little bit too religious and I’m generally alergic to that, AFAIK it doesn’t run on Windows, or at least not for shared hosting. Plus I’ve had people I respect tell me that Ruby doesn’t have nearly as many users as the "P" languages, that Rails it not nearly as mature as its purported to be, and that Rails makes simple thing simple but complex things extremely difficult. And the number of available web hosts that offer it is quite limited.
Python
Unlike PHP, it seems Python is well suited for both web and desktop apps, which might come in handy from time to time, and a shipping IronPython means that I definitely can keep my toe in .NET. The Django framework seems to be a little more mature and have a little less religion than RoR, and Django also has nice URL mapping functionality, albeit slightly less elegant than RoR. And it seems to run equally well on Linux and Windows. However, Django seems more document publishing-centric and less database-centric, there are very few web hosts that support DJango, and I’ve heard it is a real bitch to get working on a web host.
VB.NET+Castle/MonoRail(+Mono)
But then again, maybe I will stick with VB.NET. The Castle/Monorail project is supposed to be a lot like RoR, and I’d even have the option to use Mono on Linux. However, the third party tools are definitely wanting, most web hosts haven’t a clue what Mono is, and they coded Castle/MonRail in C#, so I’d always be dealing with semi-colons…
ASP+IIS+JScript
I could stick with ASP, which I still like, and learn JScript to replace VBScript, the latter of which just has too many limitations when compared with the other current options. This clearly also runs on Windows and any Windows web host will support it, and I already know Windows backwards and forwards. On the other hand, I’ll need to use ISAPI Rewrite for clean URLs, JScript on ASP it has no future and few code examples on the web, and what third party components and tools (to speak of…)?!?
ASP+IIS+VB.NET
I could also use develop VB.NET objects and call them from ASP; that’s what we last did at Xtras.Net (and I think that is what they are still doing, last I checked…) Of course, calling .NET objects as ActiveX controls just doesn’t feel right, and again there’s that third party component and tools problem…
PowerShell+IIS+???:
Of all the teams working on tools for developers over at Microsoft, the PowerShell team run by Jeffrey Snover is the only one that gets me excited anymore. And in an email from him (or was it a comment on my blog, I don’t remember exactly) he said that PowerShell can do web, and will be able to do it more easily in the future. On the other hand, it’s not here today, and what if webified PowerShell is just another way to do rubbish ASP.NET instead of what it should be, a url-based object-selector-and-invoker like Django or Rudy on Rails.  And what’s the chance it will ever run on Mono…?
Other:
Is there anything else do consider…?

At this point I should probably explain what I’m not considering, and why:

Java on Anything:
Although I was really impressed at a Sun Tech Days recently here in Atlanta , even the Sun people were all over dynamic languages with praise, like Jython and JRuby. And though I was impressed with NetBeans 5.5, all the other "enterprise" baggage like J2EE and Servlets and JSP Custom Tags gives me the feeling I’d be jumping out of the frying pan and into the fire.  Oh, and Java uses those infernal semi-colons too.
C# on Anything:
One word: semi-colons!  Sorry but if I’m going to go .NET, it’s going to be VB.NET (or IronPython). VB.NET is so much more natural to me than C#, and there are things you just can’t do in C# that you can do in VB.NET related to using "implements" on a method in an inherited class (I ran into that limitation of C# compared to VB.NET on a project several years ago where I was managing a pair of interns coding in C# and they hit a wall because of that limitation. I can dig it up if anyone cares, or better yet, can someone who knows the specifics explain it in comments?)
Perl on Apache:
Although my partner on Toolicious Ben Coffey who is a devoted disciple of Perl will cringe to hear this (yet again), I can’t quite get my head around Perl, and they tide, at least today, is away from Perl. Of course Ben claims that will all change with Perl 5.0, but to me that remains to be seen and I’d rather go with a bird in the hand (i.e. one with a lot more active current user base) than a bird in the bush.  But who knows, they say you should learn a new language every year; at any rate if he’s right maybe I’ll try and pick up Perl 5.0 in around 2012. :)

So there you have it: my potential choices and non-choices. Any thoughts I which I should choose?  Any and all input will be appreciated and considered seriously.