After a long wait, Android support has finally arrived on my Chromebook. Chromebooks are lightweight laptops designed mainly for web browsing, but which can also be used offline. They are cheap, light and have long battery lives. They can handle most tasks just as well as any other laptop.
The Sales app is installed on a Chromebook via the Play Store app. If your Chromebook does not have the Play Store app installed, then it probably does not support Android. Google has published an official list of models that come with Android support.
The app can run either in portrait mode, or in full screen mode. In portrait mode, it behaves just as it would on a phone. When maximised, acts like it does on a tablet. Now that Dropbox support as been withdrawn, the Sales app is fully functional on Chromebooks.
The only problem when running the Sales app on a Chromebook is in locating the storage directory used by the Sales app. The app creates the directory when it is launched, so it is just a question of finding it. Unfortunately it does not appear in the Chromebook Files app, so that means installing an Android file manager app on the Chromebook.
The venerableES File Managerhas become hopelessly bloated, but there are plenty of other apps to choose from. The one that I would recommend is File Manager+. It is meant to be adware, but I have never seen any ads on a Chromebook.
The storage directory will appear as a bottom level directory called Vanguard. This is the way that it appears in all modern Android devices. Note it already contains a subdirectory called images, for storing the product images.
Because the storage directory does not appear in the Chromebook Files app, product images have to be moved in two steps:
Download your product images to the Download folder in the Chromebook. They should be visible in the Files app.
Use File Manager+ to move the product images to the storage directory.
Product images for the sample data can be downloaded from the support site. This is a zip file, which when expanded includes a directory called images.
Once the product images have been installed correctly, they will appear on detail screens, but not on product lists. To create the thumbnails for these, go to the SD Card screen, and select the Create Thumbnails option.
The Files app shows a low level directory called Download. File Manager+ shows a directory called Downloads. These are the same thing.
The Files app shows a low level directory called Images. This is just a pseudo-directory, that shows every image file on the Chromebook.
As mentioned above, the storage directory already contains a subdirectory called images.
Chromebooks will suit many users who currently use tablets, especially if they do a lot of typing.
Dropbox is introducing a new version of its API, and the old version is due to be retired. The Android and iOS clients both used the old version, to download product images and to back up the database. Trying to upgrade to the new version has proved problematic:
On the Android client, we were able to upgrade the API, but we could not get it to work properly.
On the iOS client, the new API is implemented in Swift. Our code is written in Objective-C, and we cannot upgrade the API at all.
We decided to revert to using the SD card for storage:
Some devices have an internal SD card, as well as an external one.
Data is stored in the Vanguard folder.
On devices running Android 6.0 and above, the app was using the Download folder. This anomaly will be removed.
Version 5.6.0 will be uploaded later on today.
We will be using the iCloud for data storage. At the moment I am having trouble logging on using my developer account, but this should only be a temporary setback.
Originally, the only development language that Apple provided for iOS was a proprietary one called Objective-C. All apps, including the Sales app for iOS, were written in this language. A few years ago, Apple introduced a new language for iOS called Swift. Converting the entire app to Swift was not an option, so it was largely ignored.
The iOS app includes support for Dropbox, using the SDK for the then current API v1. Recently, Dropbox brought out API v2, and said that support for API v1 would cease on 6th June 2017. However, the SDK for API v1 only supports Swift, and not Objective-C. It suggests to use of various bridging tools, but this is not really a viable option.
Because of this, I have chosen to support another cloud platform instead, probably Google Drive. This will be added to the Android app in the first instance, and then carried across to iOS one. It is ironic that Google offers better support for iOS than Dropbox does, but that is the reality of the situation.