Amazon Web ServicesMySQL 5.5 to MySQL 5.6 Upgrade Support for Amazon RDS

The Amazon Relational Database Service (RDS) takes care of almost all of the day to day grunt work that would otherwise consume a lot of system administrator and DBA time. You don't have to worry about hardware provisioning, operating system or database installation or patching, backups, monitoring, or failover. Instead, you can invest in your application and in your data.

Multiple Engine Versions
RDS supports multiple versions of the MySQL, Oracle, SQL Server, and PostgreSQL database engines. Here is the current set of supported MySQL versions:

You can simply select the desired version and create an RDS DB Instance in a minutes.

Upgrade Support
Today we are enhancing Amazon RDS with the ability to upgrade your MySQL DB Instances from version 5.5 to the latest release in the 5.6 series that's available on RDS.

To upgrade your existing instances, create a new Read Replica, upgrade it to MySQL 5.6, and once it has caught up to your existing master, promote it to be the new master. You can initiate and monitor each of these steps from the AWS Management Console. Refer to the Upgrading from MySQL 5.5 to MySQL 5.6 section of the Amazon RDS User Guide to learn more.

For MySQL 5.5 instances that you create after today's release, simply select the Modify option corresponding to the DB Instance to upgrade it to the latest version of MySQL 5.6. If you are using RDS Read Replicas, upgrade them before you upgrade the master.

Version 5.6 MySQL offers a number of important new features and performance benefits including crash safe slaves (Read Replicas), an improved query optimizer, improved partitioning and replication, NoSQL-style memcached APIs, and better monitoring.

The InnoDB storage engine now supports binary log access and online schema changes, allowing ALTER TABLE operations to proceed in parallel with other operations on a table. The engine now does a better job of reporting optimizer statistics, with the goal of improving and stabilizing query performance. An enhanced locking mechanism reduces system contention, and multi-threaded purging increases the efficiency of purge operations that span more than one table.

Planning for Upgrades
Regardless of the upgrade method that is applicable to your RDS DB Instances, you need to make sure that your application is compatible with version 5.6 of MySQL. Read the documentation on Upgrading an Instance to learn more about this.

-- Jeff;

ProgrammableWebToday in APIs: Withings API, and 4 New APIs

WithingsBlood and oxygen monitoring is available on the newly-released Pulse O2 from Withings. AgeCheq helps API providers comply with child privacy laws. Plus: MEVU’s Bitcoin Wallet makes paying a real gesture, Enterprise Document Viewer’s New API, and 4 new APIs.

Withings Launches the Pulse O2 with Blood, Oxygen Monitoring Available with API

Withings has updated its successful Pulse activity tacker with the Pulse O2 that can measure blood oxygen levels. Other watches can measure heart rate. But the Pulse O2’s blood oxygen measure is useful for everyone from altitude trainers to those with asthma.

As Darrel Etherington writes in Techcrunch, the device has a lot designed into it, from calories burned to elevation, distance, and the ability to read vertically if the device is mounted. As he notes,

Pulse O2 also features sleep pattern monitoring, and works with Withings’ own health app, syncing data about your day and health wirelessly with your device over Bluetooth 4.0 for review either in the app or in a web-based dashboard. It also works with other apps that use Withings’ API.

According to Withing’s developer site, the API gives access to health data generated across all its products, including weight, body fat, lean mass, blood pressure, as well as those mentioned above. The API is free and uses OAuth authentication.

Withings has pursued an interesting strategy with the Pulse O2 of delivering a few health features well—including things like keeping track of your running history—eschewing a device that replicates a smartphones versatility and is aimed at all audiences. Another interesting feature is it doesn’t have to be a watch; you don’t have to have it on a wristband. Will it win out in the war over your wrist? As rumors of Apple’s own device lurk in the background, with Samsung having built a wrist computer, all we can say is, watch this space!

AgeCheq Helps API providers, App Builders Comply with Child Privacy Law

AgeCheq specializes in helping developers comply with the Children’s Online Privacy Protection Act (COPPA). Now it has opened its service to mobile-ad networks and API providers to make it easier to comply with COPPA. Integrating the service into apps and APIs is free.

While it is possible to develop COPPA compliant infrastructure in-house, in addition to being costly, it also frustrates the parents, who then must follow slightly different procedures of each app provider to give their ID and manage the parental controls. AgeCheq streamlines all that—making it easy to integrate compliance technology in existing apps in less than a day, while giving parents the same look and feel experience across all APIs and apps using AgeCheq.

As Roy Smith, AgeCheq’s CEO commented, apps use different ad networks and third party offerings that make accurate privacy disclosure as required by the law all but impossible. By serving as a privacy clearinghouse, ageCheq can deliver all this information of what is in an app directly to the parents. As he states further,

Beyond complying with the law, ad networks and API providers need to make it easy for their customers to provide accurate privacy disclosures. Without a service like AgeCheq, each app developer would have to call up each of the ad networks he uses one at a time to gather this information manually to insure compliance with COPPA. Using AgeCheq as a central clearinghouse of this information helps third parties save resources and avoid support calls from every developer who is going to need this info.

AgeCheq provides four essential items seamlessly: gets the positive ID of the parents, records the parent app approvals, provides app disclosure pages, and offers a parental dashboard for management. With fines for noncompliance with COPPA as high as $16,000 per user, AgeCheq has made it easy to play along by offering a rich set of features while removing just one thing: the excuse not to comply.

Free sign up for developers is available on its developer site.

API News You Shouldn’t Miss

4 New APIs

Today we had 4 new APIs added to our API directory including a voice messaging service, a multi-device app directory, a survey results retrieval service and an intraday period bars for currency pairs service. Below are more details on each of these new APIs.

Call2APICall2API API: Call2API allows users to integrate voice messaging capabilities into their contact platforms. An online editor helps users quickly build call flows and voice messages using pre-defined components. Users can send a voice broadcast in the form of a template, personalized for its recipients. Voice broadcast reports are available through the website or via API calls.

Mevvy AppMevvy App API: Mevvy provides a single location from which users can search for any mobile application or tool available on Android, iOS, or Windows Phone. Their directory only includes tools that actually work, and they provide tips and tricks to help users get the best results from them. The Mevvy App API allows users to collect, track, and update information for every application available through Mevvy.

Qualaroo ReportingQualaroo Reporting API: Qualaroo is a service that helps users collect information about their websites’ visitors. Users can create surveys for their websites and then retrieve the results programmatically using the Qualaroo Reporting API. In addition to responses, the API will also return the respondent’s IP address, the page where they filled out the survey, their user agent, and other metadata, along with any information the user has previously tagged the respondent with.

Xignite GetBarsXignite GetBars API: The Xignite GetBars API allows users to retrieve intraday period bars for a given currency pair. Intraday period bars provide a visual representation of financial data that has been sampled at regularl intervals throughout a given day. For each day, the API returns the highest, lowest, opening, closing, and average currency exchange rate quotes. Currency pair data is available for the past 30 days.

Related ProgrammableWeb Resources

Withings Withings API Profile

Amazon Web ServicesAWS Elastic Beanstalk for Docker

AWS Elastic Beanstalk makes it easy for you to deploy and manage applications in the AWS cloud. After you upload your application, Elastic Beanstalk will provision, monitor, and scale capacity (Amazon EC2 instances), while also load balancing incoming requests across all of the healthy instances.

Docker automates the deployment of applications in the form of lightweight, portable, self-sufficient containers that can run in a variety of environments.  Containers can be populated from pre-built Docker images or from a simple recipe known as a Dockerfile.

Docker's container-based model is very flexible. You can, for example, build and test a container locally and then upload it to the AWS Cloud for deployment and scalability. Docker's automated deployment model ensures that the runtime environment for your application is always properly installed and configured, regardless of where you decide to host the application.

Today we are enhancing Elastic Beanstalk with the ability to launch applications contained in Docker images or described in Dockerfiles. You can think of Docker as an exciting and powerful new runtime environment for Elastic Beanstalk, joining the existing Node.JS, PHP, Python, .NET, Java, and Ruby environments.

Beanstalk, Meet Docker
With today's launch, you now have the ability to build and test your applications on your local desktop and then deploy them to the AWS Cloud via Elastic Beanstalk.

You can use any desired version of the programming language, web server, and application server. You can configure them as you see fit, and you can install extra packages and libraries as needed.

You can launch existing public and private Docker images. Each image contains a snapshot of your application and its dependencies, and can be created locally using a few simple Docker commands.To use an image with Elastic Beanstalk, you will create a file called Dockerrun.aws.json. This file specifies the image to be used and can also set up a port to be exposed and volumes to be mapped in to the container from the host environment. If you are using a private Docker image, you will also need to create a .dockercfg file, store it in Amazon S3, and reference it from the Authentication section of Dockerrun.aws.json.

You can also use a Dockerfile. The Docker commands contained in such a file will be processed and executed as part of the Auto Scaling configuration established by Elastic Beanstalk. In other words, each freshly created EC2 instance used to host an Elastic Beanstalk application will be configured as directed by your Dockerfile.

Regardless of which option you choose, you always upload a single file to Elastic Beanstalk. This upload can be:

  1. A plain Dockerfile.
  2. A plain Docker.aws.json file.
  3. A Zip file that contains either Dockerfile or Docker.aws.json, along with other application assets.

The third option can be useful for applications that require a number of "moving parts" to be present on the instance. If you are using a Dockerfile, you could also choose to fetch these parts using shell commands embedded in the file.

Docker in Action
Let's create a simple PHP application using Elastic Beanstalk for Docker! The first step is the same for every Elastic Beanstalk application -- I simply fill in the name and the description:

Then I choose Docker as the Predefined Configuration. This application will not need to scale very high, so a single instance environment is fine:

The moving parts are in a single directory, with src and web subdirectories and a Dockerfile at the root:

I zipped them up into a single file like this (note that I had to to explicity mention the .ebextensions directory)

Then I upload the file to Elastic Beanstalk:

With the file uploaded, I can now create an Elastic Beanstalk environment. This will be my testing environment; later I could create a separate environment for production. Elastic Beanstalk lets me configure each environment independently. I can also choose to run distinct versions of my application code in each environment:

