Alpha Launch

Description

Alpha Launch allows you to install mobile Alpha Anywhere apps to Apple and Android devices without PhoneGap build or an AppStore.

Discussion

Alpha Launch is a free AppStore app available for Android or Apple devices. Alpha Anywhere applications can be downloaded and installed within Alpha Launch. Applications deployed to Alpha Launch do not need to go through the Apple or Android App stores. Apps deployed to Alpha Launch also do not require a PhoneGap build account. Alpha Anywhere mobile apps are installed into Alpha Launch, not directly to the device. This makes it extremely easy and quick to install new Apps on a device.

Publishing Apps to a Device using Alpha Launch

Publishing mobile apps to an App store (especially the Apple App store) can be a time consuming and frustrating experience. With Alpha Launch you can quickly and easily publish mobile apps to Apple and Android devices, completely bypassing the App stores and PhoneGap Build.

In this video we show how you can publish an App to a device using Alpha Launch.

2017-03-26

The use cases for Alpha Launch include:

  • You are developing a mobile App for a client and you want the client to be able to install and test the App on their own device
  • Organizations that need to create many 'employee-facing' applications and need a quick way to deploy these applications to their user community
  • You want a quick and easy way to update previously installed Apps on a device without having to wait for App store approval.

Once an App has been installed into Alpha Launch it operates largely identically to the way in which it would operate had it been installed directly on the device. For example, even when there is no internet connection, you will be able to start any App that is installed in Alpha Launch.

Alpha Launch is not suitable as a means of deploying a public facing App that will be installed by many users who will go to the App store to find and install your App. When an App is installed directly onto a device the App icon will appear on the device's home screen. However, when you publish to Alpha Launch, the App will not have an icon on the home screen. To launch the App you will first have to open Alpha Launch and select the App from the list of Apps installed in Alpha Launch.

Apps installed in Alpha Launch are PhoneGap applications (even though you did not have to go through the PhoneGap build process) and they can use any of the PhoneGap plugins that Alpha Launch exposes. For more information see Understanding Alpha Launch Limitations.
On Apple devices, there are other ways that you can allow a user to test an App that you are developing using the Apple Test Flight system. However, setting up Test Flight is complex. Alternatively, you could get the UDID of a user's device and use a special Apple publishing profile with PhoneGap build that allows Apps that you build to be installed on that user's device (without having to submit the App to the App store). However, this too, is complex and you are limited to only 100 devices.

 Understanding Alpha Launch Limitations

  • Alpha Launch is branded as an Alpha Software App. If you want a version of the Alpha Launch App that is branded with your company's logo and colors, contact the Alpha Software sales department.
  • The Apps that run in Alpha Launch are PhoneGap Apps, but they can only use the plugins that Alpha Launch was configured to use. If you want a version of Alpha Launch that uses a different set of PhoneGap plugins, please contact your Alpha Software sales person.

To see the list of plugins that Alpha Launch enables, tap the Settings button in the footer of the Alpha Launch home screen.

If Support Settings are not shown, enable Show Support Settings by tapping the switch to display the Support Settings.

Scroll through the Support Settings until you find List PhoneGap Plug-ins. Tap on List PhoneGap Plug-ins to see a list of all available plug-ins. This will show the plugins that can be used in your mobile app:

 How to Install Alpha Launch on a Device

To install Alpha Launch on a device, simply go to the App store and search for 'Alpha Launch'.

 How to Run an App That Has Been Installed in Alpha Launch

To run an App that was previously installed in Alpha Launch, simply launch the Alpha Launch App on your device by clicking the Launch icon.

Then scroll the list of installed Apps until you find the App that you want and tap on the App name.

 How to Install an app Within Alpha Launch

To install a new App within Alpha Launch, tap the Manage/Add button in the footer of the Alpha Launch App.

If there are any existing installed Apps a screen showing these apps will be shown.

Note that for each installed App, the name of the server from which the App was installed is shown. When an App is run, all Ajax callbacks are made to the same server from which it was originally installed.

You can use this screen to reorder the installed Apps. You can also use a 'press-hold' gesture on any of the Apps in the List to bring up a screen that will allow you to uninstall an App or to update the App.

Tap the Add button to bring up a list of the available Apps on the server that Alpha Launch is currently configured to use.

