Responsive Design: Rotating Your Device

When designing an app for mobile devices, you need to consider what happens if the device is rotated. You can just put up a message asked the user to rotate back, or you can design your app so it looks good in both portrait and landscape modes.

AppStudio 5 introduced Responsive Web Design as a way to layout your forms. RWD is a design approach for making apps size themselves to varying sizes of screens.

In this blog post, we’ll use Responsive Design to handle rotation in a simple layout with three buttons. The techniques can be used for much more complex layouts, of course.
Continue reading “Responsive Design: Rotating Your Device”

AppStudio 5.0.12 released

AppStudio 5.0.12 is now available. It includes a number of fixes and new stuff.

  1. Samples: All samples now have BASIC and JavaScript versions.
  2. Samples: new jPlayer streaming video sample (Thanks, Adrian!)
  3. Samples: new ResponsiveRotation sample.
  4. Build: Fix Mac OS ‘Get Info’ data.
  5. Controls: Don’t set button margin to 0 if position is relative.
  6. StyleHeaders: Process last, so its rules have precedence.
  7. StyleHeaders: Update Design Screen on close.
  8. Translater: Fix ‘else’ embedded in variable name.
  9. Translator: Fix regular expression error in array/function.

AppStudio 5.0.11 released.

AppStudio 5.0.11 is now available. It includes a number of fixes and new stuff.

  1. Controls: Add min, max values to Date Pickers – speeds up Android.
  2. Controls: Allow vh, yw sizes (viewport height, viewport width)
  3. Controls: Fix error in jqWidgets Tabs control.
  4. Controls: NavBar, FooterBar: All spaces are now converted to underscores for event argument.
  5. Controls: NavBar, FooterBar: Design time style now used at runtime.
  6. Deploy: Get project path to jqWidgets correctly.
  7. Form: Default form height is now 100vh.
  8. Make EXE: Unicode characters are now allowed.
  9. PhoneGap Build Status: Improve iOS message.

The current Android Chrome DatePicker has a number of problems. The most significant one is that it can take 4-5 seconds to load. It’s figuring out how to format many months ahead and behind in advance. You can speed this up by specifying an min and max for the date value, so it doesn’t do as much work. There are a couple of other bugs here and here. We expect Google will fix these soon. (Thanks to Doug Allrich for tracking this down!)

As always, we’re fixing bugs as fast as we find them. If you see any, let us know.

We’re always listening, so please send comments, suggestions and words of encouragement to support@nsbasic.com.

Using a local copy of jqWidgets

If you use any of the jqWidgets samples, you’ll notice the files for jqWidgets get loaded directly from jqwidgets.com. This makes sure that our samples are always using the latest versions of the files, and means we don’t have to include the entire jqWidgets library in the AppStudio distribution.

However, in the apps you create, it may be more convenient or efficient to have the files on your own system and served from your own server.

Furthermore, if you’re planning to compile your app using PhoneGap, you’ll need to have the files saved locally so they can be included in the app.

In AppStudio 5.0.10, we made this easier to do. Here’s how:
Continue reading “Using a local copy of jqWidgets”

Make your own Windows apps!

AppStudio 5 lets you create native Windows apps from your projects. It’s dead simple: Choose ‘Make Windows Executable (exe)’ from the Run menu, and your Project.exe file is ready a few seconds later.

Now you can distribute your apps to Windows users easily. All your project files are included, and it’s simple for your users to install.
Continue reading “Make your own Windows apps!”

AppStudio 5.0.10 released.

AppStudio 5.0.10 is now available. It includes a number of fixes and new stuff.

  1. Design Screen: Error when deleting control in a Container fixed.
  2. Samples: New sample using Chartjs library.
  3. Controls: Grid cellstyle property used when adding new rows.
  4. Controls: Make a number of controls behave better when using Responsive Design.
  5. jqWidgets: The path to the jqWidgets controls is now a Project Property.
  6. Controls: Formatting of NSB.MsgBox improved.
  7. Script Window: Allow other windows to be edited.

There is one breaking change. If you are using a local copy of jqWidgets, you need to set pathTo_jqWidgets in Project Properties, instead of each of the controls. Much easier and a lot less work in the future!

We’re fixing bugs as fast as we find them. If you see any, let us know.

We’re always listening, so please send comments, suggestions and words of encouragement to support@nsbasic.com.

Speed, Speed, Speed!

Premature optimization is the root of all evil. – Donald Knuth

You’re probably aware by now that we made a lot of improvements in AppStudio 5. One thing we did not do right away was optimize everything. It’s safer to make sure the code is solid and stable before looking for all the ways to make it fast.

In 5.0.8 and 5.0.9, having identified the bottlenecks, we got to work on making the IDE fast. Some of these date back to very early versions of AppStudio: some from new features added since. It is quite possible that AppStudio 5 is now the fastest version we have shipped.

Here are some of the things we did:
Continue reading “Speed, Speed, Speed!”

AppStudio 5.0.9 released.

AppStudio 5.0.9 is now available. It includes a number of speed improvements, especially for larger projects, plus some other fixes and new stuff.

  1. Code Window: Much faster. Lag between keystrokes on large projects eliminated.
  2. Script Window: Lets you display code, but no longer to modify it.
  3. Modal Forms: Overlay parameter fixed.
  4. Design Screen: CSS files work again.
  5. Samples: New OpenStreetMaps/Leaflet sample (Thanks, Adrian!)
  6. Controls: Tune Footerbar defaults.
  7. Controls: List control had a problem with empty list.
  8. Code Window: Fix intellisense not working all the time.
  9. Documentation: Offline Wiki files updated.

AppStudio 5.0.8 released.

AppStudio 5.0.8 is now available. It includes a number of speed improvements, especially for larger projects, plus some other fixes and new stuff.

  1. Design Screen: Adding controls more than twice as fast.
  2. Project Explorer: Moving controls up and down about 8 times faster.
  3. Code Window: Intellisense for user functions much, much faster.
  4. ServerStorage: Docs for installing on your own server are now available.
  5. Controls: jqxGrid now handles % heights properly.
  6. Design Screen: Copy and Paste of Containers fixed.
  7. Design Screen: Zero value for designHeight, DesignWidth fixed.
  8. Project Explorer: Dragging and dropping sound files fixed.
  9. Design Screen: Scrollbar no longer appears when fullscreen is false.
  10. Controls: Select no longer shows gray circle for custom icon.
  11. Samples: New Swipe sample. (Thanks, Mike Burgher!)
  12. Localization: Thai is complete. (Thanks, Theprasit S.!)

Container, Part 2: Putting controls inside

In our last blog post, we looked at how the new AppStudio 5 Container control could be used to create your own controls. Today, we discuss how the Container can be used to group controls.

There are a few reason to do this:

  • Controls in a Container can be moved around by moving just the Container
  • Controls can be logically combined in groups.
  • Controls can be visually linked by drawing a border around them.
  • Controls can be grouped together for Responsive Design purposes.

Let’s see how this is done:
Continue reading “Container, Part 2: Putting controls inside”