Who are Silicon Valley & San Francisco Startups Hiring?

I just returned from a trip to the San Francisco Bay Area, and although it was mostly for vacation, I had enough interactions with the startup community there that I’d like to share some observations in the days ahead.

I wasn’t looking for a job out there, and don’t plan on joining Atlanta’s apparent westward migration, but I did have some interesting interactions with startups at all funding phases – seed funding, $1 million+ Series A rounds, and companies funded even better than that.  An interesting trend emerged – all of them had very similar hiring goals.

What was the common role that they were ALL hiring for?  Steve Ballmer knows:

Yes, developers, developers, developers.  One company was at 11 people, all developers, and still hiring for more.

This is VERY contrary to the pattern I’ve seen in my Atlanta startup experience.  The Atlanta norm seems to be starting with a developer or two, filling out the team at the seed or Series A stage, and then minimal developer hires after that.  I’ve seen several entire funding rounds dedicated to building out sales teams, marketing teams, biz dev, etc. with zero additional developer hires.  As a CTO/developer type myself, I’ve often felt like this is a stage where organizational vapor lock begins and progress toward the original, ambitious idea slows dramatically.  (Don’t get me wrong, I like revenue a LOT.)

So what’s the difference?  Of course I don’t KNOW, but I have some ideas.  First, I’d characterize Bay Area startups as somewhat more ambitious, risky ideas on average (more on this at a later date).  When your goal is bigger, you don’t have time to slow the organization down.  Any round of funding is an opportunity to get even further ahead of the competition, and you do that by building product.  Paul Graham has recently written about the importance of a hacker-centric culture – hiring more developers helps with that.  Mark Zuckerberg often hired developers for non-developer roles at Facebook – marketing and more.

I’m honestly a bit jealous, because I can imagine the sorts of awesome companies Atlanta could build if we could concentrate our entrepreneurial developer talent in some big ideas.

So you might ask how these startups set product direction?  I suspect they get great feedback from their users, board, advisors, and peers, and the founders remain heavily involved in setting the product direction.

What do you think?  Does Atlanta hire fewer developers at each stage of funding?  Why or why not?  Is this a good thing or a bad thing?

Atlanta, ruby, startups, Technology

Why I created Badgy

Saturday afternoon, I announced the creation of Badgy at http://bad.gy/.  Simply put, Badgy is intended to be a social game for Twitter (@BadgyApp) that fits naturally with how people already use Twitter.  I’ve referred to it as a “native” app, which means that it’s written around the capabilities of Twitter, not copied from some other game that worked on Facebook.

If you haven’t used Badgy yet, just mention “badgy” on Twitter to get started and get some context for the rest of this post.

Initial feedback has been somewhat mixed but overall encouraging.  Some users disagreed with the retweet required to earn the second badge.  Some people just don’t get it.

It seems helpful at this moment to reflect on why I created Badgy, and why it’s built the way it is:

  • Fred Wilson wants gamesin a recent blog post, New York VC and Twitter investor Fred Wilson reflected on the state of the Twitter platform and what sort of apps might succeed on Twitter.  Many of these areas, such as enterprise, discovery, and analytics represent areas where Twitter could either create or acquire a single company to cover the gap, but he also mentioned social games.  The problem with social games on Twitter is that…
  • Current Twitter Games Suck – “popular” games like Spymaster motivate you to follow people you aren’t friends with and tweet things your friends don’t care about.  In essence, they are Mafia Wars clones that are too invasive and render your Twitter account useless.  Fun!  A proper Twitter game should be compatible with how people already use Twitter.  (FourSquare doesn’t count as a Twitter game – it is a mobile app game that uses Twitter as a promo channel.)  Although ever so slightly intrusive, asking users to mention “badgy” on Twitter to begin playing is totally native and much less awkward than going to a web site to join a Twitter game.
  • People Love Badges – Look at FourSquare badges, Facebook game bragging opportunities, or achievement systems in console games and you’ll see that people LOVE to feel like they’ve earned something and can brag about it.  Using badges as the basis of a Twitter game seemed totally natural.  Someone I follow on Twitter once said that they wished Twitter would give them some recognition for tweeting exactly 140 characters.  I’ve often felt the same way.  Something like Badgy can do that, and recognize many other interesting Twitter actions that are totally natural to Twitter but still fun to recognize.
  • Twitter Integration – I wanted to learn how to integrate with Twitter.  The combination of the tweetstream and twitter Ruby gems made this easy.  The ease and power of Twittter’s APIs gives me new respect for Twitter’s platform team.  It takes literally 3 lines of Ruby code to receive near real-time notification of every Tweet matching a set of keywords, leading to a fast…
  • Fast Minimum Viable Product – it was relatively easy to find people who mentioned “badgy” and reply to them, giving them a badge.  It was not easy to check the Tweets of a bunch of individual users and see what else they said, which is why the Square One badge is given when you retweet the message giving you the Badgy badge.  Sure, the retweet promotes badgy, but it was also easy to search for that unique phrase, retweeted, rather than starting to follow individual users.  The badge requiring a retweet is a bit intrusive, and will not be a key pattern for future Badgy badges.
  • To learn – Game mechanics and basic motivation tactics aren’t just part of games, they are a useful ingredient for almost any software.  Badgy itself may become a vibrant game, or it may serve to teach lessons that make other games and applications I write better.  If nothing else, Badgy provides an avenue to rapidly test and measure theories about what does and does not work in social games on Twitter.
  • Fun – It’s fun to make games and watch people react to them
  • Potential Business – on top of all of the other reasons, there are actually some interesting applications of the technology that would be needed to fully build out Badgy.  Time will tell.

