Business Sample App Discussion

hi, I gave this app a spin yesterday. It’s looking nice so far. Here’s some feedback:

I wish that it was fuller-featured to really resemble a kitchen-sink style biz app. I’d like to see every single widget featured to put them through their paces. In particular, I’d like to see how to best handle dropdown menus (which actually popup) and how they look on iOs7 with GFX2. I have converted one of my apps (SevenMinutes and that was the trickiest part; this widget is a little hard to handle as you have to find a way for the drop down to appear and then disappear on a button click that you need to build yourself. I had to tweak the placement of the popup so that it transitions up from the bottom of the screen. 

I also think that the use of rss feeds twice in this app isn’t super useful, just my opinion; I’m going to need to use a database both local and cloud (which I do for all my stuff) but it would be a service to the folks I think to show how to do that.

I guess what I’d say is that since biz apps are tied so closely to widgets, I’d love to have a real showcase of widgets within this sample code.

thanks,

Jen

Yes. Sort of get the current WidgetDemo and latch it onto the Business App Sample and put a db on it for good measure. Why not…

Oh, while at it, make sure to create a super duper data entry screen with many textFields, keyboard entry etc. 

Last but not least, a search box implementation sample on a tableView would be super. 

Thanks for the feedback Jen.

When we first conceived this app, we were trying to decided what features to show case.  Clearly the RSS feed’s main purpose was to show off fetching data from a remote source and populating a tableView and show detail pages from tapping the tableView, which also got webViews.   We decided to also have a button menu, maps, a basic photo handler and “video”.   For video, how do i show YouTube videos was what we wanted, and getting a list of videos seemed to be best done with RSS.

From a demo perspective, yes it’s duplicating RSS, network downloads, tableViews and webViews.

We are looking at things to expand this and things posted in this thread are going to get high consideration for the next adaptation of this.  But as for showing off all the widgets, that’s the purpose of the WidgetDemo sample app.  Until we need a real-world reason to implement a slider or a radio-button switch bank adding those for the purpose of demoing them is duplicating what the WidgetDemo app is for.

I’m leaning towards a data entry form, ingestion/submission of some remote data source, possibly a local SQLlight database.  But adding the kitchen sink would also have the problem of bloating this.  Good things to think about.

Rob

hi, adding a data entry form would be nice, as you could then showcase the radio button and drop down widgets, I think. The radio could be a simple ‘remember me’ toggle that would set or not set the credentials into a local database, and a drop down could ask which YouTube channels to show. The textfields could then be saved (or not) locally, incidentally showing how to dismiss the keyboard on device.

thanks for considering!

best,

Jen 

My brother is a designer is CA.  He uses a service called Bizness Apps ( search it on Google ), its a monthly hosted business apps service.  He says the back-end is like wrestling a hydra.  We tried to convert one of the apps with Corona but we hit roadblocks quite quickly.  If Corona wants to get more serious about taking on the business app market space, then take a look at the features section on the site .

I asked how many of his clients actually use all of that stuff and he claims that he has used most of the items at one time or another, so I think it’s a good reference point.  Most of the 3rd party stuff is HTML5 web views, which is achievable in Corona.

Of course a lot of those features are more complicated widgets, with data, etc.  But, it would be a good starting point for what Corona Labs should focus on as far as the message to potential developers looking to produce business apps with Corona SDK.  Though some do exist, tutorials and examples based on these features would probably be helpful.

Cheers.

I looked at their features, and most of those we can do.  A lot depends on having data and getting data into the system.  A few things we lack enough features to do.  It’s a good list of things that apps could do. 

What particular roadblocks did you hit?

Thanks for sharing.

Rob

Corona does indeed cover most of these features, and I don’t think it should be Corona Labs job to provide that backend – though that may be an interesting business idea for someone –  I was more pointing out the types of things that might attract people looking to build business apps.

It was about half a year ago.  From what I recall we had issues with maps and markers in Android, couldn’t gain access to a QR reader without pro (though recently he told me that QR is not as popular anymore with clients, so that could be skipped), there was no “share” feature at the time, which I believe Corona has now.  A couple other issues here and there.

When I say we hit roadblocks pretty quickly, I should have been more clear that it was the order in which we approached the conversion.  As far as the feature set of the BA based app, I think Corona can do 95% or so, with a backend service.

The more I think about it there may be a good fit for someone to develop similar widgets and backend to BA for Corona developers.  Maybe I should dust off some of my PHP books…

Cheers.

hi, DevElephant, I see the word ‘php’ and start hyperventilating… I strongly recommend not having CL worry about developing their own backend or anything like that but rather making it very easy to integrate with solid, modern, cloud-based NoSQL BaaS solutions like Parse.com. I have used Parse and Kii and have written about those, it makes configuring your backend crazy simple with REST API calls. Better still would be to allow us to easily create plugins to these services so that you can throw it in and just call it as we would using PhoneGap with the Parse SDK integrated. 

My .02 cents.

BTW, Rob, going through the biz app sample again, I see some misspellings that may cause issues, including: 

function scene:destoryScene( event )

    local group = self.view

    

    print(“destroy scene”)

end

–shouldn’t that be destroyScene?

thanks,

Jen

@jen.looper I meant to do that so someone would offer a better solution. ;p

In any case the idea would be to hide that aspect of it from the developer.  As far as the BA system works you’re just using forms, etc. The widgets handle the work, so… the language that powers it is of little importance from the front-end developers perspective.

You’d simply drop in a “reservations” widget and link up your “Corona Biz Tools” account ID for example.  There would be no need for the developer to handle any of the backend infrastructure, no database calls, etc.  Just methods like:

local reservations = require( “biz.reservations” )

reservations.accountId = ###

reservations.addReservation( dateObj, details, etc )

Just throwing out ideas, the technology is secondary in this case.

P.S. I read your piece about Parse and I was very inspired to try it out, but still have yet to apply it myself.

Cheers.

Lol, if only I was on Parse’s payroll…

It’s a really interesting idea, sort of ‘souped up’ widgets, with pre-packaged backend calls. I like it! 

:slight_smile:
J

Thanks for spotting that typo Jen, I’ll get that fixed.

As for what you’re describing @develephant, that is what our plugin system is designed for.  Corona builds the infrastructure and companies like Bizness Apps could build a plugins for turnkey reservation systems.  If you look at what PlayTogether did for their BaaS cloud service for games, someone could engineer a similar service for business apps.

And Jen, I think it would wonderful if Parse were to work on providing a plugin for their service.   Eventually we will get the market place going and more people can contribute plugins for things like this.

Rob

Hi, i have a question: in the xml.lua is possible to get a specific tag attribute value??Thanks

I didn’t write the XML code and it’s been a long time since I looked at it, but if it gets attributes, they would be in the table that it returns.  I’m likely ignoring anything I didn’t need for the RSS side.  Looking at the RSS code and how it uses the table returned by XML, it looks to me like that each entry in the table is another table in this format:

xmldata[1].name – the tag name

xmldata[1].value – the data between the <name>  and </name> tags

xmldata[1].properties – I think this is another table of key-value pairs that would have each attribute key and value

so it appears that xml.lua is getting those attributes for you.

Rob

I have been trying to implement a map market event listener. I have managed to make it work on iOS. But, on Android, the listener did not appear to ever be called on pin tap.

So, wanting to make sure I was not doing something wrong, I downloaded this sample business app, built it, put it on my phone. I then went to the map tab and tapped a pin, then looked at the logcat of the phone. It would display some print statements that I had put in, such as upon entering the scene so I knew it was logging correctly. But, no print statement from the event listener function (there are already 4 pre-built with this sample app) was ever displayed. Additionally, the pin icons were not changed as they should be, they were plain old pin icons. Thus, I think something might be wrong with my building of the app. Does anyone have any thoughts?

Thank you so much for your time.

Mmmm there is one thing that i don’t understand: the initial effect of the screen splash that zomming until to the full screen size… how can i change it ??

@gmarshall, I’m working on making it G2.0 compatible and I’ll test the map markers on my Google Nexus 7 later on and see if I can reproduce what you’re seeing.

@mandre86, this is an illusion created by the simulator.  The simulator tries to simulate the iOS device feature of showing the Default.png file before the app loads.  It however does not take into consideration iOS tall devices.  Then on the Android side, Android doesn’t support Default.png loading images at all.  This is a feature we added because people wanted it.  So we have two scenerios:

1.  You’re on the simulator with a non 2:3 ratio screen (iPad, iPhone 5, Android device) in which case it loads Default.png which is a 2:3 ratio image (as Apple expects it to be) and show’s it stretched to fit, then the app comes up and draws it’s real splash screen (with the words “Business Sample App” on it) which is in the right aspect ratio for the skin.

  1. You’re running it on an Android device and it’s picking up the 2:3 ratio Default.png. 

I guess I should just get rid of the Default.png and leave a blank black Default-568h@2x.png image for iOS use.

Rob

I just tested it on my Nexus 7 and the pin points touch just fine.  I get a call out with the information. It worked as I expect it to.

Rob

Hmm, alright. Well, thanks for checking it. If I find any new information that helps solve this problem I will post here, but otherwise hopefully the knowledge that it should work will help me find the solution. Thanks.

Is anyone going to update the Business App Sample to be G2 compliant? 

Edit : It seems to work well with graphicsCompatibility = 1 running in #2085 but still it would be nice if it was up to date with all the changes in anchors etc.

Thanks

Looking forward to giving this a spin using the newest build. This is the kind of ‘kitchen sink’ app that is desperately needed to compete with Titanium, imo.