From Alpha Software to Instant Developer
Let me put my cards on the table - I am a long term Alpha Software user and have fully paid up versions from the old DOS days to version 11 - all Desk Top (DT) development. More recently I needed an RAD Webapp construction tool with the speed and flexibility of the Alpha DT environment, so Alpha Anywhere (AA) was my first port of call. As Alpha users will know, from V9 it was shipped with a local Web Application Server (WAS) to enable users to practise using Alpha as a Webapp development tool. It was OK and worked up to the point that you needed to do something which was not included in the box you kept your DT ideas in, and that meant learning a whole new way of using Alpha. Simple stuff is easy using the DBF file structure so for trial purposes it works and is pretty slick on your personal PC.
I would have stuck with Alpha for Webapps but for four things;
- WAS - this is needed to run Alpha apps on the web and is an additional licensing cost I was unhappy with. There are "bundles" now which offer Alpha Anywhere with various WAS add ons - at a price.
- PRICING MODEL - It went through the roof and became uncompetitive for small - but not necessarily hobby - developers creating speculative applications. There seemed to be umpteen restrictions on licensing which was yet another thing I didn't want to have to worry about. Each time an app - old or new- is deployed on a new server they have to pay a monthly fee for the WAS, which was inacceptable.
- BUGS. Alpha toolkits have always had a few bugs, that is to be expected in such a complex piece of software. The final release of the V11 Patch did not recommend using it in a production environment, and as far as I am aware, still doesn't. I don't have any objections to bug hunting, but a paid for product should be tested fully and I shouldn't have to do it.
- MARKETING. Not sure what was going on, but a number of AA users received email telling them that if their license was to be terminated unless they renewed their subscription. If AA was supplied on a SaaS basis, I could understand, but it isn't. It was all too messy and although the CEO resolved the issues - and I have a lot of time for him - the rest of the team let Alpha down in my book.
So, what sort of development tool did I need? Having used Alpha DT for many years, that was the yardstick I set in terms of productivity. It needed to be "code minimal", forms easily constructed, a decent reporting suite and with sufficient pre-built functions so I didn't have to reinvent the wheel. Good user training material was also important together with "faith" in the product evidenced by working examples and documentation. I sought a one time purchase - not a subscription based purchase - and free training.
Ease of deployment with no additional costs to clients (or me), ease of maintenance and with a Mobile as well as Web option if I wanted to go that way in the future.
What tools did I look at? I looked at lots, but I was let down many times over pricing, product development roadmap, complexity and functionality. The closest I got to something I was after is Joomla; it's free and I can build applications on my Synology NAS Server before deployment! If you want greater options than the standard Joomla, there are many, many free and paid for add-ons.
What did I spend my money on in the end? I went for Instant Developer, almost by accident. There are a number of developers from around the world who discuss RAD tools on a Skype Chat Group. We have known each other for quite a while, and group membership is by invitation only. One of the members arranged a discount deal if we purchased 10 licenses, and another most kindly funded training for 10 people over about 6 weeks. I was sold.
Having tried InDe using the free option, I was impressed with the functionality for DT, Web and Mobile, and the price was acceptable for a perpetual license. The icing on the cake however was the interactive training sessions. In all we must have had over 30 hours of interactive sessions, all of which could be downloaded for a re-run on you local machine. It was a lot to take in. Finally, on the basis of price, power, features and stability, InDe won out.
What evaluation did you do? Others using InDe are more professional in their evaluation and compared applications previously built in Alpha or other products and replicated these in InDe.
I just liked what I saw and knew that I just had to bite the bullet. Alpha was an impulse buy many years ago and once I had paid for it, it prompted me to learn how to use it. Same with InDe, and I'm still learning.
Where is Alpha better than InDe?. Essentially the main differences are that Alpha has easily created forms with great options for self expression together with a robust Message Board for help and advice, good short clip video tutorials. It is probably easier to learn, but then if you view the Message Board maybe not, and I have forgotten the learning curve I went through with Alpha. Alpha's support via the Message Board is more available.
Where is InDe better than Alpha? Quite a few places actually. This list is from one of the more professional evaluators;
- You can deploy your App in C#/ASP.net or Java (Linux). Mine is in ASP.net (you don't need to known ASP.net)
- It hooks directly to IIS (so no WAS to mess with)
- You can deploy the same or different Apps on 100 servers without costing a $ more (no WAS to buy).
- You no longer need to pay for expensive VPS like Zebrahost. It costs me £60 per year for unlimited hosting for apps and databases. Alpha Apps typically cost £70/mth VPS.
- Alpha Apps used to freeze frequently due to memory built up on the server; their solution was to use AlwaysUp. This never happens with Inde, no memory built up whatsoever.
- There are features and abilities in Inde that simply do not exist in Alpha. Just a few examples: InDe's report engine leaves Alpha way behind (no exaggeration), IMDB table, Document Orientation, ability to reuse the same Form multiple times, and many other little concepts and nice features that Alpha does not have.
- The speed is incomparable.
- In InDe there is no non-sense such as session folder, server side/client side variables, session variables, page variables, server side/client side events, to mess with. In InDe, 2 types of variables: global, local; one type of event (can also be made global if you want)
- No Ajax callback, no open connection/close connection or similar nonsense when you write a procedure
- No Xbasic to mess with; InDe uses SQL like syntax
- No "argument here", "argument there" to mess with. Referring to a variable or value from another form is just a matter of drag&drop.
- InDe has flexibility in scripts, layout design, etc... that Alpha does not have
- No bugs in InDe new releases (if there are any, it's really a very minor bug).
- Updates are done automatically behind the scenes without needing to download anything.
- InDe has 2 interchangeable ways to develop Apps: the usual/standard way (Grids based on tables), the DO (Document Orientation) way, where grids are based on Classes, this leaves Alpha way behind the curve
- Alpha is unstable with random hiccups, Inde is stable
- Much more
As you use InDe you'll realise that it is a mature, well thought out tool. An expl out of many: When Alpha released V11 with its Dialog component, I thought it was the invention of the century. Inde has had same concept and more sophisticated, years before. Another expl is Alpha's UX component & List control that were added in V12. These are primitive versions of Inde's Panel and IMDB table.
How am I finding the learning curve? One of the problems of taking on a new and radically different development tool is the baggage you bring with you from the previous toolkit. I found that I had to "unlearn" a lot of Alpha stuff. Learning InDe is steeper, not because InDe is harder to learn but because InDe's approach and concepts are very different, but you learn it once. The tricky part is to understand and get used to their visual code editor; once you do (it does not take long) it becomes routine. Simple apps can be built and tested very quickly using the video walk through which ships with InDe. Each walk through is easy to follow, and if you get lost, the presenter will get you back on track. Sessions are between 10 minutes and 4 hours so you pick what you want to learn about. Interactive Help when developing is also very useful as it shows a lot of the options available to you when you select an item to work with.
Is InDe any good for DT development? There is a way of building WebTop apps for DT and it is good and can be viewed in the training documentation, but in my opinion, nothing beats Alpha for DT development in terms of speed and functionality, however it is an Xbasic and DBF tool out of the box. Deployment is possible locally using InDe and their built in server which is used for testing and I have done this, but it's not as easy as an Alpha RT build and deploy to a LAN or individual PC.
How do Alpha and InDe compare for Web development? Once you learn the basics and understand the logic, developing with InDe is easier - mostly done via Drag&Drop and selecting from dropdowns, so it can be a point and shoot type development tool and will get apps up and running quickly.
There is no Xbasic to mess with, no time wasted trying to figure out if one should use session variable or state variable, client side or server side.
Deploying an IndD app is straightforward; it hooks directly to IIS like any simple website. In a nutshell - it's easier.
Perceived advantages/disadvantages for Alpha and InDe
-Alpha has many tutorial videos, the same style of which InDe lacks- Alpha DT is probably one of the best toolkits in existence
-InDe has a good complete User's manual and up-to-date online context sensitive Help documentation; Alpha documentation is often lacking and is sometimes out of date
-InDe's updates are done behind the scenes. With Alpha, one has to download and install patches and updates. Sometimes when Alpha releases a new version, some features get broken, forcing the user to revert back to a previous version. I have never experienced this with InDe.
- With InDe you can install your developer version on multiple machines (Home machine, Office machine, Laptop, 2nd office machine, etc...), this is not feasible with Alpha. The license can be managed so that you can use InDe on any machine you have downloaded the developer version to.
- Negotiation with prospective clients is easier because C#/ASP.net is industry standard. Alpha is proprietary.
So there you have it - a consensus to be challenged if you wish.
IMHO, InDe is a lot more "modern" than Alpha for web and mobile development, uses C#/ASP, SQL etc, optional application types and compatibility. Easy to deploy, it tends to work first time.