New Business App written with Corona SDK - Floorvana by Shaw Floors

We just released a business app written with Corona SDK - Floorvana by Shaw Floors.  This is a marketing app to inspire people and help them find flooring products. The fun part of it is that it has color matching technology to find products that are similar to whatever photo you give it.

https://itunes.apple.com/us/app/floorvana-by-shaw-floors/id945472387?mt=8

I thought you guys might find it interesting because it’s doing a lot of stuff (and there’s a lot more planned). It seems pretty simple, but as many of you know, making something seem simple is really hard. We had a great design team working with us on this along with a great development team.

You can read the description on iTunes for the general features of the app, but some of the more interesting pieces (for Corona developers):

  • Uses a secure web api to get product results

  • Uses color sampling to grab specific colors from a photo

  • Uses patent pending color matching technology to both generate a color palette from a photo and match to similar products

  • Uses location services and a map view

  • Is marked as Optimized for iPhone 6 and 6+

  • Uses the scrollView widget extensively

  • Also uses the slideView widget

  • Automatically loads more results as you scroll

  • The slideView and scrollView were made to work happily together (as shown on a product details page); if you start scrolling left/right on the slideview, you can’t scroll up/down too. By default, adding the slideview into the scrollView caused chaos because you would be trying to scroll down and accidentally scroll left and right in the slideView too and vice versa

  • Uses flurry for analytics

  • Gives you complementary colors (when a color is favorited) or more colors from a specific color family

  • Allows adjusting the color with brightness/saturation controls

  • Everything you can tap in the app was given a larger touch surface, so an icon that looks small actually has an invisible rectangle around it to make it easier to tap

  • Uses Sergey Lerg’s latest config.lua solution for better pixel perfect scaling

We had a pretty tight deadline to have this first version in the app store, so we had to cut a few things for this release, but we have a lot more in the works, including pinching/zooming, social sharing, portrait mode, and the ability to create projects for organizing all your saved products and colors.

Things I’m still not happy with:

  • Scrollview performance is still a little jerky compared to truly native apps

  • Dynamic scaling makes my rectangle buttons sometimes have thicker borders on one side than the other; really noticeable on the 6+ and most Android devices

  • Mapview does not have retina map markers and they are not supported despite the Corona docs saying they are; if you add @2x and @4x images, they are just shown at their larger size on the mapview, they don’t get resized like they should.

Dave

Dave,

Congratulations, that’s an attractive app.

Just to clarify, this does not use CoronaCards or Enterprise. Is that correct?

Are you using widgets 2.0 as supplied, or did you use a version that you modified?

Thank you!

We are using Corona Pro.  The main reason we needed Pro was for some of the Graphics 2.0 features, however, I must admit I’ve been a little disappointed with some of the provided filters. For example, the background on the screen where you pick whether you want to take a new photo or choose an existing one is actually supposed to be a gaussian blurred version of whatever it is overlaying. The current Graphics 2.0 gaussian blur is not up to the task. It’s too CPU intensive. I tried various “solutions” to the problem like nested snapshots and nothing worked very well.

As far as widgets go, we are using a very slightly modified scrollView and a very slightly modified slideView. We were using the editField from widgetstown, but it wasn’t working as well as I originally thought on some devices, so I ended up just doing the font scaling as best I could myself for the one text field we currently have on the Find a Retailer screen.

Despite a few hiccups, I don’t think I could have gotten this done so quickly with any other framework. 

Very nice app. Liked the  sliding panel menu and scrolling. Not sure how you managed to put native object(map) smoothly.

Normally it flicks when you switch between scenes. It’s hard to tell that you’ve build the app in corona.

Thanks. We have developed a lot of little tricks over the last few months to make things work the way we wanted. Some tricks are great and some are kinda ugly, but our goal has been to make it look as much like a native app as possible.

We only have a handful of actual composer scenes in the app: Start screen, Color Picker, Results (overlay), Favorite Products, Favorite Colors, and the Selected Photo screen. Everything else is a custom “control” – essentially our own widgets or classes that return a display group.  The Find a Dealer screen is like that.  We just instantiate a new Find a Dealer screen when we need to. So perhaps that’s why we don’t have the problem you mentioned with the flicking. It’s not a typical scene.

We tried using actual composer scene overlays (Results is one of those), but having a limit of only one scene overlay at a time was too limiting when we we’d already used one for Results, then on our Details screen we wanted to have a Find a Dealer button that popped that screen over the top of everything too.

When our “controls” are destroyed, or being destroyed, we make sure we display.remove everything and nil out everything, remove all transitions and cancel all timers, and so far (fingers crossed) we haven’t had any memory related problems doing it this way.

Dave

And we just released on Android now as well… I just published about an hour ago, so it’s not quite everywhere it needs to be yet. 

https://play.google.com/store/apps/details?id=com.shawinc.floorvana

We’re pretty happy with it. :slight_smile:  Still got a lot more to do, though.

Dave

Dave,

Congratulations, that’s an attractive app.

Just to clarify, this does not use CoronaCards or Enterprise. Is that correct?

Are you using widgets 2.0 as supplied, or did you use a version that you modified?

Thank you!

We are using Corona Pro.  The main reason we needed Pro was for some of the Graphics 2.0 features, however, I must admit I’ve been a little disappointed with some of the provided filters. For example, the background on the screen where you pick whether you want to take a new photo or choose an existing one is actually supposed to be a gaussian blurred version of whatever it is overlaying. The current Graphics 2.0 gaussian blur is not up to the task. It’s too CPU intensive. I tried various “solutions” to the problem like nested snapshots and nothing worked very well.

As far as widgets go, we are using a very slightly modified scrollView and a very slightly modified slideView. We were using the editField from widgetstown, but it wasn’t working as well as I originally thought on some devices, so I ended up just doing the font scaling as best I could myself for the one text field we currently have on the Find a Retailer screen.

Despite a few hiccups, I don’t think I could have gotten this done so quickly with any other framework. 

Very nice app. Liked the  sliding panel menu and scrolling. Not sure how you managed to put native object(map) smoothly.

Normally it flicks when you switch between scenes. It’s hard to tell that you’ve build the app in corona.

Thanks. We have developed a lot of little tricks over the last few months to make things work the way we wanted. Some tricks are great and some are kinda ugly, but our goal has been to make it look as much like a native app as possible.

We only have a handful of actual composer scenes in the app: Start screen, Color Picker, Results (overlay), Favorite Products, Favorite Colors, and the Selected Photo screen. Everything else is a custom “control” – essentially our own widgets or classes that return a display group.  The Find a Dealer screen is like that.  We just instantiate a new Find a Dealer screen when we need to. So perhaps that’s why we don’t have the problem you mentioned with the flicking. It’s not a typical scene.

We tried using actual composer scene overlays (Results is one of those), but having a limit of only one scene overlay at a time was too limiting when we we’d already used one for Results, then on our Details screen we wanted to have a Find a Dealer button that popped that screen over the top of everything too.

When our “controls” are destroyed, or being destroyed, we make sure we display.remove everything and nil out everything, remove all transitions and cancel all timers, and so far (fingers crossed) we haven’t had any memory related problems doing it this way.

Dave

And we just released on Android now as well… I just published about an hour ago, so it’s not quite everywhere it needs to be yet. 

https://play.google.com/store/apps/details?id=com.shawinc.floorvana

We’re pretty happy with it. :slight_smile:  Still got a lot more to do, though.

Dave