The PHP application makes use of a MySQL database so I will ask Elastic Beanstalk to create it for me (I'll configure it in a step or two):

Now I choose my instance type. I can also specify an EC2 keypair; this will allow me to connect to the application's EC2 instances via SSH and can be useful for debugging:

I can also tag my Elastic Beanstalk application and the AWS resources that it creates (this is a new feature that was launched earlier this week):

Now I can configure my RDS instance. The user name and the password will be made available to the EC2 instance in the form of environment variables.

The following PHP code retrieves the user name and the password:

<?php
  define('DB_NAME', getenv('RDS_DB_NAME'));
  define('DB_USER', getenv('RDS_USERNAME'));
  define('DB_PASSWORD', getenv('RDS_PASSWORD'));
  define('DB_HOST', getenv('RDS_HOSTNAME'));
  define('DB_TABLE', 'urler');
?>

The last step before launching is to confirm all of the settings:

Elastic Beanstalk shows me the status of the application and the environment, with dynamic updates along the way:

After a few minutes the environment will be up and running:

The application is just a click away:

After I have created an environment, I can update the source code, create a new ZIP file, and deploy it to the environment in a matter of seconds.

AWS Elastic Beanstalk for Docker is available in all AWS Regions and you can start using it today!

-- Jeff;

PS - The Elastic Beanstalk team holds office hours every Thursday morning. Join them this coming week for Part 3 of a continuing series and learn how to Develop, Deploy, and Manage for Scale with Elastic Beanstalk and CloudFormation.

ProgrammableWebAirPair Announces New API Provider Partners in Expert Network

Software developer resource service, AirPair, today announced that 17 new API providers have been added to their trusted partners network. AirPair provides line-by-line code support from leading API developers, using the ‘pair programming’ mentoring technique. The new partnerships mean that AirPair customers will have one-to-one access to some of the most highly skilled API developers working with today’s most popular APIs. Jonathon Kresner, CEO and Co-founder, talked to ProgrammableWeb about how how the service creates benefits for both API providers and developer-consumers.

“We are becoming a centralized hub where you can speak with experts,” Jonathon Kresner, CEO and Co-founder of AirPair told ProgrammableWeb prior to today’s partnership announcement. The AirPair service model is based on the agile software development technique, pair programming. In a pair programming approach, two developers work side-by-side, line-by-line, to write and error check new code.

Today, AirPair has announced that 17 new API providers are opening up access to their best developer-consumers to provide support to AirPair customers. The new API providers join 18 already participating in the program (Stripe, Evernote, Sendgrid, Twilio, Tokbox and Algolia to name a few), who represent some of the most widely used open APIs across all industries.

How the Mentorship Model Works

Say a startup wants to use PayPal’s API in their commercial product. They can use AirPair to locate a developer with a track record in successfully building applications and solutions using PayPal’s API. Through AirPair, this expert developer then works with the startup — via video chat sessions, for example — to go through the planned API integration and help ensure the code being developed is best practice and performant.

“The benefit is the speed-to-insight,” Kresner says. “Customers get to realize the full potential of the API, and find it much simpler to integrate. So the AirPair customer gets the functionality they need, and the expert developer gets a commission from the AirPair platform: they get paid for their knowledge.”

All sessions are recorded so that the AirPair customer can review the code discussions afterwards, and extra feedback is provided to help ensure API developer-consumers are on track with their projects.

Kresner sees multiple benefits for the API providers who have joined the trusted partnership network. In many cases, it is the API providers who know who are their top community evangelists, and can now use AirPair to offer these developers a new revenue stream. It is also a way for API providers to give extra kudos to the leaders in their developer community by acknowledging their expertise status.

The availability of the service may also have a multiplier effect: ideally bringing in new qualified leads of developer-consumers who will make use of the partner’s API and, with adequate support, become long-term API customers. “Our plan is to give visibility to our partners, and in that way this is a lead generation for them,” confirms Kresner.

List of Partners

The new API providers involved in the service are:

  • PayPal
  • PubNub
  • Firebase
  • HelloSign
  • Nexmo
  • Mailjet
  • Aviary
  • Swiftype
  • Ordrin
  • Blossom IO
  • 3scale
  • Exversion
  • Venmo
  • Foursquare
  • Launchbit
  • Bonafide
  • Ginzametrics.

PayPal’s Developer Evangelist Cristiano Betta is enthusiastic about the potential of the service:

“I wish I had something like AirPair when I was running my own startups, and I know that PayPal’s experts on AirPair will prove to be an invaluable resource to any businesses out there.”

More API providers are expected to continue coming on board.

Pair Programming

Pair programming still faces some controversy in terms of demonstrating its’ effectiveness, with some studies showing substantial cost-benefit savings while others calculated a more modest effect. One of the main concerns is the additional costs: basically, it is equivalent to having two developers working on the same project instead of one. However, these upfront development costs often have greater investment value, as the code developed under a pair programming methodology are 70-85% less prone to errors.

For API developer-consumers looking to integrate a third party API into their commercial application or solution, or into a process that will use the API integration to help them make better business decisions, having this support at the start of a new API consumption project may be a strong investment for the longer term. AirPair have documented their work with Pivotal Labs to articulate the benefits that pair programming has brought to that software development consulting company.

AirPair provides a range of mentoring and expert support services that can be used by API developer-consumers. In addition to the trusted partner network, AirPair also offers code reviews, training and specific problem-solving mentoring.

ProgrammableWeb: APIsCall2API

Call2APIVoice messaging service
Date Updated: 2014-04-23
Tags: broadcast, cloud, messaging, telephony, Voice

ProgrammableWeb: APIsXignite GetBars

Xignite GetBarsIntraday period bars for currency pairs
Date Updated: 2014-04-23
Tags: conversion, currency, exchange, financial, forex

ProgrammableWeb: APIsMevvy App

Mevvy AppMulti-device app directory
Date Updated: 2014-04-23
Tags: android, applications, search, tools

ProgrammableWeb: APIsQualaroo Reporting

Qualaroo ReportingSurvey results retrieval service
Date Updated: 2014-04-23
Tags: enterprise, feedback, marketing, survey, website

ProgrammableWebAtTask and WebDAM Announce Integration Partnership

AtTaskAtTask, cloud-based work management provider, and WebDAM, digital asset management provider, announced their strategic partnership today. Both companies will integrate the other’s functionality to existing platforms to expand marketing-focused technologies. The AtTask Marketing Cloud will now offer WebDAM’s digital asset management and brand management functionality. Additionally, WebDAM’s digital asset management users will have AtTask’s full project management functionality.

AtTask General Manager of Marketing Solutions Group, Nate Bowler, commented:

“WebDAM integration is a wonderful addition to our product….By bringing the power of WebDAM to AtTask, we can provide marketers and creatives with a single solution for managing their valuable digital assets at every stage of the lifecycle of work.”

Both integrations are focused on marketing users. AtTask users will be able to better manage digital assets by making sure the most up to date digital assets are used, and by managing the assets from a single platform. The integration will increase efficiency and lower the chance of mistakes. WebDAM users will now have the ability to plan, monitor, track, share, and manage tasks and projects throughout the lifecycle directly in WebDAM’s digital asset management system. WebDAM CEO, Jody Vandergriff, commented:

“We are excited to partner with AtTask….Not only do our technologies interact well, but our core focus is similar ― providing the world’s best brands with the most natural and easy way to work.”

AtTask and WebDAM are ideal integration partners. While they serve similar target audiences, their approach hits on a slightly different subject areas. Both excel in their niche, and partnership makes more sense than product expansion. Both AtTask and WebDAM users are encouraged to check out the expanded functionality today.

Related ProgrammableWeb Resources

AtTask AtTask API Profile

WebDAM WebDAM API Profile

Jeremy Keith (Adactio)Announcing dConstruct 2014

I’ve been puttin together the website for this year’s dConstruct and I reckon it’s in a decent enough shape to ship, so without further ado, I present to you…

dConstruct 2014 — Living With The Network

Here’s what you need to know:

  1. dConstruct 2014 takes place on September 5th in the Brighton Dome.
  2. Tickets will cost £150+VAT.
  3. Tickets go on sale at 11am on May 19th.
  4. It will be bloody brilliant.

To clarify that last point, it will be bloody brilliant because of the people who will be speaking. Like, ooh, I don’t know …Warren Fucking Ellis!

Mandy Brown!, Aaron Straup Cope!, Clare Reddington!, Tom Scott!, Leila Johnston!, Brian Suda!

I’m ludicrously excited about the line-up for this year’s event, and what’s on the website isn’t even the full roster; there’s more to come. But I can’t contain my excitement any longer and I just have to share this with everyone.

Now, you may not recognise every name on the line-up. Heck, you may not recognise any the names on the line-up. But if you were at dConstruct last year (or the year before) than I hope I’ve earned your trust. And trust me, this is going to be a fantastic day.

So put Monday, May 19th in your calendar so you can grab your ticket when they go on sale (don’t worry—there’s plenty to go around). And put Friday, September 5th in your calendar and I’ll see in the Brighton Dome for the event of the year.*

*Not hyperbole


Tagged with


Have you published a response to this? :

Norman Walsh (Sun)The short-form week of 14–20 Apr 2014

<article class="essay" id="content" lang="en">

The week in review, 140 characters at a time. This week, 4 messages in 11 conversations. (With 7 favorites.)

This document was created automatically from my archive of my Twitter stream. Due to limitations in the Twitter API and occasional glitches in my archiving system, it may not be 100% complete.

Tuesday at 11:59am

FAV
In honor of Palindrome Week here is a 500-word palindrome from my first book, This Is A Book By Demetri Martin. http://t.co/CAOsftqhSe —@DemetriMartin

Tuesday at 01:00pm

Failed to give AA my global entry number. Punishment: no TSAPreCheck.—@ndw

Tuesday at 01:04pm

FAV
Being alive is fucking brilliant. And then it ends. For ever. Our atoms scattered around the universe and used for other shit. Perfect. :)—@rickygervais

Tuesday at 04:14pm

FAV
Achievement unlocked: "Found what you were looking for on an internal wiki"—@sluicing

Tuesday at 10:20pm

RT @gregpak: If a politician tries to limit your ability to vote, that's a strong signal to do everything you can to vote against him/her.—@ndw

Wednesday at 03:02pm

I'm mostly satisfied with #KDE but I would really be happier if I could fix this #Emacs font issue. #toobig #help http://t.co/KCwnVpWZiq —@ndw

Friday at 06:24pm

RT @acoyne: An honest man does not choose to be honest, as one possible course among others, any more than a kind man considers whether to …—@ndw

Friday at 08:16pm

FAV
Weekly reminder, but #YOLO “@iamdevloper: A diagram to decide whether or not you should deploy on a Friday at 5pm http://t.co/0xRELfQuqr” —@aliciatweet

Saturday at 08:37am

FAV
You know you are a computer nerd when you watch your odometer roll over to 65536 and were half hoping it overflowed to zero.—@wmperry

Saturday at 08:20pm

FAV
If churches paid taxes. #atheism http://t.co/ZpO5Xc7zdK —@denyreligion

Sunday at 02:54pm

FAV
“The penalty for not participating in politics is to be governed by your inferiors" - Plato http://t.co/XtmtCIQn0R —@marcuschown
</article>

Norman Walsh (Sun)The short-form week of 7–13 Apr 2014

<article class="essay" id="content" lang="en">

The week in review, 140 characters at a time. This week, 4 messages in 7 conversations.

This document was created automatically from my archive of my Twitter stream. Due to limitations in the Twitter API and occasional glitches in my archiving system, it may not be 100% complete.

In a conversation that started on Sunday at 07:45pm

Secretly, I fear that an "Orange and Tangerine" RICE BRAN OIL SOAP BAR may be one of the signs of the apocalypse.—@ndw
@ndw sshhh it's a secret, man!—@grechaw
@ndw The same thought also occurred to me. That and the aromatherapy shampoo and conditioner—@adamfowleruk
@adamfowleruk @ndw Did you take a wrong turn into a spa?—@collwhit
@collwhit @adamfowleruk A wrong turn?—@ndw
@ndw @collwhit It's the soaps in the rooms of the Marriott Waterfront. Very posh. 8o)—@adamfowleruk

In a conversation that started on Wednesday at 11:53am

Breakouts! RESTful API design with @collwhit and @ndw #MLWorld http://t.co/VOu9gNFUfd —@peteaven
@peteaven @collwhit @ndw Should have been there.. *envy* ;-)—@grtjn

In a conversation that started on Wednesday at 12:10pm

#MLWorld fun fact: @ndw caved and actually used PowerPoint for this preso http://t.co/zplxN9nmVp —@peteaven
@peteaven @ndw huzzah, this means I won't need to setup a workflow just To reuse the slides.—@fsanders
@fsanders @peteaven This. One. Time.—@ndw

In a conversation that started on Wednesday at 12:29pm

.@xquery implementation of @adamretter 's RESTXQ, RXQ https://t.co/UMVNKsOZuB demoed for annotations at #MLWorld by @ndw —@peteaven
@peteaven @xquery @ndw Any video of that, so I can see what people made of it?—@adamretter

Wednesday at 01:41pm

Bi-temporal tweet, last night ... @peteaven and @ndw rocking the flip book @hunterhacker relaxin ... Good times! http://t.co/UttN0Fw6mn —@matt_turner_nyc

In a conversation that started on Saturday at 05:09pm

Just crossed over the Tropic of Cancer, or so says the sign on 101.—@ndw
@ndw actually a Superfund site…—@mdubinko

Saturday at 09:49pm

#docbook for my dissertation has served me well. Started w/ HTML + #RDFa, that failed, @ndw smack me, & switched to #docbook Still ♥︎ #xml —@alexmilowski
</article>

Norman Walsh (Sun)The short-form week of 31 Mar–6 Apr 2014

<article class="essay" id="content" lang="en">

The week in review, 140 characters at a time. This week, 7 messages in 13 conversations. (With 5 favorites.)

This document was created automatically from my archive of my Twitter stream. Due to limitations in the Twitter API and occasional glitches in my archiving system, it may not be 100% complete.

Tuesday at 08:55am

@dalapeyre That's a complaint about all prose vocabularies in my experience.—@ndw

Tuesday at 10:11pm

FAV
“If we mark something as deprecated for years and never delete, the technical debt grows forever. That’s dumb.” — @mmilinkov » @DrDeprecator —@mreinhold

Tuesday at 10:49pm

@kendall Ironically, forging the electronic results takes longer. We apologize for the inconvenience.—@ndw

In a conversation that started on Tuesday at 11:09pm

@ndw the terms of my surrender after a decade and a half may amuse you. http://t.co/A3S0KGHnhp —@simonstl
@simonstl @ndw The greatest failing of CSS is its inability to properly reorder content.—@stevenpemberton
@stevenpemberton @ndw I remain reluctant to call that a failure - not really convinced that should be the _stylesheet's_ job.—@simonstl
@ndw @simonstl Your post reminded me of this exchange (which I thot was spot on at the time, and often cite): http://t.co/HGx6udW5CI —@donrday
@donrday @ndw re-reading that makes me think "technically correct but tin ear for the situation at the time." Still probably 10 years ahead.—@simonstl
@donrday @ndw in 1998, CSS was a BB gun, and XSLT was an elephant gun. Today, CSS is a light rifle, and XSLT a howitzer. Both useful, but...—@simonstl
@simonstl @ndw History of web processing has been retrieving bits to put in tables; Adaptive Content makes substructures interesting again.—@donrday
@simonstl @ndw Which is to say all tools have their place; XSLT gives CSS more things to adorn, for the right uses (e.g. publishing reuse)—@donrday
@donrday @ndw "all tools have their place", but I suspect XSLT's place will still be relatively tiny because scope too large for most cases.—@simonstl

Friday at 12:10am

@mnot Depends on the particular airports, but it's certainly "adventurous".—@ndw

Friday at 06:19pm

FAV
Oracle propose NoSQL standards committee, MongoDB gets board seat to ensure losing data at random become standard NoSQL behaviour—@BigDataBorat

Friday at 06:55pm

RT @simonstl: Most of today has been a detailed tutorial in how tree-based data structures tangle and complicate, with occasional glimmers…—@ndw

Saturday at 05:22pm

FAV
I’m a really down to earth guy because, you know, gravity.—@SciencePorn

Sunday at 08:24am

FAV
When you've read this you'll be cleverer. http://t.co/mXkObmMARU —@rustyrockets

Sunday at 02:22pm

Sunday at 07:39pm

@kendall editorial suggestion: "as an artist" unnecessary in that statement.—@ndw

In a conversation that started on Sunday at 07:45pm

Secretly, I fear that an "Orange and Tangerine" RICE BRAN OIL SOAP BAR may be one of the signs of the apocalypse.—@ndw
@ndw sshhh it's a secret, man!—@grechaw
@ndw The same thought also occurred to me. That and the aromatherapy shampoo and conditioner—@adamfowleruk
@adamfowleruk @ndw Did you take a wrong turn into a spa?—@collwhit
@collwhit @adamfowleruk A wrong turn?—@ndw
@ndw @collwhit It's the soaps in the rooms of the Marriott Waterfront. Very posh. 8o)—@adamfowleruk

Sunday at 11:27pm

A week to look forward to: @ehennum @grechaw @ndw and @sammefford all in one place. Plus @peteaven and too many more #marklogicians to list.—@collwhit
</article>

Norman Walsh (Sun)The short-form week of 24–30 Mar 2014

<article class="essay" id="content" lang="en">

The week in review, 140 characters at a time. This week, 5 messages in 7 conversations. (With 3 favorites.)

This document was created automatically from my archive of my Twitter stream. Due to limitations in the Twitter API and occasional glitches in my archiving system, it may not be 100% complete.

In a conversation that started on Tuesday at 08:19pm

Curiously, the NVIDIA drivers seem to work on this laptop with kubuntu. I guess I'll have to install that at some point.—@ndw
@ndw Can you make Optimus work or do you have to use the discrete Nvidia BIOS settings?—@sgmlguru
@sgmlguru didn't have time to try that, but I have a separate boot medium for safe testing. Will give it a shot.—@ndw
@ndw I'm running a Thinkpad with Debian but have to use discrete mode.—@sgmlguru
@sgmlguru I'm using discrete as well, at the moment.—@ndw

Wednesday at 05:21am

FAV
Still unsure why smart people think JSON document stores are amazing. Utility? Yes. Future-oriented? No—@brinxmat

