Discussion Forums  >  Buzztouch News and Announcements

Replies: 42    Views: 593

David @ buzztouch
buzztouch Evangelist
Profile
Posts: 6865
Reg: Jan 01, 2010
Monterey, CA
78,830
01/01/17 08:25 AM (10 months ago)

Buzztouch 4.0 for iOS and Android

Happy New Year. Most of you are aware of the some important changes Kristen has been implementing, it's great to see the ship righting again.

We've implemented some significant changes to the iOS and Android Core projects. These core updates are available in your project downloads immediately. It may take a few hours for your individual downloads to show these updates. You'll know you've got the latest goods by referring to the file name of the .zip archive you download from your control panel.

When you download a project the .zip archive will have your app name and...

[appName] _iOS_BTv4.0.x.zip
[appName]_Android_BTv4.0.x.zip

Feel free to dig around the source code, see the RELEASE-NOTES.txt file (included in the download) and compile your app and run it on a simulator or a device. If you find any issues or bugs (we expect them) post them to this thread and we'll get them squashed.

You'll notice many plugins are already included in your download. This is an important change from the past. We're beginning to differentiate between BT_Screens and BT_Plugins. BT_Screens are built in functionality that does not need to be added to your project after you download the source. BT_Plugins are Third-Party Plugins. This should make it easier to download, compile, run, easier for use to roll-out updates and easier for end-users to understand the project structure.

You'll also notice that "David's Plugins" are no longer in the market. This is intentional. Updating the entire project (4.0.1, 4.0.2, etc) will be much easier this way. Keeping everything up to date has been a challenge to say the least. This approach should make it much much easier on our end. We'll no longer worry about updating individual plugins and instead include the updates in release versions.

Have a look at the RELEASE-NOTES.txt, run your project on whatever device you want and post in this thread when something doesn't seem right.
 
Kaybee
buzztouch Evangelist
Profile
Posts: 632
Reg: Sep 22, 2012
Perth, Australi...
44,420
like
01/01/17 08:49 AM (10 months ago)
Thank you David and Chris1 for your work on this.

Great way to start the new year.

Kristen
 
Calypso Kid
Aspiring developer
Profile
Posts: 736
Reg: Mar 09, 2012
Upstate New Yor...
17,760
like
01/01/17 10:35 AM (10 months ago)
Thanks David and Kristen. Happy New Year!!!

Dave
 
Calypso Kid
Aspiring developer
Profile
Posts: 736
Reg: Mar 09, 2012
Upstate New Yor...
17,760
like
01/01/17 06:49 PM (10 months ago)
edit
 
CMCOFFEE
Android Fan
Profile
Posts: 1992
Reg: Jan 04, 2013
Amarillo, Texas
26,420
like
01/02/17 12:33 AM (10 months ago)
Thanks, updates look amazing. Love that we use Picasso now in android!
 
aussiedra
Code is Art
Profile
Posts: 431
Reg: Dec 25, 2010
Brisbane, Austr...
8,260
like
01/02/17 03:49 AM (10 months ago)
Thanks for the massive update guys new year new look :-) Just created a test app to check all my plugins are up to update and notice JSON.h is missing , JSON.h is no longer required ?
 
David @ buzztouch
buzztouch Evangelist
Profile
Posts: 6865
Reg: Jan 01, 2010
Monterey, CA
78,830
like
01/02/17 07:05 AM (10 months ago)
Hi @aussiedra, yeah, it's gone. I'm also not seeing any release notes in the downloads, they should exist too. Looking into that.

If you had the release notes you would see that the "third party" JSON parsing utility that was used in previous version is gone. All the JSON stuff is native now.

Bye by SBJSON folder altogether :-)
 
aussiedra
Code is Art
Profile
Posts: 431
Reg: Dec 25, 2010
Brisbane, Austr...
8,260
like
01/02/17 07:21 AM (10 months ago)
Thanks David yep no release notes in the download i did. Ok time to update my plugins :-)
 
