Thursday, May 17, 2012

Magic Application Platform: “Take Me to Your Developer!”

Just when you thought you would never like a cross-platform mobile development platform, Magic Software has introduced a MEAP platform that makes sense. Previous MEAPs were either frustratingly uniform in their approach to user interface design or overly limiting in the way a native app could be designed for iOS.  The Magic xpa Application Platform iOS client has finally landed and the news is very, very good. It may seem like it was a long way coming, like an alien from a distant planet but “We’re Here!” and we are saying loud and clear: “Take Me To Your Developer!”

The Magic iOS client is a native device OS RIA application designed to take advantage of iOS mobile device capabilities, while being connected to a scalable, robust enterprise server. For those familiar with the Magic Application Platform, the Magic iOS client implements a subset of the capabilities of the Magic RIA client for .NET Desktop, as they are applicable on an iPhone or iPad device.

And you get loads of native device capabilities.

Let’s Play “Where’s Waldo?” er, “Where’s Waldo’s Phone?”

With the Magic Application Platform  the developer can create applications for the Magic iOS Client that leverage the devices' GPS. The ClientOSEnvGetfunction can be used to query the current device location using the internal or connected GPS device. Function syntax in the Magic Application Platform is selected in an intuitive table driven development wizard interface. So for example,  
ClientOSEnvGet (‘device_location’) will return the current device location, using available location options such as GPS or Network. The result is a string in the following format: “OK|Latitude|Longitude”, where OK is a fixed part for testing if a result was returned, and Latitude and Longitude are the coordinates of the current location. If a location could not be obtained, for any reason, an error message will be returned.

Is a Picture Worth a Thousand Words?

The applications you create can also use the camera in the iOS client using the Magic Application Platform’s  ClientFileOpenDlg function. Be sure to specify the path as camera, so that the camera will be opened.  This will enable the user to take a picture and select it. The full path name of the picture will be returned from the function. It is then possible to upload this picture to the server using the ClientFileToServer function, or by loading it into a BLOB variable.

Developing Apps that Access Miscellaneous iOS capabilities on iPhones and iPads

In situations where it is possible to use device capabilities such as calling a phone number, sending an SMS, sending an email and opening a browser, the developer can create app capabilities for that. On the Magic Application Platform the developer can leverage iOS device capabilities by using the Invoke OS command with the URL of the required command.

All of the following examples would be valid parameters for the Invoke OS command:

More than Window Dressing for iOS

Of course the Magic xpa Application Platform delivers more than just window dressing for the iOS Client. Your developers can now build Magic mobile apps that run in a native iOS client and perform important business transactions. These apps are also easily targeted to Android, BlackBerry, etc. Regardless of which mobile client is connected, they can all access the same backend Magic Enterprise Server. So your boss can use your app on his iPhone, your colleagues can strut your apps on their BlackBerry devices and you can run it on your guilty-pleasure Android.

OK, now that you have taken the Magic xpa Application Platform to your developer, take it to your leader and get the mobile apps you need today!

Wednesday, May 16, 2012

What is a mobile enterprise application platform (MEAP)?

What is a mobile enterprise application platform (MEAP)?

MEAP, n., mobile enterprise application platform, an integrated development and deployment environment allowing for a single basis of development for multiple native client experiences across a variety of smartphones. 

Gartner says that: "A Mobile Enterprise Application Platform (MEAP) is a development and deployment framework that provides tools for client, server and middleware for mobile. Targeting any mobile application on any device, ranging from a smartphone to a tablet;  multichannel and offline capabilities.  Best for companies that wish to deploy multiple applications on a single infrastructure, scaled to the size of their current mobile offering and available in an online and offline mode."

Ideally, a MEAP provides a unitary approach to the development and deployment of software for smartphones and tablets, i.e. mobile apps.  Without a MEAP, the development effort grows exponentially and many enterprises have already wasted millions of dollars only to discover how difficult it is to develop for multiple, changing target mobile platforms.

