Machine Learning and AI in 2030

Machine Learning and Artificial Intelligence are rapidly moving up a growth S curve similar to previous major information technologies. Twenty years ago,  the Internet/Mobil technology curve was in the same S curve position as ML/AI is today. The internet was growing in use, but nowhere near the penetration we see today. Mobil devices existed, but with small, black and white displays and no internet access ... primitive compared to today's large, touch screen, internet connected computers in your hand. ML/AI today is likely as primitive compared to what it will be in 2030 as the 1998 Internet/Mobil technology was compared to its present state. By one estimate, AI will add 16 trillion dollars to the world's economy by 2030. And the benefits of ML/AI discussed below with have a networked, multiplicative impact as they reinforce one another.

Developments and Benefits

It's impossible to predict exactly what ML/AI will look like over a decade from now, but it is possible to form a rough idea of what shape key developments will take. Here are a few...

Information Access

ML/AI is already used extensively for information search. Steady progress is being made in understanding the contextual nuances of search queries. This trend will continue, and by 2030 we should be able to find just the right information for almost any search with ever increasing precision.

Autonomous Vehicles

Autonomous vehicle progress has been steady and has achieved significant milestones. The technology has been demonstrated to work successfully at a fundamental level. There remain a number of barriers to widespread adoption. However, the benefits and incentives to overcome these barriers are significant. By 2030 we should see a significant number of autonomous vehicles on the road.

Healthcare

Many countries, including the United States, have aging populations. This will put an significant stress on healthcare over the coming decade. ML/AI holds the possibility of filling the gap between available resources and healthcare demand in 2030. According to one set of experts, we'll trust AI more than doctors to diagnose disease. This will free doctors to spends more time on the things technology can't yet do. 

Robotics and Automation

McKinsey predicts that by 2030, "60 percent of occupations have at least 30 percent of constituent work activities that could be automated." New jobs will also be created, but robotics and automation will continue to create significant shifts is how work is performed.

Education

ML/AI is disrupting the traditional model for successful education. A top futurist predicts the largest internet company of 2030 will be an online school and students will learn from robot teachers over the internet. ML/AI in education has the potential to create individually customized experiences that will enhance and speed the learning process.

Retail Shopping

Retail shopping is already being dramatically effected by ML/AI. The e-commerce share of total retail sales in the U.S. is rising rapidly. Customized on-line shopping experiences are growing in sophistication. Retail in 2030 may look very different than it does today and include  interactive dressing room mirrors and a more on-demand at-home shopping experience.

Professional Services

ML/AI can digest information at a speed and scope that already exceeds human capabilities. Professional service providers in 2030 will use ML/AI to provide analyzed and summarized information needed for decision making. This will dramatically speed services delivery and lower services costs.

Financial Services

Financial services rely on collecting, storing and analyzing vast amounts of data. ML/AI is already replacing workers who perform many of the tasks related to these activities. One estimate is that up to 230,000 employees in capital markets will be replaced by ML/AI as we approach 2030. This will lower costs and improve delivery of services, but will also require significant staffing shifts in the industry.

Agriculture

Advances in robotics and sensing technologies are radically modifying agricultural practices. New ML/AI approaches include: automated harvesting, pest control, animal tracking, and soil conservation. By 2030, we should see significant increases in crop yields at lowered costs.

Challenges

ML/AI does pose challenges as it progresses spreads further into our lives and businesses. Here are a couple of examples...

Changing Jobs and Learning New Skills

As mentioned above, McKinsey predicts that by 2030, "60 percent of occupations have at least 30 percent of constituent work activities that could be automated."  Overall, this would mean that about 20% of all jobs would be automated. New jobs will be created, with many of those requiring higher levels of education, training or skill. 

New Legal Frameworks

As more work is performed by ML/AI, legal questions of responsibility and liability will arise. One example is autonomous car liability. Autonomous vehicles are expected to lower deaths caused by accidents. The Atlantic reports that automated cars could save up to 30,000 lives per year in the United States. But how responsibility for the deaths that do occur remains an open question.

An Example Individual Scenario

It can be difficult to imagine a total picture of what ML/AI will mean for our lives in 2030. One way to grasp this is to imagine use cases that demonstrate their impact. Here's one example...

John is sitting in his study at home when he receives a notification on his smartphone. It tells him that the biosensor imbedded in his arm has detected a slight irregularity in his heartbeat. John hasn't noticed any physical pain or abnormality, but he clicks the notice and sees the display of a heart rhythm pattern with annotations showing him where there might be an issue. It assures him that it's nothing immediately life threatening, but that he should consult a doctor. He's shown the location of the nearest clinic and asked if he'd like an appointment be made along with arrangements for a ride. He clicks yes and immediately sees that his ride is on the way and will arrive in 5 minutes. John grabs his jacket and goes outside to wait for the car. In a few minutes, an autonomous vehicle pulls up, he gets in and a friendly voice asks him if he's John and going to the AbleWay clinic. John says yes, sits back and turns on his phone to read more information he's been sent about his symptoms. He arrives shortly at the clinic, is welcomed by name and escorted immediately into an examination room. A couple of minutes later, Dr. Able enters carrying a tablet which he uses to show John a real-time display of his heart rhythm. Dr. Able explains what could be the cause and that the condition is something they should watch carefully to see if it continues. He prescribes a medication that should help correct the arrhythmia and tells John that the medication will be delivered to his home by the end of the day. John shakes Dr. Able's hand and walks out to the reception desk where he's told that the clinic has his insurance information and the car to take him home is waiting outside. John enters the car and starts his trip home feeling relieved that he knows more about his condition and taking steps to deal with it. 

