I suspect we make major breakthroughs in our thinking once we have experience, even if we have been advised for or against a certain direction in the beginning.
My covid testing app has been totally redesigned 4 times. First, a prototype to essentially sell in my services to the client. Then a working run-through of what they wanted (at the start of April) led to them thinking about what they really wanted. At this point, in a traditional dev world, we would have had an environment setup, and still in the UX / CTO stage.
Then a period of rapid daily iterations on product features. “Could we do that?” and then a bit of technical exploration (maybe 15 mins… maybe a few hours" then a ja-nein answer (German client
Then the disaster. A working system… but super slow. Functionality was easy to break too. An intense few days of tears and discovery, and I realized that I had to throw out most of what had been done, and start with a completely new method.
What was wrong? I started by relying on GSheets to do everything. Then had two apps going against the same sheet. Cool… but slow. Then Glide Tables, writing in and out, adding rows, deleting rows, to keep track of what was going on (there are users - CollectUser - and people do tests - TestFlow).
I had to rethink how I did things, scrapping anything to do with deleting rows… and also moving far away from GS.
Now I have a system with 20+ medically trained experts doing video calls, moving into pilot this week, with an aim of 10,000+ daily corona tests done by video (on a Glide app). And doing the background work to move the app to SQL when the Glide side is ready (to handle 100,000 tests a day maybe).
And then… how to replicate the templates so I can have an app for various countries around the world (not available in the Glide Template store )
Again, if I compare this to traditional business app development, we would be 8 weeks in (so 4 x 2-week sprints). The Ukrainian dev company was going to charge 120K EUR for 12 weeks… and only build the user side of the app (so half the system). They would have gone mad with the client as the business needs changed on a near-daily basis (so hard to work). And the company had no business analyst, so very little inspiration or direction from the client (which is actually not good, because they might withhold payment if they do not like what they get). The company would not be ready to pilot in May (as we are) and very unlikely to be ready even in July. Plus they would have had to pay a lot extra to find a call center app - that would only have been managing things as emails…
Plus I found out 35% of my users will be on computers rather than mobiles (our original idea). The desktop / tablet functionality is ok (lots of wasted space), but it is better than nothing, and I could turn it on with a checkbox.
I could rebuild this app dramatically faster now, maybe in 3 weeks. I do not want to because I hope covid goes away and I can use the experience, and maybe some of the code tricks, for other projects.
I also started developing tabs (I use them instead of screens) to map out functionality before I really built it, to get user and business feedback early.
So many things learned… and so much more to come.
Big thanks to the whole community - and the Glide team!