The Zero Footprint Advantage

 

jrogelstad's picture

The decision making process for selecting an ERP system is often reliant on the needs of Accounting and Operations people whose primary concern is functionality.   Yet I.T. Administrators bear the burden of deploying the application and anything that goes wrong seems to fall on their shoulders.  Ask any I.T. person what they want in a business system and the answer is “Something that is easy as possible to maintain.”  For this reason I.T. Managers often assume that what would be easiest is a browser-based solution because they don't have to install anything on their users' client machines.  Think again.  xTuple's zero footprint solution is easier than that.

The first time users evaluate xTuple ERP they use our installer utility to install both the xTuple client and the PostgreSQL database on their local machine.  This makes it easy and fast to get going.  What most folks don't realize is that under the hood the xTuple client has zero dependencies on any 3rd party runtimes or frameworks such as Java, .NET, Python, etc.  What this means is that if you install the client software on a server in a shared folder anybody on the network can use the application simply by navigating to and clicking on it.  That's right: Zero installation is required for clients.  For convenience, users can drag a shortcut to their desktop to get to xTuple in one click.  When it's time to upgrade the client, just update xTuple on the server, run the database upgrade utility and Voila! You're done.  Everybody is upgraded.

The diagram above shows how simple an xTuple enterprise installation is.  You may shrug your shoulders at this and say, “So?  How hard is that to keep it simple?  Isn't that easier?”  It is easier for you to administer and for us to develop against. But, in general, keeping architecture simple is not easy.  Developers like to solve complex problems, and they like to bring lots of different tools to bear doing so.  It takes extreme discipline to say “No” when someone wants to add another development library or technology into the mix.  It also takes discipline to write a sophisticated program like an ERP system in a low level language like C++.  Many, many ERP systems are built on RAD (Rapid Application Development) tools that make development easier for programmers, but life hard for administrators.  This trade off is because these tools require a client side runtime that actually compiles the application on the fly.  Examples of environments that work this way are .NET, Java, Gupta, FoxPro and Access (yes, people do write and sell ERP systems written in Access!).

Compare the xTuple installation above to a typical client/server solution based on .NET below:

Note in the Microsoft enviornment above the ERP client is usually installed on the client PC.  This doesn't have to be the case, you could put it on the file server. Then, however, you'd have to set up a litany of exotic active directory group security policies on your domain to allow for that, because Microsoft won't let you run a .NET executable that way by default.  Otherwise, with the client software on client machines, every time you do an update you have to change the software on all client computers   Again, this can be handled by Active Directory (I've actually done this), but it adds a lot of complexity and invariably a lot of problems to your administration.  Furthermore many I.T. Managers are self-trained and don't know how to do this sort of thing.  No matter where you put the ERP client all the client P.C. machines must have the correct version of the .NET framework.  You can let the machines self upgrade, but a lot of shops turn automatic updates off because it causes too many problems.  Again, you can push the .NET framework through Active Directory group policies, but that also adds a lot more complexity to your administration.  Or you can just go around and upgrade both the client and .NET framework machine by machine by hand.  That's what most people end up doing.  Java is the same, just exchange the .NET framework for the Java framework in the diagram above.

These are the sorts of problems that have given client/server solutions a bad name, and are why I.T. Managers are so attracted to browser-based solutions.  Here's a diagram of a typical example below:

Let's start by looking at the server.  It has a lot more dependencies (i.e., moving parts that can break).  The web server, application server and java framework all have to be set up together and be compatible.  Of course most good systems have an installer program that takes care of this, but the fact is all these servers and components require knowledge and time to operate and maintain.  The more moving parts there are, the more points of failure there are.  This diagram doesn't even do true justice to the library requirements to make it work.  The box labeled “AJAX” is usually a conglomeration of at least a half dozen or more library frameworks that have been brought to bear to make the technology function.  They are typically developed by different organizations that don't necessarily work together, and invariably when one of these parts is upgraded, it can break something else affected by it.

