ProgrammableWeb: APIsMessageBird Balance

The MessageBird Balance API allows MessageBird customers to get the balance and balance information for their account. The balance may be returned in credits, euros, pounds, or dollars. MessageBird is an SMS marketing, notification, and communication service that allows users to send and receive personalized text messages.
Date Updated: 2016-07-26
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsMessageBird Verify

The MessageBird Verify API allows developers to verify mobile numbers. Users create a verify object with the API, and MessageBird handles creating a token and delivering the message to the provided number. MessageBird is an SMS marketing, notification, and communication service that allows users to send and receive personalized text messages.
Date Updated: 2016-07-26
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsMessageBird Voice Messaging

The MessageBird Voice Messaging API allows developers to convert text messages into voice messages. Each voice message is identified by a unique random ID that can be used to check the status of the voice message. MessageBird is an SMS marketing, notification, and communication service that allows users to send and receive personalized text messages.
Date Updated: 2016-07-26
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket News Aggregation

This REST API allows you to get all information about a season such as matches, teams, players, rounds and groups. Roanuz Cricket API's provide real time data and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-26
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket Match Over Summary

This REST API allows you to get the summary of each overs in a match. TEST match, response may be very big. Its useful for showing over comparison, score worm and other charts. Roanuz Cricket API's provide real time data and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-26
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket Season Team

This REST API allows you to get information about team and players in the season team. Roanuz Cricket API's provide real time data and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-26
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebGoogle Releases Cloud Natural Language API

The stakes for Machine Learning APIs are increasing by the day. Major vendors are making moves towards releasing ML platform APIs that will give developers a jumpstart into incorporating ML functionality into their applications.

Jeremy Keith (Adactio)Animating

I’ve noticed a few nice examples of motion design on the web lately.

The Cloud Four gang recently redesigned their site, including a nice little animation on the home page.

Malcolm Gladwell has a new podcast called Revisionist History. The website for the podcast is quite lovely. Each episode is illustrated with an animated image. Lovely!

If you want to see some swishy animations triggered by navigation, the waaark websites has them a-plenty. Personally I find the scroll-triggered animations on internal pages too much to take (I have yet to find an example of scrolljacking that doesn’t infuriate me). But the homepage illustrations have some lovely subtle movement.

When it comes to subtlety in animation, my favourite example comes from Charlotte. She recently refactored the homepage of the website for the Leading Design conference. It originally featured one big background image. Switching over to SVG saved a lot of bandwidth. But what I really love is that the shapes in the background are now moving …ever so gently.

It’s like gazing at a slow-motion lava lamp of geometry.

Amazon Web ServicesHow AWS Powered Amazon’s Biggest Day Ever

The second annual Prime Day was another record-breaking success for Amazon, surpassing global orders compared to Black Friday, Cyber Monday and Prime Day 2015.

According to a report published by Slice Intelligence, Amazon accounted for 74% of all US consumer e-commerce on Prime Day 2016. This one-day only global shopping event, exclusively for Amazon Prime members saw record-high levels of traffic including double the number of orders on the Amazon Mobile App compared to Prime Day 2015. Members around the world purchased more than 2 million toys, more than 1 million pairs of shoes and more than 90,000 TVs in one day (see Amazon’s Prime Day is the Biggest Day Ever for more stats). An event of this scale requires infrastructure that can easily scale up to match the surge in traffic.

Scaling AWS-Style
The Amazon retail site uses a fleet of EC2 instances to handle web traffic. To serve the massive increase in customer traffic for Prime Day, the Amazon retail team increased the size of their EC2 fleet, adding capacity that was equal to all of AWS and back in 2009. Resources were drawn from multiple AWS regions around the world.

The morning of July 11th was cool and a few morning clouds blanketed Amazon’s Seattle headquarters. As 8 AM approached, the Amazon retail team was ready for the first of 10 global Prime Day launches. Across the Pacific, it was almost midnight. In Japan, mobile phones, tablets, and laptops glowed in anticipation of Prime Day deals. As traffic began to surge in Japan, CloudWatch metrics reflected the rising fleet utilization as CloudFront endpoints and ElastiCache nodes lit up with high-velocity mobile and web requests. This wave of traffic then circled the globe, arriving in Europe and the US over the course of 40 hours and generating 85 billion clickstream log entries. Orders surpassed Prime Day 2015 by more than 60% worldwide and more than 50% in the US alone. On the mobile side, more than one million customers downloaded and used the Amazon Mobile App for the first time.

As part of Prime Day, saw a significant uptick in their use of 38 different AWS services including:

To further illustrate the scale of Prime Day and the opportunity for other AWS customers to host similar large-scale, single-day events, let’s look at Prime Day through the lens of several AWS services:

  • Amazon Mobile Analytics events increased 1,661% compared to the same day the previous week.
  • Amazon’s use of CloudWatch metrics increased 400% worldwide on Prime Day, compared to the same day the previous week.
  • DynamoDB served over 56 billion extra requests worldwide on Prime Day compared to the same day the previous week.

Running on AWS
The AWS team treats just like any of our other big customers. The two organizations are business partners and communicate through defined support plans and channels. Sticking to this somewhat formal discipline helps the AWS team to improve the support plans and the communication processes for all AWS customers.

Running the Amazon website and mobile app on AWS makes short-term, large scale global events like Prime Day technically feasible and economically viable. When I joined back in 2002 (before the site moved to AWS), preparation for the holiday shopping season involved a lot of planning, budgeting, and expensive hardware acquisition. This hardware helped to accommodate the increased traffic, but the acquisition process meant that sat on unused and lightly utilized hardware after the traffic subsided. AWS enables customers to add the capacity required to power big events like Prime Day, and enables this capacity to be acquired in a much more elastic, cost-effective manner. All of the undifferentiated heavy lifting required to create an online event at this scale is now handled by AWS so the Amazon retail team can focus on delivering the best possible experience for its customers.