P Versus NP Complexity Theory

The P Versus NP issue deals with whether every problem whose solution can be quickly verified by a computer can also be quickly solved by a computer. This is a major unsolved problem in computer science.

In common, practical terms, it deals with how to identify problems that are either extremely difficult or impossible to solve.  In order of difficulty from easy to hard, problems are classified as P, NP, NP-Complete and NP-Hard.

So why do we care? When approaching complex problems, it's useful to have at least some idea of whether the problem is precisely solvable, or if an approximation is the best that can be accomplished. 

Android WebView Combines Native and HTML5 Code

A battle is raging over whether native mobile code apps, such as those for Android and iOS, are a better approach than using HTML5.  Each has its advantages.

There is, though, a way to blend the two in order to take advantages of the benefits each has to offer.  The graphic below shows the anatomy of an app that displays an HTML5 Canvas on an Android screen display.

This app is from the Learning Android App Programming video training course.

The HTML5 Canvas animation displayed is from HTML5 Canvas for Dummies.

You can see the HTML5 Canvas animation by clicking here. To see the JavaScript code that generates the animation, right click on the display page and select View Source Code.

Android/PHP/JQuery RESTful JSON MySQL Client-Server Overview

The title of this blog entry is quite a mouthful.  The purpose is to give a broad overview of the moving parts necessary to implement an application with client mobile and desktop devices that interact with a server database to alter and retrieve data.

I won't define all the classes, methods and acronyms on the graphic as they're easy to look up using an Internet search.  There are other choices that can be made for the details of the implementation, but this should provide a starting point for thinking through the necessary elements.

The communication vehicle for client-server interaction is typically the Internet Protocol Suite.

 

WebPlatform.org: A Resource for Web Development

WebPlatform.org is a new organization and collection of websites that will provide open source resources for web development. It will cover topics such as HTML5, Canvas, SVG, Video, Animations, IndexedDB, CSS, WebGL, Transforms, Audio, Media Queries and FileAPI.

Which is the Best Browser

An analysis of Internet browsers by Top Ten Reviews places Google Chrome at the head of the list. The analysis shows, however, that it's a real horse race between the top five: Chrome, Firefox, Internet Explorer, Opera and Safari. Here are some of my observations based on this analysis and personal tests and experience:

Change after new releases: All of the browser developers are working hard to improve their products. With each new browser version release, the competitive landscape can change. For example, Internet Explorer had recently lagged in speed due to the lack of graphics hardware acceleration. Based on my tests, they're now the fastest running HTML5 Canvas animations.

Graphics hardware acceleration: GPU (Graphics Processing Unit) hardware acceleration is an important factor in browser speed. A browser displaying video or animation with GPU acceleration will outperform a browser without it by a factor of 3-4. That's right, 300-400%. A computer using just the CPU to manipulate graphics displays simply can't keep up with one using the combination of CPU and GPU. Hardware acceleration is a fairly complex topic. Basically, the browser offloads calculations from the CPU to the GPU. If you're interesting in some of the details, take a look at this discussion of hardware acceleration from the Chromium Projects.

Mobile lags desktop: Especially in speed, the mobile browsers lag desktop versions. Mobile devices simply don't have the computing power to match desktop devices. 

HTML5 Status

Transient

The World Wide Web Consortium (W3C) has announced that a final recommendation for HTML 5.0 will be released in the 4th quarter of 2014. In spite of the "recommendation" terminology that W3C uses, this is official release of HTML5. This is a big deal and great news. Browser developers will have a firm definition of HTML5 they can use to bring their products up to a complete level of support for this latest version of HTML.

W3C has also defined the follow-on version, HTML 5.1, to be released in the 4th quarter of 2016. This release will include features that have been pushed out in order to get release 5.0 completed in 2014. Without this stragegy, W3C was looking at an indefinite specification development timeframe. 

Browser developers are not waiting for 2014 to begin implementation of HTML5. You can use www.html5test.com to check the status of your browser to see which features are supported and www.caniuse.com for a summary of the status of support by all the major browsers.

What is HTML5 Canvas?

HTML5 Logo.png

The Canvas feature of HTML5 is one of the most exciting new developments in web based capabilities in many years. Here are some key aspects:

