AppStudio 4.2.3 released!

AppStudio 4.2.3 is ready. This release has a nice new Panel control, how to Videos and a number of updates and fixes.

  1. Controls: New jQM Panel control. (Thanks, Erkan!)
  2. Controls: The height property of Form object can now be set if fullscreen is false.
  3. Controls: jQM RadioButton square corners fixed.
  4. Controls: HeaderBar – background on notext buttons is gone.
  5. Code Window: go to function works properly in JavaScript
  6. Code Window: JavaScript functions created from Properties Window correctly.
  7. Deploy: iOS 8 no longer supports minimal-ui, so default is now off.
  8. Deploy: Security certificate handlers updated.
  9. Language: SQL now supports Using_SQLite#Parameters|parameters.
  10. Language: Bug in Yosemite’s handling of Arabic worked around.
  11. Language: Serbian added (Thanks, Elvir!)
  12. Help: Link to English and Arabic AppStudio Videos added.
  13. Libraries: DropBox upgraded to 1.2.
  14. Samples: New Panel sample.
  15. Samples: All use .appcache as the cache file name suffix.
  16. Samples: Updated to use SQLite Parameters.

Advanced control of the Camera using PhoneGap

(Guest post from Mike Burgher – thanks!)

I’ll share my experience using the Android camera; hope this doesn’t cause confusion. I wrote an NSBasic app that uses the camera to do motion detection on the area. It does time-lapse, auto-shoot the camera, and compares portions of the images over time. You use it, for example, if you are in a sketchy hotel room and you want some peace of mind. While you sleep, it will detect if the door starts to open, and alarms loudly and summons help.

It’s all NSBasic except the “getpicture” camera operation, which is a custom PhoneGap plugin. I know of no way to do this whole thing from JavaScript. The Android camera API sequence is non-trivial, but there is good documentation and code examples.

In a plugin, it’s fairly easy to select which camera, set the parameters, shoot the picture when the camera is ready, and save it.

The camera preview is more of an issue. The Android API sequence requires you to display a preview on the screen before the camera is ready to take a picture. For many applications, you don’t want to see that preview; you want to see your app. There are several approaches to hiding that preview, from making it ultra small (1px by 1px) to making it transparent on >= Android 4.0. But there is no single solution that works on all Android cameras. And there are various undocumented limitations on cameras, dictated by the manufacturer.

And it’s hard to debug a camera app! Things will work on the device, that won’t work in the Android emulator, and vice versa.

I started with an existing custom PhoneGap plugin called Foreground Camera, who’s purpose was to keep your app from going to the background and getting killed off by Android when you called the standard “getpicture”. It was modified to select the camera, hide the preview, and take the picture without user intervention.

Unfortunately, I’ve been living in an ancient PhoneGap 2.5 world for a long time. I suddenly have to bring all my stuff up to the current PhoneGap level. But I’d be happy to share my mods to this plugin. It’s not 100% stable yet, and I’d welcome any improvements.

— Mike

AppStudio 4.2.2 released!

AppStudio 4.2.2 is ready. This release has some nice new stuff, including a new Debugging option, Playsound options and modal forms.

  1. Debugger: New NSBApp Debugger for PhoneGap and iOS apps.
  2. Deploy: Error in Make Desktop App fixed.
  3. Deploy: Possible error in FastClick fixed.
  4. Controls: jQM CheckBox square corners fixed.
  5. IDE: Registration check when offline fixed.
  6. Language: new ForEach statement.
  7. Language: new Object.observe statement.
  8. Libraries: iOS 8 support added to Add to Home Page.
  9. Libraries: New EasyModal library
  10. Libraries: Retina updated to 1.3
  11. PhoneGap: Version can now be set in Project Properties
  12. Runtime: PlaySound now has stop and loop options.
  13. Runtime: Sound only inits if needed. Saves battery life on M8 device.
  14. Samples: New Modal sample.

PhoneGap 2.9 and older is deprecated

PhoneGap announced today that they will deprecate PhoneGap 2.9 and older on October 15, 2014. Phone 3.0 and later are supported: the current version (as of the date of this post) is 3.6.3.

In most cases, the changes will not be major. Remember to go into your Project Properties and edit ‘PhoneGap config.xml’. It will have a line like this – edit it to use Version 3.6.3 (current as of the date of this post).

  "<preference name=\"phonegap-version\" value=\"3.6.3\" />", 

You can also delete the line entirely. In this case, PhoneGap Build will always use the latest version of PhoneGap.

Google Play Store notice for PhoneGap apps

Recently, a number of users with AppStudio apps in the Google Play Store got this notification:

