We are investigating Nox App Player as an alternative to ARC Welder for PC-based testing of apps built with App Inventor. Nox is an Android 4.4.2 emulator, allowing Android apps to be run on a PC.
The installer is just over 250MB and can be downloaded from http://en.bignox.com/. Installation requires Administrator privileges, and an email address is requested though appears not to be used. Installation and startup is a little slow. Nox recommends that virtualisation (VT-x) is enabled in the computer BIOS to improve performance, but this is not required and the emulator performs well without it.
To test an app with Nox, build and save the APK file in App Inventor as usual. The APK file can be dragged and dropped onto the Nox emulator, or there is a Load APK button in the vertical control panel to the right of the emulator. Once installed, apps are retained in the emulator until manually deleted. Switching between landscape and portrait orientation requires Nox to be restarted.
Showing posts with label Smart Skills. Show all posts
Showing posts with label Smart Skills. Show all posts
Friday, 17 June 2016
Friday, 15 April 2016
BlueStacks App Player
We are investigating BlueStacks App Player as an alternative to ARC Welder for PC-based testing of apps built with App Inventor. BlueStacks is primarily intended as a games platform, allowing Android games to be played on a PC or Mac and streamed live if desired.
The installer is just over 300MB and can be downloaded from http://bluestacks.com/. Installation requires Administrator privileges. Some apps are installed automatically, though most of the apps shown in the channels are links to the App Store. *There is no need to connect a Google account in order to test APKs, so the One Time Setup tab can be closed. ** The BlueStacks TV window opens every time BlueStacks is started; it can be closed or ignored.
To test an app with BlueStacks, build and save the APK file in App Inventor as usual. Double-click the APK file to install it in BlueStacks, or click the APK icon in the control panel and select the file. (If your browser is configured to open a dialog box for downloads, APKs can be installed directly to BlueStacks without saving them first). Installed apps appear on the Android tab; click on All Apps in the Recently Played section to see newly installed apps. Apps can be switched between landscape and portrait by clicking the rotate icon at the top of the control panel. Usually this will close and restart the app in the new orientation, though it may need to be manually restarted. To overcome this, the ScreenOrientation property of Screen1 in App Inventor should be set to Portrait when creating the app.
BlueStacks includes a browser app; it is therefore possible to use App Inventor within BlueStacks, though the emulated screen resolution of 1280x720 is not ideal, and it may not be as responsive as a native browser. Build and download the APK as normal, then 'swipe' down with the mouse on the download notification indicator to install.
Online reviews indicate that the free version of BlueStack may install additional apps automatically from time to time. A thorough review of the licensing terms has not been conducted at this point.
* Update, 8th September 2016:
The latest version of BlueStacks (2.4.44) requires the user to log in to Google during the initial setup. This was previously optional, with a One Time Setup screen being displayed from time to time: that screen is now gone, as is the Welcome screen, with the result that the new setup procedure is more predictable and the overall user experience is cleaner. Performance and stability have also been improved steadily over the last few months.
* Update, 23rd June 2017:
The latest version of BlueStacks (2.7.320) has a more conventional tablet-like appearance than earlier versions, and BlueStacks TV is no longer automatically launched on startup.
Note: The Google account is not logged out when BlueStacks is closed, so users should consider manually disconnecting their Google account when using BlueStacks on a shared machine: go to Settings - Accounts - Google and select Remove account from the dropdown menu in the top right. Alternatively, a school may choose to create a dedicated Google account for use with BlueStacks, and leave that account logged into all instances of BlueStacks. Students would still use their individual Google accounts with App Inventor.
The installer is just over 300MB and can be downloaded from http://bluestacks.com/. Installation requires Administrator privileges. Some apps are installed automatically, though most of the apps shown in the channels are links to the App Store. *
To test an app with BlueStacks, build and save the APK file in App Inventor as usual. Double-click the APK file to install it in BlueStacks, or click the APK icon in the control panel and select the file. (If your browser is configured to open a dialog box for downloads, APKs can be installed directly to BlueStacks without saving them first). Installed apps appear on the Android tab; click on All Apps in the Recently Played section to see newly installed apps. Apps can be switched between landscape and portrait by clicking the rotate icon at the top of the control panel. Usually this will close and restart the app in the new orientation, though it may need to be manually restarted. To overcome this, the ScreenOrientation property of Screen1 in App Inventor should be set to Portrait when creating the app.
BlueStacks includes a browser app; it is therefore possible to use App Inventor within BlueStacks, though the emulated screen resolution of 1280x720 is not ideal, and it may not be as responsive as a native browser. Build and download the APK as normal, then 'swipe' down with the mouse on the download notification indicator to install.
Online reviews indicate that the free version of BlueStack may install additional apps automatically from time to time. A thorough review of the licensing terms has not been conducted at this point.
* Update, 8th September 2016:
The latest version of BlueStacks (2.4.44) requires the user to log in to Google during the initial setup. This was previously optional, with a One Time Setup screen being displayed from time to time: that screen is now gone, as is the Welcome screen, with the result that the new setup procedure is more predictable and the overall user experience is cleaner. Performance and stability have also been improved steadily over the last few months.
* Update, 23rd June 2017:
The latest version of BlueStacks (2.7.320) has a more conventional tablet-like appearance than earlier versions, and BlueStacks TV is no longer automatically launched on startup.
Note: The Google account is not logged out when BlueStacks is closed, so users should consider manually disconnecting their Google account when using BlueStacks on a shared machine: go to Settings - Accounts - Google and select Remove account from the dropdown menu in the top right. Alternatively, a school may choose to create a dedicated Google account for use with BlueStacks, and leave that account logged into all instances of BlueStacks. Students would still use their individual Google accounts with App Inventor.
Thursday, 14 April 2016
Coding: Best Practices
It is important when writing software, in any language, that attention should be paid not only to the correct functioning of the code, but also to how the code is written and organised. Well written code is easier to understand, debug, maintain, enhance, and test. This can make or break a team software development project, and great emphasis is placed on adherence to coding standards and best practices in software design. It is equally important for solo developers who share their code with an Open Source community, or even when returning to one’s own code written some time in the past.
This document contains some guidelines which may be useful when programming with App Inventor, and which represent practical implementations of widely accepted programming principles.
This document contains some guidelines which may be useful when programming with App Inventor, and which represent practical implementations of widely accepted programming principles.
Wednesday, 6 April 2016
Web Quiz App
A new app has been added to the UniTY section of the App Library. WebQuiz is a picture quiz similar to the quizzes in the APPlied and Smart Skills sections of the library, but using the Web Connectivity component of App Inventor to dynamically retrieve the images and answers from a web server. Only the minimum functionality to retrieve files from a web server is implemented: error handling and cache control have been omitted in the interest of clarity, but would be necessary for a production app. The sample files were uploaded to the web server via FTP, though creation of a web application to create and administer quizzes would be an interesting project in its own right.
Friday, 1 April 2016
ARC Welder Problems
If you are using ARC Welder to test apps, the latest update (24th March) appears to have caused problems for some users. In some cases, when
downloading and installing ARC Welder, the first part completes (download of ARC Runtime) but the second part (download of ARC Welder
itself) fails with a "Manifest Invalid" message. In some cases, the download and installation completes normally, but when an APK is loaded
into ARC Welder, it crashes with the 'broken plugin' black screen. At this point we have not been able to confirm if these are widespread
experiences, or whether a new release is planned to address them.
The workaround that we are using is to install Chrome Portable and use it instead of the normal Chrome browser. Chrome Portable runs the current version of Google Chrome from a self-contained folder, rather than integrating with the OS in the way that a normal installation does. There is no need to uninstall Google Chrome in order to install Chrome Portable. Download it from the green Sourceforge link on this page: http://portableapps.com/apps/internet/google_chrome_portable and run the executable to install. Tick the checkbox to run Chrome Portable after the installation completes. No shortcuts are created. Once this is installed, quit the standard Chrome browser, and continue as normal within Chrome Portable.
The workaround that we are using is to install Chrome Portable and use it instead of the normal Chrome browser. Chrome Portable runs the current version of Google Chrome from a self-contained folder, rather than integrating with the OS in the way that a normal installation does. There is no need to uninstall Google Chrome in order to install Chrome Portable. Download it from the green Sourceforge link on this page: http://portableapps.com/apps/internet/google_chrome_portable and run the executable to install. Tick the checkbox to run Chrome Portable after the installation completes. No shortcuts are created. Once this is installed, quit the standard Chrome browser, and continue as normal within Chrome Portable.
Thursday, 3 March 2016
Amazon Fire tablet safety notice
Amazon have issued a recall for the power adapters supplied with Fire 7" tablets, and are asking customers to stop using the adapters. They are offering a free replacement service. Please follow the link below for more information.
https://www.amazon.co.uk/b?node=9730244031
https://www.amazon.co.uk/b?node=9730244031
Thursday, 25 February 2016
Video Branding
All of the Smart Skills videos have had a UniTY splash screen added at the beginning, and the thumbnail for all videos now also displays the UniTY logo. The video content is otherwise unchanged, and the playlist URLs are also unchanged, although individual videos have new URLs.
Friday, 19 February 2016
MIT App Inventor Update
An update to MIT App Inventor was pushed out on 18 February, and users will see a pop-up screen alerting them to this on their first sign-in after that date. None of the updates described in the release notes should have an impact on existing Smart Skills apps, and the changes to the appearance and functionality of App Inventor are minor enough to go unnoticed by most users.
If you have installed the AI2 Companion App on an Android device in order to use the WiFi or USB 'live debug' methods, it will need to be updated to use the new features in this App Inventor release. If you installed the Companion App from the Google Play store, it will update automatically; if you installed it directly to your device, you will need to manually update to version 2.36 at appinv.us/companion.
If you have installed the AI2 Companion App on an Android device in order to use the WiFi or USB 'live debug' methods, it will need to be updated to use the new features in this App Inventor release. If you installed the Companion App from the Google Play store, it will update automatically; if you installed it directly to your device, you will need to manually update to version 2.36 at appinv.us/companion.
Wednesday, 17 February 2016
Hello Again, World!
This blog, formerly the UniTY Smart Skills Development Diary, is being extended to cover developments across the full range of UniTY courses: Multimedia, Smart Skills, Employability Skills, and Student Empowerment. Each article will be tagged with the course(s) to which it applies.
The blog has a new title and new domain, http://blog.unitydcu.ie, but is still hosted on Blogger as that is the most convenient platform for students and teachers to use for their own blogs, being integrated with Gmail and Google+. Links from the old domain are automatically redirected, so there is no need to update existing bookmarks.
As before, access to the blog is by invitation only and is restricted to teachers and guidance counsellors who have engaged with the UniTY programme. With this in mind, we encourage you to comment freely on any articles posted on the blog, and to use it to share experiences and start conversations with your peers in other schools.
The blog has a new title and new domain, http://blog.unitydcu.ie, but is still hosted on Blogger as that is the most convenient platform for students and teachers to use for their own blogs, being integrated with Gmail and Google+. Links from the old domain are automatically redirected, so there is no need to update existing bookmarks.
As before, access to the blog is by invitation only and is restricted to teachers and guidance counsellors who have engaged with the UniTY programme. With this in mind, we encourage you to comment freely on any articles posted on the blog, and to use it to share experiences and start conversations with your peers in other schools.
Friday, 22 January 2016
Running App Inventor on a Tablet
While the usual setup is to build apps on a PC and then download them to a simulator or Android device for testing, it is also possible to use App Inventor in a browser running on a tablet, building and testing apps on the same device. However, the smaller screen and touch interface can make this challenging:
In short, not a recommended approach, but workable if there are no other options.
- On the Designer screen, instead of dragging a component onto the Viewer, 'long-click' to the right of the name of the component to select it (press until the highlight disappears), then click on the Viewer where it is to be positioned. Changing the order of the components on the Viewer works essentially the same way: click the component once to highlight it, then long-click to select it for moving, then click in its new position. Both of these operations are tricky to do initially, even when the display is zoomed in, but with some practice can be done reliably.
- On the Blocks screen, the code blocks are quite large relative to the screen size in landscape, but in portrait they're smaller and it's easier to get an overview of the program. To zoom in or out, pinch outside the Viewer area.
- To build the app, use the build APK for download option and the app will be downloaded and installed on the tablet directly.
In short, not a recommended approach, but workable if there are no other options.
Thursday, 21 January 2016
Course Consolidation
The Smart Skills course on the Unity DCU website has been consolidated to display each project on a single page (Introduction, Core 1, Core 2, Core 3) instead of the week-by-week structure previously used. This better reflects the fact that individuals and groups will progress through the material at different rates, for any number of reasons. There is no change to the deliverables, videos or resources associated with each project, and bookmarks or links to the previous week-by-week pages are redirected to the appropriate project page.
Friday, 8 January 2016
Additional Resources
Project Notes and Extra Challenges have been added to the Core 3: Project Management project, to provide additional insight into the workings of the app, and suggestions for further development:
The version of the app developed in the lesson plans has been added to the Smart Skills section of the App Library, and a version including some of the extra challenges has been added to the UniTY section of the library.
- http://unitydcu.ie/ss-c3n - Project Notes
- http://unitydcu.ie/ss-c3c - Extra Challenges
The version of the app developed in the lesson plans has been added to the Smart Skills section of the App Library, and a version including some of the extra challenges has been added to the UniTY section of the library.
Thursday, 7 January 2016
Core 3: Project Management Updates
The videos for Core 3: Project Management have been reviewed and very minor edits made. There is no change to the instructional content, so there is no need to revisit videos that students have already viewed. The old versions of the videos are now marked private.
The downloadable AIA file SimpleBowling_example.aia has been updated to add missing images and to prevent the app from crashing when the game is played. It therefore differs from the code shown in video 4 as follows:
The downloadable AIA file SimpleBowling_example.aia has been updated to add missing images and to prevent the app from crashing when the game is played. It therefore differs from the code shown in video 4 as follows:
- add a bowling pin image to the TitleSprite on the home screen so that the sprite is visible
- set the Speed of the sprite in the TitleMove procedure (the Interval is set by default) to make it move
- add bowling pin images to the remaining PinSprites on the play screen
- set the Ball speed to a multiple of the Flung speed for more realistic movement
- add handling for a collision with the BallSprite to the PinCollide procedure, because a Ball sprite cannot be referenced with an Any ImageSprite block
- set the Speed and Heading of the ball and pin sprites to zero in the ResetPins procedure to stop them from moving and 'stand the pins up' ready to play again
Monday, 21 December 2015
Modular Arithmetic with Mr. Spock
An important aspect of programming is to consider a program’s requirements in terms of computational effort and memory usage: an algorithm that makes efficient use of resources can help make a program robust and scalable.
Deciding the winner in Rock Paper Scissors Lizard Spock could be done with a brute force walk through the rules to find a match, but we can design an efficient modular arithmetic solution instead. Mr. Spock would approve.
Deciding the winner in Rock Paper Scissors Lizard Spock could be done with a brute force walk through the rules to find a match, but we can design an efficient modular arithmetic solution instead. Mr. Spock would approve.
Thursday, 17 December 2015
Connecting with Bluetooth
Bluetooth is a short-range wireless communication protocol supported by most mobile devices, and available for use in App Inventor. Two new apps have been added to the UniTY section of the App Library, one that demonstrates a Bluetooth connection and data transfer between two devices, and one that uses it in a two-player game:
Note that Bluetooth must be enabled and the devices paired before running the apps. On most devices, Bluetooth configuration can be found at Settings - Wireless - Bluetooth.
- BluetoothDemo - establish a client-server connection between two devices and exchange data
- LizardSpock - an extension of Rock-Paper-Scissors, made famous in The Big Bang Theory
Note that Bluetooth must be enabled and the devices paired before running the apps. On most devices, Bluetooth configuration can be found at Settings - Wireless - Bluetooth.
Friday, 11 December 2015
Additional Resources
Three new apps have been added to the UniTY section of the App Library, including two that serve as reference implementations of interfaces with media and sensor features:
Project Notes and Extra Challenges have been added to the Core 2: The Brainstormer project, to provide additional insight into the workings of the app, and suggestions for further development:
Links to additional sources of demonstration apps and reference material have been added to the Starter Apps document:
- HelloWorld - a minimal Hello World app, using the fewest elements possible
- MediaDemo - explore the media capabilities of your device (and see responsive design in action)
- SensorsDemo - explore the sensor capabilities of your device
Project Notes and Extra Challenges have been added to the Core 2: The Brainstormer project, to provide additional insight into the workings of the app, and suggestions for further development:
- http://unitydcu.ie/ss-c2n - Project Notes
- http://unitydcu.ie/ss-c2c - Extra Challenges
Links to additional sources of demonstration apps and reference material have been added to the Starter Apps document:
- link to Mini Golf app on the App Inventor website
- link to tutorial library on the App Inventor website
- link to online book and tutorials on appinventor.org
Fixed vs Responsive Sizing
App Inventor allows apps to be built with either Fixed or Responsive sizing, controlled by the Sizing parameter of Screen1. This parameter is available only in the Designer, and cannot be changed dynamically.
Fixed Sizing
Apps are built with a fixed width of 320 pixels in portrait mode, or a fixed height of 320 pixels in landscape mode. The longer dimension varies depending on the device; designing for 320x480 pixels works in most cases. The majority of apps in App Inventor tutorials and in the DCU Access courses use Fixed Sizing for consistency.
Responsive Sizing
Apps are built to use the full screen size of the device, which varies considerably across devices. This means that scaling of design elements becomes a factor, especially when apps may be used on both phones and tablets. Read more here. Responsive sizing appears to be necessary for well-behaved video playback.
Note that most Android devices use 'soft buttons' at the bottom of the screen, which reduces the available vertical screen size; this is not the case with the Emulator or ARC Welder. The table below shows the screen size available to App Inventor for a selection of devices using each Sizing option.
Fixed Sizing
Apps are built with a fixed width of 320 pixels in portrait mode, or a fixed height of 320 pixels in landscape mode. The longer dimension varies depending on the device; designing for 320x480 pixels works in most cases. The majority of apps in App Inventor tutorials and in the DCU Access courses use Fixed Sizing for consistency.
Responsive Sizing
Apps are built to use the full screen size of the device, which varies considerably across devices. This means that scaling of design elements becomes a factor, especially when apps may be used on both phones and tablets. Read more here. Responsive sizing appears to be necessary for well-behaved video playback.
Note that most Android devices use 'soft buttons' at the bottom of the screen, which reduces the available vertical screen size; this is not the case with the Emulator or ARC Welder. The table below shows the screen size available to App Inventor for a selection of devices using each Sizing option.
| Fixed Sizing | Portrait | Landscape |
|---|---|---|
| Emulator | 320 x 480 | 480 x 320 |
| ARC Welder, Phone | 320 x 569 | 569 x 320 |
| ARC Welder, Tablet | 320 x 512 | 512 x 320 |
| Fire 7" tablet | 320 x 520 | 546 x 294 |
| Nexus 7 tablet | 319 x 482 | 512 x 294 |
| Responsive Sizing | Portrait | Landscape |
| Emulator | 320 x 480 | 480 x 320 |
| ARC Welder, Phone | 360 x 640 | 640 x 360 |
| ARC Welder, Tablet | 800 x 1280 | 1280 x 800 |
| Fire 7" tablet | 600 x 976 | 1024 x 552 |
| Nexus 7 tablet | 600 x 905 | 961 x 552 |
Thursday, 10 December 2015
Core 2: Brainstormer Updates
The videos for Core 2: The Brainstormer have been edited to remove 'first takes' as needed. There is no change to the instructional content, so there is no need to revisit videos that students have already viewed. The old versions of the videos are now marked private.
The downloadable AIA file WhoIsQuiz_example.aia has been updated to prevent the app from crashing after the last question is answered. It differs from the code built up in videos 4 and 5 when dealing with user-typed answers, and shown again in video 8 when dealing with the drop-down list, as follows:
Before: the index is incremented when the third question is answered correctly, and the NextButton handler then attempts to display the fourth image in a list of three, crashing the app before the check for the end of the game
After: when the Next button is clicked, we check if the game is over; if it's not, the index is incremented and the next image is displayed
It would have been possible to fix the crash without moving the CurrentQuestion increment into the NextButton handler, but the program flow is easier to follow with the solution above. It also means that the AnswerPicker handler (or the SubmitButton handler in the first version) deals only with whether or not the user gave the correct answer, and the NextButton handler deals only with determining how to move the game forward. This is an example of the programming principles of Single Responsibility and Separation of Concerns.
The downloadable AIA file WhoIsQuiz_example.aia has been updated to prevent the app from crashing after the last question is answered. It differs from the code built up in videos 4 and 5 when dealing with user-typed answers, and shown again in video 8 when dealing with the drop-down list, as follows:
- Incrementing the list index CurrentQuestion has been removed from the SubmitButton event handler in the first version of the quiz, and from the AnswerPicker event handler in the second version.
- In the NextButton event handler, the test for the end of the list has been changed to a test for equality, as the change above means the list index is not incremented before it is tested.
- An else clause has been added to the conditional block, in which the list index is incremented and the next image is displayed only if the game is not over.
Before: the index is incremented when the third question is answered correctly, and the NextButton handler then attempts to display the fourth image in a list of three, crashing the app before the check for the end of the game
After: when the Next button is clicked, we check if the game is over; if it's not, the index is incremented and the next image is displayed
It would have been possible to fix the crash without moving the CurrentQuestion increment into the NextButton handler, but the program flow is easier to follow with the solution above. It also means that the AnswerPicker handler (or the SubmitButton handler in the first version) deals only with whether or not the user gave the correct answer, and the NextButton handler deals only with determining how to move the game forward. This is an example of the programming principles of Single Responsibility and Separation of Concerns.
Tuesday, 8 December 2015
Student Resource Centre
Building on the shortcut URLs for course material, a new Student Resource Centre page has been created, with links to key course material from Google Drive and YouTube:
http://unitydcu.ie/smart-skills-student-resource-centre/
There's nothing on this page that's not already publicly accessible and linked from the lesson plans; the idea is to provide a convenient starting point for students to find the material without them needing access to the lesson plans. It's intended for reference and revision, not as a substitute for students working through the lesson plans under a teacher's guidance. The page can also be reached via the shortcut http://unitydcu.ie/ss-src.
http://unitydcu.ie/smart-skills-student-resource-centre/
There's nothing on this page that's not already publicly accessible and linked from the lesson plans; the idea is to provide a convenient starting point for students to find the material without them needing access to the lesson plans. It's intended for reference and revision, not as a substitute for students working through the lesson plans under a teacher's guidance. The page can also be reached via the shortcut http://unitydcu.ie/ss-src.
Friday, 4 December 2015
App Library
A library of apps is being assembled on Google Drive at http://unitydcu.ie/ss-app, and will hold sample apps used in the Smart Skills course as well as other apps of interest. For each app, there are four files in the library:
- appname.aia - project source code to import into App Inventor
- appname.apk - compiled app to load into ARC Welder or install on a device
- appname.png - screenshot of code blocks
- appname_QR.png - QR code to download apk file directly onto a tablet or phone