A couple of obvious questions have been asked:

  • Why nag people to retweet their first badge? – This decision was part technical compromise, part promotional decision, and part social experiment.  It’s difficult to rapidly scale following individual users.  It’s easy to track keywords.  This decision helped launch Badgy sooner.  I was also curious what types of Twitter user would be willing to retweet our Tweets to their audience to get a virtual badge.
  • Why only 2 badges? – It’s enough to prove the idea.  Get people to “sign up” by mentioning the fairly unique keyword “Badgy” on Twitter, and see how many people would respond to a request to retweet to earn another badge.  Some people are willing to incorporate Badgy into their Twitter behavior.  Badge #3 will be less obtrusive.

I hope that you will give Badgy a try and give feedback and suggestions on what you’d like to see next.  I hope we see more Twitter games that don’t suck.


Apple and iPhone Developers – Caught in a Bad Romance

One of the great philosophers of our time, Lady Gaga, sings about being “caught in a bad romance”, and that’s exactly where iPhone developers find themselves today.

Today, while announcing a batch of nice updates coming in iPhone OS 4, Apple also snuck a nasty change into their Developer Agreement that prohibits the use of certain development toolkits including Flash, Unity 3D, and Appcelerator Titanium.  The developer community is crying foul with a bloody lip over this change, but will heal and probably forget about it again until the next time Apple punches them in the face.  As Ms. Gaga puts it, “I want your love and all your lovers’ revenge”.

It’s time to acknowledge that the Apple/iPhone developer is an abusive relationship.  You’ve probably heard of girls who love some guy, very controlling, that beats her up, but she ‘loves him so much she could never leave him’, and ‘deep down, he really loves me’.  Apple is that guy.  Or perhaps you knew some guy in college who dated some hot girl who was totally psycho?  She’d drag him through the dirt, but she was fun to show off at parties and the fringe benefits were nice.  Yeah, the App Store can keep you warm at night too, but at what cost?

Let’s look at a history of Apple’s psychosis:

  • “Duplicated” Features – VoiceCentral, and MailWrangler were both approved apps for sale in the App Store that Apple arbitrarily removed one fine day because they “duplicated features that the iPhone comes with” and “confused” users.  How hard do you want to work in building and maintaining an app, only to have Apple decide your app is now illegal?
  • Personal Vendettas – Apple regularly screws over developers and users to vindicate their own private feuds.  Google makes Android phones.  They also make iPhone apps, but Apple forced them to make both Latitude and Google Voice as web apps rather than native apps.  The developer is forced to make less powerful apps.  The user gets less powerful apps. It’s also widely suspected that Apple’s ongoing refusal to integrate the hugely popular Adobe Flash plugin into iPhones because of a standing feud between Apple and Adobe.  Apple willfully breaks most video and game sites on the iPhone because they have a grudge.  iPhone owners pay the price.
  • Private APIs – in typical bipolar Apple fashion, they approved tons of apps that used private APIs, then began automatically rejecting apps that use private APIs, and now is beginning to open up use of some private APIs again.  Ever been in a job or relationship where the ground rules change regularly and nobody tells you?  Yeah.  fun stuff.
  • Censorship – Apple has rejected apps for “providing access to vulgar words”“consuming too much bandwidth”, being “offensive”, and even “ridiculing public officials”.  Somehow, Apple has crowned itself some sort of moral authority, and it’s anybody’s guess what they will choose to find immoral.
  • “Sexy” Apps – in the theme of censorship, Apple recently pulled down a bunch of apps with “overt sexual content”, except they left the Playboy, Victoria’s Secret, and Sports Illustrated swimsuit apps up.  Who needs standards when you can have double standards?
  • Objective-C – I hear it’s a very nice language and all, but with numerous, more widely accepted programming languages out there, forcing developers to program in a language only used on Apple’s platforms reeks of an attempt to lock in apps and developers on their platform.

