Field Kit: a platform dilemma

Hi everyone!

As you might know, we’ve been in the beta phase for farmOS Field Kit for quite some time, while we try to nail down the core functionality and reach a level of relative stability. As we do so, we encourage users to test it out and provide feedback, and because we’re using a “Hybrid App” approach, we’re able to do so across 3 separate platforms: native Android (via the Play Store), native iOS (via Apple’s TestFlight), and on the web as a Progressive Web App (PWA) at https://farmos.app.

I suspect most users are least familiar with the PWA, but its the one I’m actually most excited about. It’s the fastest way of getting someone up and running on Field Kit; it’s the fastest and easiest way to push updates to; and it’s supported across a huge range of devices, from iOS/Android/Windows phones to desktop browsers, regardless of the operating system. Basically, if your device has a modern browser, it can run the PWA. It’s a dream as a developer, too, because it requires no separate code, configuration or release cycle in order to target all those platforms.

It’s worth noting that, as of now, the PWA supports all the same functionality as the native apps. It works offline, it can access the camera and GPS, and you can even add the icon to your home screen. However, the one drawback might be if, in the future, we wanted to support some piece of functionality that could only be provided on native, such as Bluetooth connections or NFC tags. Unfortunately, for the time being, that can’t be done with a PWA.

The trouble arises with the native app platforms. They require difficult and separate processes to build the release packages and upload them to the stores; there’s a significant waiting time to see if the submission was approved; and then there are issues of support, which from time to time, break our features, such as the recent debacle on iOS that broke our the login process.

These issues require time to address, and we don’t always have funding to cover that time. And what’s more, that time diverted to platform issues is time taken away from feature development and other bug fixes.

So recently we’ve been wondering if it might be best to suspend support for the native Android and iOS until we’ve reach a level of stability with our feature set and core functionality. This would mean current users would have to make the switch to the PWA for the time being, but it would also mean we could focus more on the issues that matter most to them.

We won’t do this unless we have overwhelming support from the community, so please weigh in and let us know in the comments what you think. I’m also including a survey below so we can try to quantify folks opinions and current usage.

As always, thanks to everyone for their incredible support and feedback!

Jamie

Survey

If you’re a Field Kit user, which version of the app do you primarily use?

  • Android native app (from the Play Store)
  • iOS native app (from Apple TestFlight)
  • https://farmos.app (the PWA)

0 voters

Have you tried the PWA?

  • Yes
  • No

0 voters

How willing are you to use the PWA?

  • I already use it!
  • Sure, I’d be willing to try it.
  • No thanks, it sounds like too much trouble.

0 voters

2 Likes

@jgaehring Thank you very much for your great efforts to develop Field Kit (unfortunately I had VPN network issues that could not be resolved due to time limitation in season).
PWA sounds like a good solution for the meantime.
Since it is browser based I assume it would also solve my problem to access my farmOS database behind the VPN :grinning:

1 Like

@jgaehring I would go with PWA route and then I would build a shortcut button for apple and ios to place a LINK on the home screen for quick access - kind of applike.

1 Like

Thanks @Lars. That’s interesting re: the VPN. Lemme know if it works on the PWA!

Yes! That’s supported by the PWA features, actually. Let me know how it works!

1 Like

Hi Jamie,
I have two questions for you.

  1. We use Afrihost as our server and on my Samsung Galaxy A7 and my tablet Samsung Galaxy A 6 with Spen 2016. Will not accept our URL and my login details.

  2. my husband is MCP & MCSD, says when he takes the data base from the server and puts it locally on his laptop it comes with numbers. He does this so that he can do the updates. But, he has never had this problem with his other updates that he did for his clients. He puts the data base locally do he can test it with new updates that everything works before uploading to the server, Afrihost.

  3. my son has a Samsung S7 phone as says that the app is iffy sometimes.

Please help me with mainly the 1st one as I do all the field recordings and would like to have it on my tablet or my phone (I prefer my tablet, as it stays at home).

Regards ,
Jennifer Young

1 Like

I have tried the Native Android app, and my Samsung S7 also doesn’t play nicely with the app (like Jenny). PWA works great though, and I’ve got the PWA on my dairy Ipad as well. The only issue i’ve had is that sometimes it does weird things when typing, like it starts typing, but then suddenly decides that it wants to type the rest in the middle of another word, so you end up with really odd sentences - it’s like there is a lag on typing.
Personally, I’d concentrate on the PWA rather than the natives, single location to push, one code base, much easier! Get that nailed down first, if people are dead set on native apps, can you just have a frame for the PWA in the app?