fusionsch
I hate code!
Profile
Posts: 505
Reg: Dec 28, 2010
Montreux Switze...
11,500
like
01/02/17 08:30 AM (10 months ago)
Great news, thanks for all, David!

Cheers

Jack
 
mutzy
Aspiring developer
Profile
Posts: 798
Reg: Nov 03, 2010
Medford, MA
9,430
like
01/02/17 01:44 PM (10 months ago)
So for custom plugins that I made myself (or paid someone to make for me), can I just delete the "#import json.h" line and move on? I tried doing that for one plugin and it caused several more errors.

Josh
 
chris1
Code is Art
Profile
Posts: 3859
Reg: Aug 10, 2012
Oklahoma City, ...
50,090
like
01/02/17 04:43 PM (10 months ago)
Josh - you'll need to remove the import statement and then refactor any places in your code where you were parsing JSON using Apple's NSJSONSerialization class. Here is an example of how to do that:

NSString *jsonString = @"{}";
NSError *jsonError;
id jsonData = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:0 error:&jsonError];

if (jsonData==nil) {

}
else {
//parsing finished - jsonData object will now be either NSDictionary or NSArray depending on the type of JSON data contained in the jsonString object.
}
 
David @ buzztouch
buzztouch Evangelist
Profile
Posts: 6865
Reg: Jan 01, 2010
Monterey, CA
78,830
like
01/02/17 06:09 PM (10 months ago)
@chris1 is spot on. Not sure why the release notes aren't being included in the download so you could see this and other gotchas. Still sleuthing that out.

The coolest one (for iOS) is the removal of all the references to [appName]_appDelegate. Your plugins no longer need to do this. You can simply use the built in reference to appDelegate. This makes it possible to drag a plugin's files into a project without re-factoring them with the app's delegate name. Most plugins reference the appDelegate. Assuming it doesn't have a BT_appDelegate reference anymore, and it just uses appDelegate you can just drag it into Xcode without any other changes.

Before: Note the name of the app in the reference, every app had a different pointer...

myapp_appDelegate *appDelegate = (myapp_appDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.rootDevice setDeviceLatitude:@"23.343333"];

After: Note the removal of the app name, you can reference appDelegate directly now...

[appDelegate.rootDevice setDeviceLatitude:@"23.343333"];

This is because the app now has a .pch (pre compile headers) file, it's called: BT_includeHeaders_pch. Have a look at it if you want. Your plugins also don't have to use all the standard imports now like...

#import "BT_dates.h"
#import "BT_color.h"
#import "BT_item.h"

They are all included in the .pch file so you don't have to include them in your plugin.

Getting sweeter again, I'll work out why the release notes aren't being included, lots of goodies to understand. :-)
 
Kaybee
buzztouch Evangelist
Profile
Posts: 632
Reg: Sep 22, 2012
Perth, Australi...
44,420
like
01/02/17 06:39 PM (10 months ago)
HI All,

please check now, you should be getting the new Core project via self hosted download. Although the zip file name still shows v3.0, have a look at the README file on the first line you should see: "Buzztouch v4.0 for..."

Please keep comments in this thread if you still are experiencing any issues.

Regards
 
SmugWimp
Smugger than thou...
Profile
Posts: 6254
Reg: Nov 07, 2012
Tamuning, GU
80,790
like
01/03/17 08:31 PM (10 months ago)
So the deployment target is only iOS 8...?

What are the plans (if any) for iOS 10, the current release?

Cheers!

-- Smug
 
aussiedra
Code is Art
Profile
Posts: 431
Reg: Dec 25, 2010
Brisbane, Austr...
8,260
like
01/03/17 09:12 PM (10 months ago)
@Smug i think thats for allowing devices running from iOS 8+ , if deployment target was set to iOS 10, only users runnning iOS 10 can install the app.
 
SmugWimp
Smugger than thou...
Profile
Posts: 6254
Reg: Nov 07, 2012
Tamuning, GU
80,790
like
01/03/17 10:09 PM (10 months ago)
https://david-smith.org/iosversionstats/

