Friday, February 28, 2014
Offline Apps: Don’t Forget the Security
Wednesday, March 21, 2012
Metro UI Debate: Planned Obsolescence Ahead
Thursday, July 30, 2009
Wisdom from Michael Singer: Cross-Browser Compatibility for SaaS Solutions
The following contribution to the Magic of uniPaaS was written by Michael Singer, Application Development Manager for Magic Software Enterprises Americas
When creating a SaaS solution that runs under a browser, cross-browser compatibility is a must. In today’s world of multiple browsers and plug-ins, a good SaaS solution will have to be tested on every existing browser (including older versions of browsers). Furthermore, new features implemented in the solution would require additional cross browser testing as well. Vendors of web based, business applications have been calling for a standard in the “mad” world of browsers for a long time, but with the recent launches of Google Chrome and IE 8, it seems, the diversity and differences between the browsers is growing with every passing day.
To achieve cross-browser compatibility, a developer would have to try and limit to a minimum the amount client side validations, use of cookies and processing. All these actions should be done on the server side. This would create fewer cross browser issues on one hand, but might hamper performance on the other. Another good practice would be to create a thin layer on the server side that interfaces with the client side; this would streamline the different data that comes from the diverse browsers and make a single data structure going into the server side. In case browser errors still plague the application, custom error messages that explain the source of the problem, and recommend a type and version of a browser, could be created.
A little kid once said "There is no spoon." (The Matrix, 1999)
So let’s think out of the box. A good SaaS solution does not have to run under a browser. Rich internet applications (RIA) are "web applications that have most of the characteristics of desktop applications, typically delivered by way of standards based web browser plug-ins or independently via sandboxes or virtual machines. Examples of RIA frameworks include Curl, Adobe Flash/Adobe Flex/AIR, Java/JavaFX, uniPaaS and Microsoft Silverlight.” (Wikipedia)
In laymen’s terms, a RIA uses the internet as a communication layer, works on port 80 just like the browser (for compatibility with firewalls), has a very thin client (for compatibility with the IT department) and yet it does not run under a browser, but rather as a desktop application, providing all the capabilities and user experience you would expect from a desktop application.
There are a few solutions out there, but in most cases the architecture is similar. Most tools have a client that renders XML pages, and a server that generates them. Requests from the client are sent to the application server which returns XML documents back. These files are then rendered again to the screen using various technologies. Most platforms have a way of managing sessions or contexts, therefore allowing some kind of persistence in the user experience, and providing a solution for offline work. The clients tend to have a zero footprint on the workstation, therefore making it easy for users to log on virtually anywhere. Browsers, by the way, do the same thing. The difference is browsers know how to render HTML and not XML, and quite frankly, were not designed to be the foundation for a business application but rather should have been used for, well, browsing.
RIAs come in multiple different flavors. From the amazing graphics of Adobe Air, to the amazing productivity of Magic uniPaaS (which actually includes a SaaS platform as part of the product), depending on any project’s requirements, developers could probably find a good tool out there to create any type of SaaS application that would be user friendly, provide rich functionality, secure access and would not require any cross browser compatibility, simply, because it’s not running under a browser.
So as Morpheus said “I'm trying to free your mind, Neo. But I can only show you the door. You're the one that has to walk through it.” (The Matrix, 1999)
Good Luck.
Michael Singer
July 18th 2009
Thanks Michael, great stuff.
Friday, June 12, 2009
The Essence of Application Development Productivity: It Just Is...
I use the CEO's method of picking software development tools. I pick one that gets you to the end quickest. I don't care what everyone else uses, or whatever Microsoft is selling, or even what your IT guys want. There is only one criterion: the largest amount of software created in the shortest amount of time. Period.
That tool is [uniPaaS] by Magic Software Enterprises. It is, by far, the most productive software development tool available. I can almost guarantee that your IT department will not like this tool. But for minimizing risk and cost, it is the best choice on the market today.
I have solutions using this tool running in life insurance companies across the country, managing over $50 billion in assets.-- Art Pennington, the Predator, Profit Research Institute, 2008.
It is never easy to put into words why uniPaaS leaves other approaches to application development so far behind. You simply have to spend a few days learning what it can really do to truly understand the "Power of Choice" as Magic's marketing team calls it.
Some of the keys to uniPaaS productivity principles derive from the fact that it is:
- Repository Based
- Task Oriented
- Event Driven
- Pre-Compiled
- Reusability Optimized
- Inheritance Principled
- Technology Agnostic
- Internally Debugged
- Team Ready
When I talk to IT analysts about uniPaaS, they focus in on its metadata-driven approach to application development. I am certain that those of you who program with uniPaaS on a daily basis could find even better ways to describe the essence of uniPaaS productivity. But as I have been told so many times when I ask real developers why uniPaaS is the most productive application platform on the market today, "it just is."
The results, at least, are hard to argue. As Pennington states:
Or in other words, it just is.Just by eliminating inefficiency you can:
- Double pre-tax earnings
- Achieve a 33% increase in ROE
- Achieve a 50% increase in ROA

