Administrator access

Enter the site-wide access code to view pgfacts.org.

Simple gate for now; not a full login system.
Contact Us
Work In Progress: phase-1/developer-analysis.md Analysis from the site developer.

Developer Analysis

Here you will find the developer’s perspective on the Phase 1 website, including factors such as implementation, technology, strengths, limitations, for future growth and more. The developer analysis complements the CHATGPT analysis and COPILOT analysis reports by summarizing the pros and cons of each, and adding his own review based on many years of professional software development, mentoring and performaing numerous code reviews of other developers.

Developer Review by Dave DePottie

I have carefully read each unbiased analysis report, and asked each of the AIs to do the same. In otherwords I asked Copilot to read the ChatGPT report, and ChatGPT to read the Copilot report. I have produced a combined summary to see if there were any opposing views or if they were both in agreement on the key issues.

Below you will find the follow 3 sections…

  • Section 1: My independant review of Phase 1
  • Section 2: Summary of the opposing AI reviews
  • Section 3: My conclusions and recommendation for adopting Phase

Section 1 - My review of Phase 1

My review of Phase 1 was in consideration of key decision factors & categories. Below is a table of each with my factors and conclusions.

Item # Decision factor Conclusions
2DesignAs far as I can tell, there was no design documents going into the project. I was not available at the time, so I'm not sure what instructions were given to Rusty, the developer, and how much back and forth took place. It doesn't matter. The website is what it is now. Phase 2 has considerable design and documentation so everyone can comment and let their ideas be known, including Leo who will be funding the project.
2TechnologyPhase 1 is built by a custom cms tool, which is not modern in any way, but serves a purpose to build small static websites to gain foundational presense. It works well. That tool generates metadata which is then pick up by an html generate that writes html files to the actual internet folder for allthingspg. That wesite is housed deep within AWS and we cannot see or touch our website. Its even debatable if we own it, more like renting it. We pay $70 a month for a static website when many other places, including microsoft, offer small sites either free, or maybe $10 a month. We do have to pay for Rusty's infrastructure, because he has to pay for it. AWS creates VPCs, RDS and other 'partititions' which are set up with an internet server and various folders. I'm not sure if its dedicated or that space is served by many. Its fine sharing a VPC if the security is handled properly, and since we don't have a database we know of, we probably are not pay for RDS. The technology of AWS is world leading, but very difficult to master, and tighltly controlled. I doubt Rusty would ever give us access to our files. We only have access to the cms tool used to generate the files.
2ImplementationAs mentioned, html files are generated from the flat files created by the cms tool,and the final html is served to a browser. This is the basis for static websites. It can be made to look real, but its not a standard website folder per se. It is certain one that works and works well. The pages are pleasing to look at and it does its job as a PF Foundation website. But it cannot be extended with new functionality. Only content.
2PerformancePerformance is not an issue.
2DocumentationNone.
5MaintenanceA bit costly. $70 per month plus $125 an hour to make changes. This is industry standard. I've been making changes because it's trivial. Anyone can do it, you just have to learn how to use a tool.
3StrengthsThe website was created quickly and established our presense. It looks great, and works well.
4LimitationsWe can only create what the cms tool allows, which means - not much. I discussed this more above.
5Opportunities for future growthSame. It really cannot grow beyond what it does now.
2PG ExperienceI'm cheating adding this as a factor, but understanding PG I think makes a big different when you want to target a new feature. I know the reasons why. Its unfair to put that on Rusty, he did a fine job creating the content we gave me.

1. Implementation

My first impression of the ATPG website is that I liked what I saw. The initial appearance was pleasing, it fit our brand and styling, it used our logo well, copied our brand colors and had an appropriate menu structure with easy access to informaton. I could see consistency in the use of system wide styles sheets needed on every page to maintain a common look and feel, and I found the site easy to navigate. I wasn’t there when Rusty was hired to build our website. Did we list every page we wanted? Did we describe all the content on the pages? Did we define the menus?

I would think so.