Now to the issue at hand.  Flash, Unity 3D, Appcelerator Titanium, and the numerous other toolkits that Apple effectively banned today have one thing in common – they make it easier to write applications that run on both iPhones and other phones.  Apparently Apple can’t stand the idea of actual competition, and is willing to harm these companies that were following all of their prior rules verbatim. If Apple is truly committed to this course of action, they may well destroy companies that are betting on supporting multiple mobile platforms but don’t have the resources to build separate, native applications for iPhone, Android, Palm, Blackberry, etc.  Nobody saw this coming.  Apple made this compulsive, drastic move that affects hundreds if not thousands of companies that support them in the name of defending Apple’s profit margins.

Committing significant resources to developing for iPhone and iPad is now very much like adopting a pet tiger.  It’s cool and it’s fun, but it’s only a matter of time before Apple mauls you in your sleep.  If you had a girlfriend who you found really attractive, except she made you speak Latin, told you what you could and couldn’t think, changed the ground rules of the relationship on a daily basis, insisted you believe her definition of “sexy”, randomly attacked your friends, and freaked out the moment you thought about going out to dinner with your friends, I’d hope you would get out of that relationship. I hope iPhone developers will see that Apple is just using them for their apps and will turn on them compulsively and without notice.

In the 90’s, technophiles railed against Microsoft for having a semi-closed platform with apps that used undocumented APIs to gain a competitive advantage against their competition, which was any app a user chose to install.  Now, we have a more closed platform that chooses what apps a user can install, rejects apps that compete with its own or attempt to use undocumented APIs, actively opposes a plugin architecture that can spur innovation, prohibits users from installing apps that they want, and developers defend this system because it’s pretty and runs on nice hardware?  Wake up.  It’s time for a break up.

And now, the musical entertainment:

Atlanta, startups, Technology

Is the Twitpay acquisition good for Atlanta?

Twitpay was founded about 15 months ago at Atlanta Startup Weekend 2, and was recently acquired for $100k (and an additional $1 million committed to move Twitpay forward as a non-profit fundraising tool).  The acquisition was widely hailed with congratulations to the founders and touted as a success story and evidence of the strength of a “payment cluster” of startups in Atlanta.  Now I think very highly of Twitpay’s founders, know they had some great buzz, great advisors, and that everyone congratulating them was genuine in recognizing this as the payoff for hard work by everyone involved.

All of the positives aside, it appears to me that the facts are that several talented Atlanta/Southeast regional entrepreneurs worked full-time for over a year on a disruptive technology that was developing good partnerships and good press and got bought out for small change.  Lance Weatherby put it well, “There are three types of successful exits for startup founders.  You get a new car, you get a new house, or you get a new life.”  It looks like the Twitpay deal sits in “new car” territory, with “new job” thrown in since I imagine they’ll get to draw a salary as they work with investors including Acculynk CEO Ashish Bahl to refocus the technology.  I’m not privy to any details, but I maintain some hope that the Twitpay team has enough of a stake in the new entity to push up into “new house” or “new life” territory.