The client side story is similar.  A pure browser-based solution would require nothing but a common browser, and any browser would work.  But in practice compatibility problems with browsers are chronic.  What works on Explorer doesn't work on Firefox or vice versa.  Or what worked on Firefox last week, doesn't work on it now that Firefox just upgraded itself on 50+ machines.  Now the administrator has to lock down the browser so everyone has the same one at the same version.  Guess what?  You're back to managing clients on local machines again.  But what's worse is this client is used for a lot of other things, so by locking it down for the ERP you've just ensured a lot of other programs users want to use probably won't work.

This is all compounded by the fundamental problem that browser technology was designed for multi-media, not online transaction processing for ERP systems.  Because implementing ERP in a browser in its purest form is clunky, many solutions improve the interface by making the browser install local plug ins, such as Java applets or Active X controls.  Now you are back to having to make sure all the clients have the correct runtimes to support the plug ins.  Again this is theoreticaly handled by automatic updates, but by opening the door to that, you are introducing security issues.  No, what really happens is administrators end up having to strictly control browser versions and plug-in deployment.  By doing so you are also likely to be locking your users into a specific browser technology and perhaps even a specific browser version, which is again back to managing client software on a machine-by-machine basis either through a complex active directory solution, or manual deployment.

Finally, there are the SAAS (Software As A Service) browser solutions.  Doesn't that eliminate the server maintenance complexities?  Probably, but not the client side dependencies.  Plus, for pretty much all CEO and CFO folks I have worked with the notion of letting someone else control and store your mission critical financial data is a non-starter.  “Cloud” pundits dismiss this as out-dated thinking as they believe new technology is making this a more viable option that is the inevitable future of all software.  The problem is ownership. Control is not a technological issue--it is a pshychological one. Many people will always want to control their sensitive financial data for the same reason they would rather own their homes than rent.

So you see, any way you look at it the xTuple solution is the simplest and most elegant solution you could have to administer, and best of all it runs on any operating system you like!   Now if only it could make a good cup of coffee....

The Zero Footprint Advantage

I couldn't possibly agree more.

In fact if I had to choose just a single product feature that makes us different from most of our competitors, this would be it. Somtimes I think some people just don't appreciate this feature.

This also makes remote access for users or for support so much simpler. Just provide a public IP address, configure the router, and that is all there is to it.

Left Behind

When I first read this article I thought, this is a very well thought out article. After a few nights sleep and further thought I came to realize that the world is changing and xtuple is stuck in the mud making very good arguments for the product but is failing to see what the industry as a whole is doing. Especially when it comes to Zero Footprint. Does Ingres still support QUEL? I mean Postgresql. I am sure long time fans of Ingres love the name tuple but I hope renaissance thinking is not holding back this company.

Time will settle this for xtuple but separation of database, application and presentation layers is where the industry as a whole is headed. The article above seems to state that xtuple is bent to fall further behind in this regard. Virtual Desktops and browser technology is where new investment is at.

You can swim against the tide but one day you will have completely walled yourself in with your strategy. Sounds a lot like that Redmond company to me. AJAX and Open source browsers is where it is at my friend (unless this article is just to address the short-medium term transition of QT front end to a browser front end). There is no need to argue this point, it was won a long time ago.

Best regards,

Well, powerrrplay, it's good

Well, powerrrplay, it's good to see you've at least given my point of view some consideration. I've found getting into debates about technology platforms to be mostly unproductive because folks whose life work is focused on these issues so often defend their positions with religious zeal.

Perhaps it is true that big VC investment is being directed at web based software companies. It is easy enough to see that they have been getting a lot press in the last 15 years. Then again, perhaps that time has already passed and the next investment hot spot is already upon us in mobile devices which, by the way, thus far seems to be mostly fueled by classic client/server applications like ours. As I'd hope you'd expect from us, we're not burying our head in the sand on these issues, but discuss them and their implications for our customers regularly.