For each App that is listed, there is either an Install or Reinstall button. The Install button will appear if the App is not currently installed and the Reinstall button will appear if the App has previously been installed. Reinstalling a previously installed App is effectively updating the App to a newer version of the App.

 How to Select the Active Alpha Launch Server

When you click the Add button on the Manage App List screen, the Apps that are available on the active Alpha Launch server are shown. You can change the active Alpha Launch server by tapping the Settings button at the Alpha Launch home screen.

Then, tap on 'Server Web Address for Downloading Apps...'.

This will bring up the list of registered servers.

Tap on the server you want to select, then tap the Select button.

The Active Alpha Launch server only controls the list of available Apps that you can install when you press the Add button to install a new App. If an App (called 'App1' for example) was installed from 'Server1' and then the active server is changed to 'Server2', when App1 is running, it will make Ajax callbacks to 'Server1', regardless of what server is currently designated as the 'active' server.

 How to Register a New Alpha Launch Server

To register a new Alpha Launch server, follow the instructions (above) for selecting the Active Alpha Launch server. On the Server List screen (shown above), tap the Add button.

This will bring up the Edit Server Info screen where you can either type in the server address or scan a special QR code that encodes all of the necessary information.

 How To Publish an App to Alpha Launch

To publish Apps to Alpha Launch open the Web Control Panel and select the project that contains the Apps that you want to publish.

An 'App' is a UX component. The UX component can call child UX components, but these child UX components should typically be configured as Precomputed so that they can load directly from the device (so as not to be dependent on an Internet connection).

Before you publish Apps to Alpha Launch you must first 'register' the Apps you want to publish. Registering an App involves defining how the App will appear when it is shown in the Alpha Launch home screen and how it will be described when a user displays the list of available Apps that can be installed into Alpha Launch

 Registering Apps To Be Published to Alpha Launch

To register the Apps from a particular Web Project for publication to Alpha Launch, tap the More... button on the extreme right of the Web Control Panel.

Then select the AlphaLaunch > Publish Apps to AlphaLaunch... menu item.

This will bring up the Alpha Launch dialog where you can register the Apps from the Web Project that you want to publish to Alpha Launch.

To register a new UX component, click the Add component button and then select the UX component you want to publish.

The Alpha Launch dialog will then show the component that you selected and the orange icon will indicate that the settings for this component have not yet been defined.

Either double click on the component name, or click the Edit component settings button to open the Alpha Launch Settings dialog box.

The important properties on this dialog include:

Property
Description
ID

The ID must be unique across all App that are installed in Alpha Launch. It is common to use a reverse URL format for the ID (e.g. com.mydomain.myappname), but this is not required. The ID will be used in future versions of Alpha Launch to allow one Alpha Launch App to communicate with another Alpha Launch App.

Name

The name of the App. This is the name that is shown on the Alpha Launch home screen and in the list of available Apps that can be installed into Alpha Launch when a user adds a new App to Alpha Launch.

Description

The App description. This is the description that is shown on the Alpha Launch home screen and in the list of available Apps that can be installed into Alpha Launch when a user adds a new App to Alpha Launch.

Version

The App version.

Minimum size

Defines the minimum screen resolution of the device that the App can be installed on. You can leave this blank if you do not wish to set a minimum size.

Maximum size

Defines the maximum screen resolution of the device that the App can be installed on. You can leave this blank if you do not wish to set a maximum size.

Template

The template defines how an installed App will appear on the Alpha Launch home screen. By checking the Advanced mode property, you have complete control over the template. The template can include special placeholders (e.g. {name} and {desc} ) to show the App name and description. If you want to use a default template style, do not check the Advanced mode property. You will then be able to select the App icon and background color of the row for this App in the list of installed Apps.

Icon type

You can either use an SVG or bitmap as the icon for the App. The icon is shown in the list of installed Apps at the Alpha Launch home screen.

Download Type

Defines the type of download. Options are manifest or singleWithHeader. manifest publishes all app files individually. singleWithHeader publishes the app as a single file. singleWithHeader is recommended for publishing. With this option, all of the files that need to be installed on the device are combined into a single file which is then downloaded and unpacked on the device. It is considerably quicker to download a single large file than hundreds of smaller files. singleWithHeader is only available under Alpha Anywhere 4.5.4.1 or newer and only works with Alpha Launch 2.1.1 (released June 18, 2018.)