With less than 9% of all devices running iOS8 or less, I was hoping for something a little more current.

I'm specifically worried about the BT_downloader class. Thats going to be a problem in the very near future. I'd like to see an update using NSURLSession rather than the deprecated NSURLConnection. That's going to cause problems if not addressed soon. It's caused me to create 2 projects (and almost 3) outside of BT. If I'm having to create projects outside of BT, then it alleviates the need for BT.

Cheers!

-- Smug
 
Kaybee
buzztouch Evangelist
Profile
Posts: 632
Reg: Sep 22, 2012
Perth, Australi...
44,420
like
01/03/17 10:27 PM (10 months ago)
Interesting topic,

I think we should rather look at it in a different way, what @Aussiedra is rightly saying, any iOS device that is 8 or higher will be able to run our core code, some plugins could change that.

Remember what BT is about, providing a solution to as many people as possible with various levels of coding experience, if any at all etc etc.

I like to look at it as glass half full, with the current core code 96.3% of all iOS devices will be able to run your app.

But your point is noted, we need to keep abreast of latest development pathways to ensure we are able to deliver our projects.

Regards

Kristen
 
AlanMac
Aspiring developer
Profile
Posts: 2608
Reg: Mar 05, 2012
Esher, UK
37,080
like
01/04/17 03:52 AM (10 months ago)
I don't know enough about this, but I'd be surprised if Smug does not have a valid point.

From a quick bit of googling it appears that NSURLSession is supported in ios 8 so from a compatibility point of view, it could be used now in Buzztouch if needed. Also, NSURLConnection is a core compenent of Buzztouch and deprecated. So we know NSURLConnection won't be supported in the future, but right now, it is (but for how much longer?).

Clearly it is enough to make you not use Buzztouch for 2 projects Smug. I am intrigued to understand your point in a little more detail as I feel there is an underlying importance and possible urgency may explain the full significance.
 
David @ buzztouch
buzztouch Evangelist
Profile
Posts: 6865
Reg: Jan 01, 2010
Monterey, CA
78,830
like
01/04/17 05:28 AM (10 months ago)
@Smug is right and FOR SURE the BT Core should and will move away from using any references to the NSURLConnection and move towards a more modern approach. @Smug sent me an email with these ideas awhile ago and we're very aware of it.