Lessons Learned
The Amazon retail team was happy that Prime Day was over, and ready for some rest, but they shared some of what they learned with me:

  • Prepare – Planning and testing are essential. Use historical metrics to help forecast and model future traffic, and to estimate your resource needs accordingly. Prepare for failures with GameDay exercises – intentionally breaking various parts of the infrastructure and the site in order to simulate several failure scenarios (read Resilience Engineering – Learning to Embrace Failure to learn more about GameDay exercises at Amazon).
  • Automate – Reduce manual efforts and automate everything. Take advantage of services that can scale automatically in response to demand – Route53 to automatically scale your DNS, Auto Scaling to scale your EC2 capacity according to demand, and Elastic Load Balancing for automatic failover and to balance traffic across multiple regions and availability zones (AZs).
  • Monitor – Use Amazon CloudWatch metrics and alarms liberally. CloudWatch monitoring helps you stay on top of your usage to ensure the best experience for your customers.
  • Think Big – Using AWS gave the team the resources to create another holiday season. Confidence in your infrastructure is what enables you to scale your big events.

As I mentioned before, nothing is stopping you from envisioning and implementing an event of this scale and scope!

I would encourage you to think big, and to make good use of our support plans and services. Our Solutions Architects and Technical Account Managers are ready to help, as are our APN Consulting Partners. If you are planning for a large-scale one-time event, give us a heads-up and we’ll work with you before and during the event.


PS – What did you buy on Prime Day?

Jeremy Keith (Adactio)Class teacher

ES6 introduced a whole bunch of new features to JavaScript. One of those features is the class keyword. This introduction has been accompanied by a fair amount of concern and criticism.

Here’s the issue: classes in JavaScript aren’t quite the same as classes in other programming languages. In fact, technically, JavaScript doesn’t really have classes at all. But some say that technically isn’t important. If it looks like a duck, and quacks like a duck, shouldn’t we call it a duck even if technically it’s somewhat similar—but not quite the same—species of waterfowl?

The argument for doing this is that classes are so familiar from other programming languages, that having some way of using classes in JavaScript—even if it isn’t technically the same as in other languages—brings a lot of benefit for people moving over to JavaScript from other programming languages.

But that comes with a side-effect. Anyone learning about classes in JavaScript will basically be told “here’s how classes work …but don’t look too closely.”

Now if you believe that outcomes matter more than understanding, then this is a perfectly acceptable trade-off. After all, we use computers every day without needing to understand the inner workings of every single piece of code under the hood.

It doesn’t sit well with me, though. I think that understanding how something works is important (in most cases). That’s why I favour learning underlying technologies first—HTML, CSS, JavaScript—before reaching for abstractions like frameworks and libraries. If you understand the way things work first, then your choice of framework, library, or any other abstraction is an informed choice.

The most common way that people refer to the new class syntax in JavaScript is to describe it as syntactical sugar. In other words, it doesn’t fundamentally introduce anything new under the hood, but it gives you a shorter, cleaner, nicer way of dealing with objects. It’s an abstraction. But because it’s an abstraction taken from other programming languages that work differently to JavaScript, it’s a bit of fudge. It’s a little white lie. The class keyword in JavaScript will work just fine as long as you don’t try to understand it.

My personal opinion is that this isn’t healthy.

I’ve come across two fantastic orators who cemented this view in my mind. At Render Conf in Oxford earlier this year, I had the great pleasure of hearing Ashley Williams talk about the challenges of teaching JavaScript. Skip to the 15 minute mark to hear her introduce the issues thrown up classes in JavaScript.

<iframe height="270" src="" width="360"></iframe>

More recently, the mighty Kyle Simpson was on an episode of the JavaScript Jabber podcast. Skip to the 17 minute mark to hear him talk about classes in JavaScript.

<audio controls="controls" preload="none" src=""><object data="" height="24" type="application/x-shockwave-flash" width="290"><param name="movie" value=""><param name="wmode" value="transparent"> 220 JSJ Teaching JavaScript with Kyle Simpson on Huffduffer</object></audio>

(Full disclosure: Kyle also some very kind things about some of my blog posts at the end of that episode, but you can switch it off before it gets to that bit.)

Both Ashley and Kyle bring a much-needed perspective to the discussion of language design. That perspective is the perspective of a teacher.

In his essay on W3C’s design principles, Bert Bos lists learnability among the fundamental driving forces (closely tied to readability). Learnability and teachability are two sides of the same coin, and I find it valuable to examine any language decisions through that lens. With that mind, introducing a new feature into a language that comes with such low teachability value as to warrant a teacher actively telling a student not to learn how things really work …well, that just doesn’t seem right.

ProgrammableWeb: APIseeGeo 3D Map

The eeGeo 3D Map API allows developers to embed a 3D map into other applications and services. The main API method is embedding a 3D map. eeGeo is a company that creates and provides interactive 3D maps for a variety of operating systems/devices, such as iOS, Android, OSX, OculusVR, and WebGL.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsClearbit Risk

The Clearbit Risk API integrates associated risk score by analyzing an email and an IP address. It is available in REST architecture with HTTP requests and JSON responses under SSL security. Accurate development allows to verify users and authorize payments.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket Player Stats

This REST API allows you access to stats about a player for a specified league or board. Roanuz Cricket API's provide real time data and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket Schedule

This REST API allows you to get a schedule for the given month or for the given season for Roanuz Cricket API's. They provide real time data on stats and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket Recent Seasons

This REST API allows you to get a list of all recent seasons. It includes seasons from the last two months, current month and next month. Roanuz Cricket API's provide real time data on stats and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket Recent Matches

This REST API allows you to get a list of all world wide recent matches. It also provides recent matches for a specific season. Roanuz Cricket API's provide real time data on stats and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket Ball By Ball

This REST API allows you to get all details about balls of requested over. The response will equal 1st over of 1st innings if the over key is not provided with request. Roanuz Cricket API's provide real time data on stats and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRoanuz Cricket Match

This REST API allows you to get the full details of a match including; venue, status, player, teams and more. Roanuz Cricket API's provide real time data on stats and other metrics for various leagues including; International (ICC), Indian Premier League (IPL T20), Big Bash League and more. Roanuz is a software company specializing in AI, web and mobile apps.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsKontomatik Banking