1 Like

Hi @jennygail!

Is your farmOS server in a subdirectory? For example, something like www.mysite.com/farm/? If so, you need to include the subdir as well. There are some server requirements, such as an SSL certificate for https://. We also rolled out some updates that require farmOS 1.4 or higher. And are you using the Android app from the Play Store, or the PWA at https://farmos.app?

Hm, I’m not sure I understand the problem exactly. Might be outside my expertise if it involves the server db, as well, though perhaps @mstenta would have some insights. Is this a particular farmOS update he’s having trouble with? If so, what is the version number?

Yea, there are definitely some known bugs. That’s a big reason why I’d like to just focus on the PWA so I can get back to fixing those issues!

Thanks for your feedback! Let me know if there’s any other way I can help!

1 Like

Hey @Skipper!

Thanks for the feedback! I’m glad to hear folks are already using the PWA and having success with it.

Ah yes, the typing issue. We’re tracking this and I’m about to turn my attention to fixing it this week or next. I think I know the cause, just need to rework how we handle input events so they’re synchronous and not creating race conditions with the database.

1 Like

@jennygail Let’s move this conversation to another place - happy to help you debug the issues you’re seeing! But let’s keep this thread focused on the Field Kit PWA conversation. :slight_smile:

If you want to make a new forum post, feel free! Or if you want to work through it together in chat: https://app.element.io/#/room/#farmOS:matrix.org

I’ve been away from FieldKit for a while (been too busy farming to play :-), but -having just received email notice of 0.5.1 version release- i figured to give it another go: both iOS native and PWA versions. Whichever one works best would be fine w/ me… But am with issues on both sides that still stand in the way of my adopting this as a tool in my farming workflow. To wit:

  • Native iOS version: GeoLocation of Log entries does not work, though i have Location Services activated for this app on “Ask” basis (there is not a “When Using” option available in the Privacy pref’s pane of iOS… But still it should work like this, no?); and
  • PWA version: gives a quite obsolete view of my logs, even after i push the sync button, logout and log back in, reboot the app, etc… It refuses to display the most recent log entries, all entered on different days in recent past.

I’m not ready to call these bugs; it may very well be i’m doing something(s) wrong- in which case, if anyone could drop me a clue or few, i’d be much obliged!

2 Likes

Hi Walt, good to hear from you! And so glad we were finally able to get you logged in!

Ah, I’m pretty sure I saw this flagged in our review for the App Store. It’s tricky figuring out the configuration for how permission is granted, and I usually can’t tell whether it’s worked to Apple’s satisfaction or not until after I’ve submitted a release. :roll_eyes: I don’t think I realized this actually disabled geolocation though. I’ll give this another try next release!

This is peculiar. My first thought is, are you sure those recent logs were assigned to the same user you’ve logged in as in Field Kit? And are those logs set to “not done”? Those are basically the 2 preconditions for logs to be synced to Field Kit. Well, or if the log was created in Field Kit and hasn’t been deleted locally yet. If that’s not the case, then sounds like we’ve got some kind of bug, and should probably open an issue for it.

Sidenote, @walt, I keep referring back to the issue you opened late last year (feels like 5yrs ago), “Streamline the ‘Field Observation’ UseCase”. We’re getting really close to deploying some of our first Field Modules and I’d really like to apply your notes towards creating a dedicated “Observations” Field Module. I may ping you when we get closer to fall and I’ve got a better mockup I can run past you.

Hope you’re staying cool in these summer months! Cheers!

PWA version: gives a quite obsolete view of my logs, even after i push the sync button, logout and log back in, reboot the app, etc… It refuses to display the most recent log entries, all entered on different days in recent past.

Did you accidental set a filter? My brother did this some days ago and he thought all the not synced older logs are deleted…
image

Greetings,
Andreas

2 Likes

Hi together :slight_smile:

At first thank you for creating and maintaining the Field Kit App! Without the Field Kit App we probably wouldn’t use FarmOS. Its just great to document all the stuff on the go.
Till some days ago we mainly used the Android App, but since some days the login doesn’t work any more. I didn’t have the time and look into it, because of the harvest season. (But i will)
So we switched to the PWA and its just working great!

