Re: Introducing Quorum Programming Language!

Hey everyone,

This is Andreas Stefik. My wife and I invented Quorum about 10 years ago and Brandon asked me to come post in here. I have to say that I'm really enjoying the conversation, even the parts where people have suggestions for improvement, as listening and thinking things through like everyone is doing is exactly how things get better over time. I've read everyone's posts and have tried to condense things down.

1. Claim: Quorum is small and is not used much.

This was true 10 years ago. We started with maybe 5 or so children using it as a test and never intended for it to be adopted anywhere, schools for the blind or not. It was just an experiment and I was messing around after graduate school However, and to be honest I'm still shocked by this, Quorum's adoption has grown exponentially, with now ballpark 15k users online every month. Many schools use it in the blind community, true, and while nothing is perfect we work damn hard to make things accessible, but a very substantial number of schools use it outside the blind community as well. People use it in other countries and a number of conferences are held using it every year. The honest truth is that I don't organize any of this myself. It just happened organically. I just enjoy building and hacking on the language. I also enjoy conducted research experiments trying to refute pieces of the language so I can improve it over time.

2. Claim: Quorum has limited audio capabilities and lacks 3D

Quorum has had 3D audio support for a long-time and today even has a full digital signal processing engine where you can adjust the sound to your heart's content in multiple channels. There is a 10-tutorial sequence on how to use much of this functionality here:

https://quorumlanguage.com/tutorials/ds … intro.html

Nothing is perfect and feature requests are welcome, but it is quite powerful even today.

3. Claim: The old IDE, Sodbeans, was clunky.

The old IDE, Sodbeans, was insanely clunky and all of us hated it. The problems people mention in this thread are 100% true and frustrated us for years. The problem was, fixing it and getting an IDE created that met the accessibility guidelines we wanted took us several years and a lot of cash from the National Science Foundation. Because of that work, Quorum now has a user interface library that calls down to low-level accessibility APIs on the system. The reason for that is because, if instead of using a normal UI toolkit, you use Quorums, this allows us to sync a hardware accelerated graphics library to sound.

Now, think about that for a second. This technology allows you to make some pretty seriously neat things from an audio games perspective, or just in general. For example, you can create "items" in a game, attach sounds to them, and move them around. You can apply physics or other properties to them and the games will respond automatically. Further, in interviews with blind students in the classroom, one of the most common requests we heard years ago was that students wanted to make games that had audio components, but that students consistently asked us not to make them audio only, so that students with sighted friends, or who had partial sight, could also participate.

The purpose is that Quorum Studio is getting a 3D level editor, fully accessible, and we're starting pilot testing of that next semester. The idea is to see if we can't make something as visually compelling and complex as Unity3D accessible and I think we're going to be able to do it with this architecture. We'd love to have people from this community participate in the testing process and provide constructive criticism.

4. The new IDE is Quorum Studio

Listening to this thread, it sounds like people want a better way to find syntax errors. You got it. I've looked up the UIA properties and will try to figure this out for a patch. I was actually hoping to have this in before the 1.0 release, but couldn't squeeze it into the dev schedule. The current thinking is to use a UIA spelling error property for syntax errors and grammar error for editor hints, but we will have to evaluate that in user testing I think.

For Mac support, we would really love to get NSAccessible Support in there for voice over. Problem is though, it's damned expensive to do it. We looked into the dev time to do it and we just don't have the resources. We would love to have Quorum Studio have screen reader support everywhere, but short and skinny we don't have the cash to hire enough developers without cutting crucial features we told the National Science Foundation we would do.

5. Quorum's syntax choices

One of the weird things about Quorum is that people often don't realize that the dev team only sort of makes decisions about syntax here. In fact, what we do is run randomized controlled trials, with human users, comparing syntactic alternatives in studies on human productivity. It's a complex topic and I personally enjoy basing these studies on the medical model, as there is a considerable number of checks and balances built into such studies. If you're interested, here's my publication page with tons of paper references:

http://web.cs.unlv.edu/stefika/publications.html

To give a tangible example of how this works, we've been working internally on new Quorum features. For any syntax change, Ph.D. candidates run a controlled experiment. One of my students just finished, for example, a dissertation on polyglot programming, which we think could impact the design of a new database library for Quorum. That isn't built yet, but the evidence from the studies has implications on how the various choices impact people in practice, so will impact our final decisions. Point being, while there is always some subjectivity in the design of a programming language, we try our best to make our decisions based on evidence, so that we aren't just guessing. Many other labs around the world have also been gathering evidence (e.g., Neil Brown in the UK, Becker in Ireland, Hermans in the Netherlands, Weintrop in the US). So far, results have been pretty consistent across studies throughout the globe and Quorum tries to integrate the findings as best as we can. As a trivial example, it's pretty well established now that words like "repeat" are easier to understand for humans compared to words like "for," which many languages use (e.g., Python, C++).  There are many, many more examples and evidence shows these decisions make a much larger impact than people may realize.

Ok that's more than I intended to write, but please keep up the discussion. I plan to read it all and for those of you that have tried, or will try, the new Quorum with Quorum Studio, please keep the suggestions coming! The only way we can truly make it so it meets everyone's needs is to take suggestions and make improvements one day at a time. Thanks for reading!

-- 
Audiogames-reflector mailing list
Audiogames-reflector@sabahattin-gucukoglu.com
https://sabahattin-gucukoglu.com/cgi-bin/mailman/listinfo/audiogames-reflector
  • ... AudioGames . net Forum — Developers room : claudiogaranzini via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : amerikranian via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Ethin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Orin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Ethin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : superb via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Ethin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : superb via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : jack via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Ethin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : stefika via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Ethin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : stefika via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Ethin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Ethin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : superb via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : stefika via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : Ethin via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : stefika via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : ashleygrobler04 via Audiogames-reflector
  • ... AudioGames . net Forum — Developers room : superb via Audiogames-reflector

Reply via email to