The Kontomatik Banking API is a read-only API that allows financial institutions to access their users' banking data programmatically. This includes personal data, account balances, and full statements. Kontomatik is a product that allows financial institutions to obtain KYC, perform credit scoring, and build accurate profiles of their customers in order to provide contextual offers.
Date Updated: 2016-07-25
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebForget Home Automation Apps; Focus on APIs

In a recent report titled, “The Connected Home Is Transforming Into a Programmable Platform”, Gartner has predicted that 25% of households in developed countries will use digital personal assistants on smartphones as their main interface for connecting to smart home services, according to an article on CXOtoday.

ProgrammableWeb: APIsPokémon Go

The Pokémon Go API integrates applications with the augmented reality multiplayer game by Niantic. Pokémon Go combines vector tiles and a pool of geo-tagged photos from Google Maps, and the popular franchise by Nintendo. Players can customize their trainer, capture Pokémon, and participate in gym battles at designated places. Currently, this API is undocumented.
Date Updated: 2016-07-24
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsBrainShop

BrainShop is a customizable chat bot provider with artificial intelligence capabilities. After signing up, developers can create trainable robots (or "brains") and integrate them with applications. 2 paid plans are avilable, and a free option is available as well. The BrainShop REST API requires API Keys for authentication, and responds in JSON format.
Date Updated: 2016-07-24
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIs1WorldSync Content1

This Json API will allow you to exchange product content using 1WorldSync's product information cloud platform. Specify and search by category, code or description. Share product data with over 16,000 other global users.
Date Updated: 2016-07-24
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebDaily API RoundUp: Mode Analytics, Text2Data, College Scorecard,, PokeAPI

Every day, the ProgrammableWeb team is busy, updating its three primary directories for APIs, clients (language-specific libraries or SDKs for consuming or providing APIs), and source code samples.

ProgrammableWebWith Brexit, APIs Just Became Geopolitical

London holds the reputation of fintech capital of the world, leading the forward-thinking EU as it seeks a more integrated European payments market. This is currently being built around the EU’s Revised Payments Services Directive (PSD2) that requires all banks operating in the EU to provide customers with access to account and transaction information, as well as payment initiation to third parties, via APIs.

Amazon Web ServicesAWS Webinars – July, 2016

We have some awesome webinars lined up for next week! As always, they are free but do often fill up, so go and and register. Here’s the lineup (all times are PT and each webinar runs for one hour):

July 26

July 27

July 28

July 29



ProgrammableWebHow Developers can Prepare for the Industrial Internet of Things

More than 5.5 million new things connect to the Internet everyday, with 6.4 billion connected already. General Electric kicked off its report and call to developers “3 Reasons to Develop for the Industrial Internet of Things” with some weighty numbers.

ProgrammableWebNew Version of Swagger Codegen Plugs Security Vulnerabilities

Swagger Codegen 2.2.0 has been released with new functionality, security fixes, and improvements including JMustache update, codegen model improvement, addition of Apache 2.0 license to all generators, and additional integration tests using Shippable and AppVeyor. This latest release of Swagger Codegen includes a number of enhancements and bug fixes for API client generators and API server generators.

Amazon Web ServicesEC2 Run Command Update – Monitor Execution Using Notifications

We launched EC2 Run Command late last year and have enjoyed seeing our customers put it to use in their cloud and on-premises environments. After the launch, we quickly added Support for Linux Instances, the power to Manage & Share Commands, and the ability to do Hybrid & Cross-Cloud Management. Earlier today we made EC2 Run Command available in the China (Beijing) and Asia Pacific (Seoul) Regions.

Our customers are using EC2 Run Command to automate and encapsulate routine system administration tasks. They are creating local users and groups, scanning for and then installing applicable Windows updates, managing services, checking log files, and the like. Because these customers are using EC2 Run Command as a building block, they have told us that they would like to have better visibility into the actual command execution process. They would like to know, quickly and often in detail, when each command and each code block in the command begins executing, when it completes, and how it completed (successfully or unsuccessfully).

In order to support this really important use case, you can now arrange to be notified when the status of a command or a code block within a command changes. In order to provide you with several different integration options, you can receive notifications via CloudWatch Events or via Amazon Simple Notification Service (SNS).

These notifications will allow you to use EC2 Run Command in true building block fashion. You can programmatically invoke commands and then process the results as they arrive. For example, you could create and run a command that captures the contents of important system files and metrics on each instance. When the command is run, EC2 Run Command will save the output in S3. Your notification handler can retrieve the object from S3, scan it for items of interest or concern, and then raise an alert if something appears to be amiss.

Monitoring Executing Using Amazon SNS
Let’s run up a command on some EC2 instances and monitor the progress using SNS.

Following the directions (Monitoring Commands), I created an S3 bucket (jbarr-run-output), an SNS topic (command-status), and an IAM role (RunCommandNotifySNS) that allows the on-instance agent to send notifications on my behalf. I also subscribed my email address to the SNS topic, and entered the command:

And specified the bucket, topic, and role (further down on the Run a command page):

I chose All so that I would be notified of every possible status change (In Progress, Success, Timed Out, Cancelled, and Failed) and Invocation so that I would receive notifications as the status of each instance chances. I could have chosen to receive notifications at the command level (representing all of the instances) by selecting Command instead of Invocation.

I clicked on Run and received a sequence of emails as the commands were executed on each of the instances that I selected. Here’s a sample:

In a real-world environment you would receive and process these notifications programmatically.

Monitoring Execution Using CloudWatch Events
I can also monitor the execution of my commands using CloudWatch Events. I can send the notifications to an AWS Lambda functioon, an SQS queue, or a Amazon Kinesis stream.

For illustrative purposes, I used a very simple Lambda function:

I created a rule that would invoke the function for all notifications issued by the Run Command (as you can see below, I could have been more specific if necessary):

I saved the rule and ran another command, and then checked the CloudWatch metrics a few seconds later:

I also checked the CloudWatch log and inspected the output from my code:

Available Now
This feature is available now and you can start using it today.