But much could have been provided to Rusty through conversation, emails, and back and forth discussions as opposed to creating a structured proposal complete with design and detail. I’m not sure. I do think the end result is good, so I’m leaning towards a lot of back and forth. I could find out, but it matters not. I’m sure Rusty would have asked up front what he need before going off to use his tool to create the pages. I would if I was him. There’s no way he would know about PG and what is important to put on the first version of our website. Much of the work that he would do, other than editing pages, would be creating and setting up the ATPG infrastructure within a walled-off, secure portion of the overalll environment, setting dns/cname entries in SquareSpace and deploying the build output from his cms tool.

2. Developer Experience

This may not be a fair category. Its clear a 40yr veteran of anything brings with it more experience than mosot people who may not even have been alive that long. I don’t know much about the other developer. And experience alone is not a reliable measure, on depends on where you worked and what you did while you were there. A better description may be Qualification, but that is a bit fuzy as well. Someone without any certifcations may have relevent experience that makes that person qualified,

Throughout much my career, I’ve been more of a front-end GUI developer, with a special talent of working on an interface that users appreciate, especially when I was creating Windows Applications (before the web). For example, I built a suite of Financial Applications for NonProfits, which sold over 30,000 copiesS. Everyone loved the interface and the consistent look and feel amongst all the different programs. The apps were also very functional, not just a pretty face, so you need both. These were fully function, double entry, fund-accounting systems for large nonprofit organizations, with deep, proven capabilities to managebusiness needs with a fully functional, double-entry GL book keeping system, integrated AP/AR/AI(asset inventory depreciation) and tied in to a US Payroll system and with Federal and State Taxes. It had an Event driven Scheduler for activities much likd you’ see in Teams today, and this was 25-30 years ago before most of this stuff, or the internet was invented.

A lot of the work back then was to create your own GUIT frameworks for Windows and the Web, which standardized an appropriate look and feel. So I have a lot of experience in this area. As time went on, and with the paradigm shit from Windows to Web, the database because the central means to process business rules, whereas it used to be the windows program itself. With the web, business rules are not stored in the ‘thin’ client (the web page), but only made calls and requests to the database to retrieve information for display. The database became the driver of the web pages, and remains the backbone of any commercial application today.

3. Technology

Except for Static Web Sites of course. These offer informaton only, with little functionality. They are quick and cheap to produce, and can be up and running within days using modern AI models and modern developement tools, A qualified AI with top tier multi-step models and reasoning, with a complete set of written instructions, you can basically prompt ‘Create a nonprofit website that has 6 static pages, the first page does this, etc etc, and you can have a website within minutes, once you have a working domain, dns, a and cname mapptings and a paid hosting platform. There are many that offer free hosting for static page.

For larger static websites you’ll often see a cms type tool (content management system) where content is stored in a list or flat file somewhere, you’re provided a simple editor to make changes, and the hosting platform runs software that can reads the ‘page’ from a flat files and render it as html web pages. No web pages actually exist anyway, they are generated at run-time. Some may generate and then store as static pages for performance reasons, expecting them to remain static except for occaision edits. In a sense, the editor is your database, and you can add to it new pages, new bitmaps etc, but you cannoot store additional data other than what the editor allows. This is what keeps a static web site static, and that is no database. The cms tool is also static, unless the created adds new capabilities. That’s exactly the type of system that was ‘used’ to build Phase 1. In this case, it appears to be a proprietary tool built by a vender. We like do not own anything, but only rent the use of the editor. The web hosting platform, where the website actually exists, is completely out of bounds to us. If we do have any requests for change we can submit maintenance requests at the rate of $125 per hour, which is up there at the level of Software Engineering and government contract work. Fortunately for All Things PG I have been able to maintain our site (for free).

