To-do list with check boxes and ability to asssign photo to item

I’m interested in using Corona for a iPhone and Android Project.

I have a customer need for an app that lets users make check lists with the ability to take photos associated with the checklist item. And then archive that item when checked. It seems like a very simple application. But I’m not seeing much while going through your documentation about making app utilities with user input. Or any input camera controls.

Is this possible within Corona?

I’m excited to put in the time and effort to figure it out, but first I’d like to make sure it’s even possible.

If it is possible any pointers for a newbie as o where I should start my learning would be appreciated.

Thanks
 

Hi @sandra89,

Welcome to Corona! I’m not sure exactly what functionality you need for “input”. Can you be more specific on what kind of “check lists” you need? And for “archive”, where do you want to store this data? Do you want the photos to be stored inside the app itself?

This may get you started, for how to take photos from a Corona app:

https://docs.coronalabs.com/api/library/media/capturePhoto.html

Then, I can advise you further when I learn more details about your goals.

Best regards,

Brent

Hi Brent ,

Thanks for your reply. By input I mean the ability to create a check list. Or to-do  list that can be checked off,

Please excuse this crude mock up but maybe it will get the idea across. http://easycaptures.com/fs/uploaded/1033/4817053100.jpg

Ideally I would like the photos to NOT be stored in the phones gallery. And once deleted by clicking the X are permanently deleted fro the phone.

And when someone adds a list item such as “I need a washer that looks like this” and then they can click the little camera icon to take a photo. The photo ideally would be very small. No need for the cameras highest resolution that will add space.

Do you think this is possible in corona?

Thanks a lot.

Sandra

Hi Sandra,

Yes, this should definitely be possible in Corona. Here are a few starting points:

  1. The “media.capturePhoto()” API lets you snap a photo and then save it locally to the phone’s “sandbox”. And later, you can delete it from there (once a user decides to discard it).

DOC: https://docs.coronalabs.com/api/library/media/capturePhoto.html

DEMO: https://github.com/coronalabs/samples-coronasdk/tree/master/Media/Camera

  1. The “widget.newSwitch()” API lets you create checkboxes, radio buttons, etc. that you can use for your interface. It can be styled by “default” or you can design your own image frames for it.

DOC: https://docs.coronalabs.com/api/library/widget/newSwitch.html

Please ask any other questions that come up and I’ll try to help out.

Brent

Thanks so much Brent.

I’ll take a stab at it. I’m going to leave this ticket open if that’s ok. I’m predicting I’ll have questions.

Thanks,

Sandra

Hi Sandra89,

All you ask is very easy to do in Corona. I’ve done all you pointed. But it was not my first project, so you will encounter some problems in the way. If you are just starting learning Corona, I advise you to learn the basics first, you can start here:

https://coronalabs.com/resources/tutorials/getting-started-with-corona/

There are some good books out there also, that can help, to get to your goal really fast (google is your friend).

Hi carloscosta,

Thanks for the info. I’m not a complete newbie when it comes to development. But I am brand new to Corona and lua.

What are the trip up points you discovered that I should be on the look out for?

Thanks,

Sandra

 

taking the photos and displaying thumbnails I had some problems, I had to use timers at the time…don’t know if I would need them if I do the same project again. deleting is easy but image can’t be locked or used so you need to pay attention to that. widgets, I tried, but they always been short from what I wanted, so I create my one. still, for learning they are great. please note that apps are not webpages and you can think different than webpages. doing drop menus, check boxes, etc. it’s to webpage thinking (and much harder to make on apps, widgets helps on that regards, but if your doing your own code you will notice that). in apps you can have swipes, shakes, rotates, multitouchs, etc that can improve user experience, even buttons can be different than 30 year old way of doing things in webpages. just try to think “outside the box”. text fields on corona is always a pain in the ***. they are on top of everything, so you need to know that in advance doing your layout. for example, if you plan to have a scroll menu on the side, if you have text field, you will have troubles. because that scroll menu will be below the text field when it shows. ofc, you can move the textfield or just remove it when you activate the menu and put it again when you remove the menu, but if you planned to have it below…you can’t. usually, I create buttons to activate text fields so this normally won’t happen. this way, is different thinking than webpages because text fields on webpages are very easy to create and you will not encounter this kind of problems on them.

hope this helped, there are a lot more than this, but the fun part of learning it’s conquering new challenges, and you will have some in the way :slight_smile: but none hard enough to give up. 

Thanks carloscosta,

My debate is to to give Corona a try or just go with NativeScript and do a hybrid. Your description makes it sound like this may be trying to fit a square peg in a round hole. Especially if text field are problematic. The text list is a main component of this app.

I’ll play with it and see how it goes. This is a utility app not a game. Maybe it’s a bad fit.

