Skip to main content

How To Demo With Zero Barrier

When one browses to MindMeister and looks at the nicely designed page, the user will notice a nice screenshot of the service. This is not a screenshot, but an anonymous, live embedding of the actual mind mapping service. Right at the first page, you get to start messing around with things. I think all Web 2.0 apps need to provide this kind of immediate use. We can provide such a low barrier to use, with no installation, but we've really lowered the bar, so to speak. The users won't jump very high for us these days. Let them trip and fall right into our arms.

For Web 2.0 This Means...

Web-based applications need to provide an anonymous access to their application on the front page of the website. If you have a to-do application, let the user start interacting before they do anything. Even registration is a barrier to entry. Of course, if you take what they did anonymously and migrate it when they register, you get a gold star. You get two gold stars if you also keep their anonymous data around when they return with a cookie.

For Development Frameworks This Means...

Frameworks need to provide the infrastructure to do this easily. We build things in the context of a user, so sometimes there is a barrier we have to cross ourselves to provide this. Built-in ways to create anonymous uses, promote them with credentials, and expiration anonymous accounts: all will let developers provide this Siren call to users at little cost.

For Users This Means...

More choices, because I can try more things. I don't need to give out my information and remember credentials just to try out yet another twitter clone, to-do app, or mind mapping software.

Comments

Popular posts from this blog

CARDIAC: The Cardboard Computer

I am just so excited about this. CARDIAC. The Cardboard Computer. How cool is that? This piece of history is amazing and better than that: it is extremely accessible. This fantastic design was built in 1969 by David Hagelbarger at Bell Labs to explain what computers were to those who would otherwise have no exposure to them. Miraculously, the CARDIAC (CARDboard Interactive Aid to Computation) was able to actually function as a slow and rudimentary computer.  One of the most fascinating aspects of this gem is that at the time of its publication the scope it was able to demonstrate was actually useful in explaining what a computer was. Could you imagine trying to explain computers today with anything close to the CARDIAC? It had 100 memory locations and only ten instructions. The memory held signed 3-digit numbers (-999 through 999) and instructions could be encoded such that the first digit was the instruction and the second two digits were the address of memory to operate on

Statement Functions

At a small suggestion in #python, I wrote up a simple module that allows the use of many python statements in places requiring statements. This post serves as the announcement and documentation. You can find the release here . The pattern is the statement's keyword appended with a single underscore, so the first, of course, is print_. The example writes 'some+text' to an IOString for a URL query string. This mostly follows what it seems the print function will be in py3k. print_("some", "text", outfile=query_iostring, sep="+", end="") An obvious second choice was to wrap if statements. They take a condition value, and expect a truth value or callback an an optional else value or callback. Values and callbacks are named if_true, cb_true, if_false, and cb_false. if_(raw_input("Continue?")=="Y", cb_true=play_game, cb_false=quit) Of course, often your else might be an error case, so raising an exception could be u

How To use Sphinx Autodoc on ReadTheDocs with a Django application

Sphinx is awesome for writing documentation. ReadTheDocs is awesome for hosting it. Autodocs are great for covering your entire API easily. Django is a great framework that makes my job easier. Between these four things is an interaction that only brought me pain, however. I'm here to help the next dev avoid this. Autodocs works by importing your modules and walking over the classes and functions to build documentation out of the existing docstrings. It can be used to generate complete API docs quickly and keep them in sync with the libraries existing docstrings, so you won't get conflicts between your docs and your code. Fantastic. This creates a problem when used with Django applications, where many things cannot be imported unless a valid settings module can be found. This can prevent a hurdle in some situations, and requires a little boilerplate to get working properly with Sphinx. It require a little extra to get working on ReadTheDocs. What makes this particularly h