What to cover in class: Apps or PWA?

I found this article describing a portion of one side of the argument, app or not, which may well suggest an answer the question of where to spend out time in CS here.  Read the full article and the comments on Medium.  The author is not without an unbiased view point, consider what this might mean in relationship to our last review of the NYTimes 7 Minute Workout PWA, or click the author’s examples

I recently wrote an article called “Native Apps are Doomed.” I was surprised at how many people were defending native apps. In all honesty, the user experience story for native apps has never been impressive. The numbers paint a bleak picture for native app success rates that teams need to be aware of when they make important decisions about how to build a new app.

Native apps face two gigantic hurdles trying to compete with Progressive Web Apps (PWAs):

  • Instead of writing 3 different apps, one for Android, one for iOS, and one for the web, PWA app makers only need to build one app that works for all 3.
  • App install friction is suffocating native apps.

App store friction is a major obstacle. It takes about 6 clicks to install a native app, and with each click, you lose about 20% of your users. Deciding to install an app is a lot harder than deciding to use a web app. You have to click install, wait for the app to download, worry about how much space it will take, and worry about the scary permissions it will require. Native apps lose a lot of their potential users before they even click install.

With a progressive web app, you visit a URL and immediately get to try the app. If you continue to use it, you get prompted to install it to your home screen with one click. From that point on, it behaves like a native app. It can work offline, take photos, use WebGL for 3D games, access the GPU for hardware accelerated processing, record audio, etc… The web platform has grown up. It’s time to take it seriously. See “10 Must See Web Apps & Games”for examples of what the web can do.


Exploring Computational Thinking on Google

computational-thinkingGoogle is committed to promoting computational thinking throughout the K-12 curriculum to support student learning and expose everyone to this 21st century skill.

What is Computational Thinking? Computational thinking (CT) involves a set of problem-solving skills and techniques that software engineers use to write programs that underlie the computer applications you use such as search, email, and maps. Here are specific techniques.

  • Decomposition: When we taste an unfamiliar dish and identify several ingredients based on the flavor, we are decomposing that dish into its individual ingredients.
  • Pattern Recognition: People look for patterns in stock prices to decide when to buy and sell.
  • Pattern Generalization and Abstraction: A daily planner uses abstraction to represent a week in terms of days and hours, helping us to organize our time.
  • Algorithm Design: When a chef writes a recipe for a dish, she is creating an algorithm that others can follow to replicate the dish.

Why Teach Every Kid to Program?

At this time of year, looking forward to next year, everyone always asks "Why teach a student to program?" Let’s just do office applications or keyboarding like we always have. The answer is that in today’s workplace, even those who don’t program need to know it. Does your school teach programming? How will your students compete?

Software company wants all workers to know code

Hoping to narrow technology divide between workers, the firm is requiring every employee to learn JavaScript

By Katie JohnstonJessica Reinhard, a graphic designer, took notes at the JavaScript boot camp.


Jessica Reinhard, a graphic designer, took notes at the JavaScript boot camp.

It’s lunchtime at FreeCause, a small software company located on the 11th floor in a building in Downtown Crossing, and Elizabeth Goncalves, a marketing manager, is attending a professional development session. But she’s not learning new ways to work with advertisers.

She’s learning to write computer code — JavaScript, to be exact.

“This gives me a flashback to high school math class,” Goncalves says as she walks to the front of the room to write a line of code.

Like most of the people in the crowded conference room, Goncalves knew nothing about coding until earlier this year, when 29-year-old company chief executive Michael Jaconi told all 60 of his employees that they had to learn the programming language JavaScript. The idea is not to turn everyone into an engineer, but to give employees — from accountants to designers to salespeople — a better understanding of what goes into developing the company’s software.



Earlier this year, 29-year-old company president Michael Jaconi told all 60 employees that they had to learn the programming language.