Monitoring via SNS is available in all AWS Regions except Asia Pacific (Mumbai) and AWS GovCloud (US). Monitoring via CloudWatch Events is available in all AWS Regions except Asia Pacific (Mumbai), China (Beijing), and AWS GovCloud (US).



ProgrammableWebHow GE Current APIs Power Smart City Applications

At the largest IoT event in North America, 150+ developers had an opportunity to test out a set of new Intelligent Environment Service APIs from GE Current and compete for the $10,000 IoT for Cities Hackathon grand prize.

ProgrammableWebMicrosoft Publishes REST API Guidelines 2.3

Microsoft has published its Microsoft REST API Guidelines 2.3. The Guidelines serve as a design principle that urges development of resources available through a RESTful HTTP interface. The company believes "REST APIs SHOULD follow consistent design guidelines to make using them easy and intuitive." Microsoft aims to achieve five goals with the Guidelines:

Amazon Web ServicesGameStop – Moving a Mission-Critical Multichannel Marketing Platform to AWS

GameStop sells new and pre-owned video game hardware, software, and accessories, consumer electronics, and wireless services. With over 7,000 retail locations spread across 14 countries, the company sells to and interacts with millions of customers every day. In addition to their retail locations, they follow an omni-channel strategy and run a loyalty program with over 46 million members worldwide.

I spoke with Justin Newcom (Senior Director, International Technology Services & Support) and Jim March (Advanced Cloud Systems Engineer) of GameStop to learn how they moved their mission-critical multichannel marketing platform from traditional hosting to AWS. This is their story!

The Business Challenge
The story begins in March of 2015 when one of GameStop’s existing international hosting contracts was about to expire. The GameStop team decided to take a serious look at alternative hosting solutions. They sent out an RFP (Request For Proposal) to several traditional hosts and to some cloud vendors, including AWS. As the responses arrived, it became obvious, in Justin’s words, that “AWS was the clear winner.” Jim, after returning from a briefing held by another cloud vendor, dug in to AWS and found that it was far more mature and sophisticated than he had once thought.

They decided to move forward with AWS, basing their decision on the product, the pace of innovation, our reputation, and our pricing. However, even though they had picked the winner, they knew that they still had a lot to learn if they were going to have a successful journey.

The Journey Begins
The GameStop technology leaders decided to create a learning culture around AWS. They spoke with other AWS customers and partners, and ultimately brought in a prominent AWS Consulting Partner to accompany them on their cloud journey. They chose the mission-critical multichannel marketing platform as their first migration target. This platform goes beyond e-commerce, and manages all in-store customer activities in Canada and Europe, as well as online customer interaction. It integrates in-store and online activity; allowing, for example, customers to make an online purchase at the cash register.

The migration to AWS was complete in time for the 2015 holiday shopping season and AWS performed flawlessly. The first Black Friday was a turning point for GameStop. Even though they were not yet using Auto Scaling, they were able to quickly launch new EC2 instances in order to meet demand.  The site remained up and responsive.

Early in the journey, some other initial successes proved to be important turning points. For example, the team had just four hours to prepare for a “surprise” launch of Nintendo’s Amiibo in Canada. The launch went off without a hitch. Another time, they spun up new infrastructure on AWS to deal with a special sales promotion that was scheduled to last for just six hours. This went well and cost them just $300 in AWS charges. In light of these early successes, internal teams were empowered to think about other high-impact, short-term marketing programs, including “spot” sales that would last for an hour or two. Jim told me that events of this type, once traumatic and expensive, were now “fun.”

Time for a Transformation
With the first migration successfully completed, the next step was to transform the IT organization, acquiring cloud skills and experience along the way, as they became the organization’s cloud infrastructure team. As part of this modernization, they made sure that their team was gaining experience with Agile and DevOps practices, along with new technologies such as microservices and containers. They brought in modern tools like Jira and Confluence, sought executive buy-in to take new approaches and to run some experiments, and arranged for a series of in-house courses. I should note that this is turning out to be a very common model among companies that are taking a big leap in to the future! In some cases the cloud  begets the use of other modern practices; in others the use of modern practices begets the use of cloud.

With the transformation well under way, the team is now looking at all of ways that they can use AWS to improve efficiency and to save money. They anticipate becoming a different type of internal IT supplier, with the ability to form strong internal partnerships, provide better purchasing advice, and to assist teams that have varying levels of IT expertise. Costs have gone down,  predictability has gone up, and they are now positioned to build and deploy innovative solutions that were not feasible in the past.

GameStop is now looking to consolidate their international IT infrastructure resources, some of which are housed in “data rooms” (not quite data centers) in disparate non-US locations. They see AWS as a single platform to develop against, and have instituted a common model that can be replicated across locations, business units, and applications. They are no longer buying new hardware. Instead, as the hardware reaches the end of its useful life the functionality is moved to AWS and the data room is emptied out. At the present pace, all eight of the data rooms will be empty within three years.

Migrating to and Using AWS
Migration is generally a two-stage process for the GameStop international teams. In the first stage they lift-and-shift the current application to the cloud. In the second, they refactor and optimize in pursuit of additional efficiency and better maintainability. Before the migration the multichannel team saw IT served via third-party partners as a bottleneck. After the move to AWS the relationship improved and the teams were able to cooperatively work toward solutions.

During the refactoring phase they take a look at every aspect of the existing operation and decide how they can replace existing functionality with a modern AWS alternative. This includes database logic, network architecture, security, backups, internal messaging, and monitoring.

The team is intrigued by the serverless processing model and plans to use AWS Lambda and Amazon API Gateway to rebuild their internal service architecture, replacing an older and less flexible technology stack in the process. They are also planning to route all logs and metrics to Amazon CloudWatch for storage and analysis, with a goal of making them fully searchable.

The migration is still a work in progress and there’s still more work to be done. Some of the EC2 instances are still treated as pets rather than as cattle; the goal is to get to a model where all of the infrastructure is dynamic and disposable, and where logging in to a server to check status or to make a change is a rarity.

