Interfaces last longer than code

How do you recognize a good API? It’s tough, but one thing is sure, a good interface allows easy swapping of components. If it doesn’t allow easy swapping of components, it’s not a good interface.

Source: 9 – systemD: Interfaces last longer than code – Slashdot

Throughout systemd there is a lack of understanding of proper interfaces. Making the GUI depend on a particular init system is a particularly obvious example of poor design, but the code was written from a ‘code first’ perspective rather than an ‘interface first’ perspective.

Snapchat Can’t Stop the Parasite Apps That Screw Its Users

In a statement, Snapchat puts the blame on third party applications like that use its API to allow Snapchatters to save its disappearing messages on their devices, or worse yet, on a remote server. “We can confirm that Snapchat’s servers were never breached and were not the source of these leaks,” a Snapchat spokesperson writes in a statement. “Snapchatters were allegedly victimized by their use of third-party apps to send and receive Snaps, a practice that we expressly prohibit in our Terms of Use precisely because they compromise our users’ security.”

via Snapchat Can’t Stop the Parasite Apps That Screw Its Users | WIRED.

This should have been obvious from the beginning.  Nothing can stop an end user from taking a screenshot of an incoming photo.  Their “privacy” claim was bogus from the beginning and not sure why anyone took this business model seriously.  More …

But even if Snapchat users’ data was accessed via someone else’s servers, that doesn’t make the breach any less of Snapchat’s problem, says security researcher Adam Caudill. He’s been reverse engineering Snapchat’s API to demonstrate exactly the problem of rogue third party apps for years. “Your average developer can build something in a day’s time that interacts with Snapchat’s API and saves everything that comes through it,” Caudill says. “Quite honestly, I’m surprised this hasn’t happened sooner.”

Apache Cordova

When using the Cordova APIs, an app can be built without any native code (Java, Objective-C, etc) from the app developer. Instead, web technologies are used, and they are hosted in the app itself locally (generally not on a remote http server).

And because these JavaScript APIs are consistent across multiple device platforms and built on web standards, the app should be portable to other device platforms with minimal to no changes.

via Apache Cordova.

OpenDaylight SDN Group Breaks Cover

The OpenDaylight members plan to work on a standardized SDN controller and develop OpenDaylight APIs that sit between the controller platform and the network applications and user interfaces. The common, open source platforms will be developed using technology contributed by member companies and utilizing existing industry standards such as OpenFlow.

via Light Reading – OpenDaylight SDN Group Breaks Cover.

Foursquare’s API Is A Pillar Of The Mobile App Ecosystem

Pick up your smartphone. Search through some of your favorite apps. Do you have Uber? Maybe Foodspotting? Surely you have Instagram. These apps, as well as a significant amount of the most popular apps in Apple’s App Store and Google Play, use Foursquare location data. For developers who have user actions or content tied to Foursquare venue IDs it would be difficult (if not impossible in some cases) to migrate their services off the Foursquare location database.

via Foursquare’s API Is A Pillar Of The Mobile App Ecosystem | TechCrunch.

Developer Freedom At Stake As Oracle Clings To Java API Copyrights In Google Fight

Oracle lost in their attempt to protect their position using patents. They lost in their attempt to claim Google copied anything but a few lines of code. If they succeed in claiming you need their permission to use the Java APIs that they pushed as a community standard, software developers and innovation will be the losers. Learning the Java language is relatively simple, but mastering its APIs is a major investment you make as a Java developer. What Android did for Java developers is to allow them to make use of their individual career and professional investment to engage in a mobile marketplace that Sun failed to properly engage in.

via Developer Freedom At Stake As Oracle Clings To Java API Copyrights In Google Fight | TechCrunch.

OAuth – A great way to cripple your API

Even the original social networking sites behind OAuth decided they really need other options for different use-cases, such as Twitter’s xAuth, or Yahoo offering Direct OAuth, which turns the entire scheme into a more complicated version of HTTP Basic Authentication, with no added benefits. Perhaps the most damaging point against OAuth, is that the original designer behind it decided to remove his name from the specification, and is washing his hands clean of it.

via Insane Coding: OAuth – A great way to cripple your API.


WebRTC is a free, open project that enables web browsers with Real-Time Communications (RTC) capabilities via simple Javascript APIs. The WebRTC components have been optimized to best serve this purpose.

Our mission: To enable rich, high quality, RTC applications to be developed in the browser via simple Javascript APIs and HTML5.

The WebRTC initiative is a project supported by Google, Mozilla and Opera. This page is maintained by the Google Chrome team.

via WebRTC.

And the latest current events surrounding WebRTC is this:

From: Hello Firefox, this is Chrome calling!

For the first time, Chrome and Firefox can “talk” to each other via WebRTC. WebRTC is a new set of technologies that brings clear crisp voice, sharp high-definition (HD) video and low-delay communication to the web browser.

About the OpenMP ARB and

The OpenMP Application Program Interface (API) supports multi-platform shared-memory parallel programming in C/C++ and Fortran on all architectures, including Unix platforms and Windows NT platforms. Jointly defined by a group of major computer hardware and software vendors, OpenMP is a portable, scalable model that gives shared-memory parallel programmers a simple and flexible interface for developing parallel applications for platforms ranging from the desktop to the supercomputer.

via » About the OpenMP ARB and