A third type of Static Web Builder is highly advanced, and highly graphical and produces modern, amazing looking websites with or without a database. These modern site builders are powerful tools, leaps above our our Phase 1 technology and implementation. The problem with these site builders is the complexity and the amount of time needed to learn how to master web development using the tool. It basically doess the same editing type creating of pages, but with enhanced gui and graphics. It will still have some limitations, typical in any software development system, such as limited AI involvement, but with the ability to have an external database connection you gain the ability to define tables and create ‘forms’ that collect or display data. I’ve used such tools before (experimenting) you can make things look great rather quickly. The hard part is creating consistent branding and styles, a fully functional set of tables and stored business logic attached to forms (other than validation), and the ability to use AI to generate scripts, pages and functionality behind the scenes. If you can use a modern database like SQL Server, then you can outside the tool, create routines to imlement functionality and business logic. Using an expanded tool in this case, is similar to using a software developer to create fully functional websites in a modern programmnig language. Often the use of a powerful site builder is to provide ways for the organization to add new side applications from the central core. For example, the main wesite collects and display information to the user, who interacts with the system. All that data and interaction goes into a database, which the Site Builder tool can read. So if you had a contact database or patient registry in the website, you could easily create a NewsLetter application or Email Contact list using the SiteBuilder, and it would read the list of newsletters or patients from the website database. There’s no limit of additional applications outside of the main web site, and quite often the Site Builders are free. You can have a local tech genious figure out how to use the tool, and not have to pay a developer to upgrade your systems. Site Builders are often free when you sign u pfor hosting servies, but the price for that development and hosting are both contained within the quote. Nothing is free.

The last option, which would be used to build Phase 2, could be consider custom development, where you get exactly what you want without limits (there’s always some limits). Limits might be cost. A custom build website could easily top $100,000 for 6 months of work. Custom websites belong to you, you paid for it, and you can hire someone else if you want to to make changes. You’re responsible for hosting your own platform, which is good in the sense you can find low cost, secure hosting options. For example, Microsoft provdes hosting a static website in most cases for <$10 a month, and we’re paying $70 a month right now. The difference is mostly how the vendor makes his money, by renting out the ability to use an editing tool, the rental of your portion of the hosting space. In AWS you can partiction VPCs, RDS, S3 file systems etc inside security boundaries. The same AWS account could host dozens of websites with the same architecture, and your piece costs this much. Its a clever business model to be sure.

With custom built software you’re always building on the latest technology, the latest AI involvements, fully scalable databases (with many to choose from), and all your business rules and functionality can be in the database with a relatively thin client (a goal of any website). This produces the fastest, most secure and scalable environment for hosting websites of any size. Good developers often create test squites, so the software is responsible for testing itself. There are error logs with debugging capabilities. You can use licensed software or open source reduing cost. There are even free databases, with reduced functionality. For hosting you will still have to register a domain, set up DNS servers, and find a hosting service (most hosting sites sell domains with dns entries). Costs can be as low as $20 a month to host a fully functional website with a database. They provide the deployment environment so the developer can click and button and deploy the next release all at once. The hosting platform also has the registered database and performs all backups at your request. Usually you’re given an account with complete access to all systems, so you can copy the data somewhere else (for a site builder), or have the database do ‘replicatoin’. If its a powerful database you can have jobs run backups, security and database checkers with validaton to check logs and such. The systems I managed had 60 databases, some with 60M+ records (huge), running several servers such as Ingest Server (to run data loaders), App Server, DB server and a Windows Server as a file system. The hosting platform has all these servers and applications and manages them for you. Sometimes you have to pay for some services as time slices, since you’re basiclaly sharing the cost with other vendors.

Consider one of the larger systems I help create, which was the Loan Replayment Program (LRP) for the National Institues of Health (NIH). That sprawling application performs intake of personal and confidentail information from doctors, including the application process, all their bank account information, connections to their research, their PI (Principle Investicator), their IC (institute center), and 100s of other data points. To get that job I sat across from an FBI agent grilling me on my background, bank balance, outstanding loans and any ties to communism. He took out is thick FBI badge, and placed it face up on the table, sliding it close to me, and left that there for the interview. Talk about intimidation. We were dealing with highly sensitive PII, personally identifiable information, and they wanted to make sure there were no outstanding gambling debts that someone with a bit of cash might help you pay off in exchange for a list of all doctors and their banking information, or if we had any unpaid parking tickets.

I passed. The goal of the LRP system is to pay off student loans, up to $35000 a year, for any doctor willing to devote a minimum of 20hrs of research in their specialty. Many doctors do so, and received full grants and sucessfully paid of their student loansmm some as much as $400,000 (I won’t say who). The LRP system was huge, there were many databases, and every technology advancement possible was used to create a fully functional systme. There would be no site builders here. The cost would be in the $millions of dollars. I was chief designer and architect of the middleware business objects that handled the new data access layer components (DALCs) used by front end web pages, which I also developed using my GUI experience on what makes a purposeful and functional application collection system. We had 5 Software Engineers working on the same system. The LRP program was one of the most sucessful applications built by a Government Contractor, in this case, Discovery Logic, which was owned by highly skilled programmers themselves. One was one of the original designers of Map Quest, another became Chief Architect of AWS.

