Sunday, January 22, 2012

My idea to "Kill Hollywood"

This is in response to the excellent Y Combinator "Kill Hollywood" request for startups.

I think it's simple (though not easy): beat them at their own game by starting a new studio. A kind of studio that has never existed. A kind that could not have existed before. We are now at a moment in time where the internet, home theater, and mobile devices have coalesced into a ubiquitous media experience for a critical mass of people. The nascent ubiquity of web-enabled media devices provides an unprecedented opportunity to completely disrupt the traditional cinematic distribution model.

Our new studio will work like this:

1) Every movie production will be funded and executed like a tech startup. Terms for new productions will be transparent and consistent. The studio will operate like an angel investor: writers/directors will pitch production ideas to the studio through a well-defined (and primarily web-based) process and the best ideas will receive a term sheet. Terms will vary based on the talent involved and budget requirements, but will be consistent within these dimensions (for example, the studio will usually get x% equity stake when backing a brand new director, a bit less with a mid-tier director, and the smallest stake with a top-tier director).

2) In exchange for such transparency and equitable terms, directors/producers for each production must manage budgets extremely tightly. In fact, budgets will be doled out on a recurring basis and any excess budget needs must be raised independently of the original term sheet. For example:
  • The studio green lights a 4-month, $10M production. Funds for the production will be disbursed on a pre-determined timetable (say, $4M the first month, $2M per month for the next three months). The disbursement timetable is set forth in the initial term sheet. The director/crew must therefore be very mindful of monthly spend and do careful planning up front. Say that, at the end of the four months, the production still needs 4 weeks of post-production work, estimated to cost an addition $2M. The production stakeholders (including the writers/director) will have to raise this money, very likely not from the studio itself. The expectation is that they will raise this money by shopping around the unfinished product and selling a portion of their equity stake to outside investors.
3) Marketing spend also comes out of the original budget and the high-level marketing plan is set forth as part of the original term sheet. Marketing for productions will eschew traditional the Hollywood approach in favor of online strategies. Trailers will be produced, but primarily distributed via online/mobile (instead of shown in theaters behind a barrage of shitty car commercials). In fact, we are completely side-stepping the symbiotic cancerous beast that is the current studio/theater cabal (see #5 below).

4) Cast and crew will be compensated normally, but writers/directors will be expected to act as equity stakeholders alongside the studio investors. They will typically receive a personal stipend during production, but their real payday will not come until after the film's release and revenues are generated. Basically, every writer/director gets "points" and significantly more than the Hollywood studio system typically provides. Also, no "creative accounting" on the studio's part. Accounting methods for calculating and paying out rev share will be agreed to at the outset, as part of the original term sheet.

5) Online/mobile streaming only. $0.99 per viewing. That's it. You click "watch now", we charge you $0.99. "What if it's a short?" you ask. "What if it's a 3-hour epic?" you ask. Doesn't matter -- $0.99 per viewing.

6) An open source API will be provided, so that 3rd-party platforms can easily make the studio's productions available for viewing anytime, anywhere, on any device (for $0.99 per viewing).

7) Merchandising will be managed by the studio, primarily e-commerce driven, and revenue sharing terms worked out ahead of time as part of the original term sheet.

The portfolio of productions that the studio creates will be carefully curated (as part of the pitch/vetting process) in order to maintain profitability. In other words, certain types of productions can actually be quite profitable with very low production budgets. We have 100 years of Hollywood box office numbers from which we can easily deduce what types of productions these are. Think of it as "Moneyball for movies" -- that is, what types of successful film productions does Hollywood tend to undervalue in favor of large, expensive (and tremendously risky) blockbuster attempts?

Experience suggests that such "sleeper" productions that slip through the current studio system tend to be intelligent, well-written, well-directed films that focus primarily on storytelling rather than eye candy or star appeal, are enjoyable to watch, and can typically be consumed in 90 minutes or less. How awesome does that sound?

I suspect that Harvey Weinstein would grok this pretty well.

Wednesday, October 12, 2011

Moving On

I'm proud to announce that I have accepted a new position as Vice President of Software Engineering with Stipple, a tech startup in San Francisco. Stipple has created an exciting new platform that turns static images into dynamic marketing channels, pioneering a new form of advertising that is much more effective than banner ads or (shudder) popovers, while being much less obtrusive for the end user.

