Looking for usability suggestions

Discussion in 'OT Technology' started by CompiledMonkey, May 8, 2004.

  1. CompiledMonkey

    CompiledMonkey New Member

    Joined:
    Oct 26, 2001
    Messages:
    8,528
    Likes Received:
    0
    Location:
    Richmond, VA
    I’m in the process of brainstorming a piece of an application I’m writing. What I want is to allow someone who doesn’t know anything about SQL, query results from the database. So I’m essentially building a “SQL Builder” similar to what you find in Enterprise Manager. I’m debating on the best way to present the interface and how they should actually build their statements. I was thinking about doing something very similar to what Enterprise Manager allows, only adding in some extra functionality to visually do inserts, updates, and deletes. Then I was thinking that Enterprise Manager is meant for developers and dbas, not your average joe. So then I figured I could make a wizard similar to what you’d find during any software install, but that just doesn’t seem “cool”. Does anybody have any suggestions as to how I could go about presenting this in a way that a normal user would find it easy and useful, yet still maintain a wow factor for a technical user?
     
  2. Leb_CRX

    Leb_CRX OT's resident terrorist

    Joined:
    Apr 22, 2001
    Messages:
    39,994
    Likes Received:
    0
    Location:
    Ottawa, Canada
    depends how technical you want to get..

    I think with checkboxes, that way in case they want to make a more advanced query they have the option...on one side have the tables, other have the fields to those tables, so when they click on the table, a menu on the rigth hand side opens up and they can check off which fields they want to query...as for the WHERE clause you could have it setup so when a check box is placed in that specific field, a text box gets enabled and they can either drop down, or type in a value and it displays that info

    I hope that makes sence, it's early in the morning
     
  3. Nocera

    Nocera ...

    Joined:
    Aug 9, 2000
    Messages:
    1,307
    Likes Received:
    0
    Location:
    Long Island, NY
    ibaveragejoedeletesthedatabase...

    Unless this application is database-centric (meaning it's a DBMS interface or something along those lines), you do NOT give the user the ability to generate their own queries into the database. For a normal application that just so happens to use a database, there is no need for it. Actually, it's just plain stupid from a consistency standpoint. A DBMS will not maintain consistency on it's own without some input from the DB designer or user. And will there be transaction support? I would assume not. Therefore, you could only have VERY simple atomic queries. In this case, if you only want to offer the users the ability to do simple SFW's or delete rows, then YOU should be the one to design a protected interface into the database and understand the users' requirements.

    However, more info about your application is needed to really understand what you're trying to do. In general though, it's a bad idea.
     
  4. CompiledMonkey

    CompiledMonkey New Member

    Joined:
    Oct 26, 2001
    Messages:
    8,528
    Likes Received:
    0
    Location:
    Richmond, VA
    Nocera, the reason is more for shock value that real usefulness. This piece is a part of the Administrator application in the project we're doing for Nationals (www.imaginecup.com). It isn't really for the user to use, but for an administrator or researcher. I've got it setup where they can write their own SQL statements, but I also want to provide a visual way of doing it for people who may not know SQL. In a realistic application I would agree with you, giving normal users this kind of access is asking for disaster. For what we're doing, we're just trying to get points. I'd like to provide similar functionality in the Adminstrator to what you'd find in Enterprise Manager.
     
  5. Nocera

    Nocera ...

    Joined:
    Aug 9, 2000
    Messages:
    1,307
    Likes Received:
    0
    Location:
    Long Island, NY
    You better clearly define who the users are and any permission levels that might exist. Any knowledgable judge will be critical of such a feature. Enterprise Manager is not just some application. It is an interface into the DBMS. That's its purpose. It is not used for normal queries and updates on a database. It's there to maintain it. If the rest of this project is not database-centric, then what exactly will you have the users see? SQL queries that they don't understand? If I were a judge, I would be like :confused: not :eek3:. The shock value for me would be more negative than positive. But if you do implement anything like this, I suggest the following: 1) clearly define the users and any permissions and 2) have a VERY detailed explanation of safety and consistency protection that of course you should implement with it (it's harder than you probably think).
     
  6. CompiledMonkey

    CompiledMonkey New Member

    Joined:
    Oct 26, 2001
    Messages:
    8,528
    Likes Received:
    0
    Location:
    Richmond, VA
    Yes drill sergeant! :eek3:

    I would imagine not everybody uses Enterprise Manager in the same way. I normally use it for anything I do with SQL Server, including basic queries. Who's to say I'm wrong in using it over Query Analyzer? :dunno:

    The entire solution is database-centric. Administrators and researchers will be able to run queries against form data (potentially extremely large amounts of data over time) collected via the Clipboard for trends. I'm not a researcher, so I cannot restrict them to datasets that I set previously. They should be able to query the database for whatever information they want and export it to Excel. We're not talking about Joe User, but the visual aspect should be easy enough Joe User to use. Which is what I'm asking about above.

    Having already competed at regionals and knowing what the judges are looking for, I think the judges would like the idea of being able to build queries visually. This piece is certainly not a crucial feature, but I did want to have something interesting in the Administrator application. Whether this feature makes it into our actual product this summer or not isn't the question. Honestly, I'm not even looking for suggestions on how to present it anymore. I found out this weekend that we have to ship our equip next Monday for nationals, so I'll probably just go with what I have now. This piece is minor to the Administrator, which itself is minor to the 3 main applications (Clipboard, Form Builder, Report Builder) in the project. I've still got a good amount of data synchronization to do in the Clipboard before then, plus other new features. I am still interested to hear people's presentation ideas though.
     
  7. Nocera

    Nocera ...

    Joined:
    Aug 9, 2000
    Messages:
    1,307
    Likes Received:
    0
    Location:
    Long Island, NY
    Having just looked at your site, I see this is not "database-centric." It uses a database but that's not what I meant. If this "query builder" were designed properly, I see it taking more effort than the rest of your project. But if you think you know how they'll react to it, more power to you :bigthumb:
     
  8. CompiledMonkey

    CompiledMonkey New Member

    Joined:
    Oct 26, 2001
    Messages:
    8,528
    Likes Received:
    0
    Location:
    Richmond, VA
    :rofl: Not quite. The abstract on my website was written months ago and is seriously out of date. I wish I could give you more perspective on the project as a whole, but you really have to see it to understand.
     
  9. Nocera

    Nocera ...

    Joined:
    Aug 9, 2000
    Messages:
    1,307
    Likes Received:
    0
    Location:
    Long Island, NY
    So explain the project objectives. If you want real advice from people, they need to know what it's about. Truth be told though... I guarantee it hasn't changed focus to a DB research project (and I'm not talking about relational modeling). Exposing schemas and allowing arbitrary queries by users that may or may not understand what they're doing still leaves me :confused:. If it were a DB project, I could understand, but not for this... But again, if you want, explain the objectives. Otherwise, good luck.
     
  10. 5Gen_Prelude

    5Gen_Prelude There might not be an "I" in the word "Team", but

    Joined:
    Mar 14, 2000
    Messages:
    14,519
    Likes Received:
    1
    Location:
    Vancouver, BC, CANADA
    Personally I would generate everything through a form, that way you still limit what they can and can't do, double check that their deletes aren't going to ruin the database. Based on data entered into the form, create the SQL statement. It just needs to flexible enough for them to get their data, but not so flexible they potentially can ruin it.

    Why would they need deletes for example? If they want to exclude data, then exclude data based on criteria, not delete it. If they need to update data, then figure out what and how they want to update it (ie variable, based on other info). The hard part about this is in a multi table environment, but it still can be done.

    You may want to take a look at Access in the way it creates queries via the wizards and the query builder - might give you some ideas.
     
  11. CompiledMonkey

    CompiledMonkey New Member

    Joined:
    Oct 26, 2001
    Messages:
    8,528
    Likes Received:
    0
    Location:
    Richmond, VA
    Someone else pointed me to Access as an example. I never realized it did all of that. What you've described is basically what I'm planning on doing.

    They don't need delete statements really, I was just typing away. For the competition, I'll probably limit it to selects so the judges get the idea. Plus, this really isn't a big feature at all. So I can't waste too much time on it.

    Thanks for the input. :coold:
     

Share This Page