If you set your Xcode project to target iOS 9 devices (instead of how it's set as a default, iOS 8) you'll get all sorts of warnings about this.

Of course there are a few reasons these changes didn't get included in the 4.0.0 core. It's a giant balancing act between what to change, when to change it, what plugins will break, what device are supported etc.

The primary goal of 4.0.0 was to introduce some significant changes such as including built in screens in downloads, getting rid of all sorts of obvious Xcode errors and warning as soon as you download a project (that was lame lame), and getting OUR END back on track in terms of updates. Not having to update individual plugins and going through all the associated update stuff along those lines, and instead focussing on updating the project itself (including all it's built in screens) should make it much easier for us to move to 4.0.1, 4.0.2, etc. That's the idea.

So, if / when the project uses iOS9 as the standard target we'll be forced to remove any references to deprecated methods, including NSURLConnection (and some others). Until then you shouldn't see any warnings from the core if you're using an iOS 8 target.

Anyway, BT is moving in the right direction again - finally - happy to help along the way.
 
SmugWimp
Smugger than thou...
Profile
Posts: 6254
Reg: Nov 07, 2012
Tamuning, GU
80,790
like
01/04/17 05:34 AM (10 months ago)
I'd rather not look at it in a different way ;)

Everything else we've found a fix or a workaround for already. UIAlertView, UIActionSheet, and a lot of simple syntax related deprecations. They've been found, they've been posted. The only thing is that they weren't integrated into the core files. So it took us a little longer after downloading a project to "fix it up" and eliminate the warnings.

This update addresses the minor updates that we were already aware of, and had mitigated. It also added a few improvements, but nothing earth shattering. Some time saved, but nothing cured.

My concern, as mentioned before, is with the BT_downloader class. The Core uses it. Plugins use it. Everything uses it. If the data comes from anywhere other than from within the bundle, it's using some method originating from the BT_downloader class. Config Files. DataURLs. HTML Pages. Text. Images. MP3s. Videos. Whatever. And sometimes if something needs to be uploaded from the App, same thing.

So understand my frustration and/or disappointment when the one update that not just anyone can do, wasn't done.

I'm not blasting BT; it took me from zero to somewhat capable developer, and I think the world of the entire BT Animal as a whole; David, the Crew, the Members, et. al. However, I am pretty frustrated, and a bit on the fence.

Cheers!

-- Smug
 
David @ buzztouch
buzztouch Evangelist
Profile
Posts: 6865
Reg: Jan 01, 2010
Monterey, CA
78,830
like
01/04/17 05:38 AM (10 months ago)
@Smug. Totally!

Hoping we can move to some more significant IMPROVEMENTS rather than just some triage like we've done so far. The 4.0.0 core does have some significant changes which in theory should help in that direction but for sure WAY more progress to go. Still in fire-putting-out-mode for sure.

Onwards and upwards :-)
 
chris1
Code is Art
Profile
Posts: 3859
Reg: Aug 10, 2012
Oklahoma City, ...
50,090
like
01/04/17 06:32 AM (10 months ago)
Good stuff here. Agree totally with Smug and David. I know Kristen is committed to making sure Buzztouch stays up to date with trends in the industry, as he mentioned in his reply. On a related note, some more changes are coming to Android. After seeing how David used a SQLite database in the iOS update, it only makes sense to me that we do the same for Android. I also plan on creating better organization of the files using Android's concept of packages. (Think subfolders). What this may mean is plugins might need to be updated again. Will dyou my best to keep changes that require the login updates to a minimum, but I feel like this is an important one. Expect it this week.

I'll also write up some release notes for both updates.
 
AlanMac
Aspiring developer
Profile
Posts: 2608
Reg: Mar 05, 2012
Esher, UK
37,080
like
01/04/17 06:46 AM (10 months ago)
I am experimenting with building a BT 4 test app (called testapp) for IOS (not self hosted). I am starting by using the menu buttons, custom URL, HTML Doc and HTML Text, as they are core plugins and they compile. The button menu links to screens as a basic test. I started with no custom plugins and I did not add any folders to the basic project. My findings so far are:

1. The downloaded app is labelled BuzzTouch when I load it onto my phone, not the name I gave it.

2. The menu buttons (core) plugin settings from the control panel do not seem to update. E.g I can’t change from the default horizontal layout or button sizes. But I can add extra menu items OK.

3. Clicking on the html text screen crashes the app.

4. The Custom URL screen shows a blank screen for the URL I specify, unless I specify an https URL. Same for HTML Doc.

5. I got adventurous and tweaked and added a custom RSS plugin. None of the thumbnails display - on closer inspection, that is because the images are http, not https. It also crashes on pull to refresh with - 2017-01-04 13:28:01.585113 testapp[4181:1053861] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]'

6. Setting any type of background colour for screens, buttons, etc for any plugin from the control panel does not seem to work.

7. App refresh does not appear to work unless I close the app, delete from the list of apps in memory, then re-open it.


I know I’ll need to investigate further but I thought I would post my initial findings.

Cheers, Alan
 
FunkyMonkey
Aspiring developer
Profile
Posts: 1041
Reg: Aug 07, 2013
blackpool
13,210
like
01/04/17 07:35 AM (10 months ago)
Hi Guys, has the new update fixed the push side of things or will we have to wait for that.
Thanks
Sean
 
chris1
Code is Art
Profile
Posts: 3859
Reg: Aug 10, 2012
Oklahoma City, ...
50,090
like
01/04/17 07:47 AM (10 months ago)
Push has been addressed in the Android update. It does require you to setup your project on Firebase as Google no longer supports Google Cloud Messaging. To do this, follow these steps from https://developers.google.com/cloud-messaging/android/android-migrate-fcm:

