13: MeshBlu, NPM, and The Internet of Everywhere

Connectivity and ubiquity will play a huge role in how web development for connected devices evolves. The rise of makers & builders in the development community is sparking innovation as well as curiosity in the business world. From connected cars & living spaces to fashion and novelty, The Internet of Things (#IoT) stretches far and wide. We are seeing more and more that our clients and users are demanding applications that integrate seamlessly not just w/ their phones, tablets, and computers but with their tv’s, security systems. Many companies are now seeing the viability & market for connected IoT. Many of these companies want to unify product experiences and blur the lines between the physical and digital worlds. With that said, how can we start building our skills and becoming the experts in this development arena?


Whether you are interested in building assembly line robotics, medical technology solutions, or even a simple product with blinking LED’s, developers will need to know many things. The security, product development cycles, how to connect devices to together, & how to share and assimilate firmware & software packages are very important. Standardization and assimilation of devices in a secure manner is critical for businesses.


JavaScript’s ubiquity & evented I/O model lends itself well to easily build IoT devices. Other languages are just as viable and debatably better at many aspects of IoT but JavaScript makes it easier, approachable, and portable.


NPM (@npmjs), the Node Package Manager, is used across the world as the standard JavaScript package manager for Node.js JavaScript primarily for the web. NPM, Inc. aims to change that and be more than a web tool. I aims to be the JavaScript ecosystem package manager for all development platforms from front end development to IoT and more. Raquel Velez (@rockbot), Software Engineer at NPM, Inc., speaks to this, the impact of NodeBots on the development community, education of IoT, and robotics & web technologies in IoT.

Chris Matthieu (@chrismatthieu), Co-founder & CTO of Octoblu (@Octoblu), discusses Octoblu’s platform and specifically #MeshBlu (AKA SkyNet.im), the scalable & universal cloud-based MQTT & CoAP-powered network for smart devices, sensors, cloud resources, drones, Arduinos, Raspberry Pis, and more.


Mike Schwartz(@nynymike), CEO of Gluu, shares his feelings on IoT security, open security standards, development practices and the pitfalls of a connected platform for IoT devices.  


Kenal Shah (@KenalShah), Product Manager at 3Pillar Global, talks to the product side of IoT and how the business side of developing for connected devices impacts the development practices.


Standards are constantly debated and the rise of the machines is upon us. We need to decide as a community what these standards are so our clients can trust us to develop their IoT integration products. It is “The Wild Wild West” of IoT yet production and shipping capablities are here with tools like Node.js, NPM, and Octoblu. Once we solidify the standards, will you be ready to deliver?




Upcoming Related Events






















All Seen Alliance

























Direct download: episode-13_meshblu-npm-and-the_internet-of-everywhere.mp3
Category:IoT -- posted at: 9:31am EST

12: Flux Application Architecture & React

Flux is the application architecture that Facebook uses for building client-side web applications. It complements React's composable view components by utilizing a unidirectional data flow. It's more of a pattern rather than a formal framework, and you can start using Flux immediately without a lot of new code.” - Facebook’s Flux Architecture Home Page -


Bill Fisher (@fisherwebdev), Facebook Software Engineer & Lead Developer of the Flux Documentation, joins The Web Platform Podcast for ‘Episode 12:  Flux Application Architecture & ReactJS.’


Bill talks with hosts Nick Niemeir (@nickniemeir) & Erik Isaksen (@eisaksen) about Flux, an application architecture similar in ideas to CQRS & Data Flow Programming. It was created to alleviate the performance & scalability problems that Facebook encountered in building Facebook Messenger (Watch Hacker Way: Rethinking Web App Development at Facebook’ - a presentation by Jing Chen, Software Engineer at Facebook, for further information). Flux promotes a unidirectional data flow model through an application. In contrast to MVC, Flux mainly consists of Stores, a central Dispatcher, and Controller-Views.

Facebook has React.js as its view layer and and Flux is quickly becoming the architectural design of choice for many of its other web applications. The support, power, and marketing behind the Angular.js and Ember.js frameworks is undeniable and when Facebook released React.js many developers misunderstood its Virtual DOM approach because it was not like the frameworks developers are used too. Despite that, Facebook has proved itself a ‘contender’ in the eyes of many in the development community and many developers and engineering teams are switching their ‘framework of choice’ to React.js.


Flux combined with React.js offers many appealing possibilities but it is not limited to use with just React.js. Flux is an application architecture and it can be used as a pattern in almost any technology stack for web application development.


Flux & React Resources


Flux Projects In Progress


Flux Implementations


React Channels


Direct download: episode-12_flux-application-architecture-and-react.mp3
Category:React-Flux -- posted at: 2:36pm EST

11: The Bosonic Project

Raphael Rougeron joins us from Toulouse, France to talk about The Bosonic Project.  Raphael and his team of developers mostly focus their development efforts working in the Financial Industry, building out secure and robust applications as well as intricate cross browser UI Components. The UI components part of his work is especially interesting in that it led him to create The Bosonic Project.


Raphael was frustrated, like most of us, with having to constantly rewrite all of his components every time his team shifted technologies so he created The Bosonic Project. Bosonic, deriving its name from the word Boson, which is a subatomic particle that has zero or integral spin, is a philosophy and supporting tool chain to assist in building better UI components as the standardized Web Component specs (Custom Elements, HTML Imports, Shadow DOM, Templates, and CSS Decorators) describe them. This approach shields components against potential spec changes and provides support for “not-so-modern” browsers like Internet Explorer 9 (IE9).











Direct download: episode-11_the-bosonic-project.mp3
Category:web-components -- posted at: 7:57am EST

10: Mathematics & Dynamic CSS Visualizations

In the future, CSS visualizations will dramatically change. How they will change is debatable but they will enable developers to do a lot more than they may think. We may see custom properties like variables to further improve DRY (Don’t Repeat Yourself) code & on-the-fly cascading calculations, CSS Extensions to create our own custom selector properties, custom functions, & custom selector combinations.  Some of these rules are even starting to be implemented in browsers today like “will-change” to pre-optimize changes in DOM structures and CSS Shapes. These will further help us define display, flow, & wrapping of content and it’s containers. CSS is moving rapidly and this is just the tip of what is to come for web development in the coming years or even months in some cases.


It used to be to create powerful visualizations in a browser you needed to use Flash or some non-standard tool to get the performance & consistency you needed from complicated animations. Today we have help in bridging the gaps of today and tomorrow. CSS Preprocessors given us powerful features in our CSS code. Some of the more notable ones are loops, conditionals, variables, custom mixins/functions, and heavy grade math calculations. While these are extremely useful, they only help us, currently, before we even see CSS in the browser. Online tools like Codepen.io help us quickly build and view CSS, HTML, & JavaScript that can be easily shared and updated without the overhead of understanding setup, build processess, or dependency management.

Although extremely powerful, this means that the tools we have only have the ability to allow CSS to react to change in the DOM in a limited capacity. Looking at todays standard CSS, we now have ways of doing some dynamic calculations and conditions in the browser and device viewers. Directives like @supports and @media give us powerful conditionals. We have several types units of measurement, such as viewport units, frequency units, time units, & resolution units. Rules like ‘calc’ give us the ability to computationally react to mutations in the DOM tree. Keyframe Directives give us robust animation, the ‘transform’ rule yields great power to setup and animate DOM structures and also dynamically change rotation, skewing, scaling, and translation both 2D and 3D space, all without needing one line of JavaScript.































Direct download: episode-10_mathematics-and-dynamic-css-visualizations.mp3
Category:CSS -- posted at: 9:19am EST

9: Web Accessibility for JavaScript Components and Custom Elements

In Episode 9, ‘Web Accessibility for JavaScript Components and Custom Elements’. Steve Faulkner (@stevefaulkner) from The Paciello Group and Marcy Sutton (@marcysutton) from Substantial discuss the lack of focus in product development today in building accessible applications & services. Many times web accessibility becomes an afterthought in creating a software product, having little prioritization from the business side until it is a problem. Retrofitting such an important part of our development can make web accessibility seem more like a chore with low ROI for the the time taken to implement it. It can be easy if developers know how to do it and hardly any work when it is successfully incorporated into a development process and it’s valued at the business level.


With recent advances in the past few years in JavaScript MV* frameworks like Angular, React, & Ember we are seeing the need for web accessibility more and more. Heavy JavaScript applications tend to provide little or wrong functionality for things we take for granted like keyboard access. Examples on modifying these to better attend to user experience traditionally meant lots of overhead in development by forking the framework and updating it constantly. Based on the resources developers typically find in online searches & Roles the lack of good developer examples, WAI ARIA & even simple accessibility is easy to misunderstand.


Many newer client side frameworks focus on componentization of HTML elements. Angular Directives, Ember Components, React Classes and Web Components. Componentization gives developers a chance to build much faster and easier Web Accessibility using various tools like WAI ARIA roles at a much more focused & reusable level. What is the future of Web Accessibility with these technologies? Why are we so concerned about Web Accessibility?



















8: Exploring Dart & Polymer

Dart was originally a Google language revealed in 2011 and is now an ECMA Standard known as TC52. When Dart first came into being it was annoounced it's purpose was to "ultimately to replace JavaScript as the 'lingua franca' of web development on the open web platform". It's a far stretch from JavaScript's flexible dynamic scripting approach in that It is statically typed and relies on source-to-source compilation. Now that Dart has evolved into a platform with it's own package manager, tooling, full stack implementations, & libraries,  it's community is growing and moving closer and closer toward it's original purpose.


Combined with powerful libraries like  “polymer.dart”, a Dart port of Polymer to build structured, encapsulated, client-side web apps with Dart and web components, can Dart become a first class browser language & the platform of choice for our development?


Chris Strom (@eee_c), our guest in this episode and owner of EEE Computes LLC, is a code explorer, daily blogger, and community leader in JavaScript, Ruby, & Dart. He is the author of3D Game Programming for Kids,Patterns in Polymer,Dart for Hipsters,The SPDY Book and Co-author ofRecipes with Backbone. He prefers to code with Dart but also builds with JavaScript, Ruby, Go and more.


Chris uses his ICE Code Editor project, written in Dart & Polymer, to teach kids how to code. Lately, he pair programs nightly and blogs daily on Dart, Polymer, and mentoring. Chris talks with Christian(@anvilhacks) & Erik (@eisaksen) about his writings, pairing experiences, teaching, and thoughts on Dart, Polymer, and the current state and possible futures of Dart as a platform of choice.













Patterns in Polymer








Direct download: episode-8_exploring-dart-and-polymer.mp3
Category:dart -- posted at: 11:19am EST

7: Web RTC and Designing Realtime Experiences

In episode 7 of the web platform podcast, ‘’Web RTC and Designing Realtime Experiences”,  we talk with Agility Feat (http://agilityfeat.com/), a design and development firm in the US, Costa Rica, Nicaragua, and Honduras. Agility Feat has been not only building out real-time apps for a while now but they are also actively contributing back to the community around it as well by speaking at events, distributing a RealTime.com newsletter, and more.


Web RTC (http://www.webrtc.org/) is “a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple JavaScript APIs”. It is a peer-to-peer communication tool and its been around for a while. Contrary to popular belief Web RTC is not just video & chat in the browser. It is more than just that, it has data channels, screen sharing, streaming, and much more.


Web RTC is an evolving standard for realtime app development and is gaining popularity quickly in the realtime web community. More browsers are starting to implement it and Agility Feat has seen the capabilities & usefulness of Web RTC to assist in developing the user experience of realtime applications. In this episode Agilty Feat discusses how they approach designing for browsers that don’t support it and how they use Web RTC effectively in their applications.


Christian Smith (@anvilhacks) and Erik Isaksen (@eisaksen) host this episode with guests Allan Naranjo (@OrangeSoftware), Mariana Lopez (@nanalq), & Arin Sime (@ArinSime) The AgilityFeat team talks with us about the user experience considerations in building realtime applications and the technologies involved.


Allan Naranjo (@OrangeSoftware) is a core member of the development team at AgiltyFeat. He is a leader in creating detailed mobile experiences with heavy client side frameworks. Allan was the winner of  ‘The  Access Innovation Prize’ in 2012 for one of his Facebook Applications.


Mariana Lopez (@nanalq) is the UX lead at AgilityFeat. She designs real-time applications for clients across a variety of industries.  Mariana studied Human Computer Interaction at Carnegie Mellon University, and is also a professor of Interaction Design at the Universidad Veritas (Costa Rica) and Universidad de Costa Rica.


Arin Sime (@ArinSime) is co-founder of AgilityFeat. Arin has over 16 years of experience as a developer, entrepreneur, consultant, and trainer for everything from small startups to Fortune 100′s and federal agencies.





















Direct download: episode-7_web-rtc-and-designing-realtime-experiences.mp3
Category:realtime -- posted at: 10:26am EST

6: What Agile Brings to Products & Teams

Agile is a buzzword that, for better or worse, has caused emotional reactions that are both negative and positive. It is a highly overused and misunderstood term in our industry but it has shaped the way web software has been built for years. Agile is a flexible set of tools and practices that enable businesses to rapidly produce software that is extremely versatile to change. It has spawned many variants in its implementation and has endured much scrutiny. Agile strives to create quality software that embraces collaboration & individuals over interactions.

James Shore (@JamesShore), creator of LetsCodeJavaScript.com (http://www.letscodejavascript.com/) and co-author of the book ‘The Art of Agile Development’ (http://shop.oreilly.com/product/9780596527679.do), talks with us in our 6th episode - ‘What Agile Brings to Products & Teams -Why TDD is Not Dead’.

This episode, at its core, is about Agile software development and how Test Driven Development (TDD) can help us, as programmers, build better quality software products & services. Development is not just about coding, it’s about people and working together to build software that can easily change and adapt over time. The way we build products & services varies in techniques & implementation depending on the project. By using one or many Agile methodologies such as TDD we may be able to get there faster and with a better degree of maintainability, quality, and user experience.

James is an author, thought leader, and software testing guru. He believes that great software development teams consistently deliver market success, technical success, and personal success for team members and stakeholders. He is one of the early pioneers of Agile software development and an incredible mentor.

Direct download: episode-6_what-agile-brings-to-products-and-teams_why-tdd-is-not-dead.mp3
Category:agile -- posted at: 2:11pm EST

5: The Web Components Community

Web Components are a set of emerging and rapidly changing technologies alter the way many developers are starting to build web applications. Zeno Rocha (@zenorocha), a dominant force in the front end development community talks with hosts Erik Isaksen (@eisaksen) & Christian Smith(@anvilhacks) on how developers can get started building with these technologies today & how to build their own components, tooling & using the Github & Bower communities, and other front end developer goodness.

Zeno, began a small project, CustomElements.io ( http://customelements.io/), that was meant to track his and others Web Components. CustomElements.io, now used by Mozilla as their X-Tags (http://www.x-tags.org/) registry, has become much more than that and is now a central place for developers to share, publish, and maintain their Web Components. The project spawned an incredible amount of support from the web development community that grew into several other related projects such as ‘WebComponents.org’ ( http://webcomponents.org/ ) & the boilerplate Yeoman project ‘generator-element’ https://github.com/webcomponents/generator-element )

Direct download: episode-5_the-web-components-community.mp3
Category:web-components -- posted at: 12:00am EST

4: Static Application Hosting & All Things Firebase

“The Rise of BAAS : Static Application Hosting & All Things Firebase”,  episode 4, is the second of our exploration into Backend As A Service (BAAS) and how it’s changing how we build applications today.

Static Application development is on the rise & the tools that help us quickly host and iterate on these applications are emerging rapidly. With the exit of GoInstant as a BAAS, can we safely rely on these services as dedicated backends or do we solely use BAAS for real time interaction, prototyping, or something else? Ossama Alami, VP of Developer Happiness, at Firebase talks with us about the recent Firebase Hosting service, deploy tools, open data sets, static hosting & BAAS applications and everything Firebase.

Firebase, a young but influential player in BAAS was founded in 2012. At it’s core, it is a backend that lets developers store and sync data in real time. Ossama has dedicated himself to empowering developers and ensuring Firebase remains a force for good in the developer community.

Direct download: episode-4_firebase-hosting-and-all-things-firebase.mp3
Category:technology -- posted at: 8:54am EST