Is LC a good choice to write a web based accounting package?

Want to move your code and projects to LiveCode but don't know where to start?

Moderators: FourthWorld, heatherlaine, Klaus, robinmiller

golive
Posts: 98
Joined: Wed Jul 01, 2015 5:16 am

Is LC a good choice to write a web based accounting package?

Post by golive » Wed Apr 27, 2016 1:07 am

I have an accounting package that I created in another language. It is based on dbase tables and runs on a Windows desktop.
I am looking to write a new similar application that runs over the internet. It will have several simultaneous users.

Is LC a good choice for the platform to develop this kind of application?
Also is the web capability of LC up to a task like this?

I would appreciate your opinions, for and against.

All suggestions welcome.

ghettocottage
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 366
Joined: Tue Apr 10, 2012 9:18 am

Re: Is LC a good choice to write a web based accounting pack

Post by ghettocottage » Wed Apr 27, 2016 2:45 am

Without more information, I vote yes! Livecode Server would be fine for writing a web-based accounting application. I have around 4 years experience with PHP, and just occasional random experience with Livecode Server, but I can write an application in either equally well (attesting to the simplicity of the Livecode language).

Others will probably chime in, but I have a feeling that the general consensus will be similar.

golive
Posts: 98
Joined: Wed Jul 01, 2015 5:16 am

Re: Is LC a good choice to write a web based accounting pack

Post by golive » Wed Apr 27, 2016 6:49 am

ghettocottage wrote: I have around 4 years experience with PHP, and just occasional random experience with Livecode Server, but I can write an application in either equally well.
Thanks for your feedback. That gives me more hope than I was expecting :D

I'd be interested to hear from you and other developers who have experience with running Livecode Server web apps:
  • How well does it work?
    Does it start quickly enough?
    Is it fast enough during operations?
    Does a grid work?
Note: I will be developing an accounting kind of application. So it is going to have customers, items to sell, invoicing and reporting.
It will need robust database interfacing. Easy lookup of customers and items, grids containing lists of information. Forms for data entry.


I kind of got the impression reading the forums that is is difficult to get started with Livecode Server. Valid impression?

BTW I have purchased the Indy licence.

I look forward to more feedback on whether I am wise to do this development using Livecode Server.

ghettocottage
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 366
Joined: Tue Apr 10, 2012 9:18 am

Re: Is LC a good choice to write a web based accounting pack

Post by ghettocottage » Wed Apr 27, 2016 3:40 pm

I have not written any large-scale applications, so others will have to chime in about speed and such. But for the smaller applications I have done, there has not been anything noticable as far as speed when displaying data. Things open up as fast as my internet connection lets it.

If you are writing a web-based application, you will not be using grids, but rather looping through data and displaying it in a table or list or some other html element.

I think, generally speaking, the people struggling with using Livecode Server are having issues with database concepts or getting their server set up, rather than with the actual code-writing.

Personally speaking, I was already familiar with the basic database concepts, and compared to php, Livecode is much more intuitive, so it was a breeze to pick up.

Here is an example of code for reading a line from a text-file:

PHP:

Code: Select all

		//read the file to see the last event
			 $myFile = "time";
			 $file = fopen($myFile, 'r');
			 $last_event = fread($file, 1); 
			 fclose($file);

Livecode:

Code: Select all

//read the file to see the last event
	put line 1 of  URL "file:time" into tLastEvent

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9801
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: Is LC a good choice to write a web based accounting pack

Post by FourthWorld » Wed Apr 27, 2016 4:30 pm

When you say "runs over the Internet", is the requirement specifically that it runs in a Web browser, or merely that it be multi-user?
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

dave.kilroy
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 858
Joined: Wed Jun 24, 2009 1:17 pm
Location: Plymouth, UK
Contact:

Re: Is LC a good choice to write a web based accounting pack

Post by dave.kilroy » Wed Apr 27, 2016 5:57 pm