Google Instructions:
1. In the Firebase console, select Import Google Project.
2. Select your GCM project from the list of existing projects and select Add Firebase.
3. In the Firebase welcome screen, select Add Firebase to your Android App.
4. Provide your package name and SHA-1, and select Add App. A new google-services.json file for your Firebase app is downloaded.

-----------
Buzztouch Instructions:
5. Once you download google-services.json, copy it into your project in the 'app' folder.
6. Uncomment the last line of your app/build.gradle file.
 
FunkyMonkey
Aspiring developer
Profile
Posts: 1041
Reg: Aug 07, 2013
blackpool
13,210
like
01/04/17 08:14 AM (10 months ago)
Thanks chris, I will look into that, The problem i was having was in the buzz control panel and self hosting, it wont accept the password or cert side, one of the main attraction of buzz for me was the integrated push for both platforms, this is a huge selling point for me when it comes to apps, but i havnt had this working for few years now, so havnt been able to offer it to clients,I have tried all the suggestions on here including to use external push providers, which i manged to do on Android, but having both push in one place is realy important for me
 
WolfTimJ
buzztouch Evangelist
Profile
Posts: 793
Reg: Feb 20, 2011
Rockwall, TX
17,230
like
01/04/17 08:42 AM (10 months ago)
This is bad ass, in the best possible way. Lol.
 
WolfTimJ
buzztouch Evangelist
Profile
Posts: 793
Reg: Feb 20, 2011
Rockwall, TX
17,230
like
01/04/17 10:36 AM (10 months ago)
Can you guys post the RELEASE-NOTES.txt somewhere until the include issue is fixed?
 
SmugWimp
Smugger than thou...
Profile
Posts: 6254
Reg: Nov 07, 2012
Tamuning, GU
80,790
like
01/06/17 02:18 AM (10 months ago)
I do feel David and KB deserve some partial apology from me; although I still feel exactly the same with regards to the downloader class.

However when I said 'few improvements, nothing earth shattering', in retrospect I was somewhat mistaken. After snooping through a bit of code, I've noticed quite a lot of changes. While they aren't noticeable on the surface, lots of cleanup was done.

Arrangment of Screens vs Plugins is a worthy move.

Push seems to be improved. Looks good.

I'm thrilled to see Storyboards.

Implementation of the Database. Way cool.

Having fun wading through it all; It's all looking rather nice.

I still want my downloader update though. ;)

Cheers!

-- Smug
 
USofWine
Aspiring developer
Profile
Posts: 86
Reg: Apr 21, 2012
Denver, CO
5,360
like
01/06/17 02:22 PM (10 months ago)
Hi Everyone! So excited about these changes as I've been stuck on my droid release for about 6 months! I've redownloaded my project, put my map key in my manifest file, put my images in res-drawable, did a clean and tried to get a release apk....i'm still getting the same 2 errors as before (but before i had about 7):

1. error: cannot find symbol method getMap()

2. Execution failed for task ':appcompileReleaseJavawithJavac'

Has anyone overcome these errors? I've got team viewer if someone brave wants to poke around :)
 
USofWine
Aspiring developer
Profile
Posts: 86
Reg: Apr 21, 2012
Denver, CO
5,360
like
01/09/17 07:57 AM (10 months ago)
Morning all!

I heard about the update and downloaded again on Sunday and this AM- attempted to get a signed apk and i'm still getting the same two errors :( What am I doing wrong?
 
chris1
Code is Art
Profile
Posts: 3859
Reg: Aug 10, 2012
Oklahoma City, ...
50,090
like
01/09/17 12:26 PM (10 months ago)
There will be another update coming soon (this week I believe) to the android project. I will make sure this is not an issue.
 
