Tag Archives: software

“Visual Development” system for Arduino

As you know, MIT App Inventor is a graphical-based programming system, or a “visual development” system where programs are constructed by dragging and dropping “blocks” onto a Blocks editor.

Arduino, which we mentioned in conjunction with our Bluetooth interface code, is a microcontroller system that is normally programmed in a language similar to the C++ programming language – which is text-based.

Mitov Softwware has introduced a new visual programming system for Arduino. I have not yet had a chance to try this out – the software is in “Beta” test phase and is not yet generally available.

The simplicity of an App Inventor type programming environment might then be available for Arduino applications. This is very exciting. It may be helpful for enabling more kinds of people, with different types of backgrounds than software developers(!) to write code for Arduino boards.

Program Arduino boards visually, fast and easy with Visuino #Visuino #Arduino

Source: Visuino – Visual Development for Arduino by Mitov Software

I have used this screen shot from their web site to illustrate the general idea – really looking forward to trying this out!

screenshot-03

MIT App Inventor usage triples during 2014-2015 school year

Source: MIT App Inventor usage for 2014-2015 Academic Year

As they point out, the cyclical ups and downs in usage suggest App Inventor is primarily used by students – with drop off in usage during school vacation periods.

That suggests an opportunity to expand usage of MIT App Inventor – by insuring that AI2 appeals to a wide audience of potential app developers and not just educational programs!

Subscribe to AppInventor.Pevest.com by email

I have added a new “Subscribe by email” feature to provide another way to be alerted to new posts on this web site.

Look for “SUBSCRIBE TO POSTS BY EMAIL” in the right column of this page, then enter your name and email address and click on Subscribe.

Check your email for a confirmation message and click on the link in the email to confirm your subscription. If you do not receive a confirmation email within a few minutes, check your Spam mail folder – and then check to make sure you entered your email address correctly!

I have only tested this feature with my own email address but hopefully it will work well for anyone who wishes to receive post alerts via email!

Facebook is a simple way to be alerted to updates, but you may also wish to use Twitter, our RSS newsfeed, or the new email subscription – or all of them! My intent is to make it simple for you to receive new posts in what ever way works best for you.

Displaying web pages in your Android apps

Last year, I presented a short tutorial on displaying web pages from inside your App Inventor apps. Now, here is a some what improved version that prompts for a web address URL, checks to see if http:// has been entered, and if not, prepends http:// to the front of the address. Then the web page is displayed.

The Designer View

There is not much to the user interface – a text box to enter the web URL and a button to display the web page. The page then appears below the button, and the content may be scrolled on the screen.

To create this user interface, drag a horizontal layout onto the screen and then add a label for the “Web page URL” prompt, followed by a text box for the data entry. Then add the Display web page button.

From the User Interface section of the Palette, at the left of the Designer screen, drag and drop a WebViewer component on to the design area.

Screenshot_2015-02-10-15-15-17

 

The WebViewer is not a full Internet browser – it is a component that displays the specified web page only. The WebViewer does not support standard browser features, such as saving web page content nor does it provide a history of the web pages visited.

The Blocks Code

Continue reading Displaying web pages in your Android apps

Part 2: Sending numeric data using App Inventor Bluetooth communications

Part 1 of this tutorial introduced Bluetooth communications and implemented a simple method of sending text data back and forth between two Android devices over the Bluetooth wireless link. If you are not familiar with using App Inventor’s Bluetooth component, start with Part 1.

In Part 2, a data packet concept is introduced to guide the communications between devices, and is used to send a combination of text and numeric data. This section introduces the concept of binary numbers so that you can understand why we would handle text and numbers in different ways.

This tutorial modifies the user interface of both the client and server programs introduced in Part 1. Then, blocks code is added to send text and numeric data. Numeric data is sent as binary data using special methods of the Bluetooth components.

Related:

Related:

Continue reading Part 2: Sending numeric data using App Inventor Bluetooth communications

Blocks Editing Tip: Arranging and collapsing blocks in the editor

As you develop your App Inventor program using the Blocks editor, do you find your blocks overlapping and crashing in to one another on the screen? You know, like this:

AIBlockMess

You can drag the blocks on the screen so they no longer overlap, but dragging each block is tedious (time consuming). But there is an easy way to automatically re-arrange the blocks.

  • Move the mouse pointer to any part of the white space outside the blocks
  • On Windows, right-click the mouse button
  • On Mac OS X, press Ctrl and click the mouse button

Continue reading Blocks Editing Tip: Arranging and collapsing blocks in the editor

Using TinyDB in App Inventor

(This post was completely rewritten and updated on October 30, 2015)

What is TinyDB?

TinyDB is a simple “database” that stores data on your phone or tablet. Unlike program variables that go away when your app is finished running or your phone is re-set, values stored in TinyDB remain on your phone for use the next time your app is run.

About Memory on your Phone or Tablet

Your smart phone or tablet typically has two primary types of memory: RAM and FLASH memory.

RAM stands for “random access memory” – but today we mostly think of RAM as memory that can be accessed very fast (as compared to Flash or hard drive memory storage). RAM retains values as long as power is applied to the RAM circuity. Once we turn off the power, the values stored in RAM are lost. (In some applications, extra batteries are used to continuously provide power to RAM even when the “normal” power is turned off.)

Flash memory retains values when the power is turned off. But access to Flash RAM is not as fast as access to conventional RAM memory.

Why is it called “Flash”?  There was an early version of memory technology where the memory was erased by literally flashing it with ultraviolet light. However the inventor of Flash RAM chose the name “Flash” for different reasons. Modern Flash RAM is read, written and erased electronically.

App Inventor variables are stored in RAM memory – and the content of RAM is erased or reset whenever the power is turned off. TinyDB, on the other hand, stores values in FLASH RAM, where the values remain even when the power is turned off.

Using TinyDB

TinyDB provides a simple way to store and retrieve data efficiently and to store the data in long-term storage.  TinyDB is based on the concept of a “tag” to identify the stored data, and the data value. Think of a “tag” as like using your name as your identification to look up your address:

Tag value: Martin

Value: 123 Main St, Anytown, USA

or

Tag value: Alexa

Value: 321 Other St, Someplace, USA

TinyDB uses the “tag” (such as Alexa) to quickly locate the corresponding value. Even if you have 100 names and addresses stored in TinyDB, TinyDB can  look up the “tag” quickly and use the tag to find the corresponding value. We do not need to know how TinyDB does its look up so fast – it just does it [see Footnote 1].

In most database programs, the “tag” is known as a “key” or “key value”. App Inventor uses the name “tag” in place of “key”. As I am used to the name “key”, I tend to use “key” were I should have used “tag” in App Inventor! You will see this is the sample program, below!

To learn how to put TinyDB in operation, we construct a very simple app, described below.

Continue reading Using TinyDB in App Inventor