Moore’s Law and Today’s Technology #IS311

The ability to capture, process, store, and present information is faster and less expensive today than it was 50 years ago. Gordon Moore, an engineer at Intel, predicted in 1965 that computing would dramatically increase in power while decreasing in relative cost, roughly every two years (Intel, n.d.). According to a recent article in The Economist, this maxim has stood the test of time over the past 50 years. However, the traditional method of shrinking the size of the transistor to pack more of them onto a processor is reaching its fundamental limit (2016). This technical limit has led engineers to move beyond the principles of classical physics which rely on mathematical rules by using clearly defined binary physical states (Burd, 2016, p. 24). In order to continue to improve processing capabilities, quantum physics is being used by combining classical physics with matter at the subatomic level such that matter can be in multiple states at the same time in a qubit (Burd, 2016, p. 24-25). This nascent technology is still being prototyped, and is far too expensive to hit the public market at this time.

As new architectures for computing are developed, engineers will need to pay particular attention to memory addressing. Today’s Intel processors maintain backwards compatibility for the original 8086 microprocessor which makes it difficult to process an increasing number of bits using faster methodologies (Burd, 2016, p 89-90). This was evidenced at the turn of the millennium when larger computer classes began using 64-bit addressing. The change in architecture caused software compatibility issues despite Intel providing memory addressing based on either 32-bit or 64-bit addressing.

While new advances in processor technology are developed, the average citizen has access to a wide array of consumer electronics that rely upon the classical processor. These microcomputer devices can include smartphones, tablets, e-readers, laptops, and desktop computers. These devices typically support tasks such as browsing the web, creating documents, editing spreadsheets, curating photos, using apps (or applications), or performing business functions using accounting software packages (Burd, 2016, 35). This class of computers sometimes challenges the definition of a workstation which it commonly referred to as a more powerful desktop computer. Workstations are often found in use for applications that require additional primary memory (RAM) for simultaneously running programs, graphics capabilities for applications such as AutoCAD, or multiple CPUs for statisticians who require faster processing capabilities. It may be argued, in support of Moore’s Law, that the capabilities of a workstation may resemble the specifications of the next generation of desktops.

Even though it may be easy for an average consumer to purchase off-the-shelf computing devices for casual personal use, it requires deep technical understanding of the technology to implement, test, and deploy systems for use in the enterprise. Understanding how these components interoperate is critical to a project’s success. In order to manage computing resources effectively, one must stay abreast of future technology trends through unbiased sources, such as those from professional organizations that are funded by memberships rather than specific vendors (Burd, 2016, 8-9).

References

50 Years of Moore’s Law. (n.d.) Retrieved September 12, 2016, from http://www.intel.com/content/www/us/en/silicon-innovations/moores-law-technology.html#

Burd, S.D. (2016). Systems Architecture 7e. Boston, MA: Cengage Learning

Double, Double, Toil and Trouble. (2016, March 12). The Economist (US)

Practice: An Android App with Button

In this exercise, I build a Youth Hostel App that displays information about a given youth hostel. I couldn’t resist finding a hostel in Modena, Italy as I can’t wait to return to my favorite place to visit (well, besides Disney World!). The Italian countryside is probably the most picturesque places I have seen on this planet. This Android app is a continuation of my post from last week, so consider this practice if you’ve been following along. The next lesson on the docket includes input from the user, so stay tuned.

 

Building my 2nd Android App

Lab 2: Simplify! The Android User Interface

bruschetta_complete

In this 2nd lab, an application will be developed that includes a button action to move from the main screen to a 2nd screen. Widgets such as TextView, buttons, and ImageView will be used to build the application in conjunction with the strings.xml file and Translations Editor. To do this, a 2nd activity will be created that includes the editing of a new Java class file. To follow along with this lab, an image file is used that can be downloaded. The lab will be capped off by testing our new recipe app in the virtual emulator.

If you’re tuning in for the first time, you can start from the beginning on my Android Boot Camp page.

Building My First Android App

android-logoAs part of my Master’s in Management Information Systems program at the University of Illinois – Springfield, we are learning how to build a mobile application. Since there has been a lot of talk about mobile app development and how to get started, it seems only fitting that I share my learning process with you — my students (I know, parallel universe, right?). As usual, I can’t say how important it is to experiment and play outside of class to build your skills. If you’re interested in learning more about mobile apps, I encourage you to follow along in my journey. The videos I’ll be posting follow Corinne Hoisington’s Android Boot Camp, Third Edition if you’re interested in picking up the text to learn more on your own. I’ll continue to post each new lab to my blog. A complete listing of my videos when I’m complete can be found on my Android Boot Camp Step-by-Step page.

Step 1: Install the Android Studio

Step 2: Check to make sure everything is installed properly

A few things I noticed. The Android Studio is a huge download (1.6GB). It takes a bit of time to install and it consumes a chunk of memory when running (about 600MB or more in my experience). The IDE has some nice features. It’s pretty cool to use a virtual mobile device inside the IDE to test out the app. You can use the emulator to render your app in a virtual device of your choice (Nexus 5, for example). Below you’ll find videos of each lab so you can see how the development process works from builing the obligatory Hello World! app to integrating audio into the app.

Lab 1: Voila! Meet the Android