AppStudio 6.2.2 released!

We’re pleased to announce AppStudio 6.2.2 is ready.

One interesting new feature is the centerScreen property. If set, your app will center itself on the screen instead of placing itself in the top left corner. If you do not want to adjust the layout of your app for different screen sizes, this is an easy way to make your app look better.

New and improved stuff includes:

  1. Forms: New centerScreen property: Centers app on screen. Useful for different screen sizes when app is not Responsive.
  2. Forms: Add initial and inherit to position types.
  3. Controls: Audio: fix minor text formatting issue.
  4. Controls: BS Fliptoggle.disabled now works properly.
  5. Controls: BS Fliptoggle: Add primary to appearance types.
  6. Controls: BS Button blocklevel now works properly.
  7. Controls: jQM Select style now only affects current control.
  8. Samples: DataTables sample adds refresh data, highlight row/cols, toggle options at runtime.
  9. Samples: Fix responsiveness on Users sample.
  10. Translator: a[“a b”] = 3 now works.

Watch for upcoming blog posts on some of these enhancements – there is some cool new stuff you can do.

Download the latest version from ‘Check for Updates’ under then AppStudio Help menu. It is a free upgrade for AppStudio 6 users.

Posted in news | Comments Off on AppStudio 6.2.2 released!

Using Browser Arrows

Many people use the backward and forward browser arrows to navigate apps. It’s a convenient way to go back to the previous screen.

Unless you make special provisions, this will not happen automatically for your app. Starting in AppStudio 6.2.1, we’ve made this easy.
Continue reading

Posted in tips | Comments Off on Using Browser Arrows

AppStudio 6.2.1 Released!

We’re pleased to announce AppStudio 6.2.1 is ready.

The biggest change is support for using back and forward arrows in the browser. It’s been completely rewritten. If your app has multiple forms, try setting ‘enableBrowserArrows’ to true in Project Properties and give it a try.

The new release also has some new Volt features. They allow Volt apps to be opened inside other apps and to set rules for Cross Origin sharing.

New and improved stuff includes:

  1. Runtime: New routing logic, based on Navigo. Used when enableBrowserArrows is true in Project Properties.
  2. Project Properties: New enableNiceLinks property. Get rid of # in URL bar when enableBrowserArrows is true. Also needs to be set in Dashboard.
  3. Bootstrap: Select.text = “value” now works to select an item.
  4. Bootstrap: Input.disabled now works at runtime.
  5. Forms: Form.reset() no longer errors on BS Select.
  6. Samples: Modify options in GridWithScrolling and ListWithScrolling for Chrome < 56.
  7. Volt Dashboard: Updated to Version 1.0.4
  8. Volt Dashboard: New Nice Links features. Eliminates # from URL when using browser arrows. enableNiceLinks in Project Properties also needs to be set.
  9. Volt Dashboard: New Framing option. Defines when your app can be used in a frame within another app.
  10. Volt Dashboard: New CORS option. Defines where Cross Domain access is allowed from.

Watch for upcoming blog posts on some of these enhancements – there is some cool new stuff you can do.

Download the latest version from ‘Check for Updates’ under then AppStudio Help menu. It is a free upgrade for AppStudio 6 users.

Posted in news | Comments Off on AppStudio 6.2.1 Released!

AppStudio 6.2 released!

We’re pleased to announce AppStudio 6.2.0 is ready. New and improved stuff includes:

  1. Bootstrap: New DataTables control.
  2. jqWidgets: New jqxDropDownList control.
  3. Bootstrap: Apps with icons can run in offline mode.
  4. iScroll: Libraries updated to latest version.
  5. iScroll: Issues related to Chrome 56 should be resolved.
  6. iScroll: Code to patch around iScroll issue #674 removed – no longer needed.
  7. iScroll: HTMLView: overflow-y:scroll added to default options, to fix slow scrolling.
  8. iScroll: jqm List: scrollBars:true should be removed to prevent extra clicks.
  9. Samples: New DataTable sample.
  10. Samples: Updated samples for all which use scrolling.
  11. Documentation: Locale files updated.

Watch for upcoming blog posts on some of these enhancements – there is some cool new stuff you can do.

Download the latest version from ‘Check for Updates’ under then AppStudio Help menu. It is a free upgrade for AppStudio 6 users.

Posted in news | Comments Off on AppStudio 6.2 released!

What does “useStrict” do?

AppStudio 6 introduces a new project property called useStrict. It catches a number of previously non fatal errors in your code and gives error messages.

Here’s an example. If you have the following code:

a = "george"

where a has not been defined, you will get an error with useStrict set to True. There is no error if it is False. UseStrict forces you to have better code.

The solution is to declare the variable before use, using Dim for BASIC and var for JavaScript.

Dim a    ' BASIC
var a;   // JavaScript
a = "george"

Caution: If you turn useStrict on with an existing project, you need to do a complete retest of every part of your project. It will throw errors in code which worked before.

