My public command component has a location. Can't find it.

John Ingram

I made my first contribution to the community yesterday, though it's a small one (I've been using Dronelink for about a week). Gotta start somewhere.  Somebody on reddit asked about AEB functionality, and I thought, "Well yeah, you could pretty easily do that, I think,"  and I was right.  I probably got something wrong, but it works.  Good enough to share, anyway.

So I created a public repo, copied that component into the public repo, and then posted a link directly to the component URL (not knowing any other way to direct people to it).  I noticed when I tested the link that my location showed up (my house), but I figured that was just because it was me, or  whatever.  I was sure that neither the repository, nor the component, had a property anywhere that represented my location.

However, the component in my public repo DOES have a plan associated with it (which I  can't seem to edit, except for dragging it somewhere else with the "Move Reference" functionality).

Where in the world is this plan/location defined inside of this component?  Must this camera-command component have a location?  Can I clear it out?   Surely this location, whatever I choose, must have  some impact on other users of this command component.

0

Comments

7 comments

  • Comment author
    Jim McAndrew Dronelink Staff

    Can you post a link to your component?

    Assuming it was a list, by default it just uses the center of wherever you have the map zoomed to when you create the component. The reason it saves a coordinate with lists is so it has a place to render the pins on this screen:

    When a user includes the component into their plan, it is either ignored (if it is a list), or it asks them to reposition the component if it matters (Map, Orbit, Path, etc).

    0
  • Comment author
    John Ingram

    Oh yeah, I meant to include a link to the component:

    https://app.dronelink.com/readparse/public/component/7OCKpg26slRWZXPZ58uZ

    I'm a developer, so the Dronelink architecture and UI have made a lot of sense to me.   One problem with having most everything being a property that can be viewed and modified in the UI is when you encounter those rare exceptions.  Am I wrong to believe the location of my public component cannot be seen by me in any property field value?   It seems the only way to move the component to some other location is to use the "Move Reference" feature, which hasn't worked for me as predictably as I expected.  Especially since the default location of this shared component doesn't matter until it's used.  If it's a component that involves motion, I can understand why a user might want to see some pins to describe that motion.  But as component that includes nothing but  camera commands, it's weird to find that I have to deal with this location issue at all.

    In the meantime, I moved it to some random location in the woods of Indiana, so it's not right over my house.  That's good enough, I guess, but I feel like I'm still misunderstanding something about this.

    Small subject change:  This is related to another issue that I have with locations (references, I guess).   I would think that references I have used would be stored in Dronelink and made available to name and to pick from, when a location is needed.   My main use case is when I create a new plan.  The first thing it wants to know is WHERE that new plan starts.  That makes sense.   Often, my answer to that question is "My Driveway" (again).   But it shows me a zoomed out map, and I have to zoom into my driveway (yes, I can type in my address, but it's still zoomed out fairly far, and I need to zoom in to click the same exact spot that I have  used  for several other plans.    It would be nice if I had the option of re-using a reference I have used (and named) before, while still having the option to pick it on a map.

    This ability may already exist, and I just haven't figured it out yet.

    Thanks for all you do.  I'm telling everybody I run into that the $20 hobbyist license for Dronelink is a no-brainer.  Having used it for a week, it's laughable that I pondered whether I should risk $20 on it or not.  It is absolutely amazing what I've been able to do.   For example, this 3D model of about a third of my neighborhood.   Insane.

    0
  • Comment author
    Jim McAndrew Dronelink Staff

    In the end this is one of the rough edges that isn't totally logical (list components having a coordinate), but being a developer, you can see that ListComponent has SubComponent as a super class, and all SubComponents have a reference:

    https://github.com/dronelink/dronelink-kernel-js/blob/master/types/component/ListComponent.d.ts

    We were just taking advantage of this fact to put a pin somewhere on the map if people preferred to open their components from a map instead of the UI list.

    Sharing data between mission plans (references or otherwise) isn't really supported right now (except for including components) but could be possible in the future. The main thing we were considering for this type of feature was restriction zones.

    1
  • Comment author
    Jim McAndrew Dronelink Staff

    And yes, the Hobbyists are getting way more value than $20 because the vast majority of our development and features are funded by the enterprise accounts. The only reason we really have the hobbyist plan is to just give back to the community...and yet somehow people still complain lol.

    1
  • Comment author
    John Ingram

    I assume most of those complaints are either from people who haven't bought the license yet, or who bought it and then never did anything more than an orbit or a dronie.   Anybody who really tries to do things with their drone that they have previously been unable to do (particularly Mini users like me) will soon very clearly see that it's an amazing value.

    It wouldn't be hard to find a reddit comment or two from me, from about a week ago, saying that I wish you had a free trial.  I understand that free trials themselves require development effort, and it's probably not worth it.   It sounds like you have no need to recruit hobbyist users, which explains why.  But I think I changed my tune on Reddit, and joined the "take my money please" camp, less than an hour after I actually started using the product.   

    Oh yeah, first I had to get past the problem with the native app, in which it doesn't tell you that the reason it's not allowing you to log in is because you haven't verified your email yet.  That took me a while to figure out.   I think I finally gave up trying and looked at your FAQ :)

    0
  • Comment author
    Tero

    I think that 20$ (17€) is just two beers in a pub, so the price shouldn't be too much for anybody who can afford a drone :-)  I like many things in  this SW and  and all the  potential it has, although with Mini there are some regrettable limitations, due to DJI. I also like that you have an active road map and you listen to your end users.

    Having said that, I am also a bit worried about the robustness of the code. I have experienced quite a many times little things that show that you still have work to do with the code reliability. E.g. opening the Android app and connecting it to the drone fails many times although my mobile is with the very standard Android 10 SW. Sometimes I need to reboot the mobile, or  I have to open the DJI FLY first and close it, to get the DroneLink work. 

    I see that the very reasonable pricing for the Hobbyist  benefits also DroneLink company. The more users you get (the masses are/will always be on the Hobbyist side, not Enterprise I would think), the more feedback ( = test users) you get and with their feedback you can make the SW even better. This benefits us all, the users and the DroneLink as a company.

    Keep up doing the good work!

     

    0
  • Comment author
    Jim McAndrew Dronelink Staff

    I understand your concerns about code quality, but you should know a few things:

    1. Due to a strange stroke of luck (I happened to be in the market to create a startup at the end of 2014), no one has been creating apps for the DJI SDK longer than me
    2. The same exact code works fine on DJI's other drones. The problem, as an end-user, is you cannot distinguish between their code and mine, and which part is the source of any potential issue, however:
    3. Much of the Dronelink code is open source, including the code that handles the DJI connection logic, so feel free to audit it for yourself or even submit a pull request! Here are the pertinent repos on iOS and Android
    1

Please sign in to leave a comment.