I asked Justin and Jim for advice and recommendations they could make to other organizations that are contemplating a move to the cloud. This is what they told me:

  • Go all-in on automation. Expect it and build for it.
  • Treat infrastructure as code. Take the migration as an opportunity to create a culture that embraces this practice.
  • Do everything right, from the beginning. Do not move an application that will cause you grief, simply to move it to the cloud. Choose your low-hanging fruit and spend your initial budget on what you know. Treat the migration as a learning process, but save money where you can.
  • Don’t cave to time pressure. Communicate with your business partners. The cloud is new for everyone and there will be bumps in the road. Be open and transparent and explain why things take time.
  • Ensure that the leadership team is all-in with the IT team. Having top-down buy-in from your management team is a must.

Jim also told me that he likes to think of the AWS Management Console‘s Launch Instance button as a form of technical debt that must be repaid with future automation.

I would like to thank Justin and Jim for their insights and to congratulate them on their work to move GameStop’s IT environment into the future!


Anne van Kesteren (Opera)Fetch Standard 101

The WHATWG Fetch Standard is an essential part of the browser networking subsystem. Basically any API that involves networking (e.g., <img src>, <a href> (through navigation), XMLHttpRequest, @font-face, WebSocket) goes through Fetch. The exception is WebRTC’s RTCDataChannel and perhaps not surprisingly it has a security issue. The fetch() API is also defined in terms of Fetch and the similar naming has led to some confusion. Fetch is basically the subsystem and fetch() is one of the many APIs that exposes (part of) the capabilities of Fetch.

The basic setup is that an API prepares a request, which consists of a URL and a number of variables, feeds that to Fetch, and at some point gets a response, which consists of a body and a number of variables. Fetch takes care of content security policies, referrer policies, invoking service workers, credentials, cache modes, CORS, HSTS, port blocking, default headers (and whether they get exposed to service workers), X-Content-Type-Options: nosniff, and more. In part Fetch defines essential infrastructure such as CORS, redirect handling, port blocking, and overall terminology, and in part it serves as glue between the now numerous standards that together define the browser networking subsystem.

E.g., for redirects, Fetch defines which headers are preserved, whether a request body gets cloned and reused (it usually does), how the referrer policy gets updated, what happens with redirects to non-HTTP schemes (fail, except when navigating sometimes), but the actual connection opening and request transmission is largely left to TLS and HTTP. And as a consequence of all APIs using Fetch, redirects behave the same throughout. There are exceptions to the rule of course, but redirects are no longer a problem we need to solve on a per-API basis. And when you extrapolate this redirects example to content security policies, referrer policies, service workers, and all the other little things Fetch takes care of, it should be clear why it is essential.

(See Fetching URLs for an earlier introduction.)

Amazon Web ServicesAmazon Aurora Update – Create Cluster from MySQL Backup

After potential AWS customers see the benefits of moving to the cloud, they often ask about the best way to migrate their applications and their data, including large amounts of structured information stored in relational databases.

Today we are launching an important new feature for Amazon Aurora. If you are already making use of MySQL, either on-premises or on an Amazon EC2 instance, you can now create a snapshot backup of your existing database, upload it to Amazon S3, and use it to create an Amazon Aurora cluster. In conjunction with Amazon Aurora’s existing ability to replicate data from an existing MySQL database, you can easily migrate from MySQL to Amazon Aurora while keeping your application up and running.

This feature can be used to easily and efficiently migrate large (2 TB and more) MySQL databases to Amazon Aurora with minimal performance impact on the source database. Our testing has shown that this process can be up to 20 times faster than using the traditional mysqldump utility. The database can contain both InnoDB and MyISAM tables; however, any MyISAM tables will be converted to InnoDB as part of the cluster creation process.

Here’s an outline of the migration process:

  1. Source Database PreparationEnable binary logging in the source MySQL database and ensure that the logs will be retained for the duration of the migration.
  2. Source Database Backup – Use Percona’s Xtrabackup tool to create a “hot” backup of the source database. This tool does not lock database tables or rows, does not block transactions, and produces compressed backups. You can direct the tool to create one backup file or multiple smaller files; Amazon Aurora can accommodate either option.
  3. S3 Upload – Upload the backup to S3. For backups of 5 TB or less, a direct upload via the AWS Management Console or the AWS Command Line Interface (CLI) is generally sufficient. For larger backups, consider using AWS Import/Export Snowball.
  4. IAM Role – Create an IAM role that allows Amazon Relational Database Service (RDS) to access the uploaded backup and the bucket it resides within. The role must allow RDS to perform the ListBucket and GetBucketLocation operations on the bucket and the GetObject operation on the backup (you can find a sample policy in the documentation).
  5. Create Cluster – Create a new Amazon Aurora cluster from the uploaded backup. Click on Restore Aurora DB Cluster from S3 in the RDS  Console, enter the version number of the source database, point to the S3 bucket and choose the IAM role, then click on Next Step. Proceed through the remainder of the cluster creation pages (Specify DB Details and Configure Advanced Settings) in the usual way:

    Amazon Aurora will process the backup files in alphabetical order.

  6. Migrate MySQL Schema – Migrate (as appropriate) the users, permissions, and configuration settings in the MySQL INFORMATION_SCHEMA.
  7. Migrate Related Items – Migrate the triggers, functions, and stored procedures from the source database to the new Amazon Aurora cluster.
  8. Initiate Replication – Begin replication from the source database to the new Amazon Aurora cluster and wait for the cluster to catch up.
  9. Switch to Cluster – Point all client applications at the Amazon Aurora cluster.
  10. Terminate  Replication – End replication to the Amazon Aurora cluster.

Given the mission-critical nature of a production-level relational database, a dry run is always a good idea!

Available Now
This feature is available now and you can start using it today in all public AWS regions with the exception of Asia Pacific (Mumbai). To learn more, read Migrating Data from an External MySQL Database to an Amazon Aurora DB Cluster in the Amazon Aurora User Guide.



Amazon Web ServicesNew AWS Training Bootcamps to Help You Build Technical Skills

My colleague Janna Pellegrino shared the guest post below to introduce you to a new set of AWS training bootcamps!


