password
username
Sponsored by CakeMail, an email marketing software.
Newsletter preview

Tuesday, Sept 2, 2008

Effortless Continuous Integration for Java

Continuous Integration. Unbreakable nightly builds. Any version of Java and Ant or Maven. Tight Integration with version control systems. Up-to-date statistics for JUnit. Reports for PMD and Findbugs. Pure Java. Free download.

Try Parabuild today!

Perspective

Code Signing: What's In It For You?



Visit the DZone Tech Library



Be sure and
check out a
No Fluff Just Stuff
Java conference
coming your way!

09/12-09/14 Boston
09/19-09/21 Seattle
09/26-09/28 Calgary
10/10-10/12 Minneapolis
10/17-10/19 Toronto
10/17-10/19 St. Louis


A Developer's Perspective
Next section
Aaron Swartz is the founder of Watchdog, a website that lets users take back the power from politicians. He previously founded reddit.com and co-authored the RSS 1.0 specification.

How To Launch Software
By Aaron Swartz

37signals recommends that software developers pursue what they call the Hollywood Launch. They don't give any argument for this method, except perhaps the title (as if Hollywood was a business you should try to imitate?) -- I guess the idea is that you're supposed to do it since 37signals says to.

The basic idea behind the Hollywood Launch is simple: you release a few hints about your product to build buzz, slowly revealing more and more until the big day, when you throw open the doors and people flood your site, sent there by all the blog coverage and email alerts.

This may work well for Hollywood -- if your movie is a big hit at the box-office on opening weekend, then the movie theaters are more likely to keep showing it in the weeks to come and you get credit for being "one of the weekend's biggest films". But for software developers, it's moronic. Your software isn't being released in theaters, it's available over the Web. You don't have to worry about the theater no longer showing after week one; you can keep pushing it for years, growing your userbase.

Instead what happens when software developers try the Hollywood Launch, and I've seen this many times, is that users indeed do flood to your site on launch day but...

  1. They bring the site down from the load. You scramble to get it back up and succeed by coding like a mad man, only to find...

  2. They discover some big bug that you never quite noticed before, which makes the whole thing look like embarrassing hackwork. (What? You forgot to test that last-minute JavaScript change in IE6 1/2?) So you're desperately rushing to fix the bug before the traffic dies down, rush-patching things and restarting the server when...

  3. You bring the site down for everyone because there was a syntax error in your patch that keeps the server from coming back up. You fix it while cursing yourself madly. Finally everything seems to work. You take a breath and decide to see what people are saying about you on the Web, only to discover...

  4. Everyone misunderstood what your product does because your front page wasn't clear enough. Now they all think it's stupid and wonder aloud how you even know how to breathe. So you reply in all the comment threads and fix your front page to ensure no one could possibly misunderstand what it is you're doing just in time to find...

  5. All the traffic is gone.

Tomorrow, hardly any of those users come back. Your traffic graphs look like the sharpest mountain you've ever seen: a huge climb up and then, almost immediately, a similarly-sized crash back down.

So what do you do then? Well, you do what you should have done all along: you grow the site.

I'll call this technique the Gmail Launch, since it's based on what Gmail did. Gmail is probably one of the biggest Web 2.0 success stories, so there's an argument in its favor right there. Here's how it works:

  1. Have users from day one. Obviously at the very beginning it'll just be yourself and your co-workers, but as soon as you have something that you don't cringe while using, you give it to your friends and family. Keep improving it based on their feedback and once you have something that's tolerable, let them invite their friends to use it too.

  2. Try to get lots of feedback from these new invitees, figuring out what doesn't make sense, what needs to be fixed, and what things don't work on their bizarre use case combination. Once these are all straightened out, and they're using it happily, you let them invite their friends. Repeat until things get big enough that you need to...

  3. Automate the process, giving everyone some invite codes to share. By requiring codes, you protect against a premature slashdotting and force your users to think carefully about who actually would want to use it (getting them to do your marketing for you). Plus, you make everyone feel special for using your product. (You can also start (slowly!) sending invite codes to any email lists you might have.)

  4. Iterate: give out invite codes, fix bugs, make sure things are stable. Stay in this phase until the number of users you're willing to invite is about the same as the number you expect will initially sign up if you make the site public. For Gmail, this was a long time, since a lot of people wanted invites. You can probably safely do it sooner.

  5. Take off the invite code requirement, so that people can use the product just by visiting its front page. Soon enough, random people will come across it from Google or various blogs and become real users.

  6. If all this works -- if random people are actually happy with your product and you're ready to grow even larger -- then you can start building buzz and getting press and blog attention. The best way to do this is to have some kind of news hook -- some gimmick or controversial thing that everyone will want to talk about. (With reddit, the big thing was that we switched from Lisp to Python, which was discussed endlessly in the Lisp and Python communities and gave us our first big userbase.)

  7. Start marketing. Once you start using up all the growth you can get my word-of-mouth (and this can take a while -- Google is only getting to this stage now), you can start doing advertising and other marketing-type things to provide the next big boost in growth.

The result will be a graph that just keeps accelerating and climbing up. That's the graph that everyone loves to see: solid growth, not a one-day wonder. Good luck.

--

Since 37signals quotes from people who followed their advice, I thought I might as well do the same. mojombo:

I find this to be excellent advice. This is exactly the approach we took at GitHub almost down to the letter. It took about 2 months until the site was good enough to use to host the GitHub source, another month until we started private beta with invites, and three more months until public launch.

Artificial scarcity is a great technique to generate excitement for a product while also limiting growth to a rate that won't melt your servers. We worked through a huge number of problems and early users gave us some of the ideas that have defined GitHub. By doing a Hollywood launch, things would have been very different and I am convinced, very much worse.