In a conversation that started on Friday at 08:42am

@ndw - I know it's been a while, but any idea who to bother about getting xml-dev plugged in again? Seems to have fallen catatonic.—@simonstl
@simonstl I'd start with Chet Ensign at OASIS.—@ndw

Friday at 12:50pm

RESTful Development for MarkLogic....gonna be a great session at #MLW2014 by @collwhit @ndw Still time to register! http://t.co/k9J1AmEm5W —@michaline

Sunday at 06:05am

FAV
Don't Make Javascript Equality Look Worse Than It Is - "by failing to organize the table." http://t.co/UC1dzy9sBr —@simonstl

In a conversation that started on Sunday at 01:37pm

NVIDIA drivers + VMWare = black screen on boot. Nothing obvious on the interwebs. Ideas? #lazyweb —@ndw
@ndw see if any of these suggestions help: http://t.co/Wfk77vqrwN —@jeffsonstein

Sunday at 08:16pm

FAV
Don't believe there's nothing as permanent as a temporary solution? Vint Cerf chose 32 bits for IPv4 in 1976: "enough to do an experiment"—@jschauma
</article>

ProgrammableWebToday in APIs: Mapbox adds Smart Directions, and 3 New APIs

MapBoxMapbox adds a new navigation service for apps. Cloudwords releases APIs and new machine translation capability. Plus: Convergence Innovation competition winners, CA Technologies simplifies enterprise cloud and mobile delivery, and 3 new APIs.

Mapbox Launches Smart Directions to Compete with Google Maps

Mapbox has just released Smart Directions, a tool for developers to add detail to maps like terrain, places of interest and traffic congestion reporting. It’s the first tool for the company on top of its map platform, with more to come no doubt.

As Ingrid Lunden reports in Techcrunch, she was told by CEO Eric Gundersen how Mapbox competes with Google Maps in a crowded competitive space:

“Google has built amazing maps and routing,” [Gundersen] says, “but they are designing those for Google,” he says, referring to the very standard view you get of a Google map when it appears in a different app. “We think every app maker or map maker should have the same control of design as Google does. Think of us as a more customizable Google Maps.”

Will it carve a niche in the map business? Right now it is focused on building its platform, much to the delight of over 3,000 developers who use its APIs, including Evernote, Foursquare, and Pinterest.

Cloudwords Adds Machine Translation APIs

Cloudworks is the first cloud based global marketing platform. Successful global marketing is, paradoxically, about localizing the message, which in turn means speaking the language–literally. And in a marketing environment, the translation of content has to be done fast. To facilitate their services, Cloudwords is releasing two new robust APIs: the Change Order API and Project Workflow API.

As Scott Yancey, CEO and Co-founder of Cloudwords commented,

“Cloudwords is focused on delivering the most powerful end-to-end platform created specifically with the entire globalization process of the marketer in mind. By delivering Machine Translation, Cloudwords enables customers to use any localization model that best fits their content needs, timelines, and budget to engage more global audiences more successfully, and ultimately drive more global revenue,” said Scott Yancey, CEO and Co-founder of Cloudwords.

Machine translation is ideal for cost effective fast translations of short form content that has a limited shelf life. Examples include social media and material to be burnished by internal reviewers.

API News You Shouldn’t Miss

3 New APIs

Today we had 3 new APIs added to our API directory including a virtual machine service, a cryptocurrency price information widget, and a historical currency exchange rate service. Below are more details on each of these new APIs.

Bytemark BigVBytemark BigV API: Bytemark BigV provides virtual machines on which users can host their websites or projects. Its virtual machines can have a maximum of 180 gigabytes of RAM, 16 cores, and 16TiB of storage. Using the Bytemark BigV API, users can issue REST calls to manage their users, accounts, groups, privileges, definitions, discs, IPs, NICs, and virtual machines.

Coinfinance WidgetsCoinfinance Widgets API: Coinfinance provides users with a Price Ticker widget that allows them to embed price information for a given cryptocurrency on their websites or blogs. Users can set prices to appear in Bitcoins, U.S. Dollars, Euros, or Chinese Yuan. The widget can display current price information, daily highs and lows, and price movements over the last 24 hours.

Xignite GetHistoricalRatesXignite GetHistoricalRates API: Xignite GetHistoricalRates allows users to get the historical exchange rates for currency pairs. For a given date range and currency pair, the API returns the opening and closing rate quotes, the highest and lowest rate quotes, and the arithmetic average for all rate quotes. GetHistoricalRates can provide historical exchange rates from as far back as January 4, 2010.

Related ProgrammableWeb Resources

MapBox MapBox API Profile, 4 mashups

ProgrammableWebTwo Breakout API Categories (And Two Slumpers) of 2014

So far more than 650 APIs have been added to the ProgrammableWeb directory in 2014 and some new trends are starting to emerge. Some recent popular categories remain near the top of the charts. The financial APIs that put APIs in the mainstream continue to expand, adding about 50 new APIs in the first quarter. A few other categories were less consistent and had extreme rises or falls in popularity.

Top 10 Categories of 2014

Rank Vs Overall Category 2014 Count
1 +5 Messaging 106
2 -1 Tools 54
3 Financial 51
4 +20 Shipping 30
5 +19 Database 23
6 -1 Enterprise 19
7 +6 Advertising 19
8 +2 Science 16
9 -5 Social 16
10 +13 Sports 16