We’ve made four of our most popular Technical Bootcamps from AWS re:Invent and Summits part of our broader AWS Training portfolio so you can now attend a class convenient to you.

  • Taking AWS Operations to the Next Level teaches you how to leverage AWS CloudFormation, Chef, and AWS SDKs to automate provisioning and configuration of AWS infrastructure resources and applications. We also cover how to work with AWS Service Catalog. This course is designed for solutions architects and SysOps administrators.
  • Securing Next-Gen Applications at Cloud Scale teaches you how to use a DevSecOps approach to design and build robust security controls at cloud scale for next-generation workloads. We cover design considerations of operating high-assurance workloads on the AWS platform. Labs teach you governance, configuration management, trust-decision automation, audit artifact generation, and native integration of tasks into custom software workloads. This course is for security engineers, developers, solutions architects, and other technical security practitioners.
  • Running Container-Enabled Microservices on AWS teaches you how to manage and scale container-enabled applications by using Amazon ECS. Labs teach you to use Amazon ECS to handle long-running services, build and deploy container images, link services together, and scale capacity to meet demand. This course is for developers, solutions architects, and system administrators.
  • Building a Recommendation Engine on AWS teaches you to build a real-time analytics and geospatial search application using Amazon Elasticsearch Service, Amazon DynamoDB, DynamoDB Streams, Amazon API Gateway, AWS Lambda, and Amazon S3. We discuss a real-world location-aware social application that displays information generated from a model created with Amazon Machine Learning. We also cover best practices for processing and analyzing data, such as the lambda data processing pattern and automating development process, using Swagger, Grunt, and the AWS SDK. This course is for developers, solutions architects, and data scientists.

Janna Pellegrino, AWS Training and Certification

ProgrammableWebBarclays Launches Digital Banking Hackathon with MuleSoft

MuleSoft, provider of a platform for building application networks, today announced that it has partnered with Barclays to host a digital banking hackathon. The hackathon will take place at Barclays Technology Centre Radbroke in Cheshire on July 20 and 21. The event aims to foster innovation and harness technology to build a range of new financial services solutions. Disclosure: Mulesoft is the parent company of ProgrammableWeb.

ProgrammableWeb: APIsPoké

The PokéAPI provides integration with an extensive Pokémon database. Version 2 offers resources such as locations that can be visited within the games, Pokémon abilities, and evolution chains. This consumption only RESTful API requires no authentication, and has a daily rate limit of 300 requests per resource per IP address.
Date Updated: 2016-07-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsBerlin Public Transport REST

The Berlin Public Transport REST API offers access to the Public Transportation Agency of Berlin and Brandenburg (VBB). This API does not have call limits, does not require an API Key, and requires applications to have HTTP access control (CORS) enabled. Functionality includes routes, locations, and stations information.
Date Updated: 2016-07-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsRecharge Billing

The Recharge Billing RESTful API integrates recurring billing into web services. It is available to make HTTP requests and receive XML responses with SSL authentication.
Date Updated: 2016-07-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsClickToAddress Global Address

The ClickToAddress Global Address API finds international postal addresses, auto-completes, and validates data at the point of entry. It allows predictive search-ahead interaction. Available in JSON architecture.
Date Updated: 2016-07-20
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebYelp Launches Developer Preview of Revamped API

Yelp has launched a developer preview of its newly revamped Yelp API. The new release arrives after months of new feature development based on the feedback from the developer community. Developers had consistently asked for access to more Yelp data and enhanced functionality within the API. In response, Yelp has provided completely new API.

ProgrammableWeb: APIsAutodesk Forge 3D Print

The Autodesk Forge 3D Print API offers 3D printing functionality to existing applications. Additionally, it serves as a printing infrastructure for printer manufacturers. Autodesk is a California based design and business firm that provides industry leading software such as AutoCAD, Maya, and Fusion 360.
Date Updated: 2016-07-19
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsAutodesk Forge OAuth

The Autodesk Forge OAuth API returns a Token that is included in subsequent Forge API calls. OAuth 2 with JSON data format must be used in order to successfully obtain a Token. Autodesk is a California based design and business firm that provides industry leading software such as AutoCAD, Maya, and Fusion 360.
Date Updated: 2016-07-19
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsDigiSigner

The DigiSigner RESTful API integrates electronic signature features into applications. Authentication is available via HTTPS with a Key. Requests in cURL, PHP, and Java with JSON architecture.
Date Updated: 2016-07-19
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsCollege Scorecard Data

The College Scorecard Data API integrates school, academics, admissions, students, and repayment methodologies into web services. It is available in HTTP for queries and JSON & CSV for responses. Developers require a Key to access. Additional API information at
Date Updated: 2016-07-19
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebDaily API RoundUp: TwentyThree, Planio, ViaMichelin, SEO Monitor, SAP Hybris

Every day, the ProgrammableWeb team is busy, updating its three primary directories for APIs, clients (language-specific libraries or SDKs for consuming or providing APIs), and source code samples.

Matt Webb (Schulze & Webb)Two obvious financial tips

I think the LinkedIn euphemism for it is a "portfolio career," but really what that means is I have a bunch of stuff on the go simultaneously.

So for the past three months I've been working with Google, directing a small team on an invention project. I have my vending machine bookshop; I advise a couple of hardware startups; I've been doing a bit of teaching, etc, etc. I am trying to avoid building another agency.

Working for myself: I love the independence.

Working for myself: Holy shit I hate thinking about cashflow. It destroys any kind of creativity I have, and stops me being casual.

There's a time for hustling, and there's a time for being casual. I find the most interesting opportunities emerge from coffees and talking widely. And interesting opportunities breed interesting opportunities -- as Jack says, you get what you do. So, doubly important to hold off accepting anything until the great stuff appears.

And if I haven't got much money in the bank? That's when I make bad decisions. I mean, this is a question of BATNA: If my Best Alternative to a Negotiated Agreement is that I can't pay my mortgage, then I have to take whatever gig is going, at whatever terms.

I follow two rules to keep myself sane as an independent. This goes for freelancers, contractors, sole traders, and whatever other forms of "self-employed" there are out there.