There are a number of issues with the whole deal that I think put a bit of a damper on Atlanta’s startup ecosystem:

  • What Cluster? – There is indeed a solid bench of payment processing technology companies in Atlanta, but it’s hard to see much benefits from this in Twitpay’s story.  With the acquirers in the payments space, the best I can say is that participating in this cluster may have meant the difference between “new car” and “no car”.  It’s small wonder entrepreneurs often ignore our local clusters.  Many local entrepreneurs who are fully dedicated to their startup just end up in “new 2nd mortgage” territory.
  • The Series A acquisition – Atlanta is not “The Valley”, and this deal rubs that fact in.  A “success story” version of this situation would have seen the $1 million invested in Twitpay and used to give the company strategic investors and a couple more iterations to “get it right”.  Buying startups after their initial model is “busted” and funding their additional experiments after the fact is not an appealing outcome for entrepreneurs.
  • The compensation sucks – If our version of a success story is that a founding team of entrepreneurs goes without salary for a year and a “good” outcome is that they get to split $100k 3 ways, and THEN get to draw a real salary as an employee, we have a real problem.  New Georgia Tech CS grads can make twice that much, fresh out of school, guaranteed.  This sends a message to talented potential technical co-founders to just go get a J.O.B.
  • Few Lasting Benefits – these guys have “new car” money.  They’re not going to be the next partners in Shotput Ventures, they’re not going to be a part of the next big angel deal or have large amounts of time on their hands to re-invest into other startups and entrepreneurs.  Furthermore, they’re now employees, which means they’re not spending much time starting their NEXT company.  They do have some domain knowledge and credibility to bring into their next startup.  Who knows?  They may even co-found something awesome that does benefit from Atlanta’s strength in payment processing.

Let me be very clear that I may have a number of facts wrong about compensation, deal terms, etc.  I’m a total outsider to this deal so I know little more than the publicly stated facts (the rest are educated guesses), but that also means that the way the deal looks to me may very well be the way it appears to other outsiders in the Atlanta startup ecosystem.  I also have the utmost respect for everyone involved in this situation.  The Twitpay team rocks.  I am sure their acquirers have great intentions and solid potential to do great things with Twitpay.

If I’ve got something wrong, let me know.

An ongoing message and lesson I take with me is that Atlanta is for bootstrappers unless you are fundable on reputation and track record alone, or you are one heck of a fundraiser.  Don’t quit your day job.  Let customers fund your growth.

Atlanta, ruby, Sports, startups, Technology

Touchdown Nation finds a rhythm – Atlanta Startup Weekend 3, day 2

Touchdown Nation was formed yesterday (the name was updated from Football Nation so we could secure a web domain, twitter account and be unique on Facebook).  As a part of Atlanta Startup Weekend 3, we’re building an engaging social game for Facebook in less than 3 days.

The first 24 hours of Startup Weekend are a volatile time.  During ASW1, a huge swath of business and marketing types ran away after we chose to work on Skribit, and more attrition followed during early and mid Saturday afternoon as the team lurched into action.  During ASW2, many, MANY teams flamed out when they realized that the person who pitched the idea was trying to find free development & sales labor to build their idea in the coming months.  This year, at least 2 of the 8 teams totally cratered in the first 24 hours.

It happens.  Teams realize they can’t agree on what to build, that they can’t build what they want to, or that someone else already built the whole thing.  It’s not always a reflection on the people involved.  In some cases, I think it IS a reflection of the idea pitched.  Vague pitches about ill-defined products that will take a year to build are recipes for team implosion.

The first 24 hours of Startup Weekend are kind of insane.  You have teams of 5 to 20 people trying to get on the same page to figure out exactly what their project is, how to make money, and how to work effectively with a dozen strangers.

Touchdown Nation was no exception.  We had a great working session on Friday night deciding many of the things the game was and was not.  It changed a decent bit from my original pitch, or at least what I had in my head, which is a good thing and a great reflection on the team.  We came into this morning with a list of things to get done by noon, and we basically hit all of them, but there was still this sense of urgency.  We had a loose plan, a new name, and the technology infrastructure was in place, but hadn’t had any time to actually build the technology, the business, or the marketing.  It’s an uneasy feeling, which makes people on a team want to spend more time generating certainty instead of building something.

In the afternoon, we started to do less planning and more doing.  There are amazing times in startups where I believe the core team is in a rhythm.  In a rhythm, people on different teams understand the common needs enough that problems are worked out in conference calls, not huge meetings, and I believe Touchdown Nation hit that stride today.  When everyone is running toward the same goal, you need less meetings to reach that goal.  Course corrections happen through natural conversations, not huge meetings.

We hit that moment today.  Code started flying, blog posts started getting posted, you name it), but we got everyone technically ready to do their job.

