The “James Bond” of programming: Javascript And Its Importance To Business Development

James Bond Skyfall Image
If James Bond can be rebooted, as Daniel Craig has done back in 2008, then so can programming languages.  That is the backstory for JavaScript, which has grow in capability and importance since its pop up window days.

JavaScript has been rising in importance for web and app design over the past few years. It’s an old programming language, much like James Bond is an old movie series. But just as Daniel Craig revitalized the series back in 2008 with Casino Royale, culminating in 2015’s Spectre,  JavaScript is being revitalized for a new era of mobile devices and IoT that was not in existence in its 1996 debut in Netscape.

Part of the reason stems from the canvas element in HTML5. Because it is called out in a container, called <canvas>, Javascript can be used to manage the elements. This gives Javascript the capability to manage elements in an unprecedented way, such as data visualization.

Another source is a growing number of Javascript libraries for interacting with the document object model. Originally Javascript was used for pop up windows – to instruct the browser to show another window automatically – or infamously, depending on the content.

But new uses developed, requiring more interaction with the DOM in the browser. The DOM is an operational code within the browser that is accesses to tell the browser how to render a page or another media that appears in a browser.

The business value is the capability for developing browser features that the user can see and interact while cutting calls to a server and reducing time to render a site or app.

A dashboard with visual elements, telling the story of trends that lead to business decisions, is a great example. The data can be called without multiple calls to a server, permitting visualization for tablet devices.

You can read how JavaScript is influencing technology in the following posts:

CMSWire – How To Use JavaScript for App and IoT Development

IOT Solutions – The IoT Ushers In the Ascendance of JavaScript

Also check out this Zimana JavaScript post on coding basics that can help you understand JavaScript better for your website and app development plans.

1 Comment

What is Javascript? An Explanation and Helpful Resources

Ok, by now, if you are maintaining a website or thinking of maintaining a website, you may have heard of the programming languages used to create a site or app. One of those languages typically mentioned is JavaScript.   Let’s cover a few basics, and some resources on where to learn more.

The Essential Definitions

JavaScript is a dynamic scripting language that can instruct the browser to make changes to page elements after loading a page.  Its value is making site elements function more dynamically without  requiring a call to a server.  This can provide some benefits, such as improving  performance loading a website page or an app in the browser.

Javascript generally appears in one of 3 positions in a website or app:

  1. in the head of a webpage
  2. in the body of a webpage
  3. Maintain a separate file. The benefits of a separate file for the J/S code are:
    • easier for controlling a version of a libraries
    • universal share across HTMLs

Web developers describe JavaScript as an Object Oriented Programming Language.  An Object Oriented Programming Language essentially treats each element in a page as an object according to the script called in Javascript (or in another language, such as Ruby). Thus everything belongs to something else, and everything has a relationship.  This structure makes it possible for an image position to be rotated or a  section of text to scroll into view. The image or text sections are treated as objects.

Each object generally has a property – a property is a description of that object.   Think of an object and a descriptive phrase that you would imagine if you close your eyes.  An object named dish would be smooth. An object named water would certainly be wet.

Each object can be made active or dynamic through a method – an action called within a javascript script.  So now think on object and an activity – a dog (object) barks (method), a sports car engine “roars”.  Objects and methods are usually called through a function –  statements that perform a task.  A function takes the general form below:

 function functionname ( ) { }

Additional parameters are described in the parenthesis, while the objects and methods – the elements and associated actions – appear in the brackets.  Below is an example of a for loop function.

for (var i=0; 1 < numbers.length; i++)
     // Print value to console