The plan for Phase 2 is to use the Microsoft Platform, including GitHub for developers, AI and GitHub Pages, hosted on a SQL Server database within Azure. Azure is the equivilent to AWS, but is much easier to use, but every bit as powerful and scalable. In some case, hosting a site could cost nothing for bare minimum, a static website would be < $10 per month, a fully functional website with a database might be $70 a month or more for high volume traffice (we hope). Hosting could easily be $100 with a lot of traffice. But its all free. How so?

We applied for nonprofit grants from Microsoft and were awared two of them. The first provides for our domain allthingspg, all our servers, email, Teams Meetings, office subscritions, SharePoint and 1tb each of additional OneDrive space. That entire integrated work space is called a Tenant, specifically a nonprofit Tenant. We’re authorized for 300 M365 Busniess Basic licenses, allowing up to 300 fully licensed users. As the new Sys Admin i was able to create users, assign permissions build a Board of Directors group, create it as a Team, and as a regular use, create Board Meetings (called channel meetings with the full power of a desktop version of Teams within the ATPG domain. We all have ‘work’ email addresses like dave@allthingspg.org. We are treated as a business, with our business license and our work email address, and we are now fully functional as an organiation. Every bit of what was describe is 100% free, no charge of any sort.

The second grant is even more significant. That is our Azure grant. We were awarded the $2000 anual grant provided to nonprofits to use Azure to host our nonprofit websites, with or without a database (in our case with). The $2000 grant is in the form of cash credit used to offset real costs of hosting with the Azure platform. We pay $70 now with no database. Even if we continued to pay $70 a month in Azure that only totals $840 a year, and we have $2000 to spend. There will be additional subscription charges for GitHub, perhaps in the $40 a month range, so at $110 per month for 12 months you’re still at $1320 per year. Well under the $2000 cap. So, our Tenant is free, and our website hosting is free, and likely always will be. The only time we’d ever go over the $2000 cap would be if we had extremely high volume, which is often an excellent problem to have.

What does a nonprofit organization need the most?

For phase 1, it needed a website. It needed early foundational presense as quickly as possible. Rusty has a buiness that sells the use of his custom cms tool (for which I’ve become very familiar with), and also used it to create the HS Foundation. You can tell by the styles he’s already created for fonts and menuing. In otherwords, he didn’t have to invent new style sheets, he just changed the colors of his styles and the entire website would instantly change across all web page. Working on the GUI, look and feel, is about setting the styles, and that was already done for him. The rest is just using his editor to create the navigation and pages, which is entirely a manual process and no development skills are required. Someone built the cms tool, with is very basic, but works. What i’m impressed with is the concept, to take basic skills to create basic websites, host within the AWS platform (which i know well, and its not easy), and create well managed websites with limited functionality or need to grow. A static website is meant to be static, with static information. Ours is a fraction of the size compared to the HS foundaction, but perhaps that’s all the we are or will be.

On first impression, it feels like a professional website. Interestingly, the AI never mentions look and feel. With all the websites and windows apps I’ve every worked on or create, I’ve spent a lot of time working on the look and feel. Perhaps the reason why these analysis reports do not, is that like a used car, anyone can make it look pretty, but its what’s under the hood that counts. Its really more about functionality.

Technology

I knew that Rusty had used a Site Builder and that our domains were hosted by SquareSpace, which is famous for its Site Builde as I could find no html pages in SquareSpace (our hosting platform), nor could I review the website wwwroot or any directory containing files. I could also see that the CNAME in SquareSpace individually. That’s typical with Site Builders, which hide access to behind the scense site generation tool. Very few professional developers feel comfortable doing a review of a website if you can’t read the code yourself and you’re force to just view the output.

To be fair, I was skeptical about how the current website was developed. Most, if not all, professional software developers would have a problem with the Phase 1 architecture.

from the begging, because as a professional software developer using tools like Visual Studio, SQL Server, .NET, architecures such as MVC (model view controller), custom built middleware (bussiness objects), and C# (Object-oriented Software Engineering languge

Back to top