FreeCause employees learn JavaScript

    Antoine Hage, chief technology officer of FreeCause, explained JavaScript code.


    Antoine Hage, chief technology officer of FreeCause, explained JavaScript code.

    Jaconi’s initiative is a recognition that technology has inserted itself into almost every aspect of modern life, and it’s a subject people increasingly need to know. In many companies, technology often creates barriers that separate technical from nontechnical workers.

    “There’s a pretty big divide between engineers and nonengineers, and what I wanted to do was bring those two camps closer together,” said Jaconi, a serial entrepreneur and former political campaign worker who is learning to code along with his employees. “I thought that this would facilitate more efficiency, bring teams closer together, and ultimately make our company perform better.”

    FreeCause creates software that allows brands with loyalty programs to reward members with virtual currency, such as airline miles, for searching and shopping on certain websites. For instance, members of Hawaiian Airlines’ loyalty program can download and use a toolbar created by FreeCause to shop on retail sites where they earn miles for their purchases.

    Jaconi launched the coding program in February, modeling it after an initiative taking place at FreeCause’s Japanese parent company, Internet services provider Rakuten. Rakuten is requiring each of its 12,000 employees to learn English in a project called “Englishnization.” Jaconi named his project “Codinization” in tribute.

    Jaconi enlisted the help of Codecademy, a free programming how-to site, to introduce his employees to the concept. Jaconi then mapped out a plan for a yearlong program, with a few hours a week devoted to Codecademy lessons, plus lunchtime boot camps and small-group sessions led by FreeCause engineers.

    By the end of the year, the goal is to have every FreeCause employee develop a product such as a Web page or toolbar component that could potentially be integrated into the company’s loyalty rewards software.

    “I was scared when I announced this, to be perfectly frank,” Jaconi said. “I didn’t know if they were going to say, ‘You’re nuts, I quit.’”

    Neither has happened. Initial skepticism has died down. The experiment has come under fire by some in the blogosphere who call it an “expensive management fad” that won’t go deep enough to be of real value, but FreeCause employees are enthusiastic. At the very least, they realize knowing JavaScript makes them more marketable.

    “It’s another resume builder for me,” said Doug Liberman, director of accounting operations.

    Elizabeth Goncalves, marketing manager, beamed after declaring a string variable on the board during a JavaScript class.


    Elizabeth Goncalves, marketing manager, beamed after declaring a string variable on the board during a JavaScript class.

    There have been other tangible results. Meetings take less time, employees say, because fewer technical explanations are necessary.

    Data analyst Corinne Salchunas sometimes has to wait months for a busy developer to address one of her requests, but armed with her coding knowledge — and the help of her mentor — she was able to tackle a project herself in just a few days. Salchunas, 26, adjusted the wording and format of a notification that lets website visitors know they can earn points by shopping on a site.

    One of her new versions is attracting 14 times more clicks, and earning users up to 14 times more points than the previous version.

    Sales executive Ryan Cole, 27, said his new coding knowledge will allow him to better explain software attributes to clients instead of running to an engineer every time he needs a technical explanation.

    “The last thing you want is to hand things off to other people and for something to be lost in translation,” he said.

    Tsedal Neeley, a professor of organizational behavior at Harvard Business School who has studied Rakuten’s Englishnization initiative, interviewed many FreeCause employees before the project started. Learning something new can create bonds between employees and raise morale, she said, but it also raises questions of whether the program adds a burden on engineers charged with mentoring co-workers.

    But, she said, Codinization could prove to be an innovative concept that gives employees a new understanding of their company’s products.

    “You can imagine, conceptually, this being a powerful thing,” Neeley said. Jaconi “might be starting something new.”

    I want Pi for my School

    The Raspberry Pi Foundation

    Before we get into the nitty gritty of hardware, software and what will be possible once the Raspberry Pi (RasPi for short) is finally released it’s important to take a look at the project’s roots. RasPi was initially devised by Eben Upton in 2006 who saw a decline in computer science skills amongst applicants for Cambridge University while he was lecturing and working in admissions.

    As a product of the British education system I can confirm that programming was not on the menu. Instead, we were taught basic word processing, spreadsheets and web design (using FrontPage Express, no less). Eben noticed that past applicants who had started programming on their Commodore 64s, Amigas and BBC Micro Computers of years gone by were much better versed in computer science than the Windows generation who were taught basic computer literacy and not pushed to learn to code. Huge drops in the numbers of applicants supported his theory that schools were not doing enough to encourage programming.

    Hardware, Software & Design

    At the heart of every Raspberry Pi unit is the Broadcom BCM2835 system on chip (SoC) . It contains an ARM11 processor running at 700MHz with a powerful Videocore 4 GPU (which uses OpenGL ES2.0 and OpenVG libraries to deliver its impressive 3D performance). This provides roughly the equivalent to the original Xbox console’s grunt in graphical processing power (in real-world terms it’s closer to a Pentium II at 300MHz with considerably better graphics). Video-out is delivered via HDMI or composite (no VGA) and the unit is able to decode 1080p H.264 Blu-ray quality video at 30fps with sound over HDMI to boot.

    There will be two versions of the RasPi – Model A ($25) comes with 128MB of RAM, a single USB 2.0 port and no Ethernet; Model B ($35) has 256MB of RAM, two USB 2.0 ports and a 100/10Mb Ethernet port. Due to the fact that the unit runs on ARM architecture (as opposed to x86 or x64 commonly found in PCs) it should be able to run all manner of software written for the platform provided the system requirements add up.

    The initial batch of RasPi units will not ship with a case, power supply or SD card (the main storage medium your OS will reside on) in order to keep the cost down. A 5v micro USB power supply, cables and such will be available to ship at launch for an additional fee, and it’s great to be given the option as many of us have too many cables lying around already. According to the project website the unit will also comfortably run off 4xAA batteries for true portability.