Discussion Forums  >  Config Data, JSON, App Refresh

Replies: 2    Views: 186

Fingers Crossed
Veteran developer
Profile
Posts: 234
Reg: Jan 16, 2012
Simcoe, ON
6,390
Fourm StarFourm Star
02/01/14 07:49 AM (8 years ago)

Updating/Refreshing Apps and older versions. Content Control?

Hi BT'ers, I have a published app that I have updated. Since publishing it I've purchased several new plugins that have been made available and I wanted to 'freshen' the look to let customers know it's still being updated and keep it relevant. The issue is that I'm aware of the existing version that is there now. The existing version starts in a Menu with image screen as the launch point. The new version used the Mosaic plugin. My plan is to paste the online design code, update the 'Design'/'Live' line in BT Config and submit it for review. Once it is published, I run into the issue. Once I 'Publish Changes' in my control panel, it will effectively break the existing version users as I've changed the start screen to a plugin that wasn't there before. I fully expect the app to crash and burn when then control panel tells it to use the Mosaic plugin and it isn't in the build being used by the user. I took a look through the forums to see any other suggestions and came across this post (http://bit.ly/1krEDkk) which gave me a potential solution for the future (Option 1). Options: 1) Create a new app on the BT Control panel, and rebuild the app from the ground up. Pros: Don't have to worry about old versions. Project may be cleaner due to changes in design. Cons: You have to rewrite every screen. (I know the JSON Snippet Keeper can do this, but it makes it harder to manage the screens IMHO) You would use your 100 limit a lot quicker if you are running multiple versions of the same app. Aside from the maintenance nightmare. 2) Update the app and break the existing app. Pros: Don't have to rebuild the whole app. Considerably quicker. Quick hit on app refresh. Cons: Breaks the old app A bad user experience/review. For the app I'm pushing out I'll break the existing app as I don't really wish to rewrite it again. Obviously the main issue is adding/using new plugging otherwise it obviously would work out of the gate. What do YOU do for version control of apps? Any gems out there for others to learn from?
 
GoNorthWest
buzztouch Evangelist
Profile
Posts: 8197
Reg: Jun 24, 2011
Oro Valley, AZ
1,000,000
Fourm StarFourm StarFourm Star
like
02/01/14 10:32 AM (8 years ago)
Hello, This is indeed a tough problem! Anytime you add a new plugin to your app that wasn't part of the original download package, you're going to run into this issue. And it'll basically mean some users will have a broken app until they update to the new code. There's not a lot of ways around it. There is a third alternative, but it's not 100% either. You could recompile your all with the new code in it, leaving everything else the same, and then publish it. Now you wait for a while hoping that users are updating their apps and getting the new code on their devices (even though that code isn't being used yet). After a while, you could push out your updates via the Control Panel, and users would already have that code in place. But this only works for people who have updated. Since Android and iOS both allow silent updates now, this might not be a bad way to go. In the end, it's best to publish your app with all the code available just to ensure stuff is in place for the future. But that also only works for plugins you've bought up to that point. Hope this helps a small bit! Mark
 
AlanMac
Aspiring developer
Profile
Posts: 2612
Reg: Mar 05, 2012
Esher, UK
37,120
Fourm StarFourm StarFourm Star
like
02/01/14 10:59 AM (8 years ago)
Mosaic menu is IOS only, so you are publishing an IOS app, which means you will be at the mercy of the Apple review process. From the minute you publish an update, you said your app will break, so existing users could be without your app for two weeks, or longer if Apple reject anything. Your customers may not be your customers by the time the new code is available to them! Option 2 won't win you any friends in your existing user base. I really suggest you don't do it, reputational damage is a hard thing to come back from. Option 1 is the hardest work for you, but the best experience for your existing user base. @GoNorthwest's suggestion is a variant of Option 1 and indeed I have done exactly this myself. I built a new app with old menu and I also built in the new menu with the new features. I tested the app with both menus and once I was happy, put the old menu as the main menu and published the app. After a month, I switched the menu's round, with no adverse comments. Anyway, just wanted to offer an opinion as you asked! Alan
 

Login + Screen Name Required to Post

pointerLogin to participate so you can start earning points. Once you're logged in (and have a screen name entered in your profile), you can subscribe to topics, follow users, and start learning how to make apps like the pros.