Yepp that’s a real bummer, but i also think there are many more ways of improving the productivity with the app (copying logs, creating patterns, QR-Codes, and so on) that dont rely on native app features.

I totally agree on that. Everyone can use the PWA App and everyone takes advantage of getting more updates & features.

Iam not sure about it, but i think i saw some PWA Apps as non native Apps in the Play Store and App Store. If it is possible to push the PWA App directly to the Stores i think it should be done.
If not the communication of the PWA and how it can be used should be a bit more expanded.

BTW: We are also using the PWA App on the desktop, because its easier to use then the FarmOS Interface. :wink:

1 Like

What version of farmOS are you running on your server? Unforunately, we needed to bump our server requirements up to farmOS v1.4 for the latest release. We tried to give as much warning as we can, but our had was forced a bit because the iOS app was rendered totally inoperable until we got that update out, so we didn’t want to delay too long. More details here:

As a general word of caution, we always require the latest version of farmOS while Field Kit is still in beta.

If that’s not the issue, let me know and we can troubleshoot further.

Totally! I’d love to hear more of your thoughts!

Oh you’re totally right! I completely forgot because at the time we already had a solution. I’m very glad you reminded me and I’ll definitely investigate the options further.

Haha, I even still have this link bookmarked: https://www.pwabuilder.com/

Awesome! I regret that I have not had more time to dedicate to the desktop design, so I’m glad it still works well for you. In the future, we hope to integrate parts of the Field Kit UI into farmOS itself, too (see issue #239). That probably won’t start happening until farmOS 2.0 at the soonest, but keep an eye out for it maybe in 2021. :wink:

2 Likes

Good thinking @andifi -but no: filter is set to pull every content type for all time (i.e. default), so it’s not that simple, alas.

2 Likes

[quote=“jgaehring, post:11, topic:433”]
This is peculiar. My first thought is, are you sure those recent logs were assigned to the same user you’ve logged in as in Field Kit?

Some are (as they were created by me, and so assigned to me by default), and others createdBy/ assignedTo someone else… But in our team workflow, they are to be done by whomever is next in position to do the task. How shall we assign such tasks in the software? /w

And are those logs set to “not done”? Those are basically the 2 preconditions for logs to be synced to Field Kit. Well, or if the log was created in Field Kit and hasn’t been deleted locally yet. If that’s not the case, then sounds like we’ve got some kind of bug, and should probably open an issue for it.

Ah… They were created in FieldKit on iOS, and not deleted, indeed. So then it’s to be expected that they show up in farmOS desktop and in FK:iOS, but not in the PWA? Didn’t know this. /w

Sidenote, @walt, I keep referring back to the issue you opened late last year (feels like 5yrs ago), “Streamline the ‘Field Observation’ UseCase”. We’re getting really close to deploying some of our first Field Modules and I’d really like to apply your notes towards creating a dedicated “Observations” Field Module. I may ping you when we get closer to fall and I’ve got a better mockup I can run past you.
[/quote]

Reflecting back on that conversation, @jgaehring, that FieldModules architecture sounds like a great idea, because these different UseCases (e.g. FieldObservations and TaskAssignments) seem to make for a UX that is just too confusing. Please do let me known when FieldModule for Observations is ready to test, and i’ll be happy to do so.

2 Likes

Hi @walt!

But in our team workflow, they are to be done by whomever is next in position to do the task. How shall we assign such tasks in the software? /w

You can assign logs to more than one person, and then they will sync to all of those people’s Field Kit. So you may just want to get in the habit of assigning logs to everyone (where it makes sense to). It is possible to “bulk assign” logs using the “Assign” button that appears on log lists in farmOS when you click the checkboxes next to the logs you want.

Hope that helps!

Back on the original topic, it’s probably worth keeping any eye on Trusted Web Apps (TWAs) as a means to get Field Kit into the Android app store(s?) in the future without maintaining a custom platform-specific codebase;

2 Likes

Was running android version on my S9+. Was working fine. Have now switched to PWA on the S9+ and more than happy to use that for now. Is there a thread where I can discuss some thoughts on Field Kit workflow? Need ability to set/modify defaults on input form.

1 Like

Glad to hear it’s working for you.

Feel free to open a separate post for any thoughts you have on how we could improve Field Kit. I find it’s easier to keep track of issues that are kept in a dedicated post to specific topic. Easier to find them later for reference, and so easier to include those thoughts when working on new features and enhancements.

1 Like