App Studio Version 2.6 Released!

We have just uploaded 2.6.0 to the servers. It adds camera support for iOS 6 devices, as well as other new features.

The download URL is the same as for 2.5.

2.6.0.0

  1. iOS6: Support added for Camera.
  2. iOS6: Support added for getting files from picture folder.
  3. iOS6: Cached file limit increased from 5 to 25 megs.
  4. Library: Retina library added. Allows higher quality images to be displayed.
  5. Samples: New RetinaHiRes sample.
  6. Samples: New Camera sample.
  7. Deploy: Local deploy to PhoneGap improved. See below.
  8. Deploy: Cordova updated to 2.0.0
  9. About Screen: now shows versions of installed modules.
  10. Language: SysInfo(2) and SysInfo(3) results improved.

Documentation Changes for Version 2.6.0

  1. Camera Support added: The TextBox control has a new input type: File. If you select that, a Choose File button will appear in your app. If you click on that, you will get the option of taking a picture or choosing an existing picture from Photos. See the Camera sample for more.

  2. Retina support added: This allows the display of Hi Res images on devices which support them. To use, add the Retina library to your project. Then, for each image you want to have displayed in Hi Res, add an additional image named xxx@2x.jpg to your project and in the manifest. See the RetinaHiRes sample for more.

  3. Local deploy to PhoneGap improved. In Deploy Options, if you select “Deploy to local or DropBox public folder, you can specify the location of the www folder inside your PhoneGap SDK project. When you deploy, all the files your app needs will be copied to this folder.

  4. iOS6: Changes to how SQLite and localStorage are used by iOS6. There have been important and significant changes. Read this blog post for more information.

Important: iOS6 and Data Storage

iOS 6 was released today. It has some important differences in how data is stored. For some users, it will appear that all data is lost. Read this to understand why and learn a workaround.

The information in this blog post, while intended for App Studio users, applies to all web apps, regardless of what tool was used to produce them.

  1. Home Screen data is saved in a separate place from Web App data.

    Prior to iOS 6, SQLite data and localStorage for Web Apps and Home Screen apps shared the same data. In iOS 6, they are separate. If you save some data in the web app, it will not appear in the Home Screen version of the app.

  2. Save to Home Screen does not preserve the user’s data.

    If you do a Save to Home screen from a web app, the data you have entered into the Web App to date will not be copied to the Home Screen app: it will start with empty files. Any data the user has already entered is only available if he continues to run as a Web App.

  3. Data in Home Screen apps is lost when upgrading to iOS 6.

    This is probably the worst news. If you had a Home Screen app in iOS 5 and entered a lot of data into it, you will lose it when upgrading to iOS 6. You can get at it only if you run your app as a Web App.

    If you have end users using apps created with App Studio, you will want to warn them of this.

  4. Data in Home Screen apps are now stored like native apps.

    Native apps each have their own sandbox where their data is stored, backed up and restored to. Prior to iOS 6, Home Screen apps shared data with the same app running in the browser. If the user cleared the cache in the browser, the Home Screen version of the app would lose its data too.

    With iOS 6, Home Screen apps’ data gets saved to a sandbox just like native apps. Backups and restores handle the data properly, and clear cache in the browser will not affect them.

  5. The intermittent data loss of iOS 5.1.1 seems to be cured.

The conclusion? iOS 6 offers much improved saving of data. Home Screen apps are now equal to native apps in this regard. However, there will be confusion over data entered in the browser when an app is turned into a Home Screen app. There will also be difficulties for apps on devices upgraded to iOS 6.

The best solution to this would be for Apple to fix Save to Home Screen to have it copy the localData and SQLite databases from the Web App.

What about Android?

Android (at least to 4.1) works similarly to iOS 5. The data in Web Apps is shared with the browser and is vulnerable to being deleted by a clear cache.

Thanks to Al Richey for helping with the tests to establish this!

Exiting an App

A support question we get here regularly is “How do you quit the app?”

You don’t. Notice that other mobile apps do not have exit buttons. When the user is done, he simply starts another app or the menu. Just like on websites: you don’t exit a website, you just go on to the next one.

Apple’s take on this is if an app quits on its own, it will present as a crash. It will therefore not be accepted into the App Store.

App Studio 2.5.1.1 Released!