Download location

If you leave this property blank, the App files are download from a folder in the webroot of your Alpha Anywhere server. However, you can download the App files from another server if you wish. For example, you might want to have Alpha Launch download the App files from Amazon S3. In this case you would enter the URL of the bucket on S3 where you have placed the App files. For example: http://mys3account.s3.amazonaws.com/app1. For more information on why you might want to specify another server (such as S3) as the download location see App Install Errors below.

AEX Files

If checked, Xbasic functions defined on the Control Panel (not the Web Projects Control Panel) will be compiled into an AEX file and published when the Alpha Launch application is published.

You can preview how the App will appear in the Alpha Launch home screen by clicking on the Preview app template hyperlink at the bottom of the screen. For example, here is a preview of a template that is using a purple background color and an SVG icon.

Once you have registered all of the Apps in a Web Project that you want to publish to Alpha Launch you are nearly ready to publish to Alpha Launch.

Before you can publish, you must first define a Publishing Profile that indicates where the Apps will be published (i.e. the Alpha Anywhere server and folder on that server where the Apps will be published). To define a publishing profile, click the Profiles button on the toolbar when the Web Project Control Panel has focus.

Each Web Project will typically be published to its own Alpha Launch server address. For example, you may have 3 UX components in 'Web Project1' that you want to publish to Alpha Launch and 2 UX components in 'Web Project2' that you want to publish to Alpha Launch. In both cases you may want to use the same physical Alpha Anywhere server. The Publishing Profile that you define for 'Web Project1' might specify that you want to publish to a folder called 'webProject1', in which case the server address for the 3 Apps in this group of Apps might be something like 'http://www.myAAserver/webProject1'. On the other hand, the Publishing Profile you define for 'Web Project2' might specify that you want to publish to a folder called 'webProject2', in which case the server address for the 2 Apps in this group of Apps might be something like 'http://www.myAAserver/webProject2'.

You can publish apps to and install from the Development Server. To do this, specify the IP address for you computer and the port number in the Server Address. For example, "http://192.168.70.120:8080/alphalaunch". This should only be done for testing purposes as your local IP address is not static.

Once you have defined the publishing profile, click the Publish Apps to Alpha Launch Server button on the Alpha Launch dialog.

This will bring up the Publish to Alpha Launch dialog. You will need to select the Publishing Profile to use and you will also need to specify the Server URL (i.e. the url of the location where the Apps are being published).

Once you have published your Apps you will need to register the server in Alpha Launch. Alpha Launch will contact the server to get a list of the available Apps.

For instructions on how to register a server with Alpha Launch, see How to Register a New Alpha Launch Server. To make it easy to register a new Alpha Launch server (i.e. to avoid having to type in a long server URL on a mobile device keyboard), you will probably want to generate a QR code with with server address. Check the Show a QR code... property before you click the OK button.

You can use Advanced mode when you want to republish to Alpha Launch after having made a change to the App settings (e.g. the App template, description, version number, etc.), but not the App itself. This will speed up the process of publishing the Apps because it will avoid having to recreate the static fileset for each App.

 Publishing Alpha Launch App Files to Amazon S3

By default, when you publish an App to Alpha Launch, the Alpha Launch client (i.e. the App running on the mobile device) will download the App from the same folder to which the App was published. The App will be published to a folder in the webroot of the standard Alpha Anywhere server, the Alpha Anywhere IIS server, or AlphaCloud.

However, you can also publish the app to a S3 bucket and when the Alpha Launch user tries to install a new App, the App files will be downloaded from S3, rather than from your Alpha Anywhere server. Of course, once the user actually starts using the App on their device, Ajax callbacks will be handled by your Alpha Anywhere server.

The benefit of downloading Apps from S3 is that you offload work from your Alpha Anywhere server to S3. Also, in certain cases, when using an Android device and downloading an App from an Alpha Anywhere standard server, the install might fail because the App has too many files. By using S3 as the download location, you can circumvent this problem.

If you want to publish the App to S3, check the Use Amazon S3 as download site for Alpha Launch Apps checkbox on the Publish to Alpha Launch dialog.