This is a notification that your {name of app), is built on a version of Apache Cordova that contains security vulnerabilities. This includes a high severity cross-application scripting (XAS) vulnerability. Under certain circumstances, vulnerable apps could be remotely exploited to steal sensitive information, such as user login credentials.

You should upgrade to Apache Cordova 3.5.1 or higher as soon as possible. For more information about the vulnerabilities, and for guidance on upgrading Apache Cordova, please see http://cordova.apache.org/ announcements/2014/08/04/android-351.html.

Please note, applications with vulnerabilities that expose users to risk of compromise may be considered “dangerous products” and subject to removal from Google Play.

To fix this, you have to update your project to use the current version of PhoneGap. Go into your Project Properties and edit ‘PhoneGap config.xml’. It will have a line like this – edit it to use Version 3.6.3 (or later – use the current version).

  "<preference name=\"phonegap-version\" value=\"3.6.3\" />",

You will then need to resubmit your app to PhoneGap Build. Use the resulting build to update your app in the Google Play Store.

AppStudio 4.2.1 Released!

AppStudio 4.2.1 is ready. A few new things for i0S 8, the iPhone 6 Plus and more…

1. Controls: Adsense updated for current API – Use Content ads instead of Mobile.
2. Controls: Projects with old style jqWidget Button rounded corners load properly.
3. IDE: Improvements to registering.
4. IDE: Support for iPhone 6 screen size added (375×646)
5. IDE: PhoneGap Status screen works properly in Arabic.
6. PhoneGap: Certificates updated.
7. Samples: New IndexedDB sample.
8. Samples: Updated AdSense sample.
9. Translations: Slovenian is complete!

AppStudio 4.2 released!

We’re happy to announce that AppStudio 4.2 has been released. It includes support for iOS 8, the iPhone 6, a new Signature control and more.

It’s available from the usual download location.

Here is the complete list of what is changed:

  1. Adsense: Updated for current API.
  2. Controls: Add zoom capability to scrollers.
  3. Controls: Facebook now uses HTTPS, updated for new API.
  4. Controls: jQuery Mobile updated to 1.4.4
  5. Controls: jQWidgets updated to 3.5
  6. Controls: New Signature Control
  7. Controls: Missing filter image added to jqxGrid.
  8. Documentation: Locale files and Wiki updated.
  9. Documentation: Unneeded Locale files removed.
  10. Deploy: Icon for Android home screen now appears.
  11. Deploy: New projects default to PhoneGap 3.5.0.
  12. IDE: Support for iPhone 6 screen size added (375×646)
  13. IDE: New Education license options
  14. IDE: Registered name now appears on About screen.
  15. iOS8: minimal-ui no longer supported.
  16. Runtime: Print output is scrollable again.
  17. Samples: New GridDynamic sample. Shows how to dynamically read SQLite database.
  18. Samples: New Signature sample.
  19. Samples: New TwitterURL sample.
  20. Samples: New WhatApp sample.
  21. Samples: Obsolete WebSocket samples removed.
  22. Samples: Update ListWithScrolling sample.
  23. Translator: Dim array with variable as one of the bounds gets treated properly as an array.
  24. Translations: Tagalog is complete!

More Twitter Tricks!

You may have seen the Twitter sample in Sample Folder 7: it shows how to use the Twitter control to add some basic Twitter functionality into your app.

You can add more functionality by controlling the Twitter app from your AppStudio program. To do this, you’ll need to have the Twitter app installed and be logged into it. Most Twitter users will not have to do anything extra.

Here’s what the sample app look like:

Screen Shot 2014-08-18 at 4.29.19 PM

Continue reading “More Twitter Tricks!”

Sending a message to WhatsApp

WhatsApp is one of the hottest new apps this year. It lets you send messages to other WhatApp users via the net. It has over 500 million active users, with 700 million messages sent each day.

WhatsApp has an API, so you can hook it into your AppStudio app. It has two functions: open the WhatsApp app from your AppStudio App, and send a message to WhatsApp.

Here’s how our test app looks:
Screen Shot 2014-08-14 at 9.39.13 AM
Continue reading “Sending a message to WhatsApp”

Contest 2014 Results!

We’re pleased to announce the results of our fourth programming contest.

We had three categories: Business, Fun and Education. All registered NSB/AppStudio users were welcome to participate in the contest. Prizes were $100 USD in each category.

Judging was by NSB’s experts. All judging was arbitrary and final. We looked for quality, performance, ease of use, sophistication and overall coolness. Apps could be anything: Enterprise, business, commercial, education, games or even something whimsical.

All programs had to be created using NSB/AppStudio. Entries could be commercial, shareware or freeware, and for iPhone, iPad, Android or multiple platforms. Code could be written in JavaScript or Basic, HTML5 and css.

Without further ado, here are our winners: (full results are here)

Continue reading “Contest 2014 Results!”