That’s enough for now.  We”re very exicted and having a blast.  Check out @TouchdownNation for the latest news.

Game On!


Atlanta, Sports, startups, Technology

Football Nation – Atlanta Startup Weekend 3, Day 1

It’s been 2 years since the first Atlanta Startup Weekend, which I view as a landmark moment in the growth of Atlanta’s technology startup community, and certainly a pivotal moment for me personally.  It grew both my ambition of what startups could accomplish in Atlanta, and my network of like-minded startupy people.

We launched Skribit in 3 days, and it remains one of the most successful Startup Weekend companies anywhere.  Last year, I spent time on the Seed Stage Records and Giving Time teams.  I left Seed Stage after Friday night, before it proceeded to implode on Saturday, and spent the rest of the time on Giving Time, which may be viable but hasn’t launched yet.

I pitched an idea at Startup Weekend, didn’t last year, and decided to pitch an idea this year.  Whether or not my idea was picked, my main goal was to launch whatever app I did work on by Sunday night.

Imagine my surprise when I presented an idea to build a social game for Facebook centered around Football, which I initially called Football Nation (the actual name is TBD), and I ended up with a team to build it!  The idea is that football is super popular, and Facebook apps are super popular, but nobody has effectively combined the two – instead, people are busy building farms, restaurants, and mafias on Facebook.  Not only could a football app be successful as a standalone app, it could provide a foundation to build a niche in social sports games and eventually a way to dethrone EA as the king of sports games.  (Frustration with NCAA Football 10 was actually the pain point that generated this idea.)

Our team is pretty enthusiastic about football.  We’ll be streaming Georgia Tech v. Duke on a projector tomorrow, and probably some other games.  Our team was not as well versed in Facebook social games.  In perhaps an odd move, we spent the first 30 minutes or so of our team meeting playing  the currently popular Facebook games in teams of two.  Mafia Wars, Restaurant City, Farmville, YoVille, and I even assigned Sorority Life to a guy I knew could take it. Hopefully they can detach from these new-found addictions enough to work on our app tomorrow. 🙂

I think we’ve got a good concept, and great thoughts from the team helped solidify answers to some key product decisions.  I am immensely grateful to have a strong development team which I can trust implicitly because I have worked with most of them.  I’m excited about the non-developer elements of our team too because they had great input and we need strong design, marketing, biz dev, etc. to make this thing work, and we have all of those skills.

If you’re a creative type and interested in helping, please find us.  We have a great start, but I believe that with this app, we have  a nearly unlimited need for UI input and asset production to make this game really rock.

If you’re planning to come to a startup weekend, prepare an idea to pitch.  The process of running  a team that has chosen your idea is amazingly different from being a part of a tea built around someone else’s idea.

Tomorrow is going to rock.

Atlanta, startups, Technology

Atlanta Startup Weekend 3 – Launch Something!

Atlanta Startup Weekend 3 is coming November 13th-15th.  Based on my experience at the first 2 Atlanta startup weekends, I want to challenge anyone who is planning to attend to come with the intent of launching some version of their company & product by Sunday night.

The first Atlanta startup weekend created Skribit, which launched VERY late Sunday night of that weekend, and was one of the first Startup Weekend projects to take on a life of its own beyond the weekend.  With every ASW1 attendee united on 1 project, we had an amazingly balanced and capable team, but we lost a lot of people after day 1 when they decided the idea wasn’t for them.  Skribit received funding from Georgia Tech’s Edison Fund, and is actively being worked on by Paul Stamatiou and others.

The second Atlanta startup weekend took on a new format.  Instead of having 60+ people create one company, we split into multiple groups to launch multiple companies – this was a good thing, although it led to a skewed distribution of resources (Reepli may have had 1/3 of the total developer pool, possibly with zero non-developers.)  I’m not convinced that the multiple projects led to any less attrition on day 2 than the ASW1 format.

