Web Applications have been a hot topic since 2005 (more than 10 years ago…), when
AJAX was first coined in the post by Jesse James Garrett
“Ajax: A New Approach to Web Applications”.
After many articles were written, posts blogged, questions discussed on StackOverflow, and many new tools and frameworks were launched with buzz, we haven’t seen that many Web Applications around, at least in the Business Application arena where VFP-based developers and companies have reigned for over 30 years.
What’s the reason for that? Are Web Applications less efficient than Desktop Applications? Less demanded? Do they cost so much that no one has seriously invested to get a result similar to what Desktop Applications deliver?
This post will discuss the pros and cons, and the future for both Desktop and Web Applications.
Pros For a Web App
Install once for any number of users
We put this first as it’s what companies running a Web App love best: no more installation hassle; yes installing and maintaining on a Web Server is a little more complex that a user desktop, but it’s far more simple than installing and maintaining 200 desktops!
No more virus issue, no more disk crash; if you use FoxPro tables 1, no more index or memo file crash because a power outage.
No more “it works on my colleague’s computer but not on mine”.
A new user comes in? Just create her/his account in the database, send her/him the URL and you’re done! A user leaves the company? Just close her/his account in the database and you’re done.
Reach Users outside the Company
It’s great to have suppliers and customers be able to log into your system and provide informations, download documents, pay invoices and so on. That’s a real productivity booster for your client company to get this kind of close interaction.
Of course this interaction can be with human or machines: you can expose either or both an API (for machine-to-machine collaboration), or business forms eg. for customers to approve and/or pay invoices.
Serve Mobile Users
Workers dealing with customers are often mobile: salesmen, inventory keepers, delivery personnel, doctors, teachers, and many other working categories need information on the field, away from their office. Because AJAX bandwidth requirements are low, a Web App can deliver the information they need anywhere using a 3G/4G connection.
Get into Younger People’s habits
Younger generations are used to do almost everything using their smartphone, from monitoring their bank account to dating… 6% of new such users enter the workforce every year, and they soon will be in a position to decide the kind of information technology they want to use.
Tightly control Users and Licenses
Many software companies struggle with protecting their source code and application from piracy using dongles, encryption, and many other methods against privacy.
It’s obviously easier to protect a server than 2,000 copies of a software spread around.
Easily debug your application
Remember the headache remoting into a user’s machine, trying to understand why your application worked everywhere except on this very workstation, dumping memories, creating ad-hoc logs?
Do you remember the time it took to get the boss’ application work fine and get paid?
With a Web Application you have full control: you can have any kind of log, anywhere, at any time, and update the application within minutes to add such additional precious debugging information… day and night, regardless whether users are connected or not.
Join prospective Customers anywhere
How do you reach the prospective customers for your application? And when you’ve reached one, how can he test your application? Do you have a demo version that can be downloaded? Are you sure this demo app will install correctly? Or do you visit him to make the demo and explain the benefits of your program? What if the prospective customer is 5,000 miles away?
What if the customer uses another platform, or has put ‘mobile’ on his selection check list?
A Web App jumps over all these fences.
One day you decide you’ll start developing a Web Application: you send your top devs to a conference, select a dev. environment, some frameworks, send your team to a training, build a mock-up as proof-of-concept, and start estimating the cost for the whole system.
Then come the trade-offs: you realize that some functionalities will either not be useful, or will cost too much to develop for the Web.
When you decide to kick off, 2 years after the initial research, you read an article or a post somewhere saying that the framework X that you’d chosen initially is no longer hype: everyone now rushes on framework Y that is developed and supported by a larger company and a larger user community… back to square 1…
Web Applications require a request going through the wire, somehow restore the user’s context, execute the user request, deliver a response that goes back to the user through the wire.
Even if a server is generally faster than an average user workstation, the overhead for request and response transport and for user state maintenance makes response time obviously slower than on the desktop.
How FoxInCloud can Help
Value your experience
FoxInCloud adapts your desktop application to the Web: you can deploy the same – adapted – code either as a ‘classic’ Desktop Application or a Web Application:
- FoxInCloud supports 99% of the features you have in your Desktop Application
- You don’t need to ‘rethink’ your application to suit the Web and/or limit your functional scope to keep your budget under control
- Your same development team can maintain both the Desktop App. and the Web App.
- FoxInCloud sorts out the technologies for you, and supports the cost for keeping pace with the perpetual changes
- You can sell the Web App. as a natural extension to the existing Desktop App, a much easier sell than a brand new app.
- No one can tell what technology runs on the server: whether it’s
VFP, the user experience will not change at all
- You end up developing Web features without the hassle of going through the whole Web Tech stack.
You adapt less than 2% of your source code to make your application Web-aware; and these adaptations are not rewrite, just moving code, adding parameters, and/or calling different methods.
You can adapt your application progressively, by functional block, rather than everything at once.
Control response time
As we’ve developed on VFP for 30 years, just like you, we are able to monitor anything that can possibly be monitored in your application (settings, data sessions, aliases, and much more), and in FoxInCloud itself; you have a complete view on the response time and which actions you can take to provide a smoother experience to your users
Take full advantage of Web Technologies
FoxInCloud builds full breed, not second range Web Applications: your VFP Web App. with FoxInCloud fully compares to, and often beat the best Web App around: functional coverage, response time, number of objects and events.
You can even improve the HTML that FoxInCloud generates for you to please your users even more.
Control license and application usage
FoxInCloud provides a Dashboard (sample here) where you can see how many and which users your Application has had, for any period of time; you can be notified if the users count exceeds the number licensed, and take appropriate commercial action in a smooth manner with your clients.
a perfect fit for FoxInCloud by the way ↩
Watch FoxInCloud Marketing Videos :: Watch FoxInCloud Technical Videos :: Stay tuned on FoxInCloud Roadmap :: Learn how to use FoxInCloud :: Download FoxInCloud Adaptation Assistant for free :: Download FoxInCloud Web Application Studio for free