Category Archives: General

Update on FB – website link and Volume 4 App Inventor Guide

Facebook – Web site link

Short update – my web site at http://appinventor.pevest.com was linked directly to FB so that comments entered here, appeared there, and comments entered on the web site, appeared here on Facebook. All automatically.

However, that link is now broken. I was using a WordPress plugin to cross link the web site and FB page but last week, the makers of the plugin discontinued its use and the cross linking is no longer working. Hopefully I can find a new plugin to perform that function!

It was a nice to have feature as I could just check for updates on the web site without having to also check on FB. Oops! Now that this feature is gone, I will try to check the FB page more frequently.

Volume 4 Update

Volume 4 of my App Inventor guides is nearing completion. I have to write one last demo program,  the  text for one chapter, proof read the entire text, and begin the publishing process. I will announce the book topic once I get the final chapter written (I prefer not to pre-announce until I know the availability). I can announce now that Volume 4 should be available in both print and e-book formats! Producing the print version adds a little delay to the final release but the final result should be very good.

UPDATE: Sales of the print version of Volume 4 are being discontinued as of October 18, 2016, due to rampant copyright theft. There are more used copies for sale than the total number of printed books actually sold. Based on sales, readers prefer the e-book version – therefore I am in process of discontinuing sales of the print version. The e-book continues to be available.

appinventor.pevest.com server is back online, 18 Jan 2016

The server that hosts the appinventor.pevest.com virtual server suffered an outage late on January 17th, continuing into early January 18th. The Internet Service Provider that hosts the server has restored service. From their note to me, it seems there may have been a denial of service attack on their infrastructure.

I was in the midst of writing a new tutorial on creating “pretty user interface” components in App Inventor; that tutorial was lost in the outage. Not as bad as it sounds as the code and illustrations were all saved – I just need to rewrite the text.

Writing Android apps in Javascript

Another way to develop apps for Android is to write apps in the Javascript program scripting language (note – Javascript is not related to Java, in spite of the similar name). By using a special platform called Cordova, it is possible to package Javascript programs into a self contained Android .apk file that runs on the Android OS.

Even better – it is possible to package your Javascript app, using Cordova, into forms that run on iOS (iPhones and iPad) and Windows Phone too!

Continue reading Writing Android apps in Javascript

Graphical programming and robotics-the tools get better and easier

MIT App Inventor is a “graphical programming language” in that we assemble programs by clicking and dragging symbols on screen, interactively, rather than writing our programs as text.

This weekend, FIRST Robotics kicks off its 2016 season. Students will design, construct, test and deploy a complex robotic system to meet the 2016 competition challenge (to be unveiled on Saturday).

The robot control system may be programmed in C++, Java, National Instrument’s LabView, RobotBuilder and/or GRIP.

Continue reading Graphical programming and robotics-the tools get better and easier

Do you need to use a “real programming language” to create useful applications?

Do you need to use a “real programming language” to create useful applications?

No!

The history of programming begins long ago with the toggling of switches on a console to “program” a system. This primitive method advanced to the use of short text instructions called “assembly language”, which was then followed by programming languages such as Fortran and others.

In the past couple of decades, “real software” was often written in C/C++, Java or C#. Today, “real software” is written in PHP, Ruby on Rails, JavaScript, Python, VBA and other new programming languages and support libraries.

Yet there remains an attitude that real software is not real unless its written in a traditional programming language (Java, for example). There is a joke, especially among hardware designers, that “real programmers program in solder”!

So what is a “real programming language”? Realistically, any programming language or system that enables you to deliver a software project that meets the customer needs and requirements is a “real programming language”.

Which gets us to the main point – MIT App Inventor is a real programming language – it is just a different way of programming than that used by “traditional” solutions. Do not let others tell you that App Inventor is not real programming! (But it is more fun!)

New – e-book corrections page with updates, fixes