USofWine
Aspiring developer
Profile
Posts: 86
Reg: Apr 21, 2012
Denver, CO
5,360
like
01/09/17 01:35 PM (10 months ago)
Thanks! If you could pm me and let me know that would be great :)
 
feraco
Aspiring developer
Profile
Posts: 699
Reg: Jan 23, 2012
nyc
14,990
like
01/09/17 02:45 PM (10 months ago)
great info thanks everyone!
 
David @ buzztouch
buzztouch Evangelist
Profile
Posts: 6865
Reg: Jan 01, 2010
Monterey, CA
78,830
like
01/12/17 06:44 AM (10 months ago)
Hey gang.

Working out when to roll out iOS / Android 4.0.1. Hoping to do this in the next few days.

We've been implementing fixes like issues with Colors / Backgrounds / Tabs / Refresh (and other weirdness) after the 4.0.0 feedback started rolling in last week. Good stuff.

4.0.1 for iOS and Android will come out at the same time with these little "gotchas" will be worked out. Lots and lots to do on other fronts but need to make sure the core is solid before moving on :-)

I'll post here when 4.0.1 is available in your control panels.
 
AlanMac
Aspiring developer
Profile
Posts: 2608
Reg: Mar 05, 2012
Esher, UK
37,080
like
01/12/17 08:59 AM (10 months ago)
Hi David, When building a plugin for BT3, there was provsion for packing in BT 3 code and BT 2 code (both ios and android). To support both BT 3 and BT 4 core, my belief is we would need to do something similar. Please could you confirm if that is the case please. I have pulled my plugins until I know what needs to be done.
 
Kaybee
buzztouch Evangelist
Profile
Posts: 632
Reg: Sep 22, 2012
Perth, Australi...
44,420
like
01/12/17 02:34 PM (10 months ago)
Hi all

Unfortunately this will no longer be the case. As mentioned earlier before by @chris1 core 3.0 won't work with plugins that are 4.0

We have started a new year moving forward with code that is up to date.

Please work on getting your plugins to cope with v4.0

Like David mentioned we are going to release 4.0.1 over the weekend and believe we have fixed all these errors that have appeared since the release of 4.0

We will soon be having a meeting with plugin developers that still wish to remain plugin developers going forward.

Regards

Kristen
 
AlanMac
Aspiring developer
Profile
Posts: 2608
Reg: Mar 05, 2012
Esher, UK
37,080
like
01/12/17 03:42 PM (10 months ago)
Appreciate you clearing that up Kristen.

Thanks, Alan
 
Kaybee
buzztouch Evangelist
Profile
Posts: 632
Reg: Sep 22, 2012
Perth, Australi...
44,420
like
01/16/17 10:50 PM (10 months ago)
Just a quick note for some of you on this thread that asked to be notified, 4/0/1 is now out and available on your Portal.

Enjoy
 
USofWine
Aspiring developer
Profile
Posts: 86
Reg: Apr 21, 2012
Denver, CO
5,360
like
01/17/17 09:35 AM (10 months ago)
Good news Bad news!!

The previous 2 errors I had are gone! Bad news- I have 2 new ones...hopefully able to overcome easily.

1. Error: @+id/txtScore is not a sibling in the same RelativeLayout

2. check release builds false


what is the way through these two?
 
USofWine
Aspiring developer
Profile
Posts: 86
Reg: Apr 21, 2012
Denver, CO
5,360
like
01/23/17 07:23 AM (10 months ago)
Any update on the new code?
 
chris1
Code is Art
Profile
Posts: 3859
Reg: Aug 10, 2012
Oklahoma City, ...
50,090
like
02/03/17 10:58 PM (9 months ago)
USofWine - can you please provide some more details? What screen is throwing that error?
 
USofWine
Aspiring developer
Profile
Posts: 86
Reg: Apr 21, 2012
Denver, CO
5,360
like
02/08/17 09:30 AM (9 months ago)
I'm getting all errors when I try to sign a release app with my release key..i messaged you my private email also in case you want to TV in and take a look
 

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.