As excited as I am about the opportunity with Stipple, the decision to leave Memphis has been a very difficult one. I love Memphis, and one of the reasons for moving back here in 2008 was to help grow the Memphis entrepreneurial community and, in the process, start up a successful tech business of my own. To this end, I led the launch of both MarksMenus and Ernie's over the last couple of years. Through hard work, the teams I've had the pleasure of leading on these projects have accomplished a lot and seen some real success, but not enough in terms of revenues or investment for these businesses to really take off.

When considering why we didn't make it one could point at the people involved and say I was the wrong leader or that Mark, Eric, Christian, Mike, Irvin, Brad, Sam, and the many others that worked with me on these projects just weren't talented enough people. My own leadership notwithstanding, let me unequivocally dispel any doubt about the wonderful folks I've worked with. There are lots of extremely smart and talented folks here in Memphis and it's been my great privilege to meet and work with many of them on these business ventures.

So why didn't we make it? In reflecting on this question, I recently read another of Paul Graham's wonderful essays on technology and entrepreneurship and I believe he nails it. In "Why Startups Hubs Work", Mr. Graham writes that it is the natural outcome for startups to fail. This doesn't mean that it's impossible to succeed — just very, very hard. Without any mitigating factors, failure is far and away the most likely outcome. Graham goes on to argue that the San Francisco Bay Area has attained a critical mass of startups that — in and of itself — increases the chances of success of any tech startup within that ecosystem. As he states, this doesn't mean it's impossible to succeed elsewhere, just much harder.

So, this is an admission that I don't have it in me to continue the much harder path of creating a successful startup in Memphis. I sincerely hope others do. And I strongly encourage the local business, investor and political communities to wake up and smell the coffee. The world isn't just changing, it has already changed. For Memphis to grow economically, she must invest in and support the creation of new companies. A radical shift in perspective is needed. A lot of local attitudes need to change. I fear the alternative.

Sunday, October 10, 2010

Node.js, Express and MongoDB on Snow Leopard - Step by Step

So, I started experimenting with a new technology stack recently. Namely:


While there are many good blog posts out there around these various components, installing this particular stack is a swiftly moving target so I thought I would share my most recent experiences. Here's my quick how-to for installing and running these on Mac OS X Snow Leopard.

MongoDB 
(many thanks to Chris K.)

  1. Download and install

curl http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-1.6.3.tgz > mongo.tgz
tar -xzvf mongo.tgz
sudo mv mongodb-osx-x86_64-1.6.3 /usr/local/mongodb
cat << EOF > /usr/local/mongodb-osx-x86_64-1.6.3/mongodb.conf
dbpath = /usr/local/mongodb
logpath = /var/log/mongodb/output.log
bind_ip = 127.0.0.1
EOF
sudo chown -R root:wheel /usr/local/mongodb-osx-x86_64-1.6.3
sudo ln -s /usr/local/mongodb-osx-x86_64-1.6.3 /usr/local/mongodb

  2. Make a launchd job for MongoDB.

Save the following as "/Library/LaunchDaemons/org.mongodb.mongod.plist":


  Label
  org.mongodb.mongod
  ProgramArguments
  
    /usr/local/mongodb/bin/mongod
    run
    --config
    /usr/local/mongodb/mongod.conf
  
  RunAtLoad
  
  KeepAlive
  
  WorkingDirectory
  /usr/local/mongodb
  StandardErrorPath2
  /var/log/mongodb/output.log
  StandardOutPath
  /var/log/mongodb/output.log



Load the launchd job:

sudo launchctl load /Library/LaunchDaemons/org.mongodb.mongod.plist

Pull up http://localhost:28017 in your browser and verify that MongoDB is running

node.js and friends(many thanks to Isaac S.)

  1. Install node.js and npm (node package manager)

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install
curl http://npmjs.org/install.sh | sh

  2. Install Express, Jade and Mongoose

npm install express
npm install jade
npm install mongoose

Putting it all together(many thanks to Éber D.)

cd ~/path/to/my/project
mkdir views
mkdir models

  1. Create the following files:

./app.js

