tags:

views:

89

answers:

5

When writing articles, tutorials, lessons or presentations I would like come up with different kind of demos every time. Where do you find inspiration and ideas for small demo apps?

It's not fun to show a twitterclient or a todo-list app anymore.

+4  A: 

Ask yourself, "What is something I or other people would use"?

I once wrote a app for keeping a grocery list and a recipe list. I could create a list of recipes for meals that week, and the app would automatically print out a list of groceries we needed. It was raw, buggy, and only I used it, but it was useful.

So, if you need a fresh idea, think about what you need (or want) an app to do, and keep it simple.

On a seperate note, take a look at what apps are available from something like Apple's AppStore. These apps are generally less complex than desktop or web apps, and creating them in your platform of choice would be a good exercise for the people you are presenting to.

Matthew Jones
write useful programs. Period.
erenon
+1  A: 

Whenever I find myself on a new platform or trying to learn a new technology, I almost always fall back on trying to write a game with it. The vision is easy enough to explain at the beginning ("We're going to make a number guessing game") and helps to bring the student's train of thought in line with your own, so they can see where you're going. What's more, it's a game, so the anticipation of having something fun as an end product is a good motivator for most folks. Poker, Mastermind, Craps, Blackjack, Yahtzee, Set... the list goes on!

fbrereto
+1  A: 

From astronomy and spaceflight. This can be as simple or complex as needed. It is great for demos as it has universal appeal and domain knowlegde can be assumed. It also lends itself naturally to the use of graphics.

Peter Mortensen
+1  A: 

One idea I have been kicking around is a code snippet library program. A taggable and indexable repository to store various code snippets from different languages (html, css, javascript, actionscript, php). It seems a lot of aspects of a language's features could be displayed in this. For interpreted languages you could even provide a live interpretator. An interactive mode to test functions and test their output, kind of like those Ruby interactive shells you find on the web.

Gordon Potter
+1  A: 

Chess -- there's a surprising amount of depth possible.

A compiler, or part of one -- possibly the most important tool to any programmer, and not really that hard to write.

Ken