Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

My Codea Suggestions Page

edited January 2012 in Suggestions Posts: 2,820

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.



  • Posts: 2,161

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

  • edited December 2011 Posts: 2,820

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

  • Posts: 1,255

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

  • SimeonSimeon Admin Mod
    Posts: 5,782

    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.

  • edited December 2011 Posts: 2,820

    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.)

  • edited December 2011 Posts: 2,820

    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.

  • edited December 2011 Posts: 2,820

    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.

  • Posts: 2,820

    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

  • Posts: 447

    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.

  • Posts: 2,820

    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.

  • Posts: 2,820

    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.

  • Posts: 2,820

    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 = .#.

  • Posts: 384

    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.

  • edited December 2011 Posts: 2,820

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

  • edited December 2011 Posts: 2,820

    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.

  • SimeonSimeon Admin Mod
    Posts: 5,782


    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.

  • BortelsBortels Mod
    Posts: 1,557

    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.

  • BortelsBortels Mod
    Posts: 1,557

    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.

  • SimeonSimeon Admin Mod
    Posts: 5,782

    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
  • BortelsBortels Mod
    Posts: 1,557

    "That would make your code completely unsharable" - I think you misunderstand the usage intended...

    I'd like to make an app that draws holiday decorations, and plays random music from my library that's tagged "Holiday" as the genre.

    I'd like to make a "name that tune" app, where you bid on "I can name that tune in N seconds", then the bid winner hears N seconds at random from a song, and has to pick it from a list.

    I want to make an app that makes a pie chart of music type by genre/stars/year, then I can tap on a wedge and it plays songs from that category.

    I saw an app (don't recall the name) where the library was displayed as a solar system - planets represented artists, moons their albums, and you could zoom about listening to different music. Was trippy.

    Get ready for this - Exercises for the advanced user: I'd like to make an app that makes a playlist based on grabbing each song and analyzing it for sonic features (tempo, instrument types, etc). (This would clearly indicate being able to not just start/stop/play and query stuff, but actually getting to the song data). Or perhaps one that fingerprints the song data, and does an online lookup, setting metadata for that song if a match is found. (I actually think there's an app out there that does that maybe?)

    Heck - I want to say "If the user has "eye of the tiger", play it, otherwise play the cheesy ABC version I grabbed..." :-)

    On camera - the construction seems odd to me, but what the heck - so long as I can wrap it up in "takeapicture()" and then muck about with an image, I'm a happy camper.

  • SimeonSimeon Admin Mod
    Posts: 5,782

    The camera construction would be like that so you can view a live stream from the camera on the screen. I'm happy to hear alternative suggestions.

    Right, @Bortels, but your code could also break if your music library was changed. However, I do think it is a useful feature. Something we can definitely look at adding after some of the higher priority features.

  • edited December 2011 Posts: 2,820

    I like @Bortels idea for the music, but that's not the way I meant it. #15 was so you could open media files in Codea and use them. For instance, if I had a music file in my file storage application, Phone Drive, I could say "Open In Codea". Then, you could say something like playMusic("file_opened_in_codea").
    About the camera, I get what @Simeon is talking about the camera. It would be much faster. But you should make sure that you can then capture the image and save it to the photo album, project storage, or variable that can be drawn. By the way, because iOS is not PNG friendly, make sure to add the ability to set the transparent color when importing a sprite (when that feature comes).
    To eliminate the confusion, I changed #15 to this: "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 Basically make it so you can open files like MP3s, ACC, or WAV in Codea so you can play music."
    @Simeon- "We will probably add GPS and Gyro data first." That sounds cool. I would use the data for possibly a device info app. I really don't know, but use for the heck of it. At least add the option to know if the is cellular of wifi data available.
    22. Add BlueTooth support. This one would be fun to play with... Add BlueTooth data exchange ability. Something like the app Basic! deals with it. You might want to take some other command ideas from this app. It's quite an interesting app. Just for the heck of it, I uncompressed the app and took the help files. It's right here if you want to take a look at it.

  • BortelsBortels Mod
    Posts: 1,557

    "The camera construction would be like that so you can view a live stream from the camera on the screen. " <--- SWOON

    That would be teh awesome. :-)

    "but your code could also break if your music library was changed" - My code never breaks. :-) No, really, presumably this is based on loading the index of music each run... nothing library-wise would be hardcoded. Slow? Probably. Maybe. But I used to play games stored on cassette tapes, slow is no stranger to me...

  • Posts: 2,820

    @Bortels - Is what I changed on #15 what you were thinking of? Also, I'm sure you could have a lot of fun if #22 was added.

  • Posts: 176

    "But I used to play games stored on cassette tapes, slow is no stranger to me..."
    Time shared terminal using paper punched tape was my first experience. Typos were a pain, but the little dots were so much fun to raise havoc with. Ahhh, the memories.......

  • edited December 2011 Posts: 2,820

    I go back to DOS. I still use an app called "DOSBox" for the fun of it.

  • BortelsBortels Mod
    Posts: 1,557

    Heh - I got the idos app the sole part of the day it was available, and have quickbasic on it. Fun!

  • Posts: 2,820

    Lucky. I wish I had it.
    What do you think about my idea for #22?

  • Posts: 2,161

    Time shared terminal using paper punched tape was my first experience.

    Ah, happy days ...

    Actually, a bit before my time but we had reams of it in the attic and I used to make Christmas decorations out of it. So an "app-t" reminder at this time of year.

  • BortelsBortels Mod
    Posts: 1,557

    22 - we had a discussion about it on another thread. I'm big on bluetooth for adding peripherals - keyboard support, or game controllers, including the iCade, would be killer. Simeon and the guys want to do multiplayer support, a peer-to-peer game thing, which sounds cool, but wouldn't be super useful to me in particular (We only have one ipad here, share it, so until we support iphone with a player, it won't be usable for me). To me, multiplayer is networking, not bluetooth. But just because a feature isn't useful to me doesn't mean it's not a good idea, and so I say go for it. There's enough stuff in the beta right now to keep me busy for a while. :-)

  • Posts: 2,820

    Great. I don't care for iCade support, but I do care for testing keys on a Bluetooth keyboard. That I wish we had.

  • BortelsBortels Mod
    Posts: 1,557

    Heh - the iCade shows up as a bluetooth keyboard. So - kill two birds with one stone there. And, I'm led to understand most (or all) of the bluetooth addons designed for the ipad/iphone have "icade emulation mode".

  • edited December 2011 Posts: 2,820

    Good point. I wish apple would allow Codea to open things that would be something like a .codeaplugin which are bits of C code plugins that allow you access things like the microphone or camera. :-(

  • BortelsBortels Mod
    Posts: 1,557

    yeah - not gonna happen. I'm actually surprised they've been as open as they have been, frankly.

  • Actually I thought that opening the engine was on the books. You couldn't use a C extension in Codea but you could with the open sourced engine in your own app.

  • BortelsBortels Mod
    Posts: 1,557

    And then pay apple 99 bucks a year for the privilege of putting it on your iPad.

  • 99 a year to get everything you can imagine onto all IPads, right?

  • BortelsBortels Mod
    Posts: 1,557


    99 bucks a year to get anything you can code in Objective C (or presumably lua when the Codea guys release the engine, or if you want to pay for other third party libraries, or if you're pretty awesome) onto your ipad, and N other ipads as beta guys. I don't know how high N is - I want to say it was 100 max? Not sure, the Codea guys should know. You also can put your app up to be in the app store if apple's somewhat arbitrary approval process allows you to - they take a flat 30%.

    Or - for more money ($500 I think?) there's a corporate dev license - same basic thing except no app store, and apple doesn't get to approve your apps - you can distribute them to anyone you see fit. Is there a limit? I don't recall, but if there was, it was much bigger.

    I'm angry at Apple right now for being poopy-heads, but it's actually not a horrible deal. For that hundred bucks, they deal with credit card processing, upload/download/server and the store, and even some promotion if your app is promising. There are worse languages to deal with than Objective C, and again if you're awesome you can embed lua now, so it's easier to deal with than it may have been in the past. If I had a killer Codea app and the engine, I'd spring for the 100 bucks, and maybe sell it and break even? who knows.

  • SimeonSimeon Admin Mod
    Posts: 5,782

    You can use C++ and plain C if you like, and are willing to avoid UIKit, the foundation classes, and so on. (Games can easily do this.) I really like Objective-C, though. The wordiness is nice. It's very readable.

    The beta limit is 100 devices, refreshed once per year.

    It's a pretty inexpensive fee considering that an actual human reviews every single submission you make. You get two technical support requests (dealing with code level problems). And you get all the services specified by @Bortels.

  • BortelsBortels Mod
    Posts: 1,557

    I think Objective C is an acquired taste. :-)

  • SimeonSimeon Admin Mod
    Posts: 5,782

    I agree. It's not instantly likeable like Python or Lua, but you appreciate it the more you use it. C is nice too, but I dislike C++ passionately after being very, very involved with template metaprogramming, boost and adobe GIL.

  • BortelsBortels Mod
    Posts: 1,557

    Heh - the STL left me scarred. And I find Objective C really wordy. (I did a Quartz Composer plugin for a photo booth project I was working on).

    I've been having fun with node.js, but - javascript. Sigh. javascript.

    Lua works. It's kinda nice to use something lightweight - perl (and python, and ruby) get bogged down with library hell.

  • Posts: 2,820

    My favorite languages are LiveCode, Lua, apple script, and Basic. Those are quite easy languages.

  • Hah, i only know lua, because of codea :) i Love it! (in combination with codea, without codea i get Problems, ive tried it out in another app - horrible :D )
    And i know how to write makros in windows 7 powerpoint, wie die that in school. I tried to convince my teacher let us programm a game in lua - she thinks about it :)
    If she agrees i will recommend codea to learn lua - lots of my friends own an ipad ;)

  • Posts: 2,820

    @Simeon was once thinking about selling Codea in bulk. Just like you @Maxiking16 , I learned Lua because of Codea. I picked it up was was already programming Cups with no background experience. I'm working in a graphing calculator right now. I'm still in middle school and my computers class is extreme easy. We do no programming. Only learning how to use and such.
    And we only learn 1/4 of the app. Anyways, I have a Mac so I can't run it. Anyways, of Codea was pulled from the app store. I would consider my iPad boring now.

  • SimeonSimeon Admin Mod
    Posts: 5,782

    @Zoyt if it got pulled (which is unlikely) you are able to keep the app. Apple don't force you remove it, thankfully.

  • edited December 2011 Posts: 2,820

    Yes, I know but I still want updates.

  • edited December 2011 Posts: 622

    So since we drifted to languages ... What do peeps think of "Go"?

    And yes, I would pay for Godea if created :)

  • BortelsBortels Mod
    Posts: 1,557

    I wasn't happy with it; to be fair, it's REALLY new, and when I looked at it it had some issues that are no doubt either solved now, or will be - "Hello World", just text mode, was insanely huge, because the only way to link was static, and it included everything.

    I didn't see it as solving a problem, frankly. Google likes to design it's own languages (Ahem, DART) just because it can. But I saw nothing compelling with Go, and it has a HEINOUSLY UNSEARCHABLE name - you'd think Google would be savvy about introducing a new language that their own search engine was incapable of finding info on. ("golang" seems to be the tag people use to fix that...)

    I'm a big perl guy - have been for years. I use it for my real work a ton. I like it. But - perl has issues (notably, CPAN is both a blessing and a curse).

    I've been experimenting with Lua (of course!), ruby, and javascript (eek) with node.js (which I really like).

  • Posts: 176

    My favorite language is still English. First one I ever learned, too. I started using it at a very young age. It has crazy syntax, and a code snippet can mean many different things, depending on context. Not sure why I am so partial to it! :p

Sign In or Register to comment.