var sys      = require('sys'),
    express  = require('express'),
    app      = express.createServer(),
    Counter  = require('./models/counter');

app.configure(function(){
  app.use(express.methodOverride());
  app.use(express.bodyDecoder());
  app.use(app.router);
  app.use(express.staticProvider(__dirname + '/public'));
  app.set('view engine', 'jade');
});

app.get('/', function(req, res) {
  Counter.count(function(num_records) {
    if (num_records > 0) {
      var c = new Counter();
      c.num = 0;
      c.save(function(){
        res.render('index', {locals: {count: c.num}});
      });
    } else {
      Counter.find().last(function(c){
        c.num = c.num + 1;
        c.save(function(){
          res.render('index', {locals: {count: c.num}});
        });
      });
    }
  });  
});

app.listen(3000);
sys.puts("HTTP server is listening on port 3000");

./models/counter.js

var mongoose = require('mongoose').Mongoose,
    db       = mongoose.connect('mongodb://localhost/db');

mongoose.model('Counter', {
  properties: ['num']
});

module.exports = db.model('Counter');

./views/layout.jade

!!! 5
html(lang="en")
  head
    title= "My Test App"
    :javascript
      | if (foo) {
      |    bar()
      | }
  body
    div!= body

./views/index.jade

h1 My Test App
#container
  p This page has been viewed #{count} times

  2. Start your node server

node app.js

  3. Bask in the glory of your success by visiting http://localhost:3000

If all went well, you'll see a welcome message and a counter of the number of times the page has been viewed. Happy coding!

Friday, March 26, 2010

Google, Hook Memphis Up

So, the deadline for RFI submission to the Google Fiber project was today.

Thanks to the leadership of Mayor A.C. Wharton's office, Memphis has officially thrown its hat in the ring to be considered for deployment. As Google considers the applications and mulls over the decision, I thought I would address their own criteria point-by-point in favor of Memphis.

(FYI, these points come straight from the Google Fiber FAQ.)

So, what will Google look for when considering communities for Google Fiber?
  • "Above all, we're interested in deploying our network efficiently and quickly..."
Let's face it: no matter where Google Fiber gets deployed, FedEx will be involved in (if not in charge of) transporting the infrastructure to the chosen destination(s). With Memphis being FedEx world headquarters, we are clearly very well prepared to handle the logistics involved.
  • "...and are hoping to identify interested communities that will work with us to achieve this goal."
Of course, the biggest challenges facing this deployment will be political. Can Google find a community that will commit to the project and make it happen?

Memphis recently elected a new mayor, A.C. Wharton, and his office has been hard at work establishing a strategic vision for Memphis's future. Technology has been central to this vision, with Mayor Wharton even proposing an Office of Strategic Technology for the city. Furthermore, the mayor has firmly stated his goal as moving Memphis to become a city of choice for residents and residents-to-be. He even recently promoted a member of his transition team to direct the city's effort in attracting and retaining talented people to live and work in Memphis.

There is a strong parallel between the city government's stated strategic goals and the benefits that Google Fiber would provide. Google, you will not only find Memphis to be a willing partner in this project, but an eager community ready to go the extra mile to make it happen.
  • "We also want to work with a community where we can bring significant benefits to residents and develop useful proofs-of-concept that can have a broader impact."
Make no mistake, Memphis has serious economic challenges. However, as a city that endured the American Civil War, devastating yellow fever epidemics, the assassination of Martin Luther King, Jr. and other setbacks throughout our history, our spirit has never failed. There is a strong sense of innovation that permeates our city and which has spawned numerous business and cultural revolutions. We would be proud to be the vanguard of a new generation of broadband technology and you can be proud knowing the tremendous impact your decision will have on our community.
  • "The RFI is a first step – we plan to ... conduct site visits and meet with local officials, before announcing our final decisions."
Excellent, because Memphis is also legendary for being friendly and hospitable. Whether or not you favor us with your final decision, I strongly encourage y'all to visit. I guarantee you will enjoy your stay.

Friday, June 19, 2009

MemBrain

With the help of John Dugan and Tim Lowrimore of Coroutine, I've been working on starting a new software group here in Memphis. The idea initially was to start a "users' group", but I wasn't too happy with that mold. There are already a few user groups in Memphis, and I didn't want to limit the topics of conversation to a single technology. Furthermore, I really want a group that's collaborative and engaging, not just a lecture series.

