While non-profit organizations and commercial entities team up all the time as a way to get funding, raise profiles and promote their businesses, this could be one of the smartest moves Code.org has made in its quest to get kids into programming. There are plenty of other games and tools that teach programming, but nothing gets a kid’s attention more than a popular character from their favorite movie or TV show, and I think this past year with “Frozen” has proven that.(Related: Fifteen toys, games and tools that teach programming)Kids will want to play a game that features Anna and Elsa because they are familiar and already in love with the characters. To them, they are playing a game featuring their favorite heroines, but at the same time they are learning how to write code and appreciate the fundamentals of logic and math.If Code.org—or any organization for that matter—wants to lure kids into learning programming and fill the 1.4 million computer science jobs predicted to be available by 2020, they should look into promoting more coding games and projects featuring strong characters like Anna and Elsa. In 10 years, these kids could be the next generation of developers, programmers and computer scientists, using their skills to create their own versions of “Frozen.” So ask yourself… Do your kids want to build a snowman computer program? For years, organizations have been trying to get more and more kids into programming. Code.org promotes the Hour of Code to teach kids one hour of computer science. There are visual programming environments such as Alice, Blockly and Scratch geared toward kids. Plenty of board games, computer games and mobile applications that teach the basics of computer programming are available, and there have even been books written to get kids into coding.But could phenomenon of “Frozen” be the ticket to persuading kids into computer science?“Frozen” is Disney’s latest princess movies that just came out last year, and already parents’ playlists are full of “Frozen” songs, their children’s rooms are filled with “Frozen” merchandise and I can’t even tell you how many Annas, Olafs and Elsas there were out this past Halloween. Disney recently partnered up with Code.org to provide a Frozen Hour of Code tutorial featuring Anna and Elsa.
Android is the operating system dutifully running behind the scenes on many of the most popular consumer mobile devices available today (you might very well be reading this on your personal Android device right now). But even as Android is well regarded for its massive global success in the consumer market, the mobile platform’s position is becoming increasingly strong for long-term success in industrial mobility.When considering Android’s prospects as the backbone to a mobile app that’s needed for industrial use, it should be understood how OS adoption in the consumer marketplace often foreshadows and directly contributes to triumph in the business world.A brief history of consumer impact on industrial mobility devicesThe consumer and industrial markets may appear to be separate, but in reality they are constantly borrowing from and influencing one another, with popular software or new capabilities perpetually arriving and spreading across the consumer/industrial divide. In the realm of industrial mobility devices, the beginning of this could be seen two decades ago with the rising popularity of consumer OS devices like the Pocket PC and PalmOS. Users familiar with these devices in their private lives led to those tools then storming the business world, utilizing custom drivers and libraries to add industrial functionality, such as barcode reading for efficient product deployment.For an example of industry influencing the consumer market, look at how wearable devices seem futuristic to the public, which is just becoming accustomed to exercise trackers and smart watches, among other applications. However, wearables have long been a part of industrial use, having been deployed in warehouse logistics since the 1990s. So, which OS will claim industrial mobility’s future?The broad success and acceptance of an OS in the consumer market is a powerful boon to that system’s value in the enterprise, which is why Android will start playing a larger role in this arena. It’s true that businesses have multiple platforms to consider; iOS commands a sizeable consumer market share, and Windows CE remains in use in much of today’s industrial equipment. However, if we’re looking into the future, iOS hovers at 20% market share (compared to Android’s 76.6% and rising). Windows CE is only set to be supported for four more years, a blink of an eye for the businesses reliant on the OS who must begin planning their transitions quickly. (It should be noted that Windows 10, while not yet released, is showing great potential in the enterprise space.)Developing industrial mobile apps for the dominant OS comes with a slew of advantages. Workers will often require less or no training because they are familiar with the UI/UX from using their personal devices. Consumer success increases technology vendor mindshare, as vendors know the technology and are able to make business-planning decisions based on a reliable platform. A widely used OS also grants access to programmer resources, tools and critical application support. Industrial workers and developers can leverage off-the-shelf “prosumer” app store applications and services that arise on a popular consumer OS. But perhaps the greatest appeal of a successful consumer OS for the enterprise is longevity. Android (and iOS) are certain to be available in coming years, while countless examples show how unsuccessful consumer platforms can no longer serve the enterprise because they simply do not survive the test of time – you may recall KIN (gone in four months), WP7 (24 months), or Bada (30 months).All these factors support the case for Android as a strong long-term choice for mobile apps built for industrial use. It’s also notable that Java, used to develop Android applications, is one of the most popular programming languages. Independent software vendors tend to develop for the platform with the largest installed base; in this case, that’s Android. Furthermore, the leveraging of Android as open-source software as a base for platforms such as those from Amazon or Xiaomi only broadens Android’s value for industrial use.Best practices for Android industrial mobility developmentSo you’ve decided to develop industrial apps with Android – how best to go about it? Android development actually offers more power and information to developers working with industrial devices than it does for consumer developers. When it comes to configuring the device, rebooting the device, performing time syncs, device lockdown, data capture or battery management, the same Android development APIs provide more detailed information and enable broader capabilities on industrial devices. These insightful details should be utilized to deliver more robust features for the enterprise, such as enterprise-class data capture for superior scanning performance (barcodes, etc), enterprise-grade security with lockdown at the peripheral and feature level, more resilient wireless connectivity, and more. A great positive of Android for industrial mobility is simply that Android is continually adding attractive new enterprise features.
This all got started with Vagrant. What does that tool mean to you now?Vagrant in a lot of ways is the first thing I think anybody does. There’s a lot of times where I didn’t realize the decisions I was making, but Vagrant caught a lot of them. We solved a smaller-scope problem really well, versus trying to do everything at once. It also embodied the problem set I described. I found myself doing this rote task whenever I hopped into new client work. I had to re-set up my laptop, reading a readme [and] doing what the readme said. I looked at it and said there’s no reason a human should do this.Did developing Vagrant awaken you to the need for more automation tooling in the life cycle?It was all kind of in parallel. When I was working on Vagrant with Armon Dadgar, my cofounder, we were working on a large-scale research system. We had all these other problems. In hindsight, we were experiencing the pains of microservices and multi-cloud and problems in that space, and we just couldn’t manage that scale for that application delivery life cycle. We couldn’t manage it with the tools we had. We were pretty young.We were writing down the challenges we were facing. As Vagrant grew in popularity and we got more involved in the DevOps movement, I started seeing that this movement, these problems and this academic research all line up to solve these problems.What made you build out more tools and found HashiCorp?Vagrant hit a limit. How do I actually deploy this thing? And there was no good answer. We started looking at what additional software we could make. When I announced HashiCorp, we came out with Packer, but over a two-year period we released a lot.It was more intentional. When you release a puzzle piece and you haven’t given out all the pieces, it adds more confusion. There were a number of pieces we wanted to get out there, so it was a semblance of a puzzle. We needed the first five to be out there to give a decent end-to-end story: to give major key frame story for getting from development to production.What’s next for HashiCorp?In the future, there are a few trends we find interesting. One in particular we’re really latching onto is shifting this infrastructure as code to more categories. Our two biggest growth drivers in the past 18 months have been Terraform and Vault. Terraform is for creating infrastructure as code, and Vault is our security tool that provides certificate management and key management. They are both seeing the same level of growth: multi-100% growth every quarter. They are related in where they are heading, in that our road map revolves around pushing those even further.Let’s describe more things as code. But also, let’s bring security as code into Vault. Right now, Vault is very imperative. It’s, “This person can access this secret;” it’s very much old school. You have to do that with security so they feel comfortable.As we gain heavy adoption of Vault, we’re starting to look into what is the next step in security. How do we jump security to make it more manageable. There’s a real problem we’re seeing in microservices. It’s so difficult to reason about security. You’re in the cloud, there are no end points or out points; it’s just sort of the Internet. What you really want is to secure every connection with every service really fast.We think that when we see that complexity, when I look at it, you need a declarative system. You need to trust the security systems, and that’s a big leap. But I don’t see a future where you have a thousand microservices and you’re connecting every tube together. I don’t see a future where a security engineer is reasonably doing that. You need more automation there.What do you find interesting in technology these days?I am paying attention to the serverless stuff popping up. None of it says to me this is the way to do it, but I do think if I had a lot more free time, I would be playing a lot more with serverless. It’s really unknown what the business value is, but that unknown is really intriguing to me. Anything that pops us as serverless, I take a look at it. It can be fun, but I see a lot of challenges scaling that up to real business uses, like business analytics. But I think there’s something there. Mitchell Hashimoto has been writing software since he was 12 years old. Since he cofounded HashiCorp in 2012, however, he’s been focused on automation software, such as that created by his company. HashiCorp now offers a host of products to automate the software development life cycle, and those products do everything from managing security between services to provisioning environments in the cloud.We spoke with Hashimoto about his company’s past, present and future, and to discuss the impact of Vagrant on his life and work.SD Times: HashiCorp’s tools require a certain way of thinking about software development and deployment. Can you describe that?Hashimoto: We have something we published called the Tao of HashiCorp. One of our core beliefs is how we think software and infrastructure automation should work. Those tenets are infrastructure as code, and really everything as code.We believe human memory is fallible, and you want a source of truth for accountability and history. The only way to get automation on top of that is to write something down in a very literal way, which is code.(Related: Automation is the key to DevOps)We favor declarative versus imperative. We believe everything should be declarative at a certain scale and complexity. If you’re writing down how to do something, it becomes too complex versus saying what you want to happen and letting things get there.It’s scarier because you have a lack of control getting to your desired state, but as something matures, when you use a declarative system really well, it’s indistinguishable from magic.From an organizational perspective, you should be striving to automate as much as possible. When I look at people, I think what makes us special is being creative and creative problem solving: adapting to things we haven’t seen before. Whenever I found myself doing something that wasn’t creative, like a repetitive task, it felt like a waste to me.The gift we have is this creativity, and it’s great when that’s focused on software or marketing or whatever. We should be striving to automate as many rote tasks as possible so we can do creative things. We want employees to focus on business problems and not the mundane.