It occurred to me that other people might be interested, so I thought I'd share them here.

Pay yourself a salary

Business money is not my money. To smooth out peaks and troughs, all gigs pay into a separate account and I pay myself monthly.

My salary is the same amount every month, and paid on the same day of every month.

(Business) taxes also come out of this float.

Build a runway

Once I take into account business expenses and my salary, I can calculate how many months I can survive without work. That's my runway.

If my runway is six months, I can sleep at night. If it's six months minus one day, that's a psychic shitstorm right there.

The reason being that it typically takes me three months to go from asking around to starting a gig (longer for the most unusual ones). Then let's say I get to invoice after a month's work, then it takes a month to get paid, then add a month as a buffer... that's six months right there.

When I started as an independent again, I kept my salary super low until I built up my six months runway.

There's a flip side: If the runway is too long, I stop being hungry. Being hungry is good.

Minimum viable financial management

Two tips. Not rocket science. I imagine most people have something similar. For me, this is what gives me room to be exploratory, and how I sleep easier at night.

ProgrammableWeb: APIsSlack Bot RTM

The Independent Slack Bot RTM API is used to build Slack applications for team based messaging. Normal and Real Time Messaging bots can be implemented with this modular API.
Date Updated: 2016-07-18
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWeb: APIsPlanio

The Planio API allows users to access their project management resources programmatically. Planio is a project management service based on Redmine. It provides task management, time tracking, workflows, file management, knowledge management, wikis, issue tracking, version control, communication, and repository hosting. The pro version also includes team chat and helpdesk features.
Date Updated: 2016-07-18
Tags: [field_primary_category], [field_secondary_categories]

ProgrammableWebHow APIs Are Fuelling a Cultural Shift in Business

The demands on modern businesses to remain competitive are considerable, with software continuing to support users’ demands for applications and data to be always connected and always available.

Andy Budd (Clearleft)Why can’t designers solve more meaningful problems?

Every few months, somebody in our industry will question why designers don’t use their talents to solve more meaningful problems; like alleviating the world from illness, hunger or debt. This statement will often be illustrated with a story of how a team from IDEO or Frog spent 3 months in a sub-saharan village creating a new kind of water pump, a micro-payment app, or a revolutionary healthcare delivery service. The implication being that if these people can do it, why can’t you?

As somebody who believes in the power of design, I understand where this sentiment comes from. I also understand the frustration that comes from seeing smart and talented people seemingly wasting their skills on another image sharing platform or social network for cats. However this simple belief that designers should do more with their talent comes loaded with assumptions that make me feel very uncomfortable.

Firstly let me state that I think designers are a genuinely caring group of people who got into this industry to have some visible impact on the world. They may not be saving lives on a daily basis, but they are making our collective experiences slightly more pleasant and less sucky. They do this by observing the world around them, being attuned to the needs of individuals, spotting hidden annoyances and frustrations, and then using their visual problem solving skills to address them. As a result, designers are often in a permanent state dissatisfaction with the world.

Designers also regularly find themselves overwhelmed by the volume of problems they are exposed to and expected to solve. This is partly down to the fact that companies still don’t understand the full value design, and fail to resource accordingly. However it’s also down to the designers natural urge to please, often causing them to take on too much work and spread themselves far too thin.

The message that designers aren’t trying hard enough to solve the really big, meaningful problems taps into this deep insecurity; making them feel even worse about the lack of impact they are having than they already do. As somebody who cares about the industry I feel we should be trying to help lighten the load, rather than adding increasingly difficult to achieve expectations onto an already stressed out workforce.

I also worry about who get’s to define what counts as “meaningful” work. For some people, meaningful may mean taking 6-months off to help solve the refugee crisis—an amazing thing to do I’m sure you agree. For others it may mean impacting hundreds of millions of people by working at Facebook or Twitter. That may seem facile to some, but both these platforms have been used to connect isolated communities, empower individuals, and in some cases, topple regimes. So who are we to judge what “meaningful” means to other people?

Many designers I speak to do actually want to have a bigger impact on the world, but don’t know where to start. It’s not quite as easy as giving up your day job, traveling to a crisis zone, and offering your services as a UX designer. It turns out that a lot of the world favours doctors, nurses and engineers over interaction designers and app developers. I sometimes feel there’s a whiff of Silicon Valley libertarianism tied up in the idea that designers should be solving the really big problems; the kind of things that Universities, Governments and NGOs have been struggling with for decades.

There is also a sense of privilege that comes with this notion. While some designers may be in the position to take a pay cut to join an NGO, or invest their savings into starting a community interest company, that’s not true of everybody. Designers may be better paid than many in society, but they still have mortgages to cover, families to look after, and personal lives to lead.

By comparison, many of the people I see extolling these notions have been very fortunate in their careers, and have the time and resources to tackle problems they find meaningful. Some have run successful companies for many years, while others are living on the proceeds of their stock options. Most are tackling these problems for the right reasons, but I can’t help think that some are doing so out of guilt. Doing so to make amends for all the cigarette and alcohol adverts they worked on as a young designer, or to justify the payout they got for being at the right company at the right time.

There is definitely an element of “mid-arrear crisis” in the sense that we should all be doing more with our lives than we actually are; making a bigger impact before our time is up. However it’s much easier to have these thoughts, and see these opportunities towards the end of one’s career, and then judge younger designers for what they themselves didn’t see at that stage in their lives.

Ironically I believe there are a large number of designers choosing to work for the greater good. Organisations like GDS in the UK, and Code for America in the US, have done a fantastic job of recruiting some of the best and the brightest from the tech world to help improve government and foster civic engagement. Other well known designers have given up their time to work on political campaigns, or donated their skills to charity. This is nothing new. Many famous graphic designers, type designers and advertising executives donate part of their time to good causes, be it fundraising drives, charity campaigns, or education.