Messaging APIs lead the way, with 106 added just in the first few months of 2014. While already a popular category (#6 overall), it’s notable that more than 25% of all messaging API were added in 2014. One of the most recent, the Apperian Push Notifications API, provides mobile developers the means to send messages to both iOS and Android devices.

Shipping APIs have had a similar breakout, adding 30 to the directory, which accounts for over 23% of all shipping APIs. Prior to 2014, the category had not been particularly popular. However, the bulk of the new shipping APIs were due to multiple API additions from UPS and USPS. For example, the UPS Tracking API provides access to the popular package tracking service from the delivery company.

Two categories previously in the top 10 are notably absent among the recently popular categories. A stable of the mashup days of yore, mapping APIs slipped out of the top 10, adding only 13 APIs in 2014. Similarly, government APIs (#9 overall) only added 12 APIs. The category seemed destined to take off with open data initiatives pushing governments to create APIs. Now the growth appears to be decelerating.

Of course, these are trends from just a few short months of 2014. With a quickly growing directory of APIs, we’ll have to wait and see what the rest of the year brings.

Adam DuVander is Developer Communications Director for SendGrid and Contributing Editor at ProgrammableWeb. Previously he edited this site and wrote for Wired. You can follow him on Twitter.

ProgrammableWebNIST’s AppVet Tests Apps for Government Use

The National Institue of Standards and Technology (NIST), has created created AppVet. AppVet is an open-source tool that IT groups can use to test applications for use on government networks. AppVet was designed to easily integrate with third party apps and tools (e.g. antivirus software, analyzers, vulnerability repositories, etc.) through simple APIs.

Steve Quirolgico, NIST Computer Scientist, explained:

“AppVet improves the app-vetting process by providing a framework for managing the app-vetting workflow, which involves uploading apps, forwarding apps to tools, receiving reports and risk assessments from tools and generating an overall risk assessment.”

AppVet 1.0 was released this month. 1.0 lays out a framework for how the app vetting system works and integrates with third party tools. The system starts vetting an application when a user submits an app to the system. AppVet then tests the submitted application against the submitting agency’s requirements. AppVet doesn’t accept or reject an application; rather, it provides analyses and reports that decision makers can then use to accept or reject the app.

AppVet communicates with third party tools through REST APIs. Each tool for which AppVet needs integration must use REST in order for communication. The AppVet source code distribution can be downloaded at AppVet’s GitHub site. Also see the AppVet site for more information.

As app proliferation continues to spread across business and consumer environments, app developers and IT departments must be cognizant of the fact that not all apps are created equal. Government networks have always been subject to higher scrutiny, and AppVet provides an easy validation tool for those looking to deploy an app in a government environment.

ProgrammableWebDell Adds Analytics Capability to Boomi Integration Service

Dell wants to reduce the number of common integration errors, the time it takes to fix them, and add new analytics capabilities to the Dell Boomi AtomSphere integration service. Dell Boomi AtomSphere CTO Michael Morton says that when it comes to integration many organizations not only continue to make the same errors over again; they encounter many of the same problems that other organizations have already experienced.

A new Boomi Resolve capability that is being included in the spring 2014 release of Dell Boomi AtomSphere leverages analytics tools created by Dell to proactively identify potential sources of integration problems. The service, says Morton, then alerts developers that either a particular issue is a recurring problem or that based on similar attempts made by other organizations there is likely to be a problem with a particular type of integration being attempted.

Morton says that the Dell Boomi AtomSphere service has kept track of over 18 million error messages in its repository to identify patterns associated with potential problems. Boomi Resolve analyzes that data in real time to give developers feedback about their own integration efforts. Interesting enough, Morton says the 100 most common errors account for 80 percent of all error messages.

The near-real-time customer usage metrics, such as amount of data flowing through integrations and active updates to integrations, that Dell gathers are then fed into Dell Boomi’s customer relationship management (CRM) system. Once Dell identifies a particular set of error patterns the Dell Boomi Client Services team proactively reaches out to customers whose usage metrics indicate they might need some additional assistance. An SOA Dashboard also provides customers with a status report of the performance of an organization’s integration process services.

With this release, Morton says Dell has also enhanced support for bidirectional conversion between XML and JSON data formats to better accelerate application integration across these formats. In addition, while Dell Boomi Atomsphere does not have a specific API management feature, Morton notes that the capability is essentially already baked into the service.

Morton says a big part of the reason that Dell can deliver this capability is that Dell Boomi AtomSphere is based on single instance, multi-tenant architecture that enables Dell to correlate activity across a service that now supports 450 million integrations a month; up from 35 million integrations this time last year.

Since acquiring Boomi in 2010, Dell has increased the scope of the service to the point where nine million mappings have been indexed on behalf of over 2,000 customers. In fact, as part of the move to going private, Dell CEO Michael Dell specifically identifies Dell Boomi AtomSphere as one of the key technologies that would drive the company’s overall expansion into IT services. In the meantime, as demand of integration services increase in the cloud, the general expectation is that the number of mappings indexed by the Dell Boomi AtomSphere service will increase by several orders of magnitude in the years ahead.

ProgrammableWeb: APIsXignite GetHistoricalRates

Xignite GetHistoricalRatesHistorical currency exchange rate service
Date Updated: 2014-04-22
Tags: conversion, currency, exchange, financial, forex

ProgrammableWeb: APIsCoinfinance Widgets

Coinfinance WidgetsCryptocurrency price information widget
Date Updated: 2014-04-22
Tags: bitcoin, currency, financial, price, widgets

ProgrammableWeb: APIsBytemark BigV

Bytemark BigVVirtual machine service
Date Updated: 2014-04-22
Tags: backend, hosting, virtual

ProgrammableWebReliefWeb API Provides Access to Historical and Real-Time Humanitarian Data

ReliefWebReliefWeb, a specialized digital service of the United Nations Office for the Coordination of Humanitarian Affairs (OCHA), has announced the release of ReliefWeb API, which provides access to disaster-related data and humanitarian information collected by the UN.

Disaster Tracker prototype application

The Disaster Tracker prototype application uses the ReliefWeb API.

ReliefWeb provides disaster-related data and humanitarian information going back more than 17 years. ReliefWeb editors collect data around the clock from more than 4,000 global information sources. ProgrammableWeb reached out to Andrew Kobylinski, product marketing and communications officer at ReliefWeb, who explained how ReliefWeb content is curated and reviewed:

ReliefWeb is made up of over 550,000 pieces of humanitarian information dating back to 1971. This includes items such as reports, research, maps, news, analysis, assessments, manuals, and guidelines. What we do is search the web for humanitarian information and republish it in one location. We have a team of about 30 editors, who are located across the globe and work 24/7 to find, assess, review and post humanitarian content onto ReliefWeb.

The ReliefWeb API was created specifically for humanitarian developers, who can use the API to build innovative third-party applications for disaster relief organizations and the humanitarian community around the world.

The API provides programmatic access to the entire ReliefWeb database which includes reports, research, maps, news, analysis, etc. UN reports on major disasters that occurred in the 1980s can be accessed using the API. Jobs and training data is also available; however, the data that can be accessed starts at the year 2011. The ReliefWeb API also provides access to real-time humanitarian and disaster-related data for use in next-generation applications.

ReliefWeb, Development Seed and Phase2 were all involved in the development of the new ReliefWeb API. Phase2, a digital content strategy, design and technology firm, was charged with ensuring the ReliefWeb API’s functionality. Phase2’s responsibilities included adding automation in both testing and deployment, improving scalability and infrastructure, improving the API documentation, and other items related to developer experience. Adam Ross, software architect at Phase2, told ProgrammableWeb:

The ReliefWeb API is a thin application layer built on top of an ElasticSearch datastore. ElasticSearch provides amazing capabilities in complex data mining and exploration. The application layer on top provides a layer of glossy, positive user experience achieved by creating an intuitive, easy-to-use system that enables innovation. That “Developer Experience” is created with strong documentation, resource-oriented URIs, hypermedia flavor, JSON payloads, browser support and caching guidance.

Phase2 describes in detail the technological features of the new ReliefWeb API in a recent blog post.

Development Seed is a creative data visualization and mapping team that helps organizations use data to explain complex issues and make better decisions. Development Seed worked with ReliefWeb and Phase2 to help strategize development priorities and build a public rollout plan for promoting and priming usage of the ReliefWeb API. Development Seed also used the ReliefWeb API, along with filtered data from Twitter, to create an application that tracks the Ebola hemorrhagic fever outbreak in Guinea. The application is a simple disaster-tracking dashboard which is open source and can be forked on GitHub.

The Disaster Tracker application is listed on the ReliefWeb Labs site which provides tools and applications to help the humanitarian community. In addition to the Disaster Tracker application, ReliefWeb Labs features applications such as Content Trends, Interactive Maps, and Humanitarian Data Exchange.

Related searches from ProgrammableWeb’s
directory of more than 10,000 APIs

Browse the full directory

Earlier this month, the new ReliefWeb API was introduced to developers at the Drupal NYC Camp. Developers learned about the tactics used in designing and documenting the API, viewed an example application powered by the API, learned why Elastic Search was used over SOLR, and much more. Kobylinski says developers expressed a keen interest in the ReliefWeb API and “were impressed that they can access quality tagged content that is continuously updated and maintained.” He also told ProgrammableWeb:

Developers also expressed keen interest in exploring trends from individual humanitarian topics such as gender. They were also keen on the opportunity to explore key word searches within content. These are endeavors which we have not yet attempted, so we are very delighted that the humanitarian developer community is interested in exploring these approaches and possibly building applications that could assist the humanitarian community.”

For more information about ReliefWeb and the ReliefWeb API, visit ReliefWeb.int.

By Janet Wagner. Janet is a data journalist and full stack developer based in Toledo, Ohio. Her focus revolves around APIs, open data, data visualization and data-driven journalism. Follow her on Twitter, Google+ and LinkedIn.

Doug Schepers (Vectoreal)Invisible Visualization

Last year, I put together a talk called “Invisible Visualization” on making accessible data visualizations. Several people have asked me about it, so I thought I’d write a post about it.

By “accessible”, I mean able to be consumed and understood by people with a variety of sensory needs, including people with visual limitations, cognitive impairments, mobility challenges, and other considerations. I provided a few simple ways to expose the data in SVG images, but mostly I described different constraints and suggested ways of thinking about the problems.

I didn’t want to lecture people about the need for making their content accessible; I wanted to excite them about the possibilities of doing so. It’s great that there are legal regulations addressing the needs of people with disabilities (like the “Section 508” laws here in the US), but that’s not going to empower and motivate developers and designers to want to meet these kinds of design constraints and solve these kinds of technical challenges. I sought to avoid the “threat and guilt” trap that I’ve seen too many accessibility talks fall into.

I originally created the talk for the amazing OpenVis Conf 2013 in Boston, put on by Bocoup. It was a little rough, but it was received well. You can watch the video of that presentation if you’d like to see it.

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="281" src="https://www.youtube.com/embed/f4P6JsAKrDM?feature=oembed" width="500"></iframe>

The audience was data visualization folks, so it was a novel take on the topic for many of them.

I was asked to repeat the presentation at John Foliot’s Open Web Camp 2013, which had more accessibility experts in the crowd; I was nervous about that, since I’m far from an accessibility expert, but it was also got good reviews there.

In September of 2013, I gave an impromptu version of the talk at a local conference, NCDevCon, which led to a lot of really great discussions.

Encouraged by others, I submitted the talk to Fluent 2014 and CSUN 2014, and was accepted at both.

The turnout for my talk at Fluent 2014 was pretty low, since I faced a lot of good competition; those who attended my talk had really nice things to say about it, though. Truth to tell, however, I was disappointed in my presentation that day; I didn’t feel well, and I didn’t perform nearly as well as before, and failed to mention a few things I’d wanted to say. I only had 30 minutes, so I did feel a bit rushed. But several people said they got something out of it, so that was gratifying.

I was more intimidated by CSUN 2014, which is the largest and most respected accessibility conference. This was a type of audience I haven’t presented to before: almost exclusively hard-core accessibility professionals and people with accessibility needs themselves. I had a full hour, but I needed it; I had to change the way I was presenting my slide material, which is highly visual, to make sure that my blind audience members could experience it as well. My W3C colleague Mark Sadecki helped me a lot with this simple piece of advice: if there’s something on the screen, describe it; even if a blind listener doesn’t need to know that it’s the information is bar chart or a picture of a manatee to get the gist, they will want to be able to talk about it with other audience members later, so err on the side of being descriptive, and give them the full experience. But I nailed it! I had a very receptive audience, and I hit just the right notes at just the right time. I was even thanked by blind audience members for my slide descriptions. Sometimes things just go right; I only wish they’d recorded this particular presentation. I also learned quite a lot at CSUN from other people doing amazing and inspirational work in accessibility.

Each time I gave the talk, I refined it a bit more, adding slides, tightening it up, and generally improving it. You can see my Invisible Visualization slides on the W3C site… but beware, the have a couple quirks:

  1. The “slide deck” is just a set of individual SVG files strung together with a common script file, and each one is a little webapp in itself, some with more interactivity than simple bullet points; you navigate them by using the arrow keys, with down key for next bullet point, and left and right keys for changing the slides;
  2. They don’t have a lot of text, so they aren’t really self-explanatory; to get the full impact, you should watch a video of one of my presentations; I’ll try to find time to make an updated video of my presentation, to give it better context.

One of my more popular slides is a demo on the sonfication of a line-chart; sonfication is the representation of information with sound, rather than visually. To make this demo, I just took an SVG line chart (using a <polyline> element), and ran a “cursor” line across it (using the arrow keys); I found the intersection of the 2 lines, calculated the y-position of the intersection, then set that as the frequency of an oscillator node using the Web Audio API. (It’s no coincidence that I happen to be the W3C staff contact for the Audio Working Group, and a long-time participant of the SVG Working Group.) At Open Web Camp, I had the fortune to meet Gerardo Capiel of Benetech, which runs the DIAGRAM Center; I collaborated with Gerardo to refine my sonification demo, and we adapted it to make a Web-based prototype of the MathTrax, a graphing calculator for blind people. If you want to help me refine it further, you can check out my sonifier code on GitHub. I have a lot of improvements to make, but hopefully I can find time in the next few months.

If you are interested in the topic of accessible SVG, you can join the W3C Accessible SVG Community Group. We haven’t been very active up to now, but in June–July 2014, I’m carving out some time to focus on making and running basic SVG accessibility tests to establish the current state of support for SVG in screenreaders and other Accessibility Technology, and if you’re a person who writes tests or who uses a screenreader, you are most welcome to help out. This is the fundamental work that needs to get done in order to move us forward toward a more accessible graphical Web.

 

Norman Walsh (Sun)Another side of summer

<article class="essay" id="content" lang="en">

A cocktail recipe from the Pacific northwest. Imitation is the sincerest form of flattery.

In my recent, lovely tour along the Pacific coast, I had the pleasure of tasting The Other Side of Summer at the Teardrop Cocktail Lounge in Portland, OR. It is described: “eminently refreshing quaff, high notes of citrus & savory melon”.

The listed ingredients are TDL gin blend, mint, lime, lemon, Angostura bitters, cantaloupe-dill-cilantro soda. TDL blend is the Teardrop Lounge's custom gin blend. I have no idea how important that is to the flavor, but neither do I have any hope of reconstructing what it is, so I'm not going to worry about it.

Cantaloupe is one of my favorite flavors and I recently read about an easy technique for making syrups so thought it would be interesting to see if I could approximate the drink. The common recipe for a flavored syrup is to boil water and sugar with some flavoring agent, let it cool, and strain. The other way to do it is through osmosis.

Start by making three syrups: cantaloupe, dill, and cilantro. For each one, chop up the ingredient and put it in a zip top bag. Add several table spoons of sugar. Push all the air out, seal up the bag, mash it up a bit, and let it sit on the counter for several hours. Mash occasionally as you see fit. I thought the dill and cilantro were a bit dry so I added a sprinkling of water.

Cut off the corner of the bag and pour it through a strainer. I got about 1½ oz of dill and cilantro syrups and about 8 oz of cantaloupe syrup.

Make a syrup mixture consisting of 1 part dill, 1 part cilantro, and 2 parts cantaloupe.

My first attempt, Another Side of Summer:

<figure class="informaltable-wrapper" id="R.1.9">
1½ oz   Hayman's Old Tom gin
1 oz   cantaloupe-dill-cilantro syrup
½ oz   fresh lemon juice
½ oz   fresh lime juice
several dashes Angostura bitters
fresh mint leaves
soda water
</figure>

Muddle several mint leaves in the lemon and lime juices, add the gin, syrup, and bitters. Shake well. Double strain into a highball glass. Fill the glass with ice and top of with soda. Stir to combine. Garnish with a sprig of mint.

My verdict: not too shabby. Maybe more cantaloupe syrup next time.

P.S. Yes, this post also appears in the Mixology community, but for technical reasons I couldn't automatically cross post it from there to here, so I've repeated it.

</article>

ProgrammableWebToday in APIs: DPLA Expands Offerings, and 12 New APIs

Digital Public Library of AmericaDigital Public Library of America adds millions of items that can be accessed through its API. Appy Pie releases API for Kindle Fire. Plus: How Apple dodged the Heartbleed virus with the help of an API, GoogolPlex hack for using voice control, and 12 new APIs.

DPLA Expands Archives by Millions of Records, Available via API

We last covered the Digital Public Library of America almost exactly a year ago when it began building an innovative search portal and offered a platform with an API that to date has received 9 million hits. It connects the databases of many libraries to make them searchable as one. Apps can be developed using its API. Apps developed include OpenPics, Culture Collage (somewhat modeled after Pinterest), and FindDPLA which is designed for wikipedia writers looking for sources to cite in articles.

Now the DPLA is beefing up its offerings.


As Megan Geuss reports in arstechnica, they have now surpassed 7 million records in their archives:

The New York Public Library agreed to expand access to its digital collections in the coming year. It will increase from the initial 14,000 digitized items it lent the DPLA catalog to over 1 million such records.

In addition, the DPLA announced partnerships with the California Digital Library, the Connecticut Digital Archive, the J. Paul Getty Trust, the US Government Printing Office, Indiana Memory, and the Montana Memory Project.

The US Government Printing Office is perhaps the most prominent of these: it’s set to provide its growing collection of documents from budgets to legislation to the DPLA. The Digital Library has received over $2 million in grants its first year.

Mobile App Builder Appy Pie Offers API for Kindle Fire HD

Appy Pie, a company that offers software for mobile app builders, has released an API that allows users to create highly customized apps with no development experience. Kindle Fire HDs support android apps running on HTML5.

As Appy Pie CEO Abhinav Girdhar commented,

Appy Pie already allows Users to build apps for all the major platforms, including iOS, Android, Windows 8 & Blackberry 10, so adding support for Amazon’s Kindle Fire HD was a natural step.

With more than 5,000 apps being produced per month, Appy Pie has climbed to the number 1 spot in the mobile App software space.

API News You Shouldn’t Miss

12 New APIs

Today we had 12 new APIs added to our API directory including a content performance analysis service, an open source project information service, a data file conversion and sharing service, a nigerian sms service and a social networking website consolidation service. Below are more details on each of these new APIs.

BuzzSumoBuzzSumo API: BuzzSumo is a service for identifying which content performs best for a given topic or competitor. It also helps identify key influencers who are good at promoting specific kinds of content. The BuzzSumo API allows users to programmatically retrieve data on top content, top influencers, article sharers, and links shared.

Collaboration TodayCollaboration Today API: OpenNTF provides a framework for developing and hosting open source projects. The Collaboration Today API can retrieve information from OpenNTF, including the URLs for projects, the names of projects, short project descriptions, a project’s creation date, the date of the last release, project owners and contributors, a project’s GitHub name and URL, the person who uploaded a given release, and more.

FlatMergeFlatMerge API: FlatMerge is an API that helps users share Excel and flat file data. Users can upload their data files to FlatMerge, which analyzes and transforms them into OData. From there, users can query the data or metadata for an uploaded file. API users can also get a listing of their files and delete files from FlatMerge.

KEID SMSKEID SMS API: KEID SMS provides online SMS solutions for businesses, organizations, and individuals. It is designed primarily to reach people in Nigeria, but also covers 650 networks in 210 countries. KEID SMS processes 1,500 SMS per second and offers real-time delivery reports. Transactional SMS is available for banks and other such institutions. Users get their SMS units back if the SMS does not deliver successfully.

Lkd.toLkd.to API: Lkd.to is a service for consolidating the user’s social networking services. It generates websites that are similar to vCards, electronic business cards that can be used to share personal contact information along with photographs, audio clips, and other digital information. Lkd.to comes with a read-only API for retrieving a user’s available sites and exporting user details as a vCard.

MailTrackerMailTracker API: MailTracker provides real-time email tracking services that let users know when, where, on what devices, for how long, and how many times their emails have been viewed. MailTracker can provide such information for Gmail, Yahoo!, Google Apps Business, Hotmail, and custom SMTP accounts. Users can integrate with MailTracker via API.

Nimblevox Click-2-DialNimblevox Click-2-Dial API: Nimblevox is a cloud communications service with Hosted IVR, Automatic Speech Recognition, Text-to-Speech, Answering Machine Detection, Outbound Dialing, SMS Solution, Service Creation Tool, and Out of the box API’s.

The Click-2-Dial API enables calling directly into your website. You can monitor agent call volumes, track call traffic, and integrate into your CRM. The API dials the agent, when they answer or accept, the connection is made.

Nimblevox Fast LaneNimblevox Fast Lane API: Nimblevox is a cloud communications service with Hosted IVR, Automatic Speech Recognition, Text-to-Speech, Answering Machine Detection, Outbound Dialing, SMS Solution, Service Creation Tool, and Out of the box API’s.

The Fast Lane API allows companies to give their customers access to portions of their IVR or Call Center from a web page selection. When invoked, the API dials the phone number, including any additional needed digits. A message informing the agent of the caller is played and requests call acceptance. When the agent accepts, the system calls the customer back. This decreases customer hold time and reduces communication costs.

Nimblevox serviceStartNimblevox serviceStart API: Nimblevox is a cloud communications service with Hosted IVR, Automatic Speech Recognition, Text-to-Speech, Answering Machine Detection, Outbound Dialing, SMS Solution, Service Creation Tool, and Out of the box API’s.

The serviceStart API is used to invoke your custom applications. It receives the request, starts phone line, and passes request data to your application.

Nimblevox SMS ReceiveNimblevox SMS Receive API: Nimblevox is a cloud communications service with Hosted IVR, Automatic Speech Recognition, Text-to-Speech, Answering Machine Detection, Outbound Dialing, SMS Solution, Service Creation Tool, and Out of the box API’s.

The SMS Receive API enables a callback to a URL you define in my.nimblevox.com. The URL is defined by configuring the SMS Receive URL for the phone number, and the callback is initiated from nimblevox. When a caller sends a text message to your nimblevox phone number, nimblebox sends the info to your url.

Nimblevox SMS SendNimblevox SMS Send API: Nimblevox is a cloud communications service with Hosted IVR, Automatic Speech Recognition, Text-to-Speech, Answering Machine Detection, Outbound Dialing, SMS Solution, Service Creation Tool, and Out of the box API’s.

The SMS Send API enables using an HTTP POST request to send text messages.

Nimblevox Voice AnnouncementNimblevox Voice Announcement API: Nimblevox is a cloud communications service with Hosted IVR, Automatic Speech Recognition, Text-to-Speech, Answering Machine Detection, Outbound Dialing, SMS Solution, Service Creation Tool, and Out of the box API’s.

With the Voice Announcement API you can place a phone call and play a message. This can be used to send alerts, broadcast messages to customers, or to send reminders.

Related ProgrammableWeb Resources

Digital Public Library of America Digital Public Library of America API Profile

ProgrammableWebDevelopers Emerge as Kingmakers of IT in the Cloud Era

While there’s no doubt that the influence of developers has never been greater, a debate is starting to emerge concerning how much power developers now wield across the enterprise. At the Red Hat 2014 Summit last week, Deepak Advani, IBM general manager for cloud and smarter infrastructure, told attendees that developers are now the kingmakers of enterprise IT. To back up that claim Advani noted that not only do developers today decide what APIs will be published, but increasingly they determine what technologies are actually deployed.

Because developers are increasingly invoking IT resources directly in the cloud, Advani says developers are essentially deciding what technologies will be used by any given organization. With 85 percent of new applications being developed in the cloud, Advani says it is little wonder vendors are battling for the hearts and minds of developers.

In the case of IBM, competition for developers in the cloud was one of the primary reasons they spent $2 billion to acquire SoftLayer, which in addition to supporting OpenStack exposes over 2,000 APIs to developers.

Rather than developing applications from the ground up, Advani says developers will increasingly be composing applications using APIs. Driving that shift, says Advani, is the need to respond to rapidly changing business conditions that are creating more demand than ever for innovative applications. Where developers once had months to build an application, Advani says they are now being routinely asked to compose new applications in days and months. Most of those applications, says Advani, will be invoking application patterns defined in the cloud that will be exposed via APIs. The end result, says Advani, is a once in a generation opportunity to create economic value around dynamic cloud services that are truly open.

There is, of course, a fine line between being the kingmaker and wielding actual power. As enterprise IT evolves in the cloud, developers will clearly specify what software and hardware resources will be used across the enterprise. Of course, the decision of what resources are made available to the developer is likely to be made by either the CIO or provider of the cloud service. Naturally, developers can vote with their feet by opting to go to work on another platform, which essentially would force builders and providers of cloud computing services to bend to their collective will.

Having power is one thing; learning to effectively wield power is quite another. Historically many developers have indirectly influenced decisions simply by the way they write or compose an application. Many of them may continue to indirectly exercise that influence in the age of the cloud. However, no matter how enterprise IT evolves, going forward the one thing that is for certain is that not much is likely to be accomplished without at least the consent of the developer community.

ProgrammableWeb: APIsMailTracker

MailTrackerEmail tracking service
Date Updated: 2014-04-21
Tags: analytics, email

ProgrammableWeb: APIsBuzzSumo

BuzzSumoContent performance analysis service
Date Updated: 2014-04-21
Tags: content, marketing, media

ProgrammableWeb: APIsLkd.to

Lkd.toSocial networking website consolidation service
Date Updated: 2014-04-21
Tags: pim, social

ProgrammableWeb: APIsCollaboration Today

Collaboration TodayOpen source project information service
Date Updated: 2014-04-21
Tags: hosting, news, OpenSource

ProgrammableWeb: APIsKEID SMS

KEID SMSNigerian SMS service
Date Updated: 2014-04-21
Tags: messaging, nigeria, sms

ProgrammableWeb: APIsNimblevox SMS Send

Nimblevox SMS SendSMS via HTTP POST request
Date Updated: 2014-04-21
Tags: sms, telephony, text

ProgrammableWeb: APIsNimblevox Voice Announcement

Nimblevox Voice AnnouncementAnnouncement Messages via Phone Call
Date Updated: 2014-04-21
Tags: announcements, messaging, notifications

ProgrammableWeb: APIsNimblevox SMS Receive

Nimblevox SMS ReceiveText message to URL service
Date Updated: 2014-04-21
Tags: sms, telephony, text

ProgrammableWeb: APIsNimblevox serviceStart

Nimblevox serviceStartNimblevox Start Service Tool
Date Updated: 2014-04-21
Tags: applications, cloud, customer, Service

ProgrammableWeb: APIsNimblevox Fast Lane

Nimblevox Fast LaneCallback Service for Customer Calls
Date Updated: 2014-04-21
Tags: customer, messaging, Service

Amazon Web ServicesAWS Week in Review - April 14, 2014

Let's take a quick look at what happened in AWS-land last week:

Monday, April 14
Tuesday, April 15
Wednesday, April 16
Thursday, April 17
Friday, April 18

Stay tuned for next week! In the meantime, follow me on Twitter and subscribe to the RSS feed.

-- Jeff;

ProgrammableWebTwoTap Streamlines E-Commerce For Mobile App and Website Developers

This guest post comes from Marc Mezzacca, founder of NextGen Shopping, a company dedicated to creating innovative shopping mashups.  Follow him on Twitter or LinkedIn.

Two TapI’m an online shopper who loves efficiency and hates filling out forms, so TwoTap’s solution that automates the checkout process across top e-commerce websites immediately grabbed my attention. Not only does TwoTap help automate checkout, but the TwoTap API gives developers a new way to handle referral-based e-commerce. With just a few calls to the API, developers can complete a purchase on a customer’s behalf.

Here’s an example. Let’s say you’re a developer with a fashion discovery app. You have product data coming from a variety of retailers (Gap, Nordstrom, Banana Republic, Macy’s, etc.) and one of your users finds a nice spring dress from Nordstrom. She decides to purchase it. Normally, at this point, you’d send her off to the Nordstrom.com website. But suppose you could keep her in your app to fully complete the purchase. You can do just that if you’ve integrated with the TwoTap API.

Capturing the sale in-app is incredibly important in mobile apps, where window shopping is high and conversion rates are still very low. The merchant still handles the transaction, and TwoTap doesn’t handle any of the credit card processing. In fact, TwoTap is built on top of the merchant’s existing e-commerce system, so no integration is required by the merchant. This differentiates it from other systems like Google Wallet, which offers a two-click checkout process through its Instant Buy APIs, but requires a bit of integration by the merchant.

Continuing from the previous example, the revenue model of choice is likely affiliate-based. In the affiliate model, the website or app passes the user to a retail website to make a purchase, and referring party is rewarded a commission when a purchase is made. There are two things at play that are currently a concern in this type of referral-based e-commerce: abandonment and attribution.

Abandonment in the shopping cycle (i.e., shopping cart abandonment) is a huge problem. When you send your user out of your app or website, you lose control of the environment. If the retailer’s site isn’t mobile-optimized, problems instantly arise. If it’s the user’s first time shopping on that website, it means forms to fill out. The more actions (clicks, typing, etc.) a user must execute to make a purchase, the higher the likelihood that user will abandon the purchase. Customers want things done instantly and effortlessly (which is one reason Amazon has been so successful with its Prime shipping and One-Click checkout).

The other concern, specifically for an affiliate marketer, is that of losing the commission. The widely accepted affiliate attribution model is known as the “last-click attribution.” In this model, the last website or app to send the user to the retailer’s website gets 100% of the referral commission on the sale. So a product discovery app which comes at the beginning of a consumer’s shopping cycle has a much higher probability of losing out to something farther down the line, such as a price alert, price comparison, or coupon/loyalty app or website.

Related searches from ProgrammableWeb’s
directory of more than 10,000 APIs

Browse the full directory

TwoTap helps eliminate both of these concerns by allowing the developer to have complete control of the purchase cycle. A digital wallet provided by TwoTap cuts down on the number of actions required of the end-user. And since the entire transaction can happen in-app, the chance of a completed sale increases and the appropriate affiliate attribution credit is guaranteed.

Of course, building directly on top of the existing shopping cart has its own issues. If a retailer changes its site, this could potentially cause the TwoTap system to fail. However, TwoTap has taken the necessary precautions to set up an alert system which allows it to fix these types of issues within minutes.

From a technology standpoint, integration with TwoTap seems pretty straightforward. A pre-built HTML5 widget-based implementation exists for developers who want quick integration. There’s  RESTful API for those who want a fully customizable experience.

A few mobile apps have already integrated with TwoTap, such as Shopsy, and many more existing apps could benefit from this technology—fashion discovery app Kaleidoscope and decor recommendation app RoomHints come to mind.

It’ll be interesting see how retailers, developers and affiliate marketers react to this type of evolution in e-commerce technology. Anything that makes the process more efficient seems like a strong move in the right direction to me.

Related ProgrammableWeb Resources

Two Tap Two Tap API Profile

Bob DuCharme (Innodata Isogen)RDF lists and SPARQL

Not great, but not terrible, and a bit better with SPARQL 1.1

I have yet to ever say to myself "what I need here is an RDF collection, which I will implement with lots of rdf:first and rdf:rest triples!"

That fact that RDF expresses everything using the same simple three-part data structure has usually been a great strength, but in the case of ordered lists (or RDF collections) it's pretty messy. The specification defines a LISP-like way of using triples to identify, for each position in a list, what the first member is and what list has the rest of them after that. When saying "and here are the rest" for every member of the list, you don't want to have to come up with a unique URI for each one, so datasets typically use blank nodes for these placeholders, and you can end up with a lot of them.

Putting all this together, you could represent the list ("one", "two", "three", "four", "five") with these triples:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . 
@prefix d:   <http://learningsparql.com/ns/data#> .

d:myList d:contents _:b1 .

_:b1 rdf:first "one" .
_:b1 rdf:rest _:b2 .

_:b2 rdf:first "two" .
_:b2 rdf:rest _:b3 .

_:b3 rdf:first "three" .
_:b3 rdf:rest _:b4 .

_:b4 rdf:first "four" .
_:b4 rdf:rest _:b5 .

_:b5 rdf:first "five" .
_:b5 rdf:rest rdf:nil .

Turtle and SPARQL include syntax that lets you write out a more human-readable version without explicit blank nodes and with the list represented as, well, a list. The following is the equivalent of the example above:

@prefix d: <http://learningsparql.com/ns/data#> .

d:myList d:contents ("one" "two" "three" "four" "five") 

To do much with these lists, though, especially in SPARQL, you still have to think in terms of rdf:first and rdf:rest.

To be honest, I've never found much need to do anything with RDF lists, but after seeing recent references to them—or, in Manu Sporny's case, the lack of them—I thought I'd play around a bit to see how difficult it was in SPARQL to do four basic list tasks:

  • Retrieve the Nth member of a list

  • Retrieve all the members of a list

  • Insert a new member at a specified position

  • Delete a member from a specified position

Update after posting my original entry: Andy Seaborne pointed me to his 2011 blog entry Updating RDF Lists with SPARQL, which includes SPARQL queries covering several additional cases. Also, more from Joshua Taylor at stackoverflow, thanks to Paul Gearon.

I found that SPARQL 1.1's property paths made it easier to concisely address a specific list member without lots of triple patterns, and of course without SPARQL 1.1 update there would be no insertion or deletion of list members. (I'm happy to take suggestions on improving the queries.)

Retrieving the Nth member

The following query retrieves the third member from the list defined above:

PREFIX d: <http://learningsparql.com/ns/data#>

SELECT ?item
WHERE {
  d:myList d:contents/rdf:rest{2}/rdf:first ?item
}

If you think of it as zero-based counting, it's simple: you just plug the number of the member you're interested in into the curly braces. Using ARQ, the query returns this:

-----------
| item    |
===========
| "three" |
-----------

But... after writing and testing that, I remembered that the ability to specify a specific number of repeated property path steps by putting a number between curly braces was dropped in the 24 July 2012 Working Draft of the SPARQL 1.1 Query spec, so it's not proper SPARQL. It works just the same when you replace rdf:rest{2} with rdf:rest/rdf:rest, which is a minor change, but specifying every step like that will be a pain if you want to retrieve the twenty-third member of the list.

I've replaced the rdf:rest{2} that was in the original draft of the insert and delete queries below with rdf:rest/rdf:rest.

Retrieving all the members

The following retrieves all of the list items. As an added bonus, ARQ displayed them in order, but that was just luck, and not something to count on, because stored triples have no order.

PREFIX d:   <http://learningsparql.com/ns/data#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT ?item
WHERE {
  d:myList d:contents/rdf:rest*/rdf:first ?item
}

Of course, changing the first line to SELECT (count(?item) AS ?items) would give you the number of members in the list, which is also handy.

Inserting a new member at a specific position

The main work is breaking the link where the insertion will take place and then linking the new member in.

PREFIX d: <http://learningsparql.com/ns/data#>
DELETE {
  ?insertionPoint rdf:rest ?rest . 
}
INSERT {
  _:b1 rdf:first "threePointFive" ; rdf:rest ?rest . 
  ?insertionPoint rdf:rest _:b1 . 
}
WHERE {
  d:myList d:contents/rdf:rest/rdf:rest/rdf:first ?item .
  ?insertionPoint rdf:first ?item ; rdf:rest ?rest . 
}

Here is how the dataset looks after using TopBraid Composer to run this query on the data above:

@prefix d: <http://learningsparql.com/ns/data#> .
d:myList
  d:contents (
      "one"
      "two"
      "three"
      "threePointFive"
      "four"
      "five"
    ) ;
.

Deleting a member from a specified position

The following deletes the third item from the list. As with the previous query, the main work is breaking the link and creating a new one across the gap where the deleted item was:

PREFIX d: <http://learningsparql.com/ns/data#>
DELETE {
  ?previousMember rdf:rest ?deletionPoint .
  ?deletionPoint rdf:rest ?rest . 
  ?s ?p ?item   . 
  ?item ?s ?p . 
}
INSERT {
  ?previousMember rdf:rest ?rest.
}
WHERE {
  d:myList d:contents/rdf:rest/rdf:rest/rdf:first ?item .
  ?deletionPoint rdf:first ?item ;  rdf:rest ?rest . 
  ?previousMember rdf:rest ?deletionPoint .
  ?s ?p ?item . 
  OPTIONAL { ?item ?s ?o . }
}

Running this update request after running the insertion one before it results in a dataset that looks like this:

@prefix d: <http://learningsparql.com/ns/data#> .
d:myList
  d:contents (
      "one"
      "two"
      "threePointFive"
      "four"
      "five"
    ) ;
.

So we know it worked.

Taking it further

I won't remember the syntax of these queries without reviewing them as written here, but I know that I can copy them from here and paste them elsewhere with minor modifications to perform these basic list manipulation goals.

On the other hand, in the work I've done with RDF and SPARQL, I have yet to say to myself "what I need here is an RDF collection, which I will implement with lots of rdf:first and rdf:rest triples!" So, the exercise above seems a bit academic. (In fact, my original goals above look like a homework assignment; for extra credit, modify the queries so that the targets can be specified based on their values and not their positions.) If I need to order some instances in RDF, I'm more likely to give them some property I can use to sort them. I'd love to hear pointers from anyone about places where using rdf:first and rdf:rest addressed a data modeling issue better than any alternative would.

Still, the queries above show that maybe RDF collections are not as bad as I originally thought, and that SPARQL 1.1 property paths can make certain tasks more straightforward to achieve.


Please add any comments to this Google+ post.

ProgrammableWeb37 New APIs: Eat24, Apperian, and StrikeIron

This week, we had 37 new APIs added to our API directory including a service that enables medication adherence for prescription drugs, an eCommerce companion application to convert sales, and an interactive music and entertainment platform. We also covered Twitter’s acquisition of Gnip.

AdhereTechAdhereTech API: AdhereTech makes medication bottles that are enabled with technology to improve prescription medication adherence. The AdhereTech API allows developers to access and integrate the functionality of AdhereTech with other applications and to create new applications. Public documentation is not available; interested developers should contact AdhereTech for API information.

Apperian ApplicationsApperian Applications API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value. The Applications API enables the request of statistical data and metadata for the Android, Blackberry, and native OS applications that are stored in the EASE database. Data can be requested for all native applications in your organization and those available to a specific user. Data can also be requested for a specific application and for all the app catalogs in your organization.

Apperian GroupsApperian Groups API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value. The Groups API is used to add, edit, list, and delete groups in EASE. Users must be a member of the group to which an application belongs in order to view and run the application. This API enables the ability to control and organize application access through group creation.

Apperian UsersApperian Users API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value. The Users API is used to authenticate with the EASE server. It provides the unique token that is needed in the HTTPS requests sent to EASE web services. The API is also used to add users, list user details, update user attributes, and delete users.

AtomJump Javascript 3D EarthAtomJump Javascript 3D Earth API: AtomJump has created a JavaScript 3D global map that developers can embed on their websites to mark global locations, and that end users can click to spin the globe and find those locations. It is compatible with most browsers, tablets, and mobile devices, and the look of the globe is also customizable.

CoddressCoddress API: Coddress is an address platform that allows users to simplify their address for input. It has custom input solutions for distinct areas, converting accordingly for different websites. The Coddress API can provide registered address information to company websites or blogs. It returns CDR search results in XML, JSON format.

ConvExtraConvExtra API: ConvExtra is a web extraction tool. Data can be extracted from sources such as catalogs, online stores, and news feeds. The information is formatted and structured in CVS format, enabling further processing such as price comparisons, product comparisons, or data analyzation. You can also subscribe to receive alerts about the extracted data. The ConvExtra API is activated by url request and parameters can be transmitted by GET or POST.

Eat24Eat24 API: Eat24 is an online food delivery service. They include over 25,000 restaurants in over 1,000 cities. With the Eat24 iOS SDK, developers can embed Eat24’s online food ordering into their existing iOS applications. This allows users to store their purchasing information as well as access their order history, and enables easy re-ordering.

getBiblegetBible API: The getBible API allows users to retrieve Bible verses for their websites in the version and translation that they want. If no version is specified, the English-language King James Version of the Bible is used by default. Some of the other languages available include French, German, Hebrew, Greek, Afrikaans, Finnish, Swahili, Arabic, and Esperanto.

GranifyGranify API: Granify is an eCommerce companion application. Granify works with eCommerce sites to predict which customers will and won’t purchase goods and tries to convert them into sales. The Granify API allows developers to access and integrate the functionality of Granify with other applications. Public documentation is not available; API access comes with account service.

GreenButton IncusGreenButton Incus API: GreenButton is a New Zealand based company that helps software vendors transition applications to the cloud. With their platform, developers can scale our their compute-intensive applications to the cloud. The InCus Search API is a new search optimization solution, providing a way for customers to access the media indexing service. It enables optimized searching of content from a variety of sources – meeting content, conference calls, presentations, online lectures, voice mails, internet videos. For example, users can index audio from digitized content archives, creating optimized search and discovery.

HonbuHonbu API: Honbu is designed to help people working at the same company communicate and collaborate on projects. Because Honbu provides a secure online environment, users can safely share business information and develop new content. Honbu allows users to create and join groups specific to their projects or roles, helping keep everyone in the loop and build a company culture.

LivewelloLivewello API: LiveWello is a social health management platform. Patients can manage their health using the support of family, friends, and health practitioners. The LiveWello API allows developers to communicate with the LiveWello servers. Service providers, medical device manufacturers, and health-related websites can utilize the LiveWello personal health management tools. The API provides connection to registration and access, profiles, care teams, journal comments, health records, and documents.

Lleida ENUMLleida ENUM API: Lleida is a service for turning email and SMS communications into legally binding contracts, but it also provides an ENUM service, which uses DNS queries to map phone numbers to the internet communication servers responsible for servicing them. The Lleida ENUM API allows users to find out which operator owns a given telephone number, check a number’s status on the network, see how many times a number has been ported from one operator to another, and more.

Lumo BodyTechLumo BodyTech API: Lumo BodyTech are wearable technologies to help people with their posture, standing tall and straight, and lifting correctly. The Lumo BodyTech API allows developers to access and integrate the functionality of Lumo BodyTech with other applications and to create new applications. Public documentation is not available; interested developers should email developers@lumobodytech.com for more information.

meQuilibriummeQuilibrium API: meQuilibrium is a stress monitoring and management service. Users can use meQuilibrium to monitor their cognitive and stress indicators to manage their stress levels. Employers can offer it to their employees to reduce stress in employees. The meQuilibrium API allows developers to access and integrate the functionality of meQuilibrium with other applications and to create new applications. Public documentation is not available; interested developers should contact meQuilibrium for more information.

OpenAuraOpenAura API: OpenAura is a platform for artists to control their digital identity, curating with photos, artwork, information, etc. The OpenAura API can be used to create visual music experiences. The visual content can be aggregated and used to build music apps and other experiences. This API is currently in Beta.

PennockPennock API: Pennock Floral is a wholesale supplier of flowers, floral containers, and other specialty items that sells exclusively to retail outlets. They have locations all along the east coast of the U.S. The Pennock API allows users to retrieve information on the availability of specific products, including their cost, quantity, and description.

Prelude by MoolahPrelude by Moolah API: Prelude is a product of Moolah, a cryptographic payments platform. Prelude’s Public API allows users to retrieve ticker information for trades made in U.S. Dollars (USD) or Bitcoins (BTC). The information available for such trades includes the highest and lowest trades made in the last 24 hours, the 24 hour volume, all buy and sell orders for a pairing, the last executed trade prices, the last 10 executed trade values, and the last executed trades for all pairings.

RoostRoost API: Roost is a service that allows users to send Safari push notifications to their subscribers. From their dashboard, users can send notifications, invite new subscribers, and track their current subscribers. The Roost API allows developers to send push notifications, get registration data, and get information on recently disabled registrations.

RxREVURxREVU API: RxREVU is a medication cost savings database. RxREVU offers datasets on prescription medication costs. Resellers can integrate the RxREVU datasets into their applications to offer users prescription drug cost savings. The RxREVU API allows developers to access and integrate the functionality of RxREVU with other applications and to create new applications. Public documentation is not available; interested developers should contact RxREVU for more information.

Scoresight.ioScoresight.io API: Scoresight.io is a football prediction API that uses crowd predictions, social sentiment, and historical results to predict scores of soccer (football) matches. The Scoresight.io API allows developers to access and integrate the functionality of Scoresight.io with other applications and to create new applications. Public documentation is not available; interested developers should sign up at http://www.scoresight.io.

StrikeIron Canada Geocode InformationStrikeIron Canada Geocode Information API: Pinpoint the exact location of customers, prospects or competitors with geocode data. The Canada Address Geocode Information Web Service uses geocode technology from DataFlux to provide a powerful enhancement solution that transforms ordinary addresses into robust information that can support improved logistics and refined demographic reporting.

StrikeIron Contact Record Verification SuiteStrikeIron Contact Record Verification Suite API: Validate, verify, correct and enhance your customers’ contact information in real-time with the Contact Record verification Suite. The suite provides instant access to email addresses, mailing addresses, phone numbers and more. The end result is cost- and time-efficiency for your organization.

StrikeIron Geo IP LocationStrikeIron Geo IP Location API: The StrikeIron Geo IP Location Web service allows high precision localization of website visitors. The Web service provides geographic information such as IP Address ranges, IP Address Owner, latitude, longitude, time zone, and a map representing the location, for a given IP Address.

StrikeIron Mobile IDStrikeIron Mobile ID API: Identify U.S. mobile numbers quickly and easily to effectively reach your customers and prospects. New regulations require organizations to be diligent with their mobile marketing practices. StrikeIron’s Mobile ID solution gives you the ability to improve sales and marketing efforts by ensuring that mobile phone numbers you are using are accurate. The Mobile ID solution is available in both batch and real-time modes. This provides you with the ability to – Clean up your legacy phone data – Instantly detect whether a number is a landline or mobile number at the point of data capture.

StrikeIron Phone Number ValidationStrikeIron Phone Number Validation API: Save time and money by ensuring your customers’ phone numbers are correct with StrikeIron’s Phone Number Validation solution. You can easily integrate this cloud based solution into any website, web form, or other business application to improve customer contactability by 90% or more. This solution verifies the NPA and the NXX (area code and prefix) of all North American Numbering Plan (NANP) phone numbers in the US and Canada. In addition this solution will return each zip code where this NPA/NXX combination exists. It will also give you the number of phone numbers in each of these ZIP codes. We update our data at least every 30 days to ensure we provide the most accurate solution.

StrikeIron Real Time Telephone VerificationStrikeIron Real Time Telephone Verification API: This technology guarantees that your customers provide you with a working, traceable telephone number. An automated telephone call is placed to the web user, who is told a unique security code. The user then enters that code into their computer, which completes verification. TeleSign authenticates your customer’s telephone number and effectively ensures that “bad apple” web users are routed out before they can ever inflict damage to your online business.

StrikeIron US Geocode InformationStrikeIron US Geocode Information API: Pinpoint the exact location of customers, prospects or competitors with geocode data. The US Address Geocode Information Web Service uses geocode technology from DataFlux to provide a powerful enhancement solution that transforms ordinary addresses into robust information that can support improved logistics and refined demographic reporting.”

TelecashTelecash API: TeleCash is a mobile money service from Telecel. Subscribers can conduct money transactions with their mobile phone. The TeleCash API enables the validation of credit cards, the storing of credit card data in the TeleCash DataStorage, and the creation of credit card payments.

ThinkEcoThinkEco API: ThinkEco is a green technology company that creates cost-effective energy efficiency solutions. They have a modlet, self-installable solution that enables device-level energy management to the home and office. Their cloud based software, that is accessed through the modlet, allows users to view energy use, costs, and savings. Additionally, the have a SmartAC dashboard to control electronics from any computer. The ThinkEco API allows developers to integrate the modlet data with a building or energy management system. The API also allows for pulling of energy data and controlling modlets from your own system.

TouchTunes JukeboxTouchTunes Jukebox API: TouchTunes is an interactive music and entertainment platform. The network supports a portfolio of location-based digital solutions and is featured in over 60,000 bars and restaurants in North America. The TouchTunes Jukebox API provides access to TouchTunes out-of-home digital music network and allows developers use of this music data for apps and services. This could be used to find a local TouchTunes Jukebox, view recent activity, and to browse the catalog.

Triptelligent Shore ExcursionsTriptelligent Shore Excursions API: Triptelligent is a shore excursion marketplace for travelers on cruise ships. Cruise guests are connected with tour operators, local guides, and personalized services. The Shore Excursions API enables integrating shore excursion content on partner websites. Content can include full descriptions, pictures, and client reviews. The API provides a full booking engine that has integrated handling of credit cards.

UnisonUnison API: Unison is a collaboration service that allows users to create “rooms” as workspaces for each of their teams or projects. Rooms allow users to store and share their files, questions, and ideas all in one place. Unison’s rooms instantly sync across all devices and can be used to track team member’s activities and see what posts they’ve read. Users can turn a room into an audio conference instantly by clicking a button. One-on-one audio and video calls are also available.

VoxSci VAPIVoxSci VAPI API: Voxsciences is a voice recognition technology solutions company that offers Voice-to-Text services. The VoxSci API, VAPI, allows existing systems to integrate voice to text conversions transparently. Audio files are sent to VAPI, where their system handles the transcriptions, and then sends them back to the originating system.

WattTime ImpactWattTime Impact API: WattTime collects power grid energy usage information from many sources and puts it in one place in a standardized format. Users can retrieve this data and use it to shift their energy consumption to when the grid is using greener energy sources. The WattTime Impact API allows users to integrate real-time energy cleanliness data from the website into their projects or applications.

You Don't Need a CRM!You Don’t Need a CRM! API: You Don’t Need a CRM! helps sales team members track and close deals. The process of creating new leads is simplified so that team members can spend less time filling out paperwork and more time pursuing leads. The You Don’t Need a CRM! API allows users to create, update, and retrieve data from their accounts. It also allows users to receive notifications via webhooks. You Don’t Need a CRM! is designed to serve small businesses with fewer than 200 employees.

Shelley Powers (Burningbird)It's Just a Tool

I gather that Mozilla has named some marketing person as interim CEO as they search for a replacement who would be acceptableeffective.

I don't care, really. Mozilla is an organization that provides support for Firefox, a tool I use. I'm using Firefox because it is the browser that irritates me the least at this time. I used Chrome previously, but stopped when yet another unexpected-and-suddenly-appearing design change made it marginally unusable.

I appreciate the hard working souls who work on the browsers and the specifications that form the basis for the technology implemented in the browsers—most of whom don't work for Mozilla, or Google for that matter. Most of them don't get paid for their work, either.

If anyone deserves passionate support, it's the people who labor on the technology that goes into my browser. Anything else is just organizational politics benefiting some corporate entity.

In the meantime, I use Firefox. I don't do so because of loyalty or because of some cause. It's just a tool.

ProgrammableWebToday in APIs: WSO2 to Host Integrated Ecosystem Workshops, and 11 new APIs

WSO2 is set to host three workshops on integrated ecosystems across three Asia-Pacific cities throughout the month of May. Plus, the role of APIs in cross-border currency transfer and 11 new APIs.

WSO2 to Host Integrated Ecosystem Workshops

WSO2 will be hosting three Asia-Pacific workshops next month on integrated ecosystems. An integrated ecosystem, in the eyes of WSO2, constitutes a connected business that integrates people, processes, and data across an extended value chain. In three different cities (Kuala Lumpur, Sydney, and Auckland), WSO2 will conduct workshops that teach attendees how to build a connected business through the use of cloud, mobile, API, big data, social, and open source technologies.

The workshops are designed for enterprise architects, IT managers, CIOs, and SOA experts. More on the “Integrated Ecosystem” series can be found at the individual registration sites (Kuala Lumpur, Sydney, Auckland).

APIs You Shouldn’t Miss

11 New APIs

Today we had 11 new APIs added to our API directory including an application inspection tool, a crowdsourcing ideas tool, an application download install tool, a user notification tool and a restful application builder and http services tool. Below are more details on each of these new APIs.

Apperian App Inspections Apperian App Inspections API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value.

The App Inspections API is used to request inspection of an application. It can also be used to acquire a previously generated inspection report. Inspections are used to screen apps for risky behavior and vulnerabilities. The inspections are performed with Appthority Platform™.

Apperian Crowdsourcing IdeasApperian Crowdsourcing Ideas API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value.

The Crowdsourcing Ideas API enables users of the App Catalog to submit ideas. They can submit ideas about new apps as well as ideas for other improvements for the organization.

Apperian Downloads and InstallsApperian Downloads and Installs API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value.

The Downloads and Installs API enables the download and install of native applications to a user’s device from the EASE server. The user must be assigned to the applicable group to have access to the application.

Apperian Push Notifications Apperian Push Notifications API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value.

The Push Notifications API is used to send users push notifications on their devices that are running native iOS and Android App Catalogs. You can send Application Update Notifications, Group Messages, and Application Messages.

ASP.NET WebASP.NET Web API: ASP.NET is a web framework for building standard-based websites. The framework supports HTML, CSS, and Javascript.

With the ASP.NET Web API you can build HTTP services for browsers and mobile devices. It provides a platform for building RESTful applications on the .NET Framework. They can return any kind of content that the web supports, including JSON and XML.

CodenvyCodenvy API: Codenvy provides cloud-based services that include public cloud-based workspaces and private enterprise clouds. It provides facilities for quickly launching projects and for embedding and distributing environments. The Codenvy API gives developers extensive access to the platform’s features. These include the ability to create, manage, and retrieve information on instances, projects, organizations, factories, and users.

HTC Common ControlsHTC Common Controls API: HTVdev provides resources to develop ideas and applications within HTC devices. It also enables connection with HTC and other developers.

The HTC Common Controls API extends the existing set of Android widgets with a suite of customized general purpose controls. By reusing these common controls, application and widget developers can create an HTC look and feel to applications.

HTC Scribe PenHTC Scribe Pen API: HTVdev provides resources to develop ideas and applications within HTC devices. It also enables connection with HTC and other developers.

Providing HTC Scribe technology with HTC tables, the HTC Scribe Pen API is a framework for drawing applications. The framework provides pen controls, settings, and properties that are available to the native applications, as well as the ability to interact with the pen’s buttons.

HTC Sound EnhancerHTC Sound Enhancer API: HTVdev provides resources to develop ideas and applications within HTC devices. It also enables connection with HTC and other developers.

The HTC Sound Enhancer API provides access to the Sound Enhancer configuration settings within your application. With this access you can customize the audio experience and optimize sound with special settings for different media.

HTC Stereoscopic 3DHTC Stereoscopic 3D API: HTVdev provides resources to develop ideas and applications within HTC devices. It also enables connection with HTC and other developers.

The Stereoscopic 3D API implements stereoscopy technology on the EVO 3D to create glasses free 3D imagery. The screen resolution is halved by blocking the stereo pair of images from the opposite eye’s field of vision. This accommodates both left and right images in the display.

RealFaviconGeneratorRealFaviconGenerator API: RealFaviconGenerator is a service for creating favicons that will work across multiple platforms. Favicons are provided for use with desktop PCs and Macs as well as for iOS, Android, and other mobile devices. The RealFaviconGenerator API allows users to integrate the favicon generator into their own CMS or web page editing services.

ProgrammableWeb: APIsCodenvy

CodenvyCloud-based development platform provider
Date Updated: 2014-04-18
Tags: backend, cloud

ProgrammableWeb: APIsASP.NET Web

ASP.NET WebRESTful Application Builder and HTTP services
Date Updated: 2014-04-18
Tags: application, applications, development

ProgrammableWeb: APIsHTC Stereoscopic 3D

HTC Stereoscopic 3DStereoscopic 3D for EVO 3D
Date Updated: 2014-04-18
Tags: 3d, visualizations

ProgrammableWeb: APIsHTC Common Controls

HTC Common ControlsCustomized control extensions for HTC
Date Updated: 2014-04-18
Tags: application, applications, development

ProgrammableWeb: APIsHTC Sound Enhancer

HTC Sound EnhancerApplication Sound Enhancer
Date Updated: 2014-04-18
Tags: application, audio, development

ProgrammableWeb: APIsHTC Scribe Pen

HTC Scribe PenPen Control for HTC Scribe Pen
Date Updated: 2014-04-18
Tags: application, development, writing

ProgrammableWeb: APIsRealFaviconGenerator

RealFaviconGeneratorCross-platform favicon generator
Date Updated: 2014-04-18
Tags: BROWSER, cms, image, tools, website

ProgrammableWeb: APIsApperian Crowdsourcing Ideas

Apperian Crowdsourcing IdeasCrowdsourcing Ideas Tool
Date Updated: 2014-04-18
Tags: applications, crowdsourcing, social

ProgrammableWeb: APIsApperian App Inspections

Apperian App Inspections Application Inspection Tool
Date Updated: 2014-04-18
Tags: applications, reporting

ProgrammableWeb: APIsApperian Push Notifications

Apperian Push Notifications User Notification Tool
Date Updated: 2014-04-18
Tags: applications, notifications

ProgrammableWeb: APIsApperian Downloads and Installs

Apperian Downloads and InstallsApplication Download Install Tool
Date Updated: 2014-04-18
Tags: accessibility, applications

ProgrammableWebMQTT Promotes Standards, Interoperability on IoT

Last week MQTT (Message Queuing Telemetry Transport) provided developers with a signal that it may be emerging as a de facto protocol for the IoT. This validation comes in the light of positive MQTT Interoperability Test Day results that were published by the host of the event: The Eclipse Foundation and the Eclipse IoT Working Group.

The Eclipse Foundation and the Eclipse IoT Working Group announced the results of a MQTT Interoperability Test Day held in March during which 15 companies, including large software vendors like IBM, Software AG and RedHat, tested how well various implementations of MQTT adhere to the draft specification and how interoperable they are with each other.

Players in the IoT space have been moving slowly on standards but The Eclipse Foundation’s Ian Skerrett, expects the recent developments with MQTT will help change that. “I think we are already seeing more adoption of MQTT. Developers want and need some of the basic building blocks for creating IoT applications. They are tired of reinventing it themselves. Demonstrating that MQTT is indeed interoperable will help with future adoption,” Skerrett explains.

Leading the Drive for Interoperability: MQTT

According to Skerrett, interoperability is crucial to the burgeoning IoT market. “The current state of the IoT industry has resulted in a lot of siloed, proprietary solutions,” he told me. “Many of these solutions will offer an ‘open’ API but that API only works for the proprietary solutions. This makes it very difficult for the users to integrate solutions from different providers. If we really want an ‘Internet of Things’ it needs to be easy to integrate like we can with the real Internet.”

One of the early protocols is Message Queuing Telemetry Transport, or MQTT, developed by IBM and Eurotech and designed to provide publish/subscribe messaging transport. While still early, the test results paint an encouraging picture for developers looking for standards to emerge.

“Overall, more than 50% of the test pairs were considered successful. At this stage of the standardization process, this demonstrates a good level of interoperability between MQTT implementations and points to the ease of creating interoperable IoT solutions based on MQTT,” the Eclipse Foundation stated in a press release.

Another test day is planned for later this year and Skerrett believes that even more progress will be evident then: “The next test day will be focused on the final specification for MQTT. Right now it is still in draft form so not all the providers have updated their implementation. I will expect at the next test day we would see a lot more participants and more instances of successful testing.”

Future Development

The Internet of Things (IoT) is booming, and as more and more companies look to connect the world using sensors and smart devices, establishing protocols that will serve as the backbone of the IoT is one of the most important steps in ensuring the IoT realizes its trillion-dollar potential.

HTTP is the foundation of the web we use on a daily basis, but the IoT has different needs. For one, the IoT will be home to a lot more devices. Billions of smart devices, including sensors, will be a part of the IoT network. Additionally, many of them will need to communicate with each other and operate in environments where bandwidth and computing resources are constrained, which is one of MQTT’s sweet spots.

There is still work to be done, both on MQTT and other protocols that are being adopted. As Holger Reinhardt of Layer 7 Technologies has noted, “each protocol has weaknesses.” MQTT, he suggests, “appears to be weak in security.”

Skerrett acknowledges that security is an important subject and believes it is one of the biggest issues facing the IoT industry as a whole. For many of standards developing around protocols, finding a balance between usability and security could be key.

“I think the challenge for MQTT will be to retain its simplicity and ease of use. All too often you see ‘feature-creep’ emerge in successful standards. Right now it does a very good job with a simple specification,” Skerrett says.

Ultimately, a number of key standards and protocols, such as MQTT, will be broadly adopted across various IoT applications, says Skerrett, but because the IoT is so diverse and there are so many varied applications, there is also room for application-specific protocols, many of which will likely be built on top of open standards like MQTT.

ProgrammableWebToday in APIs: Aplos’s API for Nonprofits, and 6 New APIs

Aplos releases an API for nonprofit management and raises $2 million. Right Brain Media’s ReadyCast APIs and app uses iPhone, iPod and iPad cameras to live stream events. Plus: the implications of Google Adword changes, securing digital channels and mobile apps against hacks, and 6 new APIs.

Aplos Software Releases API, Raises $2M

Alpos Software creates offers SaaS for nonprofits. Now it’s launching an API with the help of $2 million in funding just raised.

As the company commented,

The new financing from private investors brings the company’s total funding to $3.4 million. Aplos Software plans to use the new financing to accelerate the development schedule for new features in its existing nonprofit accounting and donor management software. This includes the release of an API to integrate with other popular web-based software used by churches and nonprofits. Since the release of its web-based software in 2011, Aplos Software has served over 10,000 organizations with its nonprofit software suite.

The idea of creating an integrated software solution targeted at nonprofits isn’t unique to Aplos. But most packages are targeted at large nonprofits. As the company notes, most nonprofits have expenses under $500,000, suggesting that the SaaS can be scaled appropriately for the large number of smaller organizations.

ReadyCast Uses APIs to Streamline Streaming from iPhones, iPads, iPods

The age of mobile broadcasting has arrived. Right Brain Media’s ReadyCast App makes it possible to live stream from any iOS device. Available as an App from the iTunes store, it’s ideal for streaming from business seminars, trade shows, sporting events, church services, and so on.

As the company comments, ReadyCast works  so that the incoming stream is correctly formatted for an iOS, desktop or Android device:

“ReadyCast makes mobile broadcasting easy,” said Deke Hooper, CIO at Right Brain Media. “It makes streaming really convenient – for anyone – because of the automated provisioning that our system offers. All of the API calls that are available help to streamline the process for users.”
The available API calls make it quick and easy for the average user to log in to ReadyCast on their mobile device and begin live streaming in minutes.

Use of the app requires an approved ReadyCast provider, available by emailing sales@rightbrainmedia.com.

API News You Shouldn’t Miss

6 New APIs

Today we had 6 new APIs added to our API directory including an application data request tool, a user application access management tool, an authentication and user detail management service and a search optimization service. Below are more details on each of these new APIs.

Apperian ApplicationsApperian Applications API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value.

The Applications API enables the request of statistical data and metadata for the Android, Blackberry, and native OS applications that are stored in the EASE database. Data can be requested for all native applications in your organization and those available to a specific user. Data can also be requested for a specific application and for all the app catalogs in your organization.

Apperian GroupsApperian Groups API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value.

The Groups API is used to add, edit, list, and delete groups in EASE. Users must be a member of the group to which an application belongs in order to view and run the application. This API enables the ability to control and organize application access through group creation.

Apperian UsersApperian Users API: Apperian is a mobile app management platform with a set of open APIs that handle the key elements to extend, integrate, and create additional functionality and value.

The Users API is used to authenticate with the EASE server. It provides the unique token that is needed in the HTTPS requests sent to EASE web services. The API is also used to add users, list user details, update user attributes, and delete users.

GreenButton IncusGreenButton Incus API: GreenButton is a New Zealand based company that helps software vendors transition applications to the cloud. With their platform, developers can scale our their compute-intensive applications to the cloud.

The InCus Search API is a new search optimization solution, providing a way for customers to access the media indexing service. It enables optimized searching of content from a variety of sources – meeting content, conference calls, presentations, online lectures, voice mails, internet videos. For example, users can index audio from digitized content archives, creating optimized search and discovery.

TelecashTelecash API: TeleCash is a mobile money service from Telecel. Subscribers can conduct money transactions with their mobile phone.

The TeleCash API enables the validation of credit cards, the storing of credit card data in the TeleCash DataStorage, and the creation of credit card payments.

Triptelligent Shore ExcursionsTriptelligent Shore Excursions API: Triptelligent is a shore excursion marketplace for travelers on cruise ships. Cruise guests are connected with tour operators, local guides, and personalized services.

The Shore Excursions API enables integrating shore excursion content on partner websites. Content can include full descriptions, pictures, and client reviews. The API provides a full booking engine that has integrated handling of credit cards.

ProgrammableWebTwitter’s Acquisition of Gnip Highlights Rise of Aggregators in DaaS Market

On Tuesday, social media giant Twitter announced that it is buying Data as a Service (DaaS) provider Gnip for an undisclosed amount. Gnip, which is one of several companies that sell access to the firehose of the content posted on Twitter, was founded in 2008 and today offers data from a number of popular user-generated services in addition to Twitter.

As Twitter VP of Global Business Development & Platform Jana Messerschmidt explains, “We want to make our data even more accessible, and the best way to do that is to work directly with our customers to get a better understanding of their needs.” For Twitter, flush with cash from its 2013 IPO, buying one of the companies it has partnered with to sell real-time firehose access was an obvious way to gain direct access to the growing number of companies using its data.

According to Messerschmidt, the acquisition will give the company the ability to develop more useful offerings. “We believe Gnip has only begun to scratch the surface. Together we plan to offer more sophisticated data sets and better data enrichments, so that even more developers and businesses big and small around the world can drive innovation using the unique content that is shared on Twitter,” she says.

DaaS: Aggregation crucial to success?

The rise of the DaaS market reflects the insatiable demand businesses have for data. Data from the social web, in particular, has been particularly appealing to companies and is increasingly used in a variety of applications, such as brand monitoring and sentiment analysis. Companies like Gnip and DataSift, which ProgrammableWeb’s Janet Wagner recently profiled, have taken advantage of the demand by aggregating data from a variety of sources, including Facebook, Instagram and Foursquare, and making them available via API.

Interestingly, a number of data providers have chosen to offer their data firehoses exclusively through Gnip instead of selling access to their APIs directly. This raises an important question: might it become increasingly difficult for some data providers to succeed with a homegrown DaaS strategy?

It’s logical that companies hungry for data will prefer to acquire access to new data sources quickly and without unnecessary one-off integrations. DaaS providers like Gnip can offer access to a growing portfolio of data sets through a single relationship and unified, consistent API, potentially making them more attractive than competing data offerings that are sold individually by a company that can only offer its own data and API.

While Twitter ostensibly purchased Gnip with a focus on improving the delivery of its own data, if the aggregation trend continues to gain momentum, the microblogging company’s purchase of Gnip could put Twitter in an ideal position in the booming data economy.

ProgrammableWebSamsung’s Position On Tizen May Hurt Developer Recruitment

Samsung isn’t making it easy for developers. The company may have released a handful of SDKs for its latest devices, but Samsung’s non-committal approach to its Tizen platform is probably going to cost it developer support.

Samsung’s first smartwatch, released in October last year, ran a modified version of Google’s Android platform. The device had access to about 80 apps at launch, all of which were managed by a central smartphone app. Samsung offered developers an SDK for the Galaxy Gear so they could create more apps. Developers obliged. Then Samsung changed direction.

Samsung announced a new series of smartwatches in February: the Gear 2, Gear 2 Neo, and Gear Fit. Unlike the first device, these three run Samsung’s Tizen platform. Tizen is based on Linux and other open-source standards. Samsung has been working on Tizen with Intel for years. It is supposed to be used for smartphones, but why not throw it into a watch? This way Samsung can say it relies on Google for one less thing. Though the user interface of the Gear 2 and Gear 2 Neo looks nearly identical to that of the first smartwatch, all the underlying code is different. Samsung also released a brand new set of SDKs for its Tizen-based watches, but the devices launched with only a couple dozen apps and developers haven’t been as quick to add more. (Granted, it is still early days for the Tizen watches.)

This week, Samsung made things even more interesting. Speaking to Reuters, Yoon Han-kil, senior vice president of Samsung’s product strategy team, said the company is working on a watch that will use Google’s Android Wear platform. In other words, Samsung will bring three different watches to market with three different operating systems in under a year. At this point, developers might be best off if they ignore the first- and second-generation smartwatches from Samsung and wait for the third. Here’s why.

Android Wear is Google’s new platform for wearable devices. It is based on Android, but will be modified for smaller screens and varying form factors. The first such devices will be smartwatches. Motorola and LG have already committed to bringing smartwatches to market. They showed off early builds of their stuff last month (Motorola’s watch looks hot!) Samsung has thrown its hat in this ring, too. Why? Because it has to. Samsung can’t take the chance of ignoring this new Google-backed platform for wearables. Android Wear is probably going to become the default platform for most wearables moving forward. With a number of major companies supporting the platform, it has the best chance of succeeding in this still-nascent market. Google is naturally offering developers an SDK for Android Wear so they can create apps for the platform.

Since Android Wear is on the horizon, it really raises questions about just how much effort developers should put into Samsung’s Tizen smartwatches. Samsung sold about 3.5 million Galaxy Gear devices in 2013. The improved devices will likely sell in similar or somewhat higher numbers thanks to expanded smartphone support. Android Wear-based hardware, however, is on deck to clobber those numbers. Supporting Tizen won’t be an entirely wasted effort, but the bigger numbers down the road could be more enticing to developers and cause some to skip Tizen for the time being.

ProgrammableWebEnigma Opens Door to Public API and Platform Access

Open data startup Enigma has released its platform to the public and now provides the open Enigma API so that developers can begin drawing on open data sources and feeding them into their applications. Co-founder Marc DaCosta spoke with ProgrammableWeb about the importance of encouraging developer involvement, and why Enigma can succeed when other open data platforms have had difficulties building a sustainable model.

Enigma is an open data platform with current access to almost 70,000 datasets, from U.S. and international sources. New datasets are added almost daily, and users can easily request datasets to be added. As a startup that’s already won several industry awards and recently secured $4.5 million in funding, Enigma has focused on supporting its corporate clients in key industries in order to build the platform. Now it’s ready to make the platform available to the public, and anyone can register for a free account or enter a paid plan which provides access to the Enigma API.

“We have relaunched the enigma web app, from an enterprise-scoped product into a public platform that anyone can go to interact with and build apps off of,” DaCosta told ProgrammableWeb.

Open data for the public

DaCosta explains the motivations behind opening up the platform to wider usage:

We started thinking more deeply about what position we want in the open data world. It has been fascinating to watch open data as a concept take shape over the past five years, when it has grown with a lot of different stakeholders involved. But [it's] still a very uncharted, fertile, and unfolding territory to be involved in.

There has been great progress—as was recently demonstrated by the OpenData 500 launch, which showed how companies are using open data sources to feed their product development and business processes across industry. However, there are also many more opportunities that have not even started to be realized.

“It is exciting because we really believe that in five to 10 years down the road, we will be in a world where you will be able to look at a building, and see the data signature (who is it owned by and what else it is involved in), as you would use Wikipedia now to look up Crimea to learn more about its natural resources, for example,” DaCosta says.

API access to open data

Part of opening up the platform has included making an API available. While free account holders can test the API in a sandbox environment, paid subscribers can make up to 50,000 API calls a month.

“The way that the API works is that anyone gets basic sandbox API access to prototype a use for it,” DaCosta explains. “Once it gets to a commercial application stage, we have a basic developer pricing level. Users have these sandbox API keys so developers can use these directly in their app prototypes. Our opening gambit is in terms of building a large community around open data. So the sandbox API is very important to that.”

Several REST APIs are provided, enabling access to dataset metadata, the data itself, a stats API that allows developers to perform analysis such as calculating averages based on variables in the data, and an export API that allows developers to download datasets in CSV format.

Documentation provided includes brief descriptions of each API and the parameters and attributes of each, as well as an interactive screen that shows an example data request or response, and a sandbox tab where users can test API requests themselves.

Opportunities for developers

Da Costa is committed to focusing now on fostering developer communities and encouraging developers to “harness this data to do interesting things.” To that end, Enigma has focused on enabling app developers to immediately begin making use of any data they need from the stores of datasets on the platform:

If you are an app developer and you want to help consumers make more informed choices, you don’t necessarily need to understand all the datasets that might help you do that. Instead, you can start with the manufacturer of a product and find out all the datasets related to that manufacturer and work from there.

You don’t need to worry about data-as-a-service type layer, you don’t have to manage all the datasets that power your apps.

At times the interface can still be confusing for newbies, but Enigma is structured in a way that means you do not need to know what datasets exist that may help you. Users can search via location, keywords or company names to surface all datasets where those attributes are mentioned, then work backwards to drill down into what datasets may be most useful for a query. Once a dataset is filtered to show just the items wanted, it can be saved or exported and then a similar query can be performed on another dataset.

Managing data quality

One of the strengths of the Enigma platform is its focus on cleaning and organizing data before it is imported. Unlike platforms like CKAN, which is used by governments and cities around the world to publish their data, Enigma polishes its data first so all datasets are available in a clear table format, and have been formatted in JSON to be available for request calls via API. CKAN, on the other hand, lets the data publishers decide, which means data is uploaded in multiple formats: from CSV, to PDF, to spreadsheets, to API. It is up to the developer-consumers to wrangle the data into the format they want to use.

Enigma solves this problem by having a highly curated element to its business model. “There is a lot of data quality issues when you are dealing with data.gov for example,” DaCosta says. (Data.gov is built using CKAN.) “It is not always done in a way where the data is in a usable format. To have a platform where the data is easy to surface and to use the data in the first place will help with the velocity of open data, it is much more within people’s reach and ability to discover.”

Enigma also provides a number of features to encourage data accessibility: a roadmap feature lets users identify datasets they want to have added, and a progress status is providing informing of the potential timeframe for the date sets to come online.

A trending feature lets users see what datasets are most popular on the platform, creating an almost social aspect to discovering datasets:

Four use cases for open data using Enigma

1. Investigative journalism

“We have worked with some not-for-profit and investigative journalists to further civic media and public good projects,” says DaCosta, when asked about how developers can gain free access to the API. DaCosta cites examples such as the connection of shell companies, and the “ability to follow supply chains and see where U.S. military uniforms are being manufactured, for example.”

2. Real estate investment

“We are working with a lab at MIT that is using the public Enigma API to power visualizations to create portraits of cities: with real estate assessment values, hospitalization intake causes, things that assess the safety of local communities, etc., all data sources that together create powerful tools for civic engagement,” says DaCosta.

Some developers are using the data to identify quality building contractors, while others are using building permit data to identify energy-efficient building designs, and therefore property investment opportunities that will have greater value in the longer term: “You can take building permit information filed by building contractors, and then look at who are the good contractors, for example,” suggests DaCosta. “There is a group up in Boston that is using the import data we have to look at the carbon scores of the properties they are buying.”

3. Assessing business risks

In an interview with Riskpulse earlier this year, CEO Matthew Wensing mentioned the need for accurate data sources that may help identify specific business risks such as delays to manufacturing caused by port labor disputes. DaCosta sees a day when Enigma may have those datasets available in the Enigma platform:

Right now, you could look at the raw volume of containers that are being held up. There are also datasets from Federal Highway data that will tell you how many trucks are distributing goods, there is also a dataset called the Warren Act where any employer with more than 200 employees has to report any employee layoffs. Also from local manufacturers, you might be able to look at occupational safety data to see if they have had any labor violations, and you can [look] into government contracts and see if a disruption could impact on a manufacturer’s ability to deliver on government contracts.

4. Identifying food sustainability opportunities


ABOVE IMAGE: Detail from infographic on food waste by A to Z Solutions

In the US, it is estimated that 40% of all food ends up being thrown out due to inefficient distribution across the country. In the future, analyzing datasets on Enigma could help find new opportunities to manage food distribution more effectively. “Corporate registrations identify delis and supermarkets,” DaCosta points out. “You could then mash up that data with city health inspection data” as one avenue. There are still a lot of opportunities to mine public data to identify where food gets wasted or where in the chain it goes off, and how to create alternative distribution pathways to make better use of this oversupply to areas with greater demand for more accessible food options.

Barriers to entry

Although Enigma holds a lot of promise, its current subscription price of $395 per month may still be beyond the reach of many early adopters wanting to draw on the wealth of open data for their business cases. The cost savings from easing data discovery (by reducing the need to research potential available datasets themselves) may still be too steep to make the case for using the Enigma platform unless developers are planning on producing a lot of open data-enabled products or tools, or are working in a highly competitive enterprise market, where deep pockets on early adoption of using open data may have strategic business advantage now.

Developers and businesses will need to have clearly thought through what data they will need to access, analyze and integrate in their end use cases before they commit to a subscription.

Beyond the savings in data discovery that the platform provides, the 50,000 calls a month is a fairly small number of API requests to be able to be made when accessing datasets that will also need to be further analyzed before displaying results in the end user interface. For example, in the use case above of real estate investment, there are 92,900 rows of data for building permit applications in New York in 2013. So if a user is looking at data from a number of years, across a number of locations, it will be fairly easy to hit the 50,000 calls a month quickly. The developer-consumer pays for access to the data and to mining it from Enigma via the subscription price, but then also needs to evoke a number of other tools such as data analytics to ensure that the data is comparable across different jurisdictions with different per capita population rates, for example. The developer-consumer will then need to use visualization and reporting tools to create the end result that is shown to customers or used internally to help make better business decisions.

Enigma’s greatest use for developers may still be amongst those who are thinking several steps ahead and want to play with new ways to discover data sets and practice filtering data into usable chunks. From there, the API may help identify how a developer could automate such data queries. But to move to a commercial application, developer-consumers may need to have a clear business case in mind with good projections as to the value of drawing on open data sources via Enigma before they are willing to pay the subscription fee involved.

By Mark Boyd. Mark is a freelance writer focusing on how we use technology to connect and interact. He writes regularly about API business models, open data, smart cities, Quantified Self and e-commerce. He can be contacted via email, on Twitter or on Google+.

Related ProgrammableWeb Resources

Enigma Enigma API Profile

ProgrammableWeb: APIsApperian Groups

Apperian GroupsUser Application Access Management
Date Updated: 2014-04-17
Tags: accounts, applications

ProgrammableWeb: APIsApperian Users

Apperian UsersAuthentication and User Detail Management
Date Updated: 2014-04-17
Tags: accounts, Data, information, management, mining, personal

Footnotes

Updated: .  Michael(tm) Smith <mike@w3.org>