I decided to model our effort somewhat after the Silicon Valley Patterns group, a few meetings of which I attended when I was living in the south bay. Though SVP tended to be more academic, I really enjoyed the level of discussion as well as the informal structure and atmosphere. Also, I appreciated the way the group did different tracks, each covering a unique and interesting field of technology.

So, with a general sense of what we wanted to initiate, a group of 7 or 8 of us met last Wednesday evening and established the MemBrain group! Our first track will be Ruby on Rails (surprise, surprise) and we will spend the next three Wednesday evenings building a web app that will show you interesting things about the folks to whom you are connected on Twitter.

If you want to learn more, you'll just have to join us next Wednesday, June 24th, 5:30PM at the EmergeMemphis building in downtown Memphis!

Or, you can check out the group's new website: http://membrain.ws

Thursday, May 28, 2009

My new gig

Today, an announcement: I have a new job!

After leaving eBay/MicroPlace at the beginning of March, I've been looking at several opportunities here in Memphis; some entrepreneurial, some not so much.  For months I have been helping various entrepreneurial groups and doing my part to encourage more startup software development in Memphis.  One such group I've been collaborating with is RocketFuel, a local web design and development firm.  Having gotten to know the RocketFuel team over the past several months, I've been very impressed with the team's culture and accomplishments.  They have developed a proprietary Content Management System that provides a wonderful balance of design excellence and truly easy site management.

The RF leadership team and I started discussions some weeks ago and I'm proud to annnounce that, as of Monday, June 1st I will be the new Chief Technology Officer for RocketFuel!

The team and I have had some very positive strategy sessions already and I'm really excited about the opportunities ahead.

Saturday, April 04, 2009

Software Development Bookshelf

I was perusing the software development section of the Memphis library today and, guess what?  The selection was really bad.  Not too surprising, but I feel compelled to try to change that.  I strongly believe that software and web-based development are incredibly empowering areas of technology.  Anyone with the smarts and determination to build something can do so.  The game has changed such that you don't need a lot of money to get started anymore.  You just need the willpower to learn.

With this in mind, I conversed with the girls at the science desk and they enthusiastically agreed to take a list of suggestions for adding to the collection.  Below is what I put together.  I can't really tell you what my theme is, other than to say: if I was a beginning programmer, below is the bookshelf I would want made available to me.  None of them are beginner books, but that's not what I would want.  I would want a list of books that lay out the master craft I should aspire to.

I only selected a few choice language books.  Why?  I'm not sure, other than to say that I'm no longer interested in reading any books about Java and Visual Basic, nor is there a need (from what I've seen) for books about Java and Visual Basic at my public library.

Lastly, this list is not meant to be exhaustive (of course).  It feels like it strikes a nice balance between the breadth and depth of the subject at hand, while staying small enough to actually get added to the library's collection.  Furthermore, I deliberately left off a couple of titles that the library already owns (woefully few, though).

What do y'all think?  Please make additional suggestions (or flame mine) in the comments:

by Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides
-------------------
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
-------------------
by Frederick P. Brooks
-------------------
by Andrew Hunt, David Thomas
-------------------
by Tom DeMarco, Timothy Lister
-------------------
by Kent Beck, Cynthia Andres
-------------------
by Steve McConnell 
-------------------
by Joshua Kerievsky
-------------------
Test Driven Development: By Example (Addison-Wesley Signature Series)
by Kent Beck
-------------------
User Stories Applied: For Agile Software Development (Addison-Wesley Signature Series) 
by Mike Cohn
-------------------
Working Effectively with Legacy Code (Robert C. Martin Series)
by Michael Feathers (Author)
-------------------
by Robert C. Martin
-------------------
Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series)
by Martin Fowler
-------------------
by Bjarne Stroustrup
-------------------
by David Flanagan, Yukihiro Matsumoto
-------------------
by Sam Ruby (Author), Dave Thomas, David Hansson
-------------------
by Chad Fowler
-------------------
by Mark Lutz
-------------------
by Alex Martelli, Anna Ravenscroft, David Ascher