My Codea Suggestions Page

Alright. My previouse version was unorganized. Let’s restart. These ideas are listed from what I would like added most to least.

  1. Custom sprite packs would be great to do without using iExplorer.
  2. Organization of projects with tags.
  3. Codea Viewer that is like App Taster for App Cooker.
  4. Change project name, description, icon, and tags.
  5. Export to XCode with an app like this: alt text.
  6. Add ability to search functions.
  7. Make it so you can use “Open In” to open files like MP3s, ACC, or WAV in Codea so you can play music or sound effects.
  8. Add general device info like os.batteryLevel, is.SytemVersion, etc..
  9. Add ability to have a camera image set as a color. It would be faster than setting it as a variable every draw. When you want to capture an image, say saveCameraImage(FRONTSIDE | BACKSIDE, placetosave). Place to save is either to a variable or to the camera roll.
  10. Add notify(title, description, button1, button2). If you don’t want a second button, leave that area blank. This function will return 0 if nothing is pressed, 1 if the first button is pressed, and 2 if the second button is pressed. The only thing I can think of that apple would reject of this feature is that you could prevent the user from leaving the app with repeated notifications. To keep that from happening, test to see if more than 3 notifications are closer that 2 seconds away from eachother. If so, pause the program and tell the user that the two notifications were to close together. I would like real notifications @Simeon even though your not find of the idea.
  11. Add BlueTooth support. This one would be fun to play with… Add BlueTooth data exchange ability. Something like the way the app Basic! deals with it. You might want to take some other command ideas from this app. It’s quite an interesting app.
  12. Be able to tap and hold on the right edge of the screen to scroll down the text just like in pages. Sometimes code I get from Spritely are extremely long.
  13. Add the ability to search your code.
  14. Use AirPrint to print your code. Ask the user if they want the text to be color coded or to be just black text.
  15. Advance watch and parameter. Here’s the code: parameter(name, min, max, current, x , y). The x and y are where the slider is placed on the screen. If those variables are null, it’s placed in the side bar. That way, there can be parameters in full screen mode.
  16. Add sparameter(name, current, x, y) wich adds a parameter with an on/off switch and bparameter(name,x,y) wich creates a button.
  17. New screen sizes: IPHONE_SIZE and IPHONE_SIZE_NO_BUTTONS. Tht prepares us for the Codea Viewer.
  18. GLSL coding.
  19. Add more keyboard features. For instance, you would do something like this:


Also add the variable topOfKeyboard() which returns the point on the y axis at which the top of the keyboard sits.
27. Add these functions:

OpenEmail(emailadress, subject, body)
28. Add `variable = getPhoto()` which pulls up the photo chooser and set the variable to that photo.  
*  Drawing text  
*  Keyboard support     
*  SFRX    

Not happening at all:  
*  Sockets  
*  Opening and sharing .codea and opening .lua files.
This may be a lot of suggestions, but your app is wonderful.

(I made your list a proper list, hope you don’t mind)

Thanks. I appreciate it. No matter what I tried, I couldn’t get a new line.
I figured it out…

For what it’s worth, the Undo button seems to work fine for me.

Thanks, @Zoyt. Great suggestions

  1. We’ll be adding a text() method for native text drawing support
  2. Like you say, it’s being worked on
  3. I’m still thinking about the best way to do this. I thought it would be simple, but with project sharing it’s kind of tricky. I have a fairly good solution in mind though.
  4. Like @Mark says, Undo on the native keyboard will work for text editing operations, though not Codea operations (number spinners in particular)
  5. This is planned
  6. We’ll be doing something like that
  7. Interesting UI, I suspect what we might end up with is an Xcode project that you can download and simply replace the “Example.codea” folder with your own. Since the engine will be open source.
  8. We have a fairly good idea for keyboard API, not sure if we’ll support the different types
  9. I’m thinking to include search inside the function browser, I have a pretty cool idea on how to do it.
  10. openURL - to launch Safari? Any particular reason you would like this feature?

Thanks for rating Codea, as well! It’s always heartening to see nice reviews on iTunes.

openURL- Yes, open it in Safari. I just embedded the image.
PS- I’ll do a mockup of some of these things soon for you.
PPS- My icon is my idea for the Codea Viewer app. alt text. I don’t know if you’ll be able to see it. I hope so. Download the Photoshop file here. (As I said before, this is on my blog that is under development.)

I for got…
11. Drag in sound files into iTunes File Sharing and also enable the Open In feature so I can open music files in Codea and use it in my app.

