Reviewing the demo projects

I think it’s time we had a good look at the demo projects. They are a real mixture, and some of them are confusing (such as Physics, which includes a lot of code which is not needed in most projects) or so cryptic they are unusable (shaders) or trivial (vector sprites), or impressive but impossibly complex (rollercoaster). They also don’t seem to be in any particular order.

I don’t mean to be at all critical, but are they what first time users really need? I don’t think so.

First time users need tutorial projects that lead them gently into different concepts, and give them demo code which shows them the basics and can be used as a template for their own projects.

This will especially help people who want to learn programming but just can’t find a way into it, and who could use a lot of help from the built in projects. Good tutorials will also lessen the frequency of the same old questions we keep getting on the forum.

So I would take out most of the current demos, including projects which are just there to show off features, like Noise, and include more introductory projects, such as drawing sprites and moving them round a screen. I would move the feature demos to a page in the wiki.

I’d like to suggest that if a small group of us is willing to work together on this, we could compile a set of suitable projects to be bundled with Codea, and a separate set of feature demos to be put on the wiki, for consideration first by this beta group, and then by the developers. We could also look at the somewhat jumbled mess of help material on the wiki.

What do you think?

i’ll be glad to make a few tutorial projects clear and simple with the team.
However, i think many projects (if not all) should be left in the bundle, because it is one of the great things when i started codea: to find all these ´for free ´ material and great examples just to play with, made me motivated to start learning.

I do think that there is a place for “Wow! Look what Codea can do!” projects, and Simeon’s right to include some.

That said, better tutorial projects and better organisation of the existing projects wouldn’t go amiss either. So while I’m not sure what contribution I could make, I’d support this.

(Did you mean to put this in the beta category?)

@Andrew_Stacey - the beta category has the regular forum users, so yes, I did mean to put it here, as a start, anyway.

I’m not going to argue about including some Wow! projects. The important thing is to include some progressive tutorial projects to help newbies.

I suggest a good starting point is

  • what should be included in tutorial projects
  • what form should they take?

Tutorial layout

I like the step by step approach, laying out a series of tabs that lead a user into a topic. The existing Animation demo does this well, and there are more of this type of project here:
https://bitbucket.org/TwoLivesLeft/core/wiki/Step%20by%20step%20projects

Andrew has written some nice code that makes it easy to develop these projects, and individual tabs can be copied into new projects without any modification.

** What should be included **

I think there should be an “introduction to Codea” app that draws a sprite and makes users comfortable with the UI.

Then we need good introductions to a number of Codea features, kept simple so users can adapt them for themselves.

I agree that some tutorial projects would be nice, but it’s also nice to see what Codea is capable of once you learn. Perhaps add an extra section? Eg from top to bottom: Tutorials, Examples, Your Projects.

I think there should be different examples labeled as easy, medium, hard. The easy ones for the new coders to learn from and the hard ones to show new coders the full capabilities of what Codea can do.

i would favor many small project examples (dave’s style) with extensive comments (not dave’s style :wink: ), rather than long multi tab tutos. Actually i dont really like the multi tab tutos already posted, i find them too complex (just personal my opinion, no criticism for those who made them, i find their work great).

here is an example of project i would have liked to have at the beginning (with more comments) http://twolivesleft.com/Codea/Talk/discussion/comment/41566#Comment_41566

@Jmv38 Maybe I can do the coding, and someone else can do the comments.

@dave1707 - I think that’s actually a good idea

Why don’t you pull out a selection of “Dave’s greatest hits”, and we’ll look at which of them may be suitable. I’m happy to help comment them.

@Ignatz Probably the easiest would be to go thru the forum. A lot of the examples I posted I deleted from my projects because they were now on the forum. I wonder if I did a forum search on my id if that would make finding them easy.

@dave1707 - easier is to click on your name above, and then on the Comments tag at centre right of the page, which will list all your comments, ever.

@Ignatz That just shows comments, none of the code. Doing a search on my id and then going into each discussion will work OK. Just going to take awhile to copy and paste the code.

I’m also happy to help comment some of Dave’s codes.

I’m open to replacing the current examples with simpler versions. I’d still like to include to more interesting / full featured demos — perhaps the structure could be two basic projects for every interesting demo? That sequence could repeat across the entire tutorial list.

Generally I add new example projects (for new API features) to the front of the example list for each Codea update.

i like the idea of 1 simple / 1 full demo.
what about making a topics list before starting to code?

How about this idea - we include all the tutorial apps at the bottom, where we currently put a user’s apps, so new users start off with two sets of apps to play with.

They can delete the tutorials when they’re done with them.

@Ignatz that’s a really good idea. Though perhaps we could have a button labeled “Restore Tutorial Projects” that adds them all to the user’s projects list. New users could have them added by default.

@Simeon, thanks

@dave1707 - why don’t you collect what you can (even just as forum thread links) and I’ll do the same, with all the other material we have lying around.

Then those who are interested can then have a look and help decide what goes where, (and help comment dave’s work!)

I think there should be at least 2 simple and 1 complex example of something. The reason I suggest 2 simple is to show the new coders that there are different ways to code the same thing. Some might have classes where others don’t, some use tables, and some don’t, etc. I’m sure there is plenty of code by everyone to get 3 good examples. Where are we going to put all of this code so everyone can get to it to sort it out. Possibly one area for all the code to go into and another area for the selected/updated code.