December 11th, 2012

Clarifying “Hybrid Mobile App”

Hybrid Mobile AppsTomorrow, I’ll be presenting a webinar called 5 Ways to Get Top Mobile App Developer Talent for Your Open APIs. Preparing for this webinar got me thinking about different types of mobile app and how they relate to APIs. One thing that occurred to me was how loosely the term “hybrid mobile app” is used – I’ve seen it used to define two very different types of app.

1. Hybrid HTML5/Native Mobile Apps
The term “hybrid mobile app” is often employed to describe an app that is created using a WORA (write once run anywhere) framework like PhoneGap or Appcelerator. These frameworks basically make it simple for developers to generate mobile apps using HTML5, Javascript and CSS.

In the case of Phonegap this app will essentially be a “wrapped” Web site. For PhoneGap apps, developers will often use a UI framework as well, such as JQuery Mobile or Sencha. These UI frameworks look “good enough” on mobile devices, although they should not be confused with the true native UI controls of iOS, Android etc.

In the case of Appcelerator, the generated app can actually leverage the true native sliders, scrollers, date pickers etc. of the device OS. The limitation to this approach is that a developer is fully locked in to what Appcelerator provides. Currently it offers builds for native iOS and Android as well as an HTML5 build, which could potentially be run through PhoneGap.

2. Hybrid API-Driven/Thin-Client Mobile Apps
The term is also used to describe apps that are installed on and run entirely on the mobile device – similar to how a totally native, offline game or other app might work – but which rely on a data connection for presenting Web-based resources, enterprise application functionality or other information assets.

Of course, these information assets are made accessible to the apps via APIs, which is where Layer 7 comes into the equation. In tomorrow’s webinar, I’ll be mainly focused on hybrid mobile apps that are powered by APIs and discussing aspects that are important to address when developing an HTML5 hybrid native app that is also a hybrid API-driven native app. Click here if you want to find out more about the webinar or if you’d like to register.

December 10th, 2012

API Design Tutorial: The Interaction Model

API  Academy - The Interaction ModelAPI design can be daunting. With so many decisions to make and so many differing opinions available on interface design, it’s easy to feel frustrated by the process.  Even worse, it’s possible to follow bad advice and end up designing an API that developers hate using.

That’s why we at the API Academy stress the importance of making rational decisions rather than irrationally selecting design patterns based on emotion or trends.  We want you to choose your design elements rather than picking them from the latest set of formats or technologies that you’ve heard about.

And that’s why we’re working on a series of tutorial videos, as my colleague Mike Amundsen recently announced. The first of these videos, titled The API Interaction Model – An Introduction, provides an overview of  a design process that will help you consider your user’s perspective in order to make effective design choices later. The ideas I discuss in this video are rooted in user-centered design processes that have been very effective in the software and product design worlds.

If you’re currently designing an API, invest five minutes and watch the video.  It should be time well spent.

December 10th, 2012

Top 5 Resources from Layer 7 in 2012

Top Layer 7 ResourcesThis year has seen incredible growth in the API economy, particularly as it relates to the proliferating mobile app ecosystem. At Layer 7 technologies, we are committed to helping enterprises understand these issues through a range of thought leadership activities. As a part of this, we’ve published a great deal of content in our Resource Library during 2012. With the year drawing to a close, it seems like a great opportunity to review some of the most popular pieces.

We tackled issues around mobile and BYOD head-on in a white paper called Secure Mobile Access for Enterprise Employees, which describes how enterprises can securely open their data and application functionality to mobile devices via custom-made apps. Another popular white paper was Federated Identity & Single Sign-On, which explores identity federation for API, mobile, SOA and cloud.

Our webinars featuring input from Forrester Research also drew a lot of interest, especially A Practical Guide to API Security & OAuth for the Enterprise, which provided real-world insight into deploying OAuth as the access control component of a complete API Management solution. Forrester also helped us explore enterprise mobile enablement in another webinar, How to Make Your Enterprise Applications Mobile Ready, Fast.

Looking to the future, Layer 7 will be publishing a series of eBooks, outlining essentials for addressing key issues around API Management and Mobile Access. We got a great reaction from the first of these, called 5 Ways to Get Top Mobile App Developer Talent for Your Open APIs. Over the coming months, we’ll also be publishing eBooks talking about mobile enablement and OAuth. Be sure to watch out for those!

December 7th, 2012

Tech Talk Tuesday: Applying the USE Paradigm When Designing Your APIs

Mike Amundsen Tech TalkOnce again, it’s time for Tech Talk Tuesday here at Layer 7 Technologies. I’m particularly excited about this latest one, as we’ll be welcoming back Mike Amundsen, a Principal API Architect at Layer 7 and an in-demand thought leader on API design and implementation.

This time around, Mike will be talking about Applying the USE Paradigm When Designing Your APIs.  The USE (Usable, Scalable, Evolvable) paradigm provides an extremely useful guide when creating high-level interfaces for your existing business objects and data storage.

Mike will be taking live questions on the USE paradigm and API design generally, so get ready to get involved. Tweet questions with the hashtag #layer7live or email techtalk@layer7.com. On the day, you can watch and chat live on the Tech Talk page.

This looks set to be a very special Tech Talk for anyone interested in API architecture and design – so don’t miss out; join us on Tuesday!

December 7th, 2012

Use Hypermedia to Reduce Mobile Deployment Costs

Using Hypermedia to Reduce CostsI speak about the power and flexibility of hypermedia quite often. I explain the general idea behind hypermedia, discuss its historical roots and show how it can help client applications adapt to changes in data input and application flow. Essentially, a hypermedia-based approach aims to take key elements often placed into the client’s source code and move them into the actual response messages sent by the server.

I also point out that using a hypermedia-based approach to building client and server applications takes a different kind of effort than using RPC-style approaches. And I explain that, currently, there is a limited amount of tooling available to support the process of designing, implementing and maintaining hypermedia-style systems.

If your work involves designing, building, testing and deploying a mobile client application, it is likely you need to deal with an “application store” or some other process where your packaged application must be submitted for review and approval before it is available to users for download. This can happen not only with well-known public offerings such as the Apple Store but also within any organization that provides its own application repository aimed at ensuring the safety and consistency of user-available mobile apps.

In an environment of quick-turnaround, agile-style implementations this “app store” approval can be a real bottleneck. It may be not just days but weeks before your app is tested, approved and posted. This can be especially frustrating when you want to deploy a rapid-fire series of enhancements in response to an engaged user community.

A hypermedia-based client design can often support UI, data transfer and workflow modifications by altering the server messages rather than altering the client source code. By doing this, it is possible to improve both the user experience and the system functionality without the need for re-submitting the client code for “app store” review and re-deployment. This also has the potential to reduce the need for interrupting a user’s day with download and reinstall events and can, in the process, cut down on the bandwidth costs incurred during the repeated roll outs of code modifications to a potentially large user base.

Improved agility, a better user experience and reduced bandwidth costs are all tangible benefits that are possible when investing in a hypermedia-based implementation for your mobile client application.