HTML5 - Canvas is a part of the latest revision and improvement of the previous version (HTML4, released in the late 1990's) markup language for displaying web pages on the Internet.

Canvas Tag - The <canvas> tag joins the other HTML tags (there are around 100 now) as a way to include single or multiple Canvas areas on a web  page. 

Bit Map DisplayThe Canvas area you define with a <canvas> tag is a bit map display. You can manipulate individual pixels to draw objects, images, animations and video.

JavaScript ControlThe JavaScript language is used to control what is seen on the Canvas. The JavaScript application code is placed between the <head></head> and <script></script> tags of the web page.

Browser Based - The computing needed to create a Canvas display is done within the browser. In other words, it's client based, not server based. The means that creating a Canvas application is simpler than one requiring server based programming. It also means that the computing power needed to generate the Canvas display is not concentrated in single servers. Each user's browser handles its own work.

Animation - Canvas applications can generate animations. This is accomplished using callbacks from the browser. The Canvas application designates one of its functions to be called from the browser at specified time intervals. During each of these callbacks, the application draws a new Canvas display, moving objects slightly. When viewed as a continuous flow of Canvas displays, an animation is generated.

Audio/Video - Audio and video can be incorporated into your Canvas applications. Moving objects can create sounds and video images can be melded into other application objects. This is done without the use of any audio or video plugins.

Gaming - Game developers have all to tools necessary to create compelling HTML5 Canvas games.

Fun - Putting aside the technical aspects of Canvas ... it can be described as just plain fun. An HTML5 Canvas is a place where as a developer you can express your creative energies and as a user you can have expanded and enjoyable experiences.

For a more details look at HTML5 Canvas, watch for my upcoming book: HTML5 Canvas for Dummies.

Integrating Audio with HTML5 Canvas

One of the useful features of HTML5 Canvas is the ability to integrate audio, either with or without an audio player. Click here or on the image to see if it works on your browser ... click on my dog Daisy and/or the pelican to test simultaneous sounds.

When the new browser window opens, you can view the page source to see the code that generates the Canvas display.

This is one of the sample applications from HTML5 Canvas for Dummies.

HTML5 Canvas Performance Test

Browser support for HTML5 Canvas is constantly improving. More features are being supported and performance is improving. Click here or on the image below to see how your browser performs. The app rotates a ten layer gradient and displays the Frame Rate.

Using JavaScript, jQuery and HTML5 with Cloud-Based Web Development Tools

Cloud based web development tools (such as Squarespace) are making web development easier. Their WYSIWYG editors even make simple web update accessible to non technical users. Web developers can concentrate on the more complicated, higher value added tasks, while their clients make simpler updates such as text changes and blogging.

By adding JavaScript, jQuery and HTML5 to the mix, sophisticated, cost effective websites can be developed. 

What's Up with HTML5?

Android HTML5 Test Screen 1 230px.png

HTML5 is the first major update to the HTML standard since HTML4 was standardized in 1994. Full approval by standards bodies and complete implementation may take another decade, but parts of HTML5 are already being implemented.

Android HTML5 Test Screen 2 230px.png

Each browser supports HTML5 to a different degree. The www.html5test.com website can be used to test the extent to which a browser currently supports HTML5. 

The screens to the right were taken from a test of a Droid X running Android version 2.3.3. It scored 177 points out of a total of 450. As is evident from this test, smartphone browsers are not very far along in implementing HTML5 features. The lower screen to the right shows the status of some desktop browsers.

Possibly the most well known of the HTML5 features is the new tag that will avoid the need for Flash in playing videos. This is especially important now that Adobe has announced it will stop development of Flash for mobile devices.

HTML5 contains many new features. A number of these are focused on eliminating the need for proprietary plugins and Application Programming Interfaces (APIs.) This advances the idea of being able to develop applications that will run on any device that supports HTML5, including multiple smartphone, tablet and desktop brands.

Android 4.0 (Ice Cream Sandwich) Released

Google's latest Android release is now available. You can find a good summary on the Android website.

There are significant improvements/additions to:

  • User Interface
  • Multitasking
  • Voice Input
  • Control Over Network Data
  • Social Networking Interfaces
  • Camera Capabilities
  • Gallery and Photo Editing
  • Web Browsing
  • Email
  • Wi-Fi Connection
  • Unified Framework for Phones and Tablets

Look for phone manufacturers and service providers to start releasing phones running Ice Cream Sandwich.

Mobile Internet Users to Outnumber Wireline Users by 2015

Smartphone with PC 1 225px.jpg

According to a new study by IDC, mobile internet access via smartphones and tablets will soon outpace wireline access via PCs and other fixed position devices. Mobile device use is growing rapidly and wireline use is expected to level off and then decline.

This is expected to alter the very nature of how the internet is used. Consider some characteristics of mobile devices that will contribute to this change:

  • Location sensing.
  • Touch screen.
  • Device mobility.
  • Always on status.
  • App centric user interface.

It looks like the shift from fixed to mobile devices may be every bit as significant as the historic shift from mainframes to PCs.