For context, I’m currently helping a client with a utility app (non-game) using Corona. It uses text input fields fairly extensively, and while (as Carlos says) these must always be “in front” of non-native objects, I’ve found fairly elegant solutions to make it a minimal issue (really not an issue at all, and the client is happy). Things like taking off the native “borders” of the input field, coloring the text to match potentially overlying UI elements, hiding/moving the field if something needs to move over it, fading the input text alpha to 0, etc.).

Granted, if I wanted to code the entire app with another tool, I might not face these issues… but the convenience I have of building other aspects of the app very quickly with Corona, and iterating on changes very fast, make that fussing with text input objects occupy less of my time, overall, than going with another platform/language and fussing with different hurdles (meaning, no platform is perfect). Anyway, that’s just my perspective and I’m speaking from where my development knowledge is best (Corona); it doesn’t necessarily apply to somebody with raging awesome native Obj-C and Java skills.

Brent

Thanks for the feedback Brent. I’m going to play around with it still and see how it goes. What you mentioned is what interested me in Corona. That it may be a more rapid development process. This project is not a hair on fire deadline so I have time to experiment. And change gears if it doesn’t work out.

Would hardly say my native Obj-C and Java skills are either raging or awesome. LOL. I only have a modest bag of tricks, Corona seemed like it may just be more fun.

Sandra, 99% of my apps are business apps. All done in Corona, I don’t use Enterprise, so I’m limited what Corona can provide. Corona has some limitations, like the textfields i told you about, or webviews or maps that are also on top of everything. Using Corona every day, I sometimes struggle with some situations that I can’t do anything about it, like space between lines (line height), for example, that simple is not present here. Advanced options for you code usually needs Enterprise (native code), so I’m debating almost every day with the limited capabilities of Corona and trying to make it works without any native code, compromising the less I can to make it work well. If I had to start learning today, I had gone native, (i started learning corona to make games, ended up doing business apps). Having said that, Corona has a very good, well documented API, a very very good forum based support (the best I ever seen), and you will learn a lot and in a easy way here. Lua is a very easy language to learn also. It’s very easy and fast to provide visual content. All of this are reason i’m still on Corona.

Thanks for all the feedback. I’ll let you know how the experiment goes. :slight_smile:

Sure can.  I was able to put a simple checklist together in a few minutes.  That is using my MUI library, but I put in a special example for doing it. See screen shot.   It’s a tableview with rows and checkboxes on it. Each checkbox has a callback so you can later get the values from it or make it do other stuff.    Yes, you can attach small photos, objects to the rows as well.

For MUI see http://www.anedix.com/docs/mui/ and I am preparing another release. I’ve been stuck on website development lately (C#, .Net) which is why I haven’t updated for a little bit.

  

Checklist-Demo-1.png

Thanks Paul!

That’s great. I’m just leaving for a few days off but will jump on this when I get back Tues.

Thanks for pointing me in a solid direction.

Much appreciated!

Sandra

The main advantage of corona is a single code base.  That might come with a few caveats but maintaining dual code bases and iterating updates becomes a real drain. 

Hi @sandra89,

Welcome to Corona! I’m not sure exactly what functionality you need for “input”. Can you be more specific on what kind of “check lists” you need? And for “archive”, where do you want to store this data? Do you want the photos to be stored inside the app itself?

This may get you started, for how to take photos from a Corona app:

https://docs.coronalabs.com/api/library/media/capturePhoto.html

Then, I can advise you further when I learn more details about your goals.

Best regards,

Brent

Hi Brent ,

Thanks for your reply. By input I mean the ability to create a check list. Or to-do  list that can be checked off,

Please excuse this crude mock up but maybe it will get the idea across. http://easycaptures.com/fs/uploaded/1033/4817053100.jpg

Ideally I would like the photos to NOT be stored in the phones gallery. And once deleted by clicking the X are permanently deleted fro the phone.

And when someone adds a list item such as “I need a washer that looks like this” and then they can click the little camera icon to take a photo. The photo ideally would be very small. No need for the cameras highest resolution that will add space.

Do you think this is possible in corona?

Thanks a lot.

Sandra

Hi Sandra,

Yes, this should definitely be possible in Corona. Here are a few starting points:

  1. The “media.capturePhoto()” API lets you snap a photo and then save it locally to the phone’s “sandbox”. And later, you can delete it from there (once a user decides to discard it).

DOC: https://docs.coronalabs.com/api/library/media/capturePhoto.html

DEMO: https://github.com/coronalabs/samples-coronasdk/tree/master/Media/Camera

  1. The “widget.newSwitch()” API lets you create checkboxes, radio buttons, etc. that you can use for your interface. It can be styled by “default” or you can design your own image frames for it.

DOC: https://docs.coronalabs.com/api/library/widget/newSwitch.html

Please ask any other questions that come up and I’ll try to help out.

Brent

Thanks so much Brent.

I’ll take a stab at it. I’m going to leave this ticket open if that’s ok. I’m predicting I’ll have questions.

Thanks,

Sandra