Do not, I repeat, DO NOT underestimate how much your users will help you to define your product. If you launch without having significant user feedback time, you've essentially thrown away a massive (and free) focus group study.

Let me also say that when we finally did our public launch, there was plenty of buzz, and all of it was the RIGHT kind of buzz. The buzz that attracts real, lasting customers (and no, we weren't on TechCrunch, that traffic is garbage).

Until next time,
Aaron Swartz

To read more of Aaron's work, visit his blog.

 

Core CSS: Part 1

In this foundational reference card, you’ll find not only a bit of history and rationale for use, rule structure and syntax, but also a thorough resource as to the Cascade, inheritance and specificity – core principles of CSS that will expand and strengthen your professional ability to work with CSS.

Save time and stay well-informed - Download Now!
DZ Top Links

DZone Top Links
Next section
Back to top
most clicked this week from dzone.com

dzone

Most-clicked links this week


 
Popular at JL

Popular at Javalobby
Next section
Back to top
A recap of some of the most popular and active Javalobby.org discussions this week.

Core CSS - Part 1 Refcard

In this foundational reference card, you’ll find not only a bit of history and rationale for use, rule structure and syntax, but also a thorough resource as to the Cascade, inheritance and specificity – core principles of CSS that will expand and strengthen your professional ability to work with CSS. Download now.

0 replies - 700 views - 08/18/08 byMolly Holzschlag in Refcardz

An Introduction To JBoss RichFaces

This tutorial article will give a very quick introduction to JBoss RichFaces. Instead of just listing features, we are going to briefly define RichFaces and...

12 replies - 6449 views - 08/25/08 by maxkatz in Articles

How to Choose a Java Desktop Framework

Unlike web frameworks, Java desktop frameworks are not a dime a dozen. There are, to be exact, four—Eclipse RCP, Swing Application Framework (i.e., JSR-296),...

12 replies - 4349 views - 08/27/08 by Geertjan Wielenga in News

Reverse-engineer Source Code into UML Diagrams

I have been on several teams where we studiously designed UML diagrams at the beginning of the project. As the project progressed, and deadlines approached,...

32 replies - 4037 views - 08/22/08 by Meera Subbarao in Articles

Tech Chat - Sacha Labourey on JBoss AS 5

DZone recently sat down with Sacha Labourey, CTO of Red Hat Middleware, to discuss the upcoming release of JBoss Application Server (AS) 5. In this interview,...

1 replies - 3898 views - 08/21/08 by Nitin Bharti in Videos

EJB 3.0 and Spring 2.5

Why is it that developers from these two communities don't like to see eye to eye?

25 replies - 3297 views - 08/27/08 by Meera Subbarao in Articles

EJB 3: Dead Or Alive?

JavaMagazin, one of the biggest German Java-related magazines, started an online survey (known as quickvote) with the question "EJB - Dead Or Alive"....

20 replies - 3236 views - 08/22/08 by adam bien in News

Questions for Sun over JavaFX

Sun has released a JavaFX preview. Having played around with it, here are my questions.

13 replies - 3151 views - 08/21/08 by Chui Tey in Articles

White Papers & Announcements

Product Announcements
Next section
Back to top
Product and service announcements for Java developers.

Jt - Java Pattern Oriented Framework (Jt 2.7)

Jt2.7 has been released. Jt is a pattern oriented framework for the rapid implementation of Java applications. Jt has been utilized in several large mission...

0 replies - 1015 views - 08/27/08 by EG in Announcements

Swing Explorer 1.3: NetBeans Plugin & "Addition Trace" Feature

After quite a long summer delay I'm proud to announce a new version of Swing Explorer. Swing Explorer is a tool for debugging of Swing applications,...

3 replies - 987 views - 08/27/08 by maxim.zakharenkov in Announcements

Upcoming Webinar: Automated Java GUI Testing

froglogic's CEOs and founders will demonstrate the popular Squish for Java edition in a webinar in September. Squish for Java is an automated GUI testing tool...

0 replies - 608 views - 08/27/08 by Reginald Stadlbauer in Announcements

Converting Jasper Reports to PowerPoint PPT and PPS Formats

Aspose.Slides for JasperReports is an external exporter for JasperReports that allows you to convert your reports in PowerPoint presentation (PPT) and...

0 replies - 601 views - 08/29/08 by Usman in Announcements

DataNucleus AccessPlatform 1.0

DataNucleus Access Platform 1.0.0 (final) has just been released. Access Platform provides access to a range of datastores for Java applications using JDO/JPA API's.

0 replies - 233 views - 09/01/08 by Andy Jefferson in Announcements

it@cork Java Conference

Now a significant event on the annual tech calendar in Ireland, the java@cork conference attracts hundreds of developers every year. In response to it@cork...

0 replies - 82 views - 09/02/08 by James Sugrue in Announcements

Your Account

Your Account
Next section
Back to top
Manage your account info for this and other Javalobby publications.

Manage your Javalobby membership details

Click on the following links to:

Contact Info
Next section
Back to top
Here's how to reach us, we love to hear from you.

Email us
Send news items to editor@javalobby.org
Send questions, complaints, or suggestions to feedback@javalobby.org
Send advertising inquiries to advertise@javalobby.org
 
  Call us
  Our number is (919) 678-0300. We'd love to hear from you!
Legal
Back to top
The fine print we'd rather avoid completely.
  Feel free to redistribute this newsletter in part or in full to your friends.
 
Javalobby News is a service mark of DZone, Inc.
Copyright © 2001-2008 DZone, Inc.

Thank you for your continued support of Javalobby and DZone. Click here if you prefer not to receive the Javalobby weekly newsletters.
DZone, Inc. - 1251 NW Maynard Rd. - Ste. 300, Cary, NC 27513 - (919) 678-0300