Even more small things I’m picky about-
12. Variables like os.batterylevel,, os.WiFiStrength, os.cellularstrength, and things like that would be nice.
13. Add virtual sprite FrontCameraImage and BackCameraImage. Then add the function SaveCameraImage(side) and it saves the image to the project storage that you can then access later.
14. Add SaveImage(startx,starty,endx,endy,place). the value place is a number that identifies if you save it to the project storage or photo album.

I got the project data theory:
15. Add the ability to see all the files that the user saves and files that you will add to the project data using the Open In feature or iTunes file sharing. The data will be filtered into file types. This one needs a mockup badly. Mockup coming soon

re keyboard, @Simon, if you describe the keyboard API you have in mind I can try to make my keyboard ( conform to it. That way we get to try it out and make suggestions before you have to commit the API.

This idea kill two birds with one stone…
16. Add the ability to make a variable hold an image like this randomvariable = LoadImage(image). But wait! There’s more… Add also LoadAnimImage(image, cell_width, cell_height, first_cell, cell_count). That way when you draw you can do DrawSpriteAnim(variable, x, y, frame).
17. Add ImageHandle(x,y)with sets where you handle the image if you are rotating it or moving it.

If you haven’t noticed, I love to share ideas…
18. Add notify(title, description, variable_identifying_pressed_button, button1, button2). If you don’t want a second button, leave that area blank. The third feild identifys the variable that will be changed to 1 or 2 according to wich button is pressed. Obviously, the first button will always be highlighted. The only thing I can think of that apple would reject of this feature is that you could prevent the user from leaving the app with repeated notifications.

I do feel like I’m talking to myself…
19. To create sound effects, maybe use something like the application cfrx (it’s really cool). You would make a variable that held the sound and then people could say things like sound(soundvar).attacktime = .#.

Hi @Zoyt, I believe they are looking at opening up the full parameters for the sound engine, sfxr. I have added this as a requested feature on the wiki issue tracker.

@Fred - Basicly yes. That is how I make sound effects for my real video games.

Really- It would be nice to have some feedback on my ideas(especially @Simeon)…
20. Add clipboard management. Add putonclipboard(string), readclipboard, and clearclipboard. That would also make it easier for spritely to copy the code to the clipboard.
21. Plan out your next updates so we know what to look for, not only the next update.


12: Battery level, WiFi strength, and Cellular strength are interesting. What would you use them for? We will probably add GPS and Gyro data first.

13: Our thoughts on camera use are to create a fill(CAMERA) type that causes the fill colour to be set to whatever is picked up by the camera.

14: The solution proposed in another thread is to have a setContext( image ), then any drawing would occur on that image. Will give some thought to saving to photo library.

15: We will probably keep away from iTunes File Sharing – Apple will reject the app if we enable it. We will add listData() functions to retrieve a list of keys under which data was stored (note that the saveData() functions do not save files, they just store key->value pairs).

16: You can do randomvariable = myImage:copy( subrect )

17: You can do this with translate() at the moment, but I agree that it’s useful to be able to set the anchor point. You can set it to the corners or center at the moment using the spriteMode() function.

18: A UIAlertView style notification? I could see a user accidentally triggering them repeatedly by putting that call in draw(). We will probably add an overlay-style console similar to what @Bortels has worked on.

19: We are using sfxr for sounds, and will expose more parameters over time. We’re still undecided on the API though.

20: I’m not sure I want to add clipboard access. The user may have important code copied to the clipboard and then lose it by running the project. You can save code into the project’s data and the user can load it with loadstring(). I think Spritely does this now.

Spritely indeed does just that.

on #13 - this confuses me. would you do “image=fill(CAMERA)” and have a photo in the image? Or just set the fill color? I just want a way to get the current camera into an image() (so I can distort it and make my girls laugh). Or so I can use some homegrown image recognition and draw a mustache on it, or a funny hat, so my girls laugh. There’s a theme there.

15a - it would be awesome to be able to query itunes (or the “music” app) locally for song lists/playlists, and start/stop/etc music. I suspect there’s an API there you could expose.

15a - There’s been a few requests for the iTunes music support. But that would make your code completely unsharable, and you may also break your own code by adding extra songs to your music library (offsetting existing indices). It seems quite fragile.

You could do the following to get a camera image with the planned features:

function captureButtonTapped()
    cameraImage = image(400,400)

    setContext( cameraImage )

    rect( 0, 0, 400, 400 )


    return cameraImage