(The double slashes “//” are meant to provide a comment instead of a function.)

Learning about Libraries and JQuery

So with the thought of webpage elements as objects, writing a Javascript programs sounds easy, right?  Not exactly.  Unlike other well-known languages, Javascript is not compiled – that means there’s no need to have another program of software compile and interpret instruction.   Thus JavaScript uses regular text which can be interpreted.

But every browser has its own interpreter for the text, a Document Object Model (DOM).   A DOM model is an interface, a means to “talk” to different elements in a page.  So Javascript has to account for that difference.

In texts and posts on Javascript or in developer gatherings, you’ll read and hear a lot about libraries (you’ll hear something similarly described in other object oriented languages, such as gems which are used in Ruby). Libraries are needed to account of different operational features of the major browsers, despite acceptance by browser makers of protocols.  Browsers have different implementation of a DOM, so libraries provide a unified view of Javascript code.

Libraries are called with the following element notation:

<script src=”chart.js”></script>

in which a script, chart.js, is a called as a source.

In many cases you’ll hear the name JQuery come up. JQuery is a JavaScript library, a file that highlight elements in the same style as a Cascading Style Sheet (CSS)  does for a webpage.  Its purpose is to provide a set of objects and methods that can be called while minimizing the interaction with the DOM for a browser. The result is a case  Think of it as a sort of API which interact with the DOM in the form of a library.

Tools and Associated Libraries

To create that great method and ensure that is functions in the grand scope of your app or site, a little debugging becomes required.  To debug means to review code and edit as needed.  The following are tools and resources that make debugging code much easier:

  • JSLint – This is an in-browser debugging testing software
  • JSfiddle – This is a development platform for creating Javascript frameworks. The screen features four quadrants – one for HTML, one for CSS, and one for Javascript, with the fourth displaying the results from running a code. The platform provides a means to show code alongside each other for easier, more holistic QA of  a trial code.
  • JSBin – Like JSfiddle, this console lets user try out HTML, CSS, and Javascript code on screen. Users can save and share their creations for expert opinions.
  • Jshint – This is an error checker for verifying Javascript code
  • Codeacademy – has a number of helpful pages on code, including a dedicated Javascript section
  • Qunit – testing framework to verify jQuery code
  • Venkman is another debugging software, available from Mozilla, the creator of the Firefox browser
  • Karma is a testing environment
  • Mootools – an open source JavaScript framework meant for advanced development for cross browser code

Books and Website Resources

The book Javascript and JQuery  by Jon Duckett has additional resources available at its supporting site, I wrote a review on it at Small Business Trends.  It’s an excellent modern book that offers a solid overview on Javascript and associated subjects like JSON, JQuery, and APIs.

You can also check out Programming Javascript Applications, which is a bit more advanced book but also offers insight into how to make the most of Javascript.

The site offers a number of resources and covers the basics on JQuery.  Not only is this a good resource of JQuery-associated features like plugins, but the site can also provide some understanding of how libraries in general work.

There are online video sites, such as – This website offer programs on Javascript techniques – there is a dedicated page for frameworks.  These have a subscription price, and can be a bit advanced  – users who are comfortable with GitHub will appreciate the GitHub availability.

There is good ol’ Tuts – this site hosts a number of how to related to web design and development.  You can check out the site here.

You can also check out the descriptions for popular frameworks, such as AngularJS.  The main site offers several tutorials, and some advanced definitions that can help one understand JavaScript much better.

Also, need a text editor for practice – consider one of these text editors outlined in this Zimana post.  Sublime and BBEdit are just two of the ones mentioned here in which a user can create a JavaScript script.

Infographic – #InternetofThings Primer by AIG

Internet of things - aig

This infographic covers some of the basic benefits that are expected from the Internet of Things era.   Dr Shawn DuBravac created the infographic for AIG.

One interesting note is the cost reduction on devices – the infographic notes how accelerometer devices have dropped in average cost from $7 to just 50 cents.

This expected trend of lowered costs was also mentioned in during Joichi Ito’s presentation at the O’Reilly Solid conference, a media event that covers the latest Internet of Things innovations. Ito is the director of MIT Media Labs, a facility which specializes in technology research.  He is a leading thinker and writer on innovation, global technology policy, and the role of the internet in transforming society.

You can read about the Solid conference in these posts for CMSWire (see Finding Solid Ground in the IoT Era) and for Small Business Trends ( Ways Your Small Business Can Capitalize on the Internet of Things).  You can also check out the video of Its’s Solid Conference presentation How Bio Is The  New Digital .

CloudCamp – The Basics of HIPAA Privacy Compliance

CloudCamp Chicago Meetup
Cloudcamp is a technology meetup in Chicago which showcases topics and ideas from presentere accross the Chicagoland area. This meetup focused on healthcare cloud issues such as privacy and health movement from wearables.
There are a ton of meetups in Chicago on technology, but few are dedicated to cloud technology. One that does examine the influences on cloud tech is CloudCamp.
CloudCamp presented a healthcare theme meetup, in which presenters displayed lightning talks on health.  Alex Connor, Lead architect at Crimson Care Management  highlighted the best of compliance concerns in his talk called  Security Sanity – what is it like in a HIPAA compliant environment.
HIPAA requires PHI – otherwise known as “protect health information” – from organizations. This means tactics such as encryption and physical security of hard drives and in emails.
Moreover, encryption efforts means having a sense of traceability is important. Traceability addresses the following questions that a HIPAA review would raise:
  • To whom does the data refers
  • Who saw the data
  • What did they see
  • When did they see it
  • From where did they see it?
To identify traceability and to maintain protocols,  annual HIPAA compliance assessment is needed.  Connor outline the basics that would support HIPAA compliance.  Thes would lead into safety best practices such as:
  • Ensure that the Information security officer attend HIPAA training, compliance,
  • Add encryption to all workstations
  • Add a Screen shield to prevent over-the-shoulder view of data
  • Lock laptops whenever you leave it – even for less than a minute
  • Set clear expectation; contextualize policy and definitions
  • Include clear definitions around warning, sanctions, and breaches
  • Stay current with current laws
  • Talk openly about breaches in the news
More is available on the slide deck, available on the Cloudcamp Slideshare page.  You will see Connor’s talk, as well as the presentations from other speakers in their entirety.

Social Media Tips: A look back at Waffle House, The World Cup, And How To Grow Engagement

On July 1st, 2014 Waffle House set Twitter abuzz with a “war” against Belgian waffles. On its Twitter account Waffle House noted that its declaration is in support of the US team during its game against Belgium in the 2014 World Cup Series.

This instance of joining a discussion in Twitter is savvy. The message was short, did not require a lot of media content to support it, and really provided a way for Waffle House to imbed into the discussion at the moment, a global sport.

Here are three quick lessons that small businesses can learn from Waffle House.

1. Verify the social media usage regarding the event.

In short, marketers should understand what volume are being generated on a social media platform, and if possible what demographics are being shared. For the World Cup Series, almost 389,000 tweets were generated in the minute after Chile made a penalty shot that allowed it to avoid an early exit from the terminal for the first time since 1950. The Superbowl generated 25 million tweets, which is more than the 16 million total during Saturday’s round of 16. However given that the World Cup is played over 2 weeks the consistency of exposure for a social media platform can sustain interest around a given subject. It means a lot of exposure for business who can blend a message.

2. Pick a subject that is tangential to your target event and to your product.

Belgian waffles are harmless yet they incorporate the Belgian team Anna food products served by Waffle House competitors. Waffle House does not serve Belgian waffles and his stores. This makes a playful bet that is fun for people to comment and tweet on. Check out the comments that were leveled within 24 hours of the announcement of this war.

3. Be responsive yet allow for mistakes.

In one tweet Waffle House use the word Belgium instead of Belgian – a spelling error. But that did not take away from the spirit of the campaign. Twitter is meant for casual light conversation and the best users make the most of it by responding consistently while posting content, even if the content is posted via a scheduler like Hootsuite. The takeaway is to manage the conversation, not let it get away from the main ideas being shared.