The other big change was that teams were no longer encouraged to launch their company by Sunday night.  I think this was a VERY bad thing.  Businessy types who had been hunting for a technical co-founder for months pitched their huge-scope ideas.  Developers don’t show up at Startup Weekend to get another job, especially on ideas that several other developers have already declined to work on.  Friday night, I decided to join the Seed Stage Records team.  Late that night, when SSR’s goal for the weekend was set as launching a static web page by Friday night and doing more in the months ahead, I bailed.  The team imploded on Saturday over vision & direction issues that wouldn’t have been a problem if they had been focused on launching a minimum viable product by Sunday night.  Saturday morning, I joined the GivingTi.me team.  I rolled up my sleeves and put a lot of work into building a launchable site over the next 2 days.  It didn’t launch, mostly, I think, because there was NO pressure to launch.  Nobody cared if Giving Time launched by Sunday night, so there was no pressure to work until 1 AM at night, no pressure to cut scope, etc, etc.  It STILL hasn’t launched 9 months later.  As best I can tell, none of the code our team wrote will be used when it does launch.  Almost sounds like a wasted weekend, but I still had a blast.

I believe the first Atlanta Startup Weekend did a better job of building community and launching product.  ASW2 did launch TwitPay, but it germinated from the core Merb team, and I’m not sure the weekend did more than give those guys a kick in the pants to launch a rocking idea (to their credit, they DID launch something).  ASW1 did a LOT more to build Atlanta’s entrepreneurial community.  Part of that is because ASW1 was a part of Atlanta’s Great Awakening.  In many cases, it was the first time many of Atlanta’s startup-oriented minds met and had a chance to size each other up.  I think that’s too flippant, though.  The process of fighting over the concept, scope, and design of Skribit to successfully launch it in 3 days led to a better product and a better community.  At the end of ASW1, I knew who I wanted to work with again, and who I did not (AND I currently work with 2 of my Skribit co-founders).

So my call for Atlanta Startup Weekend 3 is to LAUNCH SOMETHING.  Don’t pitch an idea that can’t be launched by Sunday night.  Don’t join a concept that needs 6 months of work to launch – this isn’t startup speed-dating.  Don’t let your first team meeting degenerate into 1 year planning meetings and a goal to launch a landing page.  Find a great idea with other smart Atlanta / SouthEast regional people to work with to LAUNCH some version of that product in 3 days.

And if you’re working on a startup either full-time or on the side, the same challenge is out there.  Launch Something so you can begin getting customer feedback, iterating on your idea, and learning, instead of thrashing on an unlaunched app.


Jimmy Fallon crashed Twitter (Twitter is mainstream)

I’ve been using Twitter as @rkischuk for the past 16 months.  Twitter is growing.  Fast.

@jimmyfallon has taken the late night show slot on NBC formerly occupied by Conan O’Brien, with moderate viewer ratings thus far.  Interestingly, this evening, Jimmy and guests @kevinrose (Digg.com), @alexalbrecht (Digg.com), and @rustyrockets (Russell Brand, Forgetting Sarah Marshall funny guy) asked their Twitter followers and TV viewers to follow @bryanbrinkman, with the goal of unseating @BarackObama as the most followed person in Twitter.  Bryan’s a New York City based creative dude focused on video and animation.  He started today with 7 followers on Twitter.  For the uninitiated, Twitter is a “micro-blogging” service where users can post what they’re doing in 140 characters or less. Unlike Facebook or MySpace, you don’t have to be “friends” with someone.  I can follow your status updates even if you don’t care what I’m doing, and vice-versa.

I started following Bryan on Twitter earlier on Wednesday, after Jimmy twittered about it, but before the show aired – his follower count was still 4 digits at the time.  When he appeared on the show on the East coast, Bryan had over 11,000 followers due only to the “tweets” (twitter updates) of Jimmy and his guests.  As of the time I’m submitting this post, Bryan has over 18,600 followers, and this is even before Jimmy’s show airs on the Twitter-heavy West coast. In doing so, he passes the Wall Street Journal and Fast Company Magazine to become one of the 10 most popular Twitter users in New York City and in the Top 300 out of 1.3+ million twitter users.  Tuesday, Ellen DeGeneres created Twitter account @TheEllenShow, after guest @iamdiddy (P Diddy) demonstrated Twitter to her, and already has almost 50,000 followers in just 2 days, placing her among the 200 most popular twitterers.  Twitter has also been heavily talked about on the major news networks – it is everywhere.

As I was updating stats for this post, Twitter showed me a fail whale several times, as it does then they’re getting more traffic than they can handle.  Twitter Search‘s trending topics at the time were Jimmy Fallon, Google Voice, Bryan Brinkman, #SxSW, Late Night, South Park, Watchmen, Russell Brand, #melo, and GrandCentral – with 4 of these 9 topics related to Fallon’s gag, I have to believe that the fail whale was caused by Jimmy Fallon sending a ton of curious viewers to Twitter in a burst.