You will need to specify:

Setting
Description
S3 URL

The URL to your S3 bucket where your Alpha Launch files will be published. e.g. http://alphalaunchservers.s3.amazonaws.com/. Do not include the name of the S3 Folder in the URL

S3 Folder

The folder within the S3 bucket where your App files will be published.

S3 Connection String

The connection string to your S3 bucket. You can either use an explicit or named connection string. If using a named connection string, you must use the ::storage:: prefix.

 Verifying the Publish

Publishing apps to Alpha Launch can be tricky. The Check if files were published correctly button in the Alpha Launch dialog allows you to check if your publish worked correctly. To test your publish, click the Check if files were published correctly button.

The publishing profile you define for Alpha Launch publishing should not use used to publish your application using the standard Publish dialog. The Alpha Launch publishing profile is for the exclusive use of Alpha Launch publishing.

 Adding an Exit Button to your App

When an App is run in Alpha Launch you will typically want to add an 'Exit' button to your App to go back to the Alpha Launch home screen. If you do not add an Exit button, then after the user launches the App they will not be able to get back to the Alpha Launch home screen to launch a different App.

You can use Action Javascript to add an Exit button, or you can code the Javascript for the button yourself.

To use Action Javascript, select the 'AlphaLaunch Actions' action for the list of available Action Javascript actions.

To code the Javascript directly, use this code:

if(A5.shell) {A5.shell.exitComponent();};

The code tests if you are running in Alpha Launch, then if you are then it calls the A5.shell.exitComponent() method.

 Troubleshooting

The most common problem with Alpha Launch is that after you have published Apps to your Alpha Launch server and you then go to Alpha Launch to install the Apps you just published, the Apps are not listed on the Apps to Install screen. This cause of this problem is either the Application Server has not been started, or the Server Address (i.e. URL) that was entered in the Publish to Alpha Launch dialog was incorrect.

You can test if you entered a valid server address by going to a browser and entering the following URL into the browser

<server URL>/availableAppInfo.txt

For example, if your server URL was entered as:

http://192.168.70.157/AlphaLaunchDemo

You would enter this address into the browser address bar:

http://192.168.70.157/AlphaLaunchDemo/availableAppInfo.txt

If you do not receive a response, then it is likely that the server URL that you specified is incorrect.

 App Install Errors

On some devices, an error can occur when installing an App from the Alpha Anywhere Standard Application Server (as opposed to the Alpha Anywhere Server for IIS or Alpha Cloud) if the App has a large number of files. The Standard Application Server limits the number of files that can be simultaneously served. On some devices, such as Android devices, the device tries to download all files simultaneously, exceeding the capacity of the Standard Application Server.

To resolve this issue, change the Download type to 'singleWithHeader'.

This error does not occur if you are using the Alpha Anywhere Application Server for IIS or Alpha Cloud.

The Download type option 'singleWithHeader' is only available for Alpha Launch V2.0.0.

For older versions of Alpha Launch, you can work around this problem by copying the folder that contains your App files to a bucket on Amazon S3. When configuring the Alpha Launch profile, set the Download location for the App to the URL of the S3 bucket to specify the application's files should be downloaded from Amazon S3 and not the Application Server.

 Alpha Launch Methods

  •  A5.shell.exitComponent()

    Exit the App that is running an return to the Alpha Launch home screen.

    if (A5.shell) {
        A5.shell.exitComponent();
    }
  •  A5.shell.getAppDir()

    Returns the file URL of the local directory with the App's files.

    if (A5.shell) {
        var appDir = A5.shell.getAppDir();
        alert(appDir);
    }
  •  A5.shell.getAppFileStorageDir()

    Returns the file URL of the local directory where the Apps data files are stored (this is separate from other Apps).

    if (A5.shell) {
        var localDir = A5.shell.getAppFileStorageDir();
        alert(localDir);
    }

 Resources

Additional resources

Name
Description
Alpha Launch Checklist

A checklist for deploying mobile applications to Alpha Launch.

Publishing Alpha Launch Apps to Localhost for Testing

Alpha Launch applications can be published to and installed from the local area network running the development server. This is a useful technique for testing Alpha Launch applications.