Has anyone ever stumbled upon a documented procedure that seems like it should have been simpler than the documentation suggests by its content? One that appears to have been written to purposely over-complicate the simplest issue, and seems to be designed to sap your confidence my making you feel incompetent in understanding these simple concepts? How about an entire system of "help", requiring endless, round-robin trips to nail down an answer, and after turning back from many dead-ends, taking several hours to answer a 10 second question? And how did you feel when you finally discovered that it wasn't your fault, but was caused by vague, poorly written, or generally incomplete instructions presented by an otherwise flawless software package?
Welcome to the Alpha Anywhere help documentation and tutorials!
Alpha Anywhere is absolutely BEST development software EVER created, but has a few serious flaws related to the initial presentation of the software on the Alpha Software website, its documentation, and its learning path.
The situation that triggered this post and subsequent rant was when I was browsing Alpha's YouTube videos, and I came across an exceptionally valuable video tutorial describing the use of Web Sockets. I was very excited about this, watched the video twice, and then ran off to the boss to present the great news.
But when I fired up the development environment, the settings on the properties screen which enable the use of web sockets were nowhere to be found. Despite the embarrassment of looking like an idiot who failed to do his homework, I spent more time than I should have had to finding out why this feature was not in my package. Being new to the software, I attributed my difficulties to my unfamiliarity with it, but as time went on, I kept running into obstacles that should not exist in an otherwise perfect product. Now I want to find out why I keep running across features that aren't relevant to the build of Alpha that we purchased, tutorials that won't work due to the same reasons, and why the help system is so incomplete and incomprehensibly "organized".
<rant>
My first foray into Alpha Software's poor communications in general began when I was evaluating the Alpha Anywhere software for purchase.
Forgetting for just a minute about the imperfect presentation on Alpha Software's home page about what Alpha Anywhere is and what it does, a great example of potentially sales-damaging ambiguity can still be found on the 'pricing" page, which remains ambiguous as it fails to convey whether or not the software becomes unusable after a "license term" expires. Sure, most of the information is present on the page, but at face value, it appears to me that a $1,499.00 subscription fee must be paid yearly to use the software.
At the time I was evaluating development software of this type, companies like IronSpeed were hammering on me daily, and if I had assumed that Alpha actually required the yearly fee, I likely would have selected another platform. The only reason I took the time to contact Alpha to clear up the confusion (and I HAD to contact them via voice, since I had no clear Idea what was being offered from the website) was the fact that Alpha is the only package that provides robust "off-line" features.
If not for these features, I would have passed-up Alpha and would certainly be developing on a different platform, never knowing what I missed, because I made a bad assumption due to poorly-presented information. I am convinced that Alpha has lost sales due to this very fact.
In my opinion, Alpha Anywhere is without a doubt the best around for creating and managing the applications for which it was designed, and there is an enormous volume of help and tutorial information regarding its features, controls, and their use. Unfortunately, this large volume of information is useless when it is wrong, irrelevant, outdated, unsearchable, poorly presented, or ambiguously worded.
The introduction of the Alpha Anywhere package on the Alpha Software website is not the only culprit in its lineup of ambiguous or incomplete information. Whoever is in charge of compiling this information really should take a more objective look at exactly what is being presented, how it is worded, and how complete the information is, and must cease assuming that the reader has knowledge that he or she may not actually posses.
I say this because Alpha Anywhere's help and reference information is among the worst ever in terms of its organization, not to mention the ambiguous information that I had to filter through on the Alpha Software website when I was evaluating Alpha Anywhere in the first place..
Citing some of the top examples of unexpectedly bad help documentation, let's take a look at the top of the list in the help system Table of Contents:
My very first experience was naturally in the "Read me first" section, where I was met with its huge, bold heading that states "Welcome to Alpha Five!"
Alpha Five? What the hell is "Alpha Five?" I thought I had bought "Alpha Anywhere?" I was fairly certain, although less, now, that I had bought "version 12"? This was a huge put-off, right out of the box, which had me wondering if I had installed the package incorrectly.
I wondered this because even the installation was complicated by lack of OBVIOUS information concerning which of the installer files vs. the accompanying "patches" should be installed, and where to install them. Once again, all of the information necessary to complete the installation WAS available on the website, but finding out exactly which file did what was not as simple as glancing at some installation instructions laid-out in an intuitive manner. Of the thousands of packages I have installed in my career, this one was one of the most halting because I refuse to install software purely based on my "assumption" of where to install it, and how to set it up. In hindsight, the product was as easy to install as any of the best, so why did I have to go to the trouble of contacting Alpha to get a clear picture about what to do?
Other entries under the "Read me first" section quickly began to erode my confidence, because here began the journey to discover the actual difference between a "desktop" application vs a "web" application; but I guess any idiot should know that.
Well, I didn't, and I'm still not entirely sure, at least from the context of the Alpha development environment..
But the sections I was reading started to create many more questions than they answered...
- Why is the first entry under "What's New" an entry titled, "What's New in Version 11?" I was under the assumption that I bought version 12...
- Why can't I find information about "Alpha Anywhere, V11"; it should be there if the help section has an entry about "What's new in Version 11"...
- Is version 12 too new to have relevant entries describing what's new in the new version? I didn't recall purchasing a "beta" version after all...
- And if I am running version 12, why are there no entries in the built-in documentation for this version?
- Why is the top entry under "References" labeled for A5? I didn't know I was developing in Alpha 5; Isn't this package called Alpha Anywhere?
- Oh I get it now; "Alpha Anywhere" is a derivative product "powered by" Alpha 5, which, I guess, is not a version, but a product name, because there was no "Alpha 4"?
- Why is there an entry for "Action Scripting Reference (Desktop)", and none for "Action Scripting Reference (Web Applications)?"
...And my list of questions concerning "why, where, how, what version, what's actually compatible, etc, goes on, and on, and on....
I had to learn about the naming and versioning of Alpha 5 and its various incarnations mainly by osmosis and extrapolation, because unless I wanted to study the revision history of Alpha products through the years, there was no OBVIOUS place to find any verbiage stating simply:
"Alpha Anywhere is the new name for the Alpha 5 application development package, evolving through its various versions through the years until Alpha 5, V11. When version 12 was conceived, Alpha Software created its new title: "Alpha Anywhere," a derivative product "powered" by "Alpha 5 Version 12. Throughout the documentation, be aware that an extensive number of entries will be found titled for older versions, but due to Alpha's unprecedented maintenance of backward-compatibility throughout its history, all documentation and examples will function in the latest versions, without modification, unless otherwise noted."
...Or something to that effect, but with greater accuracy.
How hard would that have been to include at the top of the "Read me first" section?
Now, inside the package itself, among the other minor annoyances, there is a commonly repeating situation where I require help on a feature, function, or control, and a dialog box related to the control may have a "help" button.
But when clicked, Alpha un-helpfully informs me that "There is no help information related to this topic." Really, Alpha? Some of these "missing topics" concern some fairly critical information...
I absolutely abhor help systems which are loaded with all kinds of verbiage touting what a "feature" can do, but contain no syntactical examples which leaves me no option but to search forums or browse loosely-organized help files for more information, and then, upon finding it, having to struggle through experimentation because the help section is too terse or too ambiguously worded to provide direct, comprehensive help. Yes, the "references" sections in Alpha Anywhere are very extensive. And also practically useless, most of the time, presenting few useful syntactical examples, or links to the same.
It is becoming exceptionally tiresome gleaning information relevant to my build out of Alpha's poorly-organized help and tutorial system. On too many occasions I have wasted significant amounts of time studying and then trying to apply lessons which turn out to be irrelevant to my particular version because they were created for earlier versions, or some that apply only to pre-release versions having features that I cannot employ, and I don't feel it should be necessary exerting the kind of time and energy required to research whether a given control, feature, or function will actually work with my project, even though I find that better than 90% do work as expected. It's that other 10% that give me headaches.
There is also no obvious guide illuminating features that do or do not work with my version, and the conceptual presentations on many specific major feature differences are so poor that they fail to provide answers to very basic, yet critical questions, like, "what, exactly, is the difference between a "desktop" vs a "web" application in the context of the Alpha RAD environment?" It has taken me SIX months to get this worked out, and I am still running across surprises, like the necessity for a license to run the "Alpha Desktop Run-time," or why the run-time was necessary, or that it even existed in the first place. Why didn't I know about these requirements when I purchased the package? I would have paid for the additional license, no problem, but I wonder how I missed it?
I realize that many of the textual examples present in the help documentation have lines that specify whether a particular control can be used within desktop or web applications, and occasionally which builds can be expected to contain controls and features, but this information is not clearly provided when browsing tutorial videos piecemeal.
For example, somehow, from the help documentation within the development environment, I ended up on the AlphaPedia documentation site, and then on to YouTube, and found myself studying the 'websockets" tutorial series. Never once did the presenter mention that the feature was only available in pre-release versions, so I deemed the feature to be useful for my project, then went about studying the tutorial, downloading the component, and preparing a test project only to find that the properties were missing, but only after I blabbered to the boss that "The Alpha package can also do messaging via web sockets!
It took an additional hour to find out exactly why this feature wasn't present in my package.
You know, a lot of this stuff is conceptually simple, and easy enough to get a handle on once a user becomes comfortable with the package. But I find myself in a bad place when intuition fails to provide a solution to a problem which, in the end, turns out to be very easy to solve. But it is easy to obfuscate even the simplest instruction when it is poorly presented and demonstrated.
My suggestion is this:
Have the members of the Alpha staff who are responsible for presenting information to other human beings become intimately familiar with the concept of "intuitive information presentation," and then have them review the Alpha website, and the product help documentation, to discover why they are exactly the opposite.
After that, have them observe a disinterested, inexperienced, third-party as he or she attempts to discover what exactly is being sold on the Alpha website, what is required to set up a system, what is included with a purchase, and how much it costs.
If such a person can figure out the most basic of any one of these with any certainty, within two hours without help, I swear I'll eat my hat.
Then, provide them with the same files that were provided to me, and see if they can figure out how to install the package without researching the subject, or asking for help.
And finally, after they discover how easy it all actually was, and would have been had the information been more intuitive, have them look at the help system and see if it makes the slightest sense.
If it does, I'll be checking in for cognitive therapy immediately.
</rant>
SUMMARY:
For its website, Alpha needs to create comprehensible summary pages, accessible from a SINGLE location, illustrating foundational concepts without assuming that the reader understands Alpha's paradigm, how Alpha is similar to, or different from other kinds of development software, what support software may be required (like the desktop application run time environment), and exactly what features to expect. It's not that hard.
The following is an example of the kind of verbiage that would have made it easy (for me, anyway) to ascertain exactly what Alpha is, and is not, along with a shallow overview of how it functions. If any of it is incorrect, it's because Alpha failed to communicate these properties in a comprehensible way:
Alpha Anywhere is a one-of-a-kind development environment enabling development of complex, data-driven applications that will run on almost any operating system, for mobile and workstation platforms.
Alpha Anywhere requires very little programming skill to create applications because it generates all the code necessary to bridge the many languages required to run applications on these diverse platforms.
More advanced programmers can "burrow" into the functions created by Alpha for customization, or create entirely new custom controls, functions, and features. Advanced programmers will also find it easy to employ custom extensions created in other software, such as interfaces using externally developed COM or ActiveX objects.
Alpha Anywhere is designed to create applications for two distinct environments: Web Server applications for both mobile and desktop on any operating system, and Windows Desktop-specific applications.
Alpha Anywhere is not a typical RAD environment that compiles low-level code into executable packages; it is more like having an entire staff of the world's best programmers at your fingertips:
* It does not create compiled executables as a finished project; Alpha Anywhere simultaneously creates server and client-side scripts in multiple languages, leveraging JavaScript, HTML5, CSS, and Ajax, and the finished project runs on a web server, deploying web applications pages to browsers on desktop and mobile devices. The Windows Desktop Runtime Environment is required to deploy Windows Desktop-specific applications to Windows workstations.
* The major portion of the finished project runs on a server, while the client applications are exhaustively configurable to be run from mobile devices and workstations in a vast variety of modes, from simple access via a common browser, to leveraging deep, device-specific functions on mobile platforms using PhoneGap, integrated phenomenally well into Alpha's Development Environment.
*Given that the deployment of Alpha Anywhere applications is provided from a central server, only a single instance of an application need be created and maintained; once a finished or updated application is published to the Alpha Application server, it will be updated on all devices as soon as their browser's are refreshed. Applications projects leveraging PhoneGap will create and manage Alpha's server-side code as usual, but the client-side applications must be deployed from a different source.
*Alpha applications are primarily data-driven, and Alpha Anywhere makes it trivial to connect to almost any database engine in existence. Alpha can work with connected database objects in several modes, and does not present limitations in the way it manipulates database objects; if a user requires access to special functions present within a given database engine which is not available using Alpha's "portable SQL", Alpha easily accommodates the use of the database engines "Native Syntax," erasing any potential limitations.
*Alpha applications leverage the use of advanced CSS to control the layout, format, and theme of an application without requiring any knowledge of CSS scripting. As with all of its other features, advanced programmers have absolute control over CSS.
*Alpha Anywhere offers exceptionally deep documentation and tutorial information. Working through Alpha's extensive library of video and textual tutorials, users who have never programmed before can create useful applications within minutes. (Which will become exceptionally more useful if it ever gets organized)
*A fully-rounded Alpha Anywhere development package contains three parts; The Alpha Anywhere development environment, the Alpha Application Server, and the Windows Desktop Runtime Environment. Each of these packages are sold and licensed separately, unless Alpha Software makes packages available that include two or more products.
*The "Windows Desktop-specific" paradigm is fading away as it becomes less relevant due to the powerful features available within web-applications. Alpha Software still makes the desktop runtime environment available for deploying Windows Desktop-specific applications, but its benefits are slowly eroding away as its feature set becomes supplanted by more capable web-server applications. (I believe the availability of the runtime environment has been de-emphasized by Alpha because it has become redundant due to the increasing capability of web-applications)
*Alpha Anywhere is extendable with "feature Packs" that may be offered by Alpha Software for inclusion in the development environment. Feature packs may be made available as paid or free add-ons at Alpha's discretion.
*The Alpha Anywhere Developer Edition is available for purchase at $1499.00, which includes one full license for the developer environment, one full license for the application server, and all of the benefits of a one-year subscription. Extended subscriptions at $1,499.00 per year provide continued access to updates and upgrades as they become available. A license for the desktop runtime environment is available at an additional fee. Licenses for feature packs may become available for additional cost as well.
Does the above seem to be blindingly obvious? Perhaps it is to users who are familiar with Alpha Software products, and Alpha's staff, but I defy anyone who is unfamiliar with the product to collect all of the above information exclusively by perusing the website, as doing so requires an uncomfortable amount of assumption.
Regardless, the text above is a pale representation, glossing over the fantastic capabilities of the Alpha Anywhere package, but it would have provided exactly what I would have needed to know in order to quickly qualify the Alpha Anywhere package as a candidate for our projects, leaving no room for doubt about what it is in general, how much it costs, and what is delivered for the price. Lacking this summary easily added a week to my decision to purchase.
The forums have been exceptionally useful in sorting out much confusion, but a lot of this could be avoided by executing a thorough examination of the help contents and its organization. There are thousands of perfect entries in the help system that leave no doubt about how to use their described feature, but there are hundreds upon hundreds of others that appear to have been created as place holders containing minimal relevant information, perhaps the intent being to flesh them out later, which appears to have never happened.
I honestly hope the help system gets revised, and becomes better organized, because much of the time I might have saved using Alpha's Hyper-RAD environment has been absorbed by research into irrelevant or poorly-documented features, and much time asking questions on the forums concerning fundamental issues would be saved by better documentation.
And I can't help but feel like Alpha Software could improve its bottom line a bit if it would take a good, hard look about how the product is being presented on its website, and revise it for a bit more clarity about what it is, how it is used, and how much it costs.
I think everything about the Alpha Package itself and the way it is organized and operates is pretty close to perfect, but the learning path has been far steeper than necessary given Alpha's awesome capabilities. I assumed, wrongly it seems, that a package as well engineered and organized as Alpha Anywhere would have had a world-class help system to match.
Welcome to the Alpha Anywhere help documentation and tutorials!
Alpha Anywhere is absolutely BEST development software EVER created, but has a few serious flaws related to the initial presentation of the software on the Alpha Software website, its documentation, and its learning path.
The situation that triggered this post and subsequent rant was when I was browsing Alpha's YouTube videos, and I came across an exceptionally valuable video tutorial describing the use of Web Sockets. I was very excited about this, watched the video twice, and then ran off to the boss to present the great news.
But when I fired up the development environment, the settings on the properties screen which enable the use of web sockets were nowhere to be found. Despite the embarrassment of looking like an idiot who failed to do his homework, I spent more time than I should have had to finding out why this feature was not in my package. Being new to the software, I attributed my difficulties to my unfamiliarity with it, but as time went on, I kept running into obstacles that should not exist in an otherwise perfect product. Now I want to find out why I keep running across features that aren't relevant to the build of Alpha that we purchased, tutorials that won't work due to the same reasons, and why the help system is so incomplete and incomprehensibly "organized".
<rant>
My first foray into Alpha Software's poor communications in general began when I was evaluating the Alpha Anywhere software for purchase.
Forgetting for just a minute about the imperfect presentation on Alpha Software's home page about what Alpha Anywhere is and what it does, a great example of potentially sales-damaging ambiguity can still be found on the 'pricing" page, which remains ambiguous as it fails to convey whether or not the software becomes unusable after a "license term" expires. Sure, most of the information is present on the page, but at face value, it appears to me that a $1,499.00 subscription fee must be paid yearly to use the software.
At the time I was evaluating development software of this type, companies like IronSpeed were hammering on me daily, and if I had assumed that Alpha actually required the yearly fee, I likely would have selected another platform. The only reason I took the time to contact Alpha to clear up the confusion (and I HAD to contact them via voice, since I had no clear Idea what was being offered from the website) was the fact that Alpha is the only package that provides robust "off-line" features.
If not for these features, I would have passed-up Alpha and would certainly be developing on a different platform, never knowing what I missed, because I made a bad assumption due to poorly-presented information. I am convinced that Alpha has lost sales due to this very fact.
In my opinion, Alpha Anywhere is without a doubt the best around for creating and managing the applications for which it was designed, and there is an enormous volume of help and tutorial information regarding its features, controls, and their use. Unfortunately, this large volume of information is useless when it is wrong, irrelevant, outdated, unsearchable, poorly presented, or ambiguously worded.
The introduction of the Alpha Anywhere package on the Alpha Software website is not the only culprit in its lineup of ambiguous or incomplete information. Whoever is in charge of compiling this information really should take a more objective look at exactly what is being presented, how it is worded, and how complete the information is, and must cease assuming that the reader has knowledge that he or she may not actually posses.
I say this because Alpha Anywhere's help and reference information is among the worst ever in terms of its organization, not to mention the ambiguous information that I had to filter through on the Alpha Software website when I was evaluating Alpha Anywhere in the first place..
Citing some of the top examples of unexpectedly bad help documentation, let's take a look at the top of the list in the help system Table of Contents:
My very first experience was naturally in the "Read me first" section, where I was met with its huge, bold heading that states "Welcome to Alpha Five!"
Alpha Five? What the hell is "Alpha Five?" I thought I had bought "Alpha Anywhere?" I was fairly certain, although less, now, that I had bought "version 12"? This was a huge put-off, right out of the box, which had me wondering if I had installed the package incorrectly.
I wondered this because even the installation was complicated by lack of OBVIOUS information concerning which of the installer files vs. the accompanying "patches" should be installed, and where to install them. Once again, all of the information necessary to complete the installation WAS available on the website, but finding out exactly which file did what was not as simple as glancing at some installation instructions laid-out in an intuitive manner. Of the thousands of packages I have installed in my career, this one was one of the most halting because I refuse to install software purely based on my "assumption" of where to install it, and how to set it up. In hindsight, the product was as easy to install as any of the best, so why did I have to go to the trouble of contacting Alpha to get a clear picture about what to do?
Other entries under the "Read me first" section quickly began to erode my confidence, because here began the journey to discover the actual difference between a "desktop" application vs a "web" application; but I guess any idiot should know that.
Well, I didn't, and I'm still not entirely sure, at least from the context of the Alpha development environment..
But the sections I was reading started to create many more questions than they answered...
- Why is the first entry under "What's New" an entry titled, "What's New in Version 11?" I was under the assumption that I bought version 12...
- Why can't I find information about "Alpha Anywhere, V11"; it should be there if the help section has an entry about "What's new in Version 11"...
- Is version 12 too new to have relevant entries describing what's new in the new version? I didn't recall purchasing a "beta" version after all...
- And if I am running version 12, why are there no entries in the built-in documentation for this version?
- Why is the top entry under "References" labeled for A5? I didn't know I was developing in Alpha 5; Isn't this package called Alpha Anywhere?
- Oh I get it now; "Alpha Anywhere" is a derivative product "powered by" Alpha 5, which, I guess, is not a version, but a product name, because there was no "Alpha 4"?
- Why is there an entry for "Action Scripting Reference (Desktop)", and none for "Action Scripting Reference (Web Applications)?"
...And my list of questions concerning "why, where, how, what version, what's actually compatible, etc, goes on, and on, and on....
I had to learn about the naming and versioning of Alpha 5 and its various incarnations mainly by osmosis and extrapolation, because unless I wanted to study the revision history of Alpha products through the years, there was no OBVIOUS place to find any verbiage stating simply:
"Alpha Anywhere is the new name for the Alpha 5 application development package, evolving through its various versions through the years until Alpha 5, V11. When version 12 was conceived, Alpha Software created its new title: "Alpha Anywhere," a derivative product "powered" by "Alpha 5 Version 12. Throughout the documentation, be aware that an extensive number of entries will be found titled for older versions, but due to Alpha's unprecedented maintenance of backward-compatibility throughout its history, all documentation and examples will function in the latest versions, without modification, unless otherwise noted."
...Or something to that effect, but with greater accuracy.
How hard would that have been to include at the top of the "Read me first" section?
Now, inside the package itself, among the other minor annoyances, there is a commonly repeating situation where I require help on a feature, function, or control, and a dialog box related to the control may have a "help" button.
But when clicked, Alpha un-helpfully informs me that "There is no help information related to this topic." Really, Alpha? Some of these "missing topics" concern some fairly critical information...
I absolutely abhor help systems which are loaded with all kinds of verbiage touting what a "feature" can do, but contain no syntactical examples which leaves me no option but to search forums or browse loosely-organized help files for more information, and then, upon finding it, having to struggle through experimentation because the help section is too terse or too ambiguously worded to provide direct, comprehensive help. Yes, the "references" sections in Alpha Anywhere are very extensive. And also practically useless, most of the time, presenting few useful syntactical examples, or links to the same.
It is becoming exceptionally tiresome gleaning information relevant to my build out of Alpha's poorly-organized help and tutorial system. On too many occasions I have wasted significant amounts of time studying and then trying to apply lessons which turn out to be irrelevant to my particular version because they were created for earlier versions, or some that apply only to pre-release versions having features that I cannot employ, and I don't feel it should be necessary exerting the kind of time and energy required to research whether a given control, feature, or function will actually work with my project, even though I find that better than 90% do work as expected. It's that other 10% that give me headaches.
There is also no obvious guide illuminating features that do or do not work with my version, and the conceptual presentations on many specific major feature differences are so poor that they fail to provide answers to very basic, yet critical questions, like, "what, exactly, is the difference between a "desktop" vs a "web" application in the context of the Alpha RAD environment?" It has taken me SIX months to get this worked out, and I am still running across surprises, like the necessity for a license to run the "Alpha Desktop Run-time," or why the run-time was necessary, or that it even existed in the first place. Why didn't I know about these requirements when I purchased the package? I would have paid for the additional license, no problem, but I wonder how I missed it?
I realize that many of the textual examples present in the help documentation have lines that specify whether a particular control can be used within desktop or web applications, and occasionally which builds can be expected to contain controls and features, but this information is not clearly provided when browsing tutorial videos piecemeal.
For example, somehow, from the help documentation within the development environment, I ended up on the AlphaPedia documentation site, and then on to YouTube, and found myself studying the 'websockets" tutorial series. Never once did the presenter mention that the feature was only available in pre-release versions, so I deemed the feature to be useful for my project, then went about studying the tutorial, downloading the component, and preparing a test project only to find that the properties were missing, but only after I blabbered to the boss that "The Alpha package can also do messaging via web sockets!
It took an additional hour to find out exactly why this feature wasn't present in my package.
You know, a lot of this stuff is conceptually simple, and easy enough to get a handle on once a user becomes comfortable with the package. But I find myself in a bad place when intuition fails to provide a solution to a problem which, in the end, turns out to be very easy to solve. But it is easy to obfuscate even the simplest instruction when it is poorly presented and demonstrated.
My suggestion is this:
Have the members of the Alpha staff who are responsible for presenting information to other human beings become intimately familiar with the concept of "intuitive information presentation," and then have them review the Alpha website, and the product help documentation, to discover why they are exactly the opposite.
After that, have them observe a disinterested, inexperienced, third-party as he or she attempts to discover what exactly is being sold on the Alpha website, what is required to set up a system, what is included with a purchase, and how much it costs.
If such a person can figure out the most basic of any one of these with any certainty, within two hours without help, I swear I'll eat my hat.
Then, provide them with the same files that were provided to me, and see if they can figure out how to install the package without researching the subject, or asking for help.
And finally, after they discover how easy it all actually was, and would have been had the information been more intuitive, have them look at the help system and see if it makes the slightest sense.
If it does, I'll be checking in for cognitive therapy immediately.
</rant>
SUMMARY:
For its website, Alpha needs to create comprehensible summary pages, accessible from a SINGLE location, illustrating foundational concepts without assuming that the reader understands Alpha's paradigm, how Alpha is similar to, or different from other kinds of development software, what support software may be required (like the desktop application run time environment), and exactly what features to expect. It's not that hard.
The following is an example of the kind of verbiage that would have made it easy (for me, anyway) to ascertain exactly what Alpha is, and is not, along with a shallow overview of how it functions. If any of it is incorrect, it's because Alpha failed to communicate these properties in a comprehensible way:
Alpha Anywhere is a one-of-a-kind development environment enabling development of complex, data-driven applications that will run on almost any operating system, for mobile and workstation platforms.
Alpha Anywhere requires very little programming skill to create applications because it generates all the code necessary to bridge the many languages required to run applications on these diverse platforms.
More advanced programmers can "burrow" into the functions created by Alpha for customization, or create entirely new custom controls, functions, and features. Advanced programmers will also find it easy to employ custom extensions created in other software, such as interfaces using externally developed COM or ActiveX objects.
Alpha Anywhere is designed to create applications for two distinct environments: Web Server applications for both mobile and desktop on any operating system, and Windows Desktop-specific applications.
Alpha Anywhere is not a typical RAD environment that compiles low-level code into executable packages; it is more like having an entire staff of the world's best programmers at your fingertips:
* It does not create compiled executables as a finished project; Alpha Anywhere simultaneously creates server and client-side scripts in multiple languages, leveraging JavaScript, HTML5, CSS, and Ajax, and the finished project runs on a web server, deploying web applications pages to browsers on desktop and mobile devices. The Windows Desktop Runtime Environment is required to deploy Windows Desktop-specific applications to Windows workstations.
* The major portion of the finished project runs on a server, while the client applications are exhaustively configurable to be run from mobile devices and workstations in a vast variety of modes, from simple access via a common browser, to leveraging deep, device-specific functions on mobile platforms using PhoneGap, integrated phenomenally well into Alpha's Development Environment.
*Given that the deployment of Alpha Anywhere applications is provided from a central server, only a single instance of an application need be created and maintained; once a finished or updated application is published to the Alpha Application server, it will be updated on all devices as soon as their browser's are refreshed. Applications projects leveraging PhoneGap will create and manage Alpha's server-side code as usual, but the client-side applications must be deployed from a different source.
*Alpha applications are primarily data-driven, and Alpha Anywhere makes it trivial to connect to almost any database engine in existence. Alpha can work with connected database objects in several modes, and does not present limitations in the way it manipulates database objects; if a user requires access to special functions present within a given database engine which is not available using Alpha's "portable SQL", Alpha easily accommodates the use of the database engines "Native Syntax," erasing any potential limitations.
*Alpha applications leverage the use of advanced CSS to control the layout, format, and theme of an application without requiring any knowledge of CSS scripting. As with all of its other features, advanced programmers have absolute control over CSS.
*Alpha Anywhere offers exceptionally deep documentation and tutorial information. Working through Alpha's extensive library of video and textual tutorials, users who have never programmed before can create useful applications within minutes. (Which will become exceptionally more useful if it ever gets organized)
*A fully-rounded Alpha Anywhere development package contains three parts; The Alpha Anywhere development environment, the Alpha Application Server, and the Windows Desktop Runtime Environment. Each of these packages are sold and licensed separately, unless Alpha Software makes packages available that include two or more products.
*The "Windows Desktop-specific" paradigm is fading away as it becomes less relevant due to the powerful features available within web-applications. Alpha Software still makes the desktop runtime environment available for deploying Windows Desktop-specific applications, but its benefits are slowly eroding away as its feature set becomes supplanted by more capable web-server applications. (I believe the availability of the runtime environment has been de-emphasized by Alpha because it has become redundant due to the increasing capability of web-applications)
*Alpha Anywhere is extendable with "feature Packs" that may be offered by Alpha Software for inclusion in the development environment. Feature packs may be made available as paid or free add-ons at Alpha's discretion.
*The Alpha Anywhere Developer Edition is available for purchase at $1499.00, which includes one full license for the developer environment, one full license for the application server, and all of the benefits of a one-year subscription. Extended subscriptions at $1,499.00 per year provide continued access to updates and upgrades as they become available. A license for the desktop runtime environment is available at an additional fee. Licenses for feature packs may become available for additional cost as well.
Does the above seem to be blindingly obvious? Perhaps it is to users who are familiar with Alpha Software products, and Alpha's staff, but I defy anyone who is unfamiliar with the product to collect all of the above information exclusively by perusing the website, as doing so requires an uncomfortable amount of assumption.
Regardless, the text above is a pale representation, glossing over the fantastic capabilities of the Alpha Anywhere package, but it would have provided exactly what I would have needed to know in order to quickly qualify the Alpha Anywhere package as a candidate for our projects, leaving no room for doubt about what it is in general, how much it costs, and what is delivered for the price. Lacking this summary easily added a week to my decision to purchase.
The forums have been exceptionally useful in sorting out much confusion, but a lot of this could be avoided by executing a thorough examination of the help contents and its organization. There are thousands of perfect entries in the help system that leave no doubt about how to use their described feature, but there are hundreds upon hundreds of others that appear to have been created as place holders containing minimal relevant information, perhaps the intent being to flesh them out later, which appears to have never happened.
I honestly hope the help system gets revised, and becomes better organized, because much of the time I might have saved using Alpha's Hyper-RAD environment has been absorbed by research into irrelevant or poorly-documented features, and much time asking questions on the forums concerning fundamental issues would be saved by better documentation.
And I can't help but feel like Alpha Software could improve its bottom line a bit if it would take a good, hard look about how the product is being presented on its website, and revise it for a bit more clarity about what it is, how it is used, and how much it costs.
I think everything about the Alpha Package itself and the way it is organized and operates is pretty close to perfect, but the learning path has been far steeper than necessary given Alpha's awesome capabilities. I assumed, wrongly it seems, that a package as well engineered and organized as Alpha Anywhere would have had a world-class help system to match.
Comment