Editing Code on Websites
Web-based code editors are not new. Qualified has been providing a streamlined code editing experience for taking assessments since its inception, and Codewars has been using one even longer.
Most web-based code editors provide a wide range of advanced functionality, including the obvious basic functions of keyword highlighting, automatic indentation, and more advanced functionality such as code folding and very simplistic code-completion.
But this pales in comparison to a full-fledged desktop IDE (integrated development environment). These editors not only provide significantly better code completion (taking into account context, available libraries, and more), they also provide insights into the code to help correct obvious errors, and inline documentation on how to use methods and object properties.
At Qualified, we wanted to bridge the gap between web editors and desktop editors, while maintaining the zero-effort startup experience our web IDE has always provided.
Introducing Qualified SmartIDE
What we've come up with is our enhanced SmartIDE. We've taken our existing easy-to-use, web-based IDE, and added in intelligent, useful development tools to improve you and your candidate's code editing experience in a massive way.
We've added in context-aware, intelligent code completion. Now you can get useful, immediate recommendations as you type.
Hinting & Error Checking
Your code can now be checked for not only typographical errors, but logical errors as well. This happens seamlessly in the background, just like your IDE.
Documentation for methods, including argument types, method docs, and more, is available simply by mousing over a method—or even as you use autocomplete.
The best thing about SmartIDE is you don't need to install or do anything special to use it as a developer. This premium feature needs to be enabled on your account, but once enabled, you can begin using it immediately.
Most of our project challenges will now show a SmartIDE badge, and you can use the Preview button to experience the new features immediately.
When you start a challenge with SmartIDE enabled, you'll see a new lightbulb icon in the toolbar. This icon will tell you the status of the feature. The first thing that happens is we silently spin up a temporary server in the cloud to run our engine. Once this server is ready, your code is then automatically kept in sync on the server, which parses your code and provides real-time feedback.
What features are supported?
As of publishing this article, these features are currently supported.
Code Analysis & hinting
What languages are supported?
These languages are currently supported on Project Code Challenges.
C# 7.3 & 8.0
Python 3.7 & 3.8
Ruby 2.5 & 3.0
We will be expanding support further as we continue to refine the feature, so please let us know what languages you'd like to see added. (Note that Classic Code Challenges do not support SmartIDE at this time.)
Can I disable SmartIDE once it's enabled?
Yes! SmartIDE can be enabled or disabled across your team, inside the Qualified Labs page. But you can also opt into or out of SmartIDE on a per-challenge basis.
Why would you want to disable the SmartIDE? You probably won’t want to, but Qualified wants you to be in full control anyway, just in case you come up with some challenge ideas that would be limited by this feature. For example, if you are developing a debugging challenge and you don’t want to give the compiler issues away.
Disabling SmartIDE on a per-challenge basis
Edit the challenge you want to disable the feature on.
Click on Challenge Config in the sidebar
Scroll down to Options
Change the value for Allow Solving with our SmartIDE to Never use SmartIDE
What are the benefits of SmartIDE over using a desktop IDE?
Using a desktop IDE is great for developing your own applications, and would certainly be a preferred choice in those situations.
But when taking an assessment, either for recruiting or educational purposes, the focus should be on creating a consistent, easy-to-use experience. The majority of features in a full-fledged IDE are not only unnecessary for small tests, but can be detrimental to the candidate's or student's experience, overwhelming them with options and functionality they don't need to think about.
The Qualified SmartIDE was designed to focus on the functionality that is most immediately usable without learning a new interface. We've also worked hard to create a level playing field. Instead of building upon an existing interface that some developers may know, and others would have to learn first, we've built a streamlined experience that requires almost no learning before use from any developer.