Twitter is everywhere on TV now, so much that I am inclined to call it mainstream.  I see not just technophiles on Twitter now – I see people I know from all disciplines – PhD chemists, real estate agents, entertainers, churches, you name it – joining Twitter.  Twitter’s been pretty stable lately, but with 33% growth in just the past month, and the ability of a single mainstream media hit to induce fail-whale’s, I think we’re in for a whole new era of growth as Twitter is embraced by a mainstream audience, and a whole new era of odd Twitter behavior as a flood of new users enters faster than the existing users can educate them about Twitter’s social norms.

Atlanta, Politics

Dear Georgia Christian Coalition (about Sunday alcohol sales)

Another year in Georgia, another year where “Christian” interests harpoon efforts to allow the sales of alcohol on Sunday, in large part due to efforts by the Georgia Christian Coalition, which is “vowing to make Sunday [alcohol] sales a Republican primary issue”.

Dear Georgia Christian Coalition:  you’re doing more damage than good.  Show me what part of your Bible shows Jesus running around lobbying King Herod and Caesar to make the 10 Commandments the law of the land?  From where I sit, your efforts on issues like this do nothing but turn non-Christians off to the church, and to the message of Jesus.  Well done.

Jesus didn’t spend his time telling unreligious people what NOT to do.  He spent time building relationships, hanging out with people that religious folks didn’t approve of, and knew that changes in lifestyle come from the heart, not from legislature.  He did spent a good bit of time chastising religious people (Pharisees & Sadducees) who were obsessed with rules and rituals (sound familiar?).

Even more hollow is the moral ambiguity behind the focus on this one issue.  If selling alcohol on Sunday is bad, why are you not leading the charge to introduce laws to ban alcohol sales every day, or prohibit selling anything on Sunday?  Why allow the sale of lottery tickets on Sunday, and why not close down “gentlemen’s clubs” on Sunday or every day as well?  Taking an annual stand against six-packs on Sunday is posturing – if you’re going to take a stand, at least stand for something more than an awkward compromise.

Lobbying against Sunday alcohol sales in the name of Jesus drives people away from wanting to become or even associate with a Christian, and harms the Republican party you so closely tie yourself to.  Try being known for what you’re for, instead of what your against, and focus on people, not laws.

ruby, Technology

Flex Remoting in Ruby? Easy Choice.

I’ve had a rocky relationship with Adobe Flex.  An awkward attempt to migrate an existing app to Flex caused several strong reactions and cost a good bit of developer goodwill.  The details of that decision are messy and irrelevant.  The experience sucked.

On the other hand, I could not have built the FeatureFrame technology without Flex.  There’s no simpler way to build a widgetized video player with embedded applications.  The same pains of horrible documentation, irrational design decisions, insidious bugs, and painful workarounds remain, but the things it makes easier pale in comparison to the obstacles of any other approach.

And of course in building a virtual world such as Elf Island, Flex is an obvious choice if you want to play it in the browser and build maintainable code (binary Flash files make a poor foundation for a sustainable product).

For most languages you might want to build a Flex app in, free, open options are available.  I had a recent need to prototype a solution that might also turn into a test fixture for our vendors to use in producing Flash apps, so Rails seemed the natural solution for simplicity of deployment and prototyping speed.

The main choices to support Flex Remoting calls in Ruby are RubyAMF and WebORB.

In trying to decide, I encountered a very useful comment in this thread:

"The biggest difference between what WEBorb provides and what RubyAMF(only
AMF alternative I am aware of) provides is workflow.  Weborb is a great
product written by guys who do java primarily.  So it follows the patterns
of having a Service layer that connects you to your application.

RubyAMF is written by a ruby developer."

Immediately, I know what my choice is.  WebORB is obviously the trap of over-architecture and suffering that pervades “correct” Java development.  A quick search on how to use RubyAMF (in a controller) confirmed my suspicions:

respond_to do |format|
format.html # index.rhtml
format.xml { render :xml => @people.to_xml }
format.amf { render :amf => @people }

When I see code like this and compare it to the WebORB or GraniteDS implementations, I just can’t imagine choosing those other paths.

Rails + RubyAMF is concise, clean and obvious in what it’s doing.  Yes, please.