LiveCode Server should be good for your project. Some years ago I used it together with revIgniter to make an estimating/quoting/contracting/invoicing package and it worked fine. revIgniter (http://www.revigniter.net) is great, but like any framework does involve a learning curve, however it was worth it for me as the project I was working on at the time was biggish - also at the time I had never used the Model/View/Controller paradigm...

If you already have an Indy package you already have an on-rev account so can use LC server there without setting anything up (however do beware that the on-rev service is not the most reliable in the world [understatement] - you could also check out hostm (http://www.hostm.com) which has LiveCode Server set up for you, is cheap and RELIABLE (I use it even though I have a lifetime membership of on-rev)

Dave
"...this is not the code you are looking for..."

golive
Posts: 98
Joined: Wed Jul 01, 2015 5:16 am

Re: Is LC a good choice to write a web based accounting pack

Post by golive » Wed Apr 27, 2016 11:51 pm

FourthWorld wrote:When you say "runs over the Internet", is the requirement specifically that it runs in a Web browser, or merely that it be multi-user?
It must run in a web browser.
Are there any reasons not to start this project in LC?

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9801
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: Is LC a good choice to write a web based accounting pack

Post by FourthWorld » Thu Apr 28, 2016 12:06 am

golive wrote:
FourthWorld wrote:When you say "runs over the Internet", is the requirement specifically that it runs in a Web browser, or merely that it be multi-user?
It must run in a web browser.
Are there any reasons not to start this project in LC?
For the part you'd use LiveCode for it should be fine. But with a Web app, the server is the smaller part. The client UI for an accounting app will be much harder, since that sort of repetitive data entry and flexible list requirements will need a good JS framework to pull off efficiently.

I asked whether it needs to be in a Web browser because if connectivity and collaboration are important but you have some flexibility on the client app, you can make some very nice solutions with LiveCode downloading not only the data from the server but even the UI and most of the code, keeping the app always up to date and having all the benefits of an app designed specifically for the task at hand.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

golive
Posts: 98
Joined: Wed Jul 01, 2015 5:16 am

Re: Is LC a good choice to write a web based accounting pack

Post by golive » Thu Apr 28, 2016 12:15 am

FourthWorld wrote: For the part you'd use LiveCode for it should be fine. But with a Web app, the server is the smaller part. The client UI for an accounting app will be much harder, since that sort of repetitive data entry and flexible list requirements will need a good JS framework to pull off efficiently.
The client UI (delivered via a web browser) is the part I am especially interested in.
I shouldn't do that in LC?

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9801
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: Is LC a good choice to write a web based accounting pack

Post by FourthWorld » Thu Apr 28, 2016 12:30 am

golive wrote:
FourthWorld wrote: For the part you'd use LiveCode for it should be fine. But with a Web app, the server is the smaller part. The client UI for an accounting app will be much harder, since that sort of repetitive data entry and flexible list requirements will need a good JS framework to pull off efficiently.
The client UI (delivered via a web browser) is the part I am especially interested in.
I shouldn't do that in LC?
Have you run any tests deploying with LC's current implementation of their HTML export? It may be helpful to take anything you've been working on and just run it through the exporter to get a feel for how that works.

I can see it being useful for certain types of apps down the road, but in my office I have a 5-second page load rule, sometimes up to 10 seconds for extremely long tasks. The current LC HTML export is very much in development and the load times are far from those guidelines, so I've not spent much time with it to date.

Another thing that will at least postpone your particular app is that the LC/JS engine doesn't yet have network connectivity. That's planned as development get further along, but in these early days it's a preview of the technology and will require more work before it's suitable for serious web app deployment.

It's too bad the requirements for this deployment are specific to browser apps. There's SOOOOOO much one can do to deliver truly great clients for web-connected apps in LiveCode. Most of my work these days is with LC on client and server, and with a tool like LC on the client you have total control over the UI, never needing to worry about all the options and features browsers have that can play havoc with an app that's important to a business. "What do we do if the user hits the Back button?" is a nightmare for many web devs, but it's never even a question when you craft your own UIs in an app dedicated to the task.
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

golive
Posts: 98
Joined: Wed Jul 01, 2015 5:16 am

Re: Is LC a good choice to write a web based accounting pack

Post by golive » Thu Apr 28, 2016 3:14 am

FourthWorld wrote: It's too bad the requirements for this deployment are specific to browser apps. There's SOOOOOO much one can do to deliver truly great clients for web-connected apps in LiveCode. Most of my work these days is with LC on client and server, and with a tool like LC on the client you have total control over the UI, never needing to worry about all the options and features browsers have that can play havoc with an app that's important to a business. "What do we do if the user hits the Back button?" is a nightmare for many web devs, but it's never even a question when you craft your own UIs in an app dedicated to the task.
Hi Richard

Thanks very much for your informative post. It is great to have your input.

In the model you are working with, I assume each client must install your application locally.

I really want to have a web browser - client goes to my website and the application starts immediately.

From what you say, it looks like LC is not yet the tool to use to do this.

Anyone have any suggestions for another tool? I want something that is easy to use!


Any

SparkOut
Posts: 2834
Joined: Sun Sep 23, 2007 4:58 pm

Re: Is LC a good choice to write a web based accounting pack

Post by SparkOut » Thu Apr 28, 2016 7:06 am

LiveCode certainly can be the tool for the job. However, you need to be aware that LiveCode Server is more analogous to php - it will do all the server side processing and deliver output to the browser which is then rendered client-side (ie HTML and JavaScript - it won't be possible to use LC GUI controls like a datagrid). So if you are familiar enough with the concept to look at php for the server side with the client having a browser based GUI to render the app screen and controls, then LiveCode Server can easily replace php.
If you want to make the user interface in LiveCode, the option to deploy via html5 may become a possibility in the future. Or as Richard mentioned, you can have a small launcher file on your website that users can start, which will then load a (non-browser based) application on the client to interact with the server.

dave.kilroy
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 858
Joined: Wed Jun 24, 2009 1:17 pm
Location: Plymouth, UK
Contact:

Re: Is LC a good choice to write a web based accounting pack

Post by dave.kilroy » Thu Apr 28, 2016 7:38 am

HI Any

Yes LC Server can work for you - depending on what exactly you want. Like SparkOut says LC Server is 'like' php so doesn't have a GUI. That means you would use it for the behind-the-scenes stuff and use HTML and CSS for presentation (along with JS, JQuery, BootStrap etc as well to give the UI polish and snap). You can also use a framework such as revIgniter to do a lot of the boilerplate stuff for you - you would have to learn how to use the framework but Ralf Bitter (the guy who wrote it) offers functionality to handle sessions, security, connecting to database etc etc.

I'm nowhere near as comfortable creating websites as I am making apps with the LiveCode IDE but LiveCode Server is a great tool

I think Richard is talking about a particular way in which you can use a blend of LiveCode Server and a downloaded client app (created in the LiveCode IDE) which would deliver great functionality for clients whilst allowing the developer to use the LiveCode IDE. But whilst this approach would use LC Server as a delivery method (in a lovely sophisticated model) it would mean your solution would not be running in a browser.

But you do not have to use this approach, you can use LC Server to create a 'straight' website. You can use it together with revIgniter to connect to a (for example) MySQL database and then hook in Bootstrap and templates to make it look/work like a modern solution (at least fairly modern, and to my eyes perfectly good but I'm not a web expert so maybe others here may critique it compared to tools/packages such as nodeJs)
"...this is not the code you are looking for..."

FourthWorld
VIP Livecode Opensource Backer
VIP Livecode Opensource Backer
Posts: 9801
Joined: Sat Apr 08, 2006 7:05 am
Location: Los Angeles
Contact:

Re: Is LC a good choice to write a web based accounting pack

Post by FourthWorld » Thu Apr 28, 2016 4:17 pm

There may be other ways of delivering this, but at the moment I see three:

1. Server: LiveCode Server + revIgniter, Client: Good JS Framework

Server: As the others here have noted, LiveCode Server is definitely up to the task of providing an API for your browser client to communicate with your data store. And in conjunction with revIgniter even complex modelling (such as would be needed for something as significant as accounting app) can be made with less effort.

Client: Accounting programs are among the more demanding user interfaces of productivity apps. Users are accustomed to smart auto-fill and other options to reduce the tedious and error-prone nature of data entry. Multiple views such as running totals need to be updated as entries are made. The UI must be efficiently responsive. I'm a big fan of rolling your own JavaScript for many things, but the UI requirements for something as ambitious as a web-based accounting app would seem to merit the time required to learn JQuery, Angular, or other great JavaScript framework.


2. Server: LiveCode Server + revIgniter, Client: LiveCode Standalone

Server: Same as for #1 above.

Client: The user downloads your base application only once. Each time they run it, the app downloads its code and user interface elements from the server at the beginning of the session, and works with the server throughout the session to exchange data. This does mean a one-time install requirement, but beyond that it offers all of the benefits of using a browser in terms of have all features and fixes instantly deployable to all users. A standalone also arguably provides a better user experience by virtue of having all UI elements directly related to the workflow your app supports, unlike a browser with many features that have no role in your app or may be impede productivity in it (e.g. Back button). Extra bonus points that it's also much easier to develop.


3. Extending existing accounting industry leader, like QuickBooks

This hasn't been discussed yet, but for something as unusually complex as double-entry bookkeeping may be worth considering: rather than build an entire accounting system from scratch, instead partner with an existing provider.

Whether the app is for your own business or anticipated to be a commercial product, as you know from your earlier version accounting apps are among the more complex systems people make since they touch most aspects of a business. From AR to AP to operations to payroll to taxes to inventory, accounting needs to feed and be fed by nearly every other aspect of a business. In addition to the pervasive reach of accounting, even just the internal operations of a good accounting package can be complex. These do not lend themselves well do schema-free data stores like document DBs, requring an RDBMS with thorough normalization across many dozens of tables, with facilities to keep them updated easily (tax rates, contacts, etc.).

Since you've done this before you may be quite comfortable with the scope, but even then the task of migrating it to the web is not a small one.

If you were to consider using an existing system like Quickbooks as a foundation for your service, you may find it not only presents a shorter path to more features, but also a much higher ROI.

The fees from their referral program and your integration services would likely be less than what might be anticipated with licensing your own product, but since your development costs drop dramatically your net may, depending on your model, be much higher.

Perhaps one opportunity may be to use the Quickbooks API to provide a service integrating front office operations with their back office accounting. The scope of potential service models is broad, depending on your goals and interests. But if you're considering this as a product, it turns what would have been a strongest-possible competitor into a strong partner.

Referral program:
http://quickbooks.intuit.com/commerce/c ... 0006348471

Quickbooks API:
https://developer.intuit.com/docs/0050_quickbooks_api
Richard Gaskin
LiveCode development, training, and consulting services: Fourth World Systems
LiveCode Group on Facebook
LiveCode Group on LinkedIn

ghettocottage
Livecode Opensource Backer
Livecode Opensource Backer
Posts: 366
Joined: Tue Apr 10, 2012 9:18 am

Re: Is LC a good choice to write a web based accounting pack

Post by ghettocottage » Thu Apr 28, 2016 8:53 pm

2. Server: LiveCode Server + revIgniter, Client: LiveCode Standalone

Server: Same as for #1 above.

Client: The user downloads your base application only once. Each time they run it, the app downloads its code and user interface elements from the server at the beginning of the session, and works with the server throughout the session to exchange data.
Richard,
This is very intriguing. Would you just open the stack on the server as a library, or are you using the desktop application as a launcher for the remote stack?

Post Reply

Return to “Converting to LiveCode”