However, we believe appealing to VC's and industry buzz is not our primary objective. Our main goal is solving immediate business problems for the SMB market space, and what most folks there tell us is they have no more interest in using a web based ERP client for their daily work than using a web based E-mail client. Also as stated in this blog most of our customers want to have their data on premise for the same reason they'd rather own than rent their home or business facility; but they don't have large IT staffs to manage that. We believe our solution is particularly well suited for these kinds of companies, which is not an insubstantial segment of the SMB market.

That said that doesn't mean we are stubbornly resisting all things web. Note the recent release of our customer facing web products (http://www.xtuple.org/blog/ned) and cloud service for the database (http://www.xtuple.org/node/2931) . We have also publicly stated that we have been moving in a development direction that would more easily facilitate an alternative web client in the future if/when that becomes a primary driver for our market (http://www.xtuple.org/WebClientPlans ). Finally note we have been and will continue to do work on model/view based architecture as well (http://www.xtuple.org/node/1963), particularly in the 4.0 development cycle currently under way. In fact, our POS module is already built entirely this way.

Overall I think the I.T. ecosystem is broad and sophisticated enough to support a range of technologies including on premise, client/server, SAAS, and n-tier architecture, and will be for the foreseeable future. We will continue to do our best staying focused on what our customers tell us they need, and using whatever technology appears to be most appropriate to fulfill those needs by our best judgment.

In any case, thanks for taking the time to read and respond to my blog, powerrrplay.

Regards,

John

powrrrplay: I respectfully

powrrrplay:

I respectfully disagree that there is no need to argue this point. The argument to run every application in a web browser was NOT won a long time ago as you say. Small and medium sized business owners are NOT sold on the idea of someone else controlling their data security and relying on a network out of their control for accessing it.

Below is an excerpt from a newsletter I subscribe to that illustrates my point.

I don't think xTuple is in any danger of being "left behind".

Follow-up: TechEd 2010 and the Cloud over New Orleans

Last week, I wrote about my week at TechEd in New Orleans and the focus on the cloud computing that permeating this year's conference. I was surprised when my joking reference to being a "booth babe" resulted in a number of reader requests for photos. As far as I know, nobody took any pictures of me in the booth. However, one reader did have a good idea: most columnists have a head shot accompanying their writing so readers can put a face with the name, and as you can see, we've decided to start doing that, beginning with this issue of the newsletter. Thanks for the suggestion!

It was interesting to read all the comments we got, in the forum and via email, about the cloud trend. Industry studies are saying that small business owners are eager to embrace the cloud (for cost reasons) but I got a lot of mail from people with small businesses who said they don't trust it, on either the reliability or the security front. Some of you are pretty cynical; In the forum, Hot Shot said : "the so-called 'Cloud' is really an excuse to eventually charge for applications as a service and for storage. I can only see the total cost of doing business going up and security and access to your data going down."

Dmccammishjr (how's that for a screen name?) also had a good point: "... the MIS guys see the cloud as a way to offload all the thankless tasks (uptime, security, etc.) and blame any failure on someone else. When you are squeezed until there is no room for creativity, you look forward to passing the baton."

And I liked lforbes' imagery: "I find it odd that companies talk of 'cloud computing' like there is some mysterious group of servers out there housed in the heavens that is going to magically provide everything needed at the touch of a button." Some of the points made by this reader, including the relatively slow performance of WAN (cloud) links in comparison to LAN networks and the resulting difficulty of handling large programs and big data files, are compelling obstacles to the success of the "all cloud, all the time" philosophy.

There are cloud supporters out there, but it seems that - at least in this group - sentiment is running about 10 to 1 against a move toward putting everything in the cloud. As always, I thank all those who participated in the discussion.

'Til next week,
Deb Shinder, Editor
feedback@win7news.net

Larry Cartee