Here is a list of issues found by useStrict:

  • Disallows global variables. (Catches missing var declarations and typos in variable names)
  • Silent failing assignments will throw error in strict mode (assigning NaN = 5;)
  • Attempts to delete undeletable properties will throw (delete Object.prototype)
  • Requires all property names in an object literal to be unique (var x = {x1: “1”, x1: “2”})
  • Function parameter names must be unique (function sum (x, x) {…})
  • Forbids octal syntax (var x = 023; some devs assume wrongly that a preceding zero does nothing to change the number.)
  • Forbids the with keyword
  • eval in strict mode does not introduce new variables
  • Forbids deleting plain names (delete x;)
  • Forbids binding or assignment of the names eval and arguments in any form
  • Strict mode does not alias properties of the arguments object with the formal parameters. (i.e. in function sum (a,b) { return arguments[0] + b;} This works because arguments[0] is bound to a and so on. )
  • arguments.callee is not supported
  • Keywords are checked, including some new ones: implements, interface, let, package, private, protected, public, static, and yield.
Posted in tips | Comments Off on What does “useStrict” do?

The future of nsbapp.com

When we released the first version of AppStudio in 2010, we realized our users would need a test server for their apps. We created nsbapp.com for this purpose.

Seven years later, almost everything has changed in AppStudio, sometimes more than once, to keep up with constantly evolving web technology. With AppStudio 6, we introduced Volt, our new server. It replaces nsbapp.com in its role as a test server, and does much more.

The operating system which nsbapp.com runs on obsolete. As of April 30, it will no longer receive security patches. Without those, it becomes a danger to its users and the internet. We need to retire it.

This will not affect anyone who has upgraded to AppStudio 6. However, there are still a few dozen people with older versions of AppStudio who are actively using nsbapp.com. If you are using an older version, AppStudio will still work after April 30. You will need to deploy to your own server: nsbapp will no longer be available.

If you have concerns, please contact us at support@nsbasic.com. We will be glad to help.

Posted in news | Comments Off on The future of nsbapp.com

AppStudio 6.1.2.1 released!

We’re pleased to announce AppStudio 6.1.2.1 is ready. It fixes a couple issues:

1. Google updated Chrome to version 56 in the past few days. It affects how scrolling works on Android devices, particularly with the Common Grid. AppStudio’s scrolling is handled by the iScroll Library. An update to that library seems to resolve the issues.

2. Apps using Bootstrap controls with icons did not run in offline mode. The problem was that the icon files were being loading dynamically. They have now been made part of the core files, so they can be cached.

If you notice any issues after these changes, please let us know right away.

Download the latest version from ‘Check for Updates’ under then AppStudio Help menu. It is a free upgrade for AppStudio 6 users and subscribers.

Posted in news | Comments Off on AppStudio 6.1.2.1 released!

AppStudio 6.1.2 released!

We’re pleased to announce AppStudio 6.1.2 is ready. New and improved stuff includes:

  1. About_Screen: Shows current subscription status
  2. Code Window: Fix problem with displaying function names.
  3. Controls: Bootstrap Input and Textarea can now set focus.
  4. IDE: Subscription status checked on startup – will give warning if expiring.
  5. Volt: 7 day grace period on expired subscriptions.
  6. Volt: Improve error message on bad password.

Download the latest version from ‘Check for Updates’ under then AppStudio Help menu. It is a free upgrade for AppStudio 6 users and subscribers.

Posted in news | Comments Off on AppStudio 6.1.2 released!

Subscriptions Update

The AppStudio 6 Upgrade includes a bonus free subscription: 4 months if paying by PayPal, 120 days if paying by credit card. The subscription gives you a few nice things:

  1. Use of Volt Services, including
    • App Hosting
    • User Management
    • serverStorage and appStorage
    • Adsense
    • Custom Domains
    • Credit Card payment processing
  2. No charge for future major releases of AppStudio
  3. A special rate of $9.95/month (regularly $15.00)

If you bought the AppStudio upgrade when it came out, you will start getting charged this month. If you want to change your subscription level to Free or Pro, you can do so using the Subscription Manager.

There are 3 subscription levels:

  1. Free: Apps hosted on Volt Server for testing only, limited time.
  2. Essential: Volt Sevices and free upgrades. This is what came with the upgrade.
  3. Pro: Essential, plus Premium Support.

If you have any questions about your subscription, please contact us right away at support@nsbasic.com. We’ll be happy to help!

Posted in news | Comments Off on Subscriptions Update

Using appStorage to save App-level Data

Previously, we looked at serverStorage, which allows you to save data from your app on the Volt server instead of on the device. serverStorage is saved for the user of the app – other users cannot look at it.

appStorage is data which is shared by all the users of the app. Some possible uses are:

  • A product list, with the latest prices and availability.
  • A message to all users.
  • A table with the latest tax rates or exchange rates.

appStorage works just like serverStorage. It has the same functions. The big differences are that all users of the app see the exact same data, and only Dashboard apps can modify it.

Regular users of the app can use getItem() and getAllItems.

The function clear(), removeItem() and setItem() can be used if the following two conditions are met:

  1. Dashboard Access in Project Properties is set to true.
  2. The name used to sign into the app is the same as the name used to upload the app to Volt.

To use these functions, there is an additional 3rd parameter with the VoltID of the app whose appStorage is to be changed:

appStorage.setItem("SimpleString", "ABCD", "XxXxXx", done);

Dashboard apps include the Dashboard itself, as well as apps which have Volt Dashboard Access project property set to True. You can check NSB.voltDashboardAccess at runtime to see if Dashboard access is enabled.

This is a powerful features, but it should be used wisely. Set Volt Dashboard Access to false for your users so they only read the data in appStorage. If you have an app which creates and changes data for them, do so in a separate app with Volt Dashboard Access set to true.

Posted in tips | Comments Off on Using appStorage to save App-level Data