What's still missing

I grabbed Codea back when it was Codify, as soon as I saw it, in what I suspect was the first week it was out.

When it did, there was no font support - so I rolled my own (as did many). I like to think our discussions and shared implementations inspired TLL to do their own native font support (which is of course miles better than what we could do).

I’ve followed thru as the TLL team added awesome new features - fonts, meshes, physics, editor improvements, and now web access; what was cool before has become cool and useful, and there’s no end in sight.

So - what’s next? We all have our own wishlists. I know from experience that one good way to NOT get a feature added is to not talk about it. So - here’s my own wishlist. Yours may vary. Perhaps TLL can pick and choose from this to get an idea of what people want, and maybe even get ideas they hadn’t really thought of…

In no special order:

– file I/O, treating the Codea Documents directory as the ‘root’, Projects as folders, and tabs as files. Presumably a project would have write access to it’s own project, and read access to others. This would let us save data files in an editable manner, and provide some library support.

– Access to the Camera(s) - the ability to capture an image from either camera opens up photo processing, augmented reality, all sorts of fun.

– GPS, compass - to go along with accelerometer. Being able to get GPS gives all sorts of mapping and geo data apps a leg up, and with both GPS and the compass you can get some real-world bearings for things like maps and charting.

– bluetooth for gaming - being able to communicate peer-to-peer opens up a world of collaborative apps (and by that I mean mostly games, but hey).

– rendering web - I think that’s an ios built-in; if we could load and render to an image arbitrary web pages, we’d get some built-in support for CSS and SVG, and a nice way to do docs.

– airplay - this just came to me, as I got an apple tv yesterday. I noticed the youtube app will display video on airplay, with the screen having the youtube info (ie. it doesn’t just mirror). If we could access airplay as a seperate graphics context, there would be FUN things we could do. Crazy fun.

– Project export and import - I know apple shot down .codea - maybe it’s time to see if they’d reconsider? Or, failing that, if we could at least export a project (as a zip file, I beg of thee), then people could import with iExplorer or such, and/or simply cut and paste from a zip importing app.

– binary access to images - I’d like to be able to get to the binary data of an image, as a buffer, rather than have to get/set individual pixels, for a ton of reasons.

I’m sure I’m forgetting things, and I’ll edit or add them later. If you have something you think would be cool, add it on. If nothing else, we may find things we can accomplish on our own (this whole post was inspired by doing file i/o wrapped around the existing image stuff). Or, perhaps we’ll inspire TLL to add something we all want.

PS. It’s been said, but I’ll say it again: Thank you, TLL, for an awesome app, and for continuing to add features and support it post-launch. This is head-and-shoulders the coolest thing on the iPad IMHO, and a big part of that is your continued support of it.

+1 for file I/O and project export. Although if you give me read file I/O and http.get, I can write my own project export.

I’ll throw my own in: better debugging support. At least printing the entire stack on error messages

oh and ability to use libraries in your project. Again, with read file I/O I can implement this on my own, like so http://twolivesleft.com/Codea/Talk/discussion/1087/library-import-hack#Item_1

Versioning. Multiple undo.

@jslate - yes! I mentioned that a few days ago in another thread.

– versioning!

– print() that handles lots of calls elegantly (I am completely ok with just throwing away scrolled off data, and only updating the console perhaps once a second)

– some basic common libraries - b64, zlib.

– stretch goal: udp networking. Not necessarily raw, but it would be nice to be able to register a listener for a udp socket, and send udp packets. Tons of uses (this comes from syslog and dns, but good for games as well)

– microphone and mp3 support. Anyone remember the sound blaster talking parrot?

– maybe a simple windowing environment. Apple may balk at this.

Access to photo album for the user, so that apps can both import and export images.

File i/o, code repository / copying tabs from one project to another. Common controls (button, status bar, textbox, toggle switch, etc.) Play audio files. Play video files?

Pony! I want a pony! :wink:

@jlslate - Look at my post on Bortel’s wall on January 23. And my top request is http.post. And to reunlock the file IO library. That would let us make a lot of our own solutions for these requests. And AirPlay. But, you know, the more they add, the more we want.

@Zoyt you can do POST requests with the confusingly named http.get command in 1.4 (it’s being renamed http.request in 1.4.1).

I think that built in tweening would be pretty awesome. Tweening makes it so easy to add animation and polish to games.

In the meantime, I’ve had great success using this Lua library in my projects: https://github.com/kikito/tween.lua - it has a really nice simple syntax based on jQuery’s animate functionality.

Other than that, I’d like versioning and user library support. :slight_smile:

That tween library looks great. We had our own that @John was working on, but we might look at including that one with Codea (though we’re thinking of ways to modify it to allow for sequences and repeatable tweens).


Wow, I can’t believe I forgot GLSL. Not just for graphics, per se - check this out: https://github.com/ReubenJCarter/GPU-Programming

It would be awesome to take an image as input into GLSL, and get a new image out. Shades of Quartz Composer (if you’ve never used Quartz Composer and you have a mac - fix that. it’s free. it’s cool.)

@Bortels Out of interest, have you seen GLSL Studio on the App Store?

@Bortels - Sadly, I don’t know why, but it seems they killed it in Xcode 4.4. Mabey I’m just missing something. @frosty - I’ve tried a lot of the GLSL editors on the app store. Their pretty cool, but I barely understand the language.

I have a few of them - glsl studio, paragraf, and renderduck. They’re why I’m so excited about bringing it into Codea - I think they could be as useful as meshes (I didn’t understand what exactly meshes were for, at first - took me a while to wrap my brain around them, but they’re awwessommeeee).

@zoyt, I want to say they moved it? I know I have it now. Or - I think I do. Checking…

It’s still on their Xcode page https://developer.apple.com/technologies/mac/graphics-and-animation.html - I think maybe it’s just a separate download now…

Yeah, it’s a different download - go to the xcode download page, and search for “quartz composer”, it’s in the “graphics tools for xcode” package.

I looked there @Bortels. That’s what I suspect.

I was noticing that Processing has the ability to draw arcs and Gaussian curves. This would be handy to have.

@vega: Such feature had been requested a looong time ago. :slight_smile: Unfortunately, TLL don’t think them as important features. That’s why such features never got high priority. For now, we must write them by ourselves if we really need them. :slight_smile:

It’s not necessarily that TLL doesn’t think they’re important - it’s just that they had other stuff they wanted to work on first (meshes, for example). I won’t second-guess that - meshes are, were, and will be, teh awesome.

But I’ll keep suggesting other things I’d like to see. :slight_smile:

– binary handling in general; that includes persisting binary data without it getting converted (by hand or automatically) to strings, and that includes bitwise operations (which should just be a matter of including a C library - I can do it in lua code, but it’s slow)