The Client Side
Yup, desktop apps are not left out of the mix. Most desktop solutions fall into a category similar to Apache Cordova, where the end results is a web view that has access to lower level APIs, whose content is developed with web based technology.
Electron – Node.js + Chromium desktop app container from GitHub
app.js – Node + Chromium for a desktop app container
nw.js – Another framework for Node +Chromium for a desktop app container
CEF – The Chromium Embedded Framework – a framework for embedding the guts of the chrome browser inside of a desktop app.
… and more… I know Microsoft has a solution for building Windows apps purely out of HTML/JS, and there are more solutions out there that I am forgetting.
Here are some stats that show the magnitude of growth and adoption for Node.js/npm.js alone. NPM stats currently shows a total of 186,946 packages available for download, 94,978,032 package downloads in the last day, and 2,451,734,737 package downloads in the last month.
Node.js adoption is massive, and is still growing.
Even though the acquisition is still “hot off of the presses”, you can start using these tools together today:
If you haven’t heard about StrongLoop’s LoopBack framework, it enables you to easily connect and expose your data as REST services. It provides the ability to visually create data models in a graphical (or command line) interface, which are used to automatically generate REST APIs – thus generating CRUD operations for your REST services tier, without having to write any code.
Why is this important?
It makes API development easier and drastically reduces time from concept to implementation. If you haven’t yet looked at the LoopBack framework, you should definitely check it out. You can build API layers for your apps literally in minutes. Check out the video below for a quick introduction:
Again, be sure to check out these posts that detail the integration steps so you can start using these tools together today:
That title get your attention? Yes, it really read “Adaptive mobile apps that change based on personal context” – with near real-time rules application, without much extra development effort. If that sounds interesting to you, or like a product you might want to use within your own apps, then you might want to check out this site where you can get involved in the product’s development: http://adaptiveexperience.mybluemix.net/
IBM is looking for your input on creating these types of mobile app experiences. User experiences within a single app that can be dramatically different per user based on location, past behavior, profile information, social media activity, and so much more. With this behavior being driven by configurable rules that can be changed without redeploying an app to the app store.
How it works for your customer
Consider this scenario:
Jon and Andrea download the mobile app for S&W, a retailer known for its attention to providing great customer service. Over the next month, Jon and Andrea use the app to browse and discover content and merchandise differently.
Jon primarily navigates to sports related content for his favorite teams to find gear and clothes for travel to his favorite team’s games. Andrea scours the app for sales and fashion trends and usually ends up following her favorite designers.
Andrea and Jon go to a baseball game together. She’s never enjoyed watching it, so she opens up the S&W app to entertain herself, and her app’s navigation quickly steers her through Spring fashion articles.
Jon however, wants to replace the hat he’s worn the last three times the team lost, and since he’s in the stadium, his S&W app opens right up to the team’s gear page. The app knows he’s out of town and tells him how to get to an S&W store.
How it works for the dev team
Consider another scenario:
One of the developers on the team, George, sets up the system and application. He then gives access to Janet who is responsible for the customer experience.
Janet writes rules defining how the application could adapt and become more personalized based on inputs like , social media, geolocation, app usage, or customer information data.
Once Janet has built out her rules, she simply hits ‘Submit’ and can immediately see her clever interactions reflected in the mobile application without having to involve the development team.
Analytics let Janet know which adaptations are working best, and helps her find new opportunities to optimize the app’s user experience.
We’re not talking about a content management system, or translation based on locale, instead a rules-driven product that can adapt literally every aspect of your app: customize the user interface, enable or disable different features, customized messaging and notifications, and much more, all variable based upon the user context. This can be used to present contextually relevant information, drive adoption, provide more/less data depending on your physical context, and so much more.
It won’t be tied to a specific UI framework, won’t be tied to a specific content management system, isn’t attempting to re-create Google Now or Apple Proactive Assistance. Rather, a set of tools and a rules engine that enable you to customize and tailor the app experience to the individual user.
Last week I had the opportunity to present to a great audience at the MoDev DC meetup group on “Smarter Apps with Cognitive Computing”. In this session I focused on how you can create a voice-driven experience in your mobile apps. I gave an introduction to IBM Bluemix and IBM Watson services (particularly the Watson language services), and demonstrated how you can integrate them into your native iOS apps. I also covered IBM MobileFirst for operational analytics and remote logging to provide insight into your app’s performance once it goes live. Check out a recording of the complete presentation in the video below: