Forum Discussion

IvanWeiss's avatar
IvanWeiss
Qrew Captain
6 years ago

To Make a New App or Not to Make A New App

That is the question!

I have a very detailed Project Management App that is in full force at this point (built last summer and at this point just ironing out some last bugs before transitioning to new features).  In addition to client based Project Management needs it has a Team Members table which is all of our internal employees and their contact info....

We want to build an IT asset management app.  We dont need much at all.  Just need to store what devices are assigned to what user and their matching computer names, model, etc. so we know....  Date bought, etc.

My initial though was it should be a separate app because it is not at all related to the current app....  But, the team members table would be useful in both plus my users are there...  I could just add an IT table and have it be a related table to Team Members so it connects users to their IT assets.

What is best practices here?  Is there any reason to separate the apps?  I am not sure what other apps or functionality not related to project management I might need in the future but I could always see a reason to connect to that Team Members table.

------------------------------
Ivan Weiss
------------------------------
  • I would make a separate app.  That way you get to use the Dashboard. This sounds like a very different app from your main app.

    For the Team Members, if you are at all concerned about performance, say if you have like 100+ users or the main app has some large tables with lots of data, then I would make a Sync table of the Team Members Table to keep the app separate.  

    Else do a cross app lookup.

    ------------------------------
    Mark Shnier (YQC)
    Quick Base Solution Provider
    Your Quick Base Coach
    http://QuickBaseCoach.com
    mark.shnier@gmail.com
    ------------------------------
  • Ivan,

    I vote new App and do a cross app relationship to the Team Members in your core ERP system application.
    The big benefits are:


    • Keeps your data normalized
    • Unique Roles
    • New Dashboards
    • Limited Users


    ------------------------------
    Don Larson
    Paasporter
    Westlake OH
    ------------------------------
    • IvanWeiss's avatar
      IvanWeiss
      Qrew Captain
      Thanks Don, Thanks Mark!  One more follow-up question as it seems like a no brainer that the app should be separate.

      My Team Members table key field is the user field.  Not all users will have access to the IT app.  I do not think that matters because they are two completely distinct things....  But I wanted to confirm that? 

      And I am assuming that by doing this on the Team Members App (in my current app) can I see what hardware is associated with each user (a report link) or will I need to build that separately in the IT app?  I am just not sure how thorough cross app relationships are compared to in app relationships.

      I have 51 users right now so I do not think performance is going to be a major issue and only 2-3 people are planned to have access to the IT app.

      ------------------------------
      Ivan Weiss
      ------------------------------
      • MarkShnier__You's avatar
        MarkShnier__You
        Icon for Qrew Legend rankQrew Legend
        Ivan
        For this question:
        And I am assuming that by doing this on the Team Members App (in my current app) can I see what hardware is associated with each user (a report link) or will I need to build that separately in the IT app?  I am just not sure how thorough cross app relationships are compared to in app relationships.

        The main difference when you make a cross app relationship, is that for some technical reason which seems difficult for Quick Base to solve, you can only "see" the relationships on the child side. The parent app will not see that the relationship exists.  That can be very confusing to the  Admin and it also means that if, for example you had a field on the Parent table that you were thinking of deleting or changing the field type on (say something innocuous like changing from a text field type to a Rich Text field type), and went to the Usage Tab, it would not say that it was used as a cross app lookup.  That will then cause problems for the cross app lookup field.  (And it will certainly cause problems for the lookup field if you delete the Parent table field, thinking it was no longer used)

        But you certainly can have report link fields working normally even though it is a cross app relationship.

        For myself, since Sync tables came out a few years ago, I have moved completely away from cross app relationships even if I'm not concerned about Performance.  I set up a "service account userid" (ie one that is not tied to a particular person, but is a robot userid owned by the IT department) and have that be the owner for any Sync table connections and Automations.  It is really super fast to set up a Sync table.

        I like the idea of an app having its own tables for the shared data like say a master list of customers or employees or items or whatever, as opposed to making a web of cross app relationships.  I have found that it makes the app easier to visualize for you as the admin and you do address future performance issues ahead of time and you are not hopping back and forth between apps.  In many cases, an app will work better from a user interface point of view if it has its own table of those master file type tables.  

        A factor too to consider is that the if you Sync across an Employee table where the key field is the QuickBase userid, it will Sync across in text format. That should not cause a problem with the exception of a change in the user's email address.

        So, you will need to decide on the 60/40 decision for you if you want to go expedient with a cross app relationship, or arguably Best Practice with a Sync table. ie its not a no brainer so you need to decide which is the 60 and which is the 40 in your situation. I think that thinking at Quick Base is to keep your apps separate as a matter of principle, now that Sync tables work so well, especially for data which is quite stable like Employee Masters and Customers and Items.  A once an hour refresh is typically plenty good enough.

        ------------------------------
        Mark Shnier (YQC)
        Quick Base Solution Provider
        Your Quick Base Coach
        http://QuickBaseCoach.com
        mark.shnier@gmail.com
        ------------------------------