As Jones et. al. put it: “Take for example a small apps company developing for iOS, Android and Windows Phone 7. They would have to employ three teams of developers, as often, skillsets don’t mix. They would have to maintain three different codebases, and synchronize feature additions and bug fixes across the three. This is a daunting challenge, and one reason why many apps are launched across stores with months of delay. Furthermore, quality and design consistency will vary when multiple developer teams are involved, and especially when the development for a new platform is outsourced to a third party. Support costs are also difficult to contain when developing for multiple platforms, as developer documentation needs to be built for three platforms, as does the internal customer support documentation.” (Jones, et. Al., VisionMobile: The Clash of the Ecosystems Report, February 2012, VisionMobile).

A MEAP provides an enterprise IT team with  way to leverage a singles skillset – development capabilities in the MEAP language or paradigm – and still have the ability, perhaps for the first time, to produce mobile apps across a wide variety of devices: iPhone, Android, BlackBerry, Windows Phone, etc.

While it may not be true that a consensus has formed around the idea that a MEAP is the only way to viably develop and deploy enterprise mobile apps for mobile devices, a significant community coalition is forming around this approach. As states: "Consumerization of IT" may be an overused phrase, but it is by no means a fad. Workers nationwide are coming to expect that personal devices will connect to corporate networks.”  So the pressure is clearly being placed on IT departments to create mobile apps that run on a variety of devices. It is important that IT decision makers divorce themselves from their own religious zeal about their own favorite mobile platform and realize that we live in a pluralistic society, so to speak, when it comes to mobile devices. In today’s modern and technologically divergent world it is impolite to try to impose one’s own mobile device bias on another.

MEAPs are not immune to the debate over HTML5 vs native. Even a mobile platform such as Magic Software’s application platform which supports both HTML5 merge and native deployment via specific native RIA clients on each platform is finding itself stressed to take sides in the HTML5 debate.

As Jones et. al. state: “The perennial question for many developers is whether to use a web-browser approach to deploying mobile apps, or whether to create native applications. Web apps provide a large addressable market, at the cost of web-only distribution and a comparatively shallow experience. Native apps allow for much deeper device integration and experiences, but at the cost of a platform-specific addressable market.” (Jones, et. Al., VisionMobile The Clash of the Ecosystems Report, February 2012, VisionMobile).

But Krebs and Klein are less ambiguous with their opinion: “However, for enterprises looking to develop sophisticated mobile B2B and B2E applications across a variety of mobile platforms to a large number of users leveraging a MEAP currently represents the most viable option.” (Krebs & Klein, Native & HTML5 Mobile Apps: Not an either or, but a where and when…, February 2012, VDC Research.)

This bias against HTML5 is understandable. In recent compatibility tests, HTML5 was found to be less than a third compatible with the Windows Phone 7.5 Mango browser.  HTML5 was closest to being compatible with the Firefox Mobile 10 browser and even then it was barely two-thirds compatible.  

Compliance fragmentation is not without cost. “The result of this “compliance fragmentation” is that web app developers have to spend copious time and resources in cross-optimising their web apps for the major smartphone platforms. Perhaps most notable is the case of Assanka, makers of the Financial Times popular HTML5 app, who took 24 man months to create the news reader HTML5 application for the iPad, and another 12 man months to port that same application to Android.”  (Jones, et. Al., VisionMobile The Clash of the Ecosystems Report, February 2012, VisionMobile).

And all of these technical fragmentation issues are occurring even as GUI standards are shifting; Business Processes are being “unbundled”; and Business Apps are being designed to compete for attention in the “attention economy.”  In short, expectations are at an all-time high while standardization seems to be at its lowest point ever.

To overcome the lack of standards, enterprises need a shortcut.  “MEAPs are perhaps best positioned for enterprises looking to develop sophisticated enterprise-grade mobile applications that leverage multiple data sources scaled across various devices and OS platforms and are offered to a multitude of employees.”  (Krebs & Klein, Native & HTML5 Mobile Apps: Not an either or, but a where and when…, February 2012, VDC Research.)
Jones et. al. concede:  “The cross-platform tools market is in a state of abundant developer volatility. Comparing the CPTs developers are currently using vs. planning to use or abandoning, we see continual flux, as developers try a tool, and then churn to a different one. This is a market with no clear winners or losers. It’s a market where there is little developer loyalty, and perceptions are still being formed. This is a great time for wellfunded vendors to establish a beachhead of developer marketing and inch themselves apart in terms of mindshare.”  (Jones, et. Al., VisionMobile The Clash of the Ecosystems Report, February 2012, VisionMobile).