Less well known, but no less important, are the tens of thousands of designers who work for organisations like Amnesty International, Greenpeace and the WWF. People who actively choose to work for companies they feel are making a positive impact in thew world. Then we have the individual designers, working under the radar for lesser known charities. Much of their work goes unreported. You’ll never see them on stage at a typical web design conference, or writing an article for your favourite digital magazine for instance. But don’t let this lack of visibility fool you into thinking great work isn’t going on; projects like falling whistles and the lucky iron fish are just the tip of the iceberg.

So why aren’t more designers choosing to solve large, difficult, and meaningful problems? I think a big part of the reason is sociological. We look to our peers and our industry leaders to understand the career options available to us, and see what success looks like. If all the evidence says that being a successful designer means working for a well funded start-up, gaining a large Twitter following, and waiting till they IPO, that’s what people will do.

If we really want designers to be solving bigger problems, two things need to happen. First off, the people who currently own those problems need to recognise the value of design, and make it easier for designers to get involved. I think conferences like TED and publications like HBR have helped with his endeavour, but it’s still not obvious how designers can get involved and move the needle in a meaningful way.

Secondly, we need to create an alternative success narrative that shows it’s possible to be an amazing designer by doing meaningful work, without having done the rounds at a well known design consultancy or large tech company. We need to break the idea that solving big, important and meaningful problems is the preserve of the design-elite, and instead create alternate role models for budding new designers to follow.

ProgrammableWebMightySignal Reveals the SDKs that iOS Apps are Using

As consumption of digital media continues to grow on mobile over desktop, data aggregation service MightySignal provides visibility into the mobile app economy. The company gathers and indexes data around the technologies that mobile app companies use, making it available to users in real-time.

The company recently published an interactive index of all of the SDKs used by the Top 200 iOS Apps available on the App Store.

Matt Webb (Schulze & Webb)Hardware-ish coffee morning, next Thursday

Hey, shall we do a July hardware-ish coffee morning? And, just for kicks, shall we try a different location?

Thursday 21 July, 9.30am for a couple of hours, at Machines Rooms, 45 Vyner St.

Last time we had a fun crowd. Thanks for coming Ross, Paul, Anders, Pauline, Josh, Avril, Phoenix, John, Lloyd, Tom, and Nat.

It was from Nat that I learnt about Machines Room -- it's a makerspace right in the middle of London's densest area for hardware startups. Tech Will Save Us is on the same road, for example.

There's equipment there, and coffee, and events. So next week is going to be a busy one of us doing stuff together! On Tuesday night, I'm taking part in an event about hardware startups and business models. Sign up here. On Wednesday, my bookshop vending machine Machine Supply will be moving there for its latest residency. And on Thursday morning, this hardware-ish coffee morning!

Usual drill... there's no standing up and doing intros, or anything super formal. The coffee morning is simply a friendly space to hang out, chat, get caffeinated, and compare notes on everything hardware related, whether that's making stuff as a hobby, figuring out how to do manufacturing, swapping interesting new Kickstarters, or just spending time with like-minded people.

Hope to see you at Machines Room next Thursday!

ProgrammableWebFacebook Rolls Out Swift SDK, Adds Features To Graph API 2.7

Facebook this week introduced two major sets of developer tools for interacting with its various services. The company released a new software development kit for Apple's Swift programming language, and added lots of new features to its Graph API 2.7. Both toolsets are available in preview form, with full launches expected in the fall. 

ProgrammableWebHelloSign Announces eSignature API Feature Updates

HelloSign, an eSignature platform, has announced several feature updates to the HelloSign API. The HelloSign API can be used by developers to integrate document e-signing, embedded signing, auto-fill documents, major eSignature laws compliance, and other HelloSign platform capabilities with applications.

ProgrammableWebIBM Moves Watson Conversation from Experimental to GA

IBM announced that its Watson Conversation, a natural language interface within IBM Bluemix, has moved from Experimental to General Availability. Developers interested in including Watson Conversation features within third party apps need to move quickly as IBM will discontinue supporting the Experimental version on August 11, 2016.

ProgrammableWebDaily API RoundUp: HomeAway, Citymapper, Stampery, Dopamine, TradeIt

Every day, the ProgrammableWeb team is busy, updating its three primary directories for APIs, clients (language-specific libraries or SDKs for consuming or providing APIs), and source code samples.

Jeremy Keith (Adactio)Save the dates for Indie Web Camp Brighton 2016

September 24th and 25th—those are the dates you should put in your diary. That’s when this year’s Indie Web Camp Brighton is happening.

Once again it’ll be at 68 Middle Street, home to Clearleft. You can register for free now, and then add your name to the list of participants on the wiki.

If you haven’t been to an Indie Web Camp before, it’s a very straightforward proposition. The idea is that you should have your own website. That’s it. Every thing else is predicated on that. So while there’ll be plenty of discussions, demos, and designs, they’re all in service to that fundamental premise.

The first day of an Indie Web Camp is like a BarCamp. We make a schedule grid at the start of the day and people organise topics by room and time slot. It sounds chaotic. It is chaotic. But it works surprisingly well. The discussions can be about technologies, or interfaces, or ideas, or just about anything really.

The second day is for making. After the discussions from the previous day, most people will have a clear idea at this point for something they might want to do. It might involve adding some new technology to their website, or making some design changes, or helping build a tool. For people starting from scratch, this is the perfect time for them to build and launch a basic website.

At the end of the second day, everyone demos what they’ve done. I’m always amazed by how much people can accomplish in just one weekend. There’s something about having other people around to help you that makes it super productive.

You might be thinking “but I’m not a coder!” Don’t worry—there’ll be plenty of coders there so you can get their help on whatever you might decide to do. If you’re a designer, your skills will be in high demand by those coders. It’s that mish-mash of people that makes it such a fun gathering.

Last year’s Indie Web Camp Brighton was lots of fun. Let’s make Indie Web Camp Brighton 2016 even better!

Indie Web Camp Brighton group photo

ProgrammableWebAmid Pokémon Go Madness, Nintendo Announces Unified Dev Portal

Nintendo, once a name synonymous with video game innovation and dominance, has merged its developer programs into a single portal, suggesting that the company could be looking to include independent game developers in its comeback plans.


Updated: .  Michael(tm) Smith <>