I have set up a page to collect any corrections to my e-books. If you find issues in the books, post a comment here on the blog (http://appinventor.pevest.com) or on my App Inventor 2 Facebook page.

Todd F. found an odd set of sample blocks code images in Chapter 3 of App Inventor 2 Databases and Files (1st edition Revision “A”-see page 2 for the revision level).

I inadvertently inserted two incorrect blocks code samples at the very end of Chapter 3. The correct images are show here.

Any future bugs in the text will be noted on the E-book Corrections page and rolled in to the next e-book update. If you spot any problems, please leave us a comment on any page here on the blog or on our Facebook page – I get notified each time a comment is posted.

Update on Google Books Version

The Google Books e-book version of Volume 2 and Volume 3 has been stuck in their “processing” system for about 5 weeks. I contacted their support staff today and there is an unknown problem with the epub format file (a file used to describe an e-book) for these titles. I am looking into that and hope that it can be fixed soon.

Implementing an “Array” in App Inventor

What is an “Array”?

An array is a variable data type that stores a collection of values referenced by an index number.

For example, suppose we wished to store the names of the 12 months of the year: January, February, March, … , November, December so we can convert a month number to a text name. Month 1 converts to “January”, Month 2 converts to “February” and Month 12 converts to “December”.

An easy way to do this conversion is to set up an array that, in concept, looks something like this:

Month[1] = “January”
Month[2] = “February”
Month[3] = “March”
Month[4] = “April”
Month[5] = “May”
Month[6] = “June”
Month[7] = “July”
Month[8] = “August”
Month[9] = “September”
Month[10] = “October”
Month[11] = “November”
Month[12] = “December”

Month is the name of this variable – but unlike other variables, this one stores 12 separate values. Each value is referenced by using an index – if the index value is 2, then Month[index] refers to “February”.

If we have a date, such as (US-style) – 2/14/15, meaning February 15, 2015, we can convert the month number of 2, into the text month name by referencing Month[2].

If you have studied algebra math or beyond, you have encountered array variables such as X1, X2, X3, … Xn where the value Xi is read as “X subscript i”. This is the same concept as an array of values. If you have not studied algebra, this notation may be new to you. 

Most programming languages support an array variable type but App Inventor does not support arrays. Yet arrays are a convenient way of storing and working with some types of data. To support an array-like variable in App Inventor, we can use a list and map the array subscript to an index position in the list.  By hiding this within a couple of procedures, we can simulate the array variable type.

Sample User Interface

I created a simple app to demonstrate the use and implementation of the array. You can download this app from the MIT App Inventor Gallery here.

Continue reading Implementing an “Array” in App Inventor

Tip on inserting images into Microsoft Word

Off topic a bit but this may be helpful to others inserting images into Microsoft Word documents or trying to create better images in e-books.

E-Book Images

The past few days I have been looking at ways to improve the image quality in e-books. Images are not handled well by e-book development software and some of the problems are due to undocumented “features” and software defects.

Three common file formats for images are JPG, GIF and PNG. JPG images are good for photos but not great for drawings (like App Inventor block code). However, Amazon secretly decides on its own whether or not one’s JPG images are sufficiently compressed and makes its own secret decision to recompress the original JPG even more, losing resolution in the e-book.

Images that start as PNG files are converted to JPG files by the software that creates the e-book formatted files.

GIF files go through the process “as is” and remain as unchanged GIF files. GIF files are best for drawings (rather than pictures) with lots of solid colors. Therefore it is best to use GIF files for illustrations such as App Inventor “blocks code”.

The basic rule for e-book authors is to use JPG images for photos and GIF files for drawings and illustrations (non-photo images).

Microsoft Word Turns Inserted Images into Blurry Images!

Today I discovered Microsoft Word converts clean GIF images into blurry images when GIF files are added to a document.

I was working with a document that had older images, captured and inserted differently some time ago. Those images looked nice and sharp. But when I imported new GIF screen captures, the new images looked soft and fuzzy. Word is converting (and recompressing) the imported GIF files and reducing their image quality. There is no way to turn this “feature” off in Word! This “feature” creates images that are unsuitable for e-books or printed book use.

This is a “known defect” (“feature”) introduced by Microsoft Office Word in 2010. I discovered this on Mac OS X Office 2011. The work around is save your Word document in the older 1997-2004 .doc file format. Now, when you insert images into the file, they appear correctly.

This is documented in a Microsoft forum here. Related issue in MS Powerpoint.

Afterword: I also tried OpenOffice, which I like, but ran into other problems there such that OO was not a solution either.

How did you discover MIT App Inventor?

How did you discover MIT App Inventor?

I discovered App Inventor just as Google was handing AI classic off to MIT. At the time I was looking at different kinds of development tools for mobile devices, and App Inventor showed up in some online searches.

I took a look at it and found it  intriguing – at the time, AI classic did not seem quite capable of doing the things I was likely to need, but I intended to keep an eye on it.

A few months later, I was asked if we could quickly train some high school students to write Android apps? I have been a volunteer engineering mentor with FIRST Robotics programs for eight years. The new high school team where I was volunteering had intriguing ideas for mobile apps. When I was asked about the feasibility of quickly building some Android apps, I immediately proposed MIT App Inventor!

Our first student was so enthralled he literally stayed up half the night teaching himself App Inventor and soon was writing bundles of code for our Android tablet applications. Eventually another student joined the effort (from an iPhone background!) and rapidly came up to speed, writing a neat app in App Inventor.

Continue reading How did you discover MIT App Inventor?