Magic Software (NASDAQ:MGIC) is fortunate in that it is one of the largest MEAP vendors in the market and the only entrant with a pure-play attitude, well established and scalable broker technology, and global reach.

Deploying apps from Magic Software’s application platform is highly flexible. All of the platform-specific options for app deployment are supported by Magic Software including vendor app stores. Magic apps can be launched from the home screen in iOS or the app drawer on Android devices. Magic provides an amazingly mature and well-established WYSIWYG drag-and-drop, form-based environment with table-driven settings used to define the business logic.

As the mobile enterprise application platform or MEAP approach gains favor amongst a growing number of large and midsize enterprise IT departments, Magic Software will benefit from the lion’s share of the new business being generated for MEAP platforms. MEAP is a mobile app development concept that must be taken seriously in today’s era of cost-conscious IT spending amidst rising consumer and business expectations.

Additional important concepts:

Tuesday, May 15, 2012

In-Memory Computing: Future Proof Scalability

At the Sapphire 2012 Conference in Orlando tomorrow SAP Chariman and Cofounder Dr. Hasso Plattner will once again address the subject of in-memory computing. SAP’s attempt to dominate the in-memory computing discussion risks burying a serious conversation about computing in a pile of marketing drivel disguised as academic research. But that’s probably alright. Technology is not science, but it depends on it.

The SAP HANA solution has finally developed enough that SAP has customers creating prototypes with it today. It is both different and more immature than say Hadoop or Gigaspaces.

All of these technologies present interesting possibilities designed to take advantage of today’s more powerful and ubiquitous hardware, enable multitenant cloud architectures and enable massive scalability based on parallelization.

We’ve been talking about the possibilities of grid computing for more than a decade. I remember a visit I made to IBM Research Labs in early 2001 and attending lectures by IBM research scientists on the subject of grid computing. At the time, IBM seemed poised to dominate the future of grid computing. But as always seems to happen, the dialog has evolved as technologies converge and paradigms shift. Now we’re talking more about in-memory computing and multitenancy than we are about grid computing.

As the technologies that provide the foundations for applications evolve, so too will application and integration platforms from Magic Software. As in-memory databases begin to replace traditional disk-based SQL databases the physical writing of the data to disk will be functionally akin to tape backup systems.

The benefit of these new approaches will be found in hyper-scalability of enterprise systems and elasticity in the cloud. As the underlying physical servers evolve and the data layer moves from disk to memory, the Magic application and integration platforms will keep right on running. Companies that seek to take even greater advantage of multicore architectures and the affordability of massive amounts of main memory will be able to continue using the Magic application platform to develop and deploy their applications. Magic sometimes calls our approach “future-proofing” which means that the platform adapts to the underlying changes so that your applications need to change as little as possible to take advantage of the new possibilities.

Hadoop is a slightly older concept and it has the distinction of being an open source project (depending on your bias/predisposition you may read that as good, bad or in-between). Gigaspaces is a more mature and commercial solution with a very complete stack that sits between (or within) the application infrasturcture and the application itself.  

In its marketing and technical communications, SAP likes to focus on the difference between online transaction processing (OLTP) and online analytical processing (OLAP) and points out that OLTP takes a row based approach where data is read a row at a time while OLAP looks at data a column at a time. The nature of physical disks makes the physical arrangement of the data on the disk important to performance and therefore the data is read in either row order or column order. In-memory computing is silicon based and makes physical location virtually irrelevant. The same database can now be read in either row order or column order with no latency penalty. In this regard, they are really just “selling the category.” There is nothing proprietary about SAP’s in-memory computing approach in this regard.  The HANA appliance has been alternatively praised as the future of the cloud and criticized as cloud-washing. The whole argument seems irrelevant to me as in-memory computing is definitely making the transition to the cloud easier. Oracle’s market response is interesting as they seem to be treating it more as a BI skirmish whereas SAP treats the debate as part of a full-spectrum IT paradigm shift. At the end of the day, its all just another good reason to align with the smarter, future-proof technology in Magic’s metadata driven platforms.