We have just uploaded 2.5.1.1 to the servers. It has a number of minor enhancements as well as bug fixes.

The download URL is the same as for 2.5.

2.5.1.1

  1. IDE: Add default form size for Nexus 7.
  2. IDE: Fix small bug causing incorrect save prompts in limited cases.
  3. Language: Add new control.resize(left, top, width, height) function.
  4. Translator: Fix problem with functionName_xxx variables.

Dealing with different screen sizes (Draft)

This is a draft of a post that will be of interest to many. We would appreciate any comments from the community on how to improve it – feel free to send comments directly to us or to discuss on the web board.

In the beginning, when the only device was an iPhone with a 320×480 screen, laying out apps was easy. Today, that’s no longer true. App Studio supports 16 form sizes from 240×320 to 720×1280, along with custom sizes.

How can you design an app that looks good and runs well on all these devices?
Continue reading “Dealing with different screen sizes (Draft)”

Taking advantage of iOS Retina Displays

The iPhone 4s and new iPad feature ‘Retina’ displays. These displays have twice the number of pixels in height and width as previous devices, allowing images and text to display in resolution so high the human retina cannot make out the pixels. This gives a sharper look to text and pictures. App Studio 2.5.1 adds support for this.

It does not transform a 320×480 screen into one that you can use at 480×960. The extra pixels are all used behind the scene: the screen will look like the exact same 320×480 size to your app. Fonts are drawn using the extra pixels, and images rendered at high resolution if you supply high res versions of your images.

Here’s how to use it in App Studio:
Continue reading “Taking advantage of iOS Retina Displays”

App Studio 2.5.1.0 Released!

We have just uploaded 2.5.1.0 to the servers. It has a number of minor enhancements as well as bug fixes.

The download URL is the same as for 2.5.

2.5.1.0

  1. Code Window: Added .text to autocomplete.
  2. Code Window: Function/Sub popdown formatting improved.
  3. Code Window: Go to event was creating new event when one existed.
  4. Installer: Now has a certificate. Should help with Norton install.
  5. Language: NSB.InputBox sets focus and bring up soft keyboard.
  6. Library: Retina.js library added.
  7. Runtime: Internal logging improved.
  8. Samples: New Retina sample shows how to do HiRes images on iOS.
  9. Translator: Fix hang on Sub name with no parameters.

2.5.0.7

  1. Design Screen: Fix right click to create event function.
  2. IDE: Add ThemeRoller link to Options menu.
  3. Samples: Add ThemeRoller sample.

2.5.0.6

  1. Code Window: Fix spurious syntax error on Function statements.

How to access SAP from App Studio

The whole idea of App Studio is to make complex things for mobile devices easy. When someone asked us if App Studio could interface with SAP, we knew it would be interesting.

SAP is one of the top business automation vendors. With more than 180,000 companies using their software (and 55,000 employees of their own), they’re a giant. They have created some of the most advanced and comprehensive software for corporations.

So far, however, it’s been difficult to integrate mobile applications with their software. Hopefully, after this blog post, the world will be a bit easier.

Here’s how we did it:
Continue reading “How to access SAP from App Studio”

App Studio 2.5.0.5 Released!

We have just uploaded 2.5.0.5 to the servers. It has a number of minor enhancements as well as bug fixes.

The download URL is the same as for 2.5.

2.5.0.5

  1. Code Window: Pulldown function list cleaned up and sorts properly.
  2. Code Window: Right click and Find now opens Find with current selection.
  3. Controls: ComboBox, Select now have a .text property.
  4. Controls: ComboBox, Select with empty initial list fixed.
  5. Controls: ComboBox, Select: Changing .ListIndex calls _onchange, _onclick.
  6. Controls: Controls now have a .Visible property.
  7. Controls: Label now has Caption property.
  8. Controls: TextBox, TextArea controls now have .text property.
  9. Docs: Handbook and Language Reference updated.
  10. Runtime: CSng() uses more digits of precision.
  11. Samples: Now opens complex pathnames properly.
  12. Translator: Dim a(5):s=a(b.c+1) gets proper brackets.
  13. Translator: Empty function args now default to empty string.
  14. Translator: Function variable names now initialized as empty strings.
  15. Translator: Internal function Format() renamed to fix potential conflict.