Formulus Features
Complete user guide for the Formulus mobile application features and capabilities.
Overview
Formulus is an offline-first mobile data collection application that enables field workers to collect structured data in environments with limited or no connectivity. The app works seamlessly with custom applications and provides comprehensive data collection capabilities.
Core Features
Offline-First Architecture
Formulus is designed to work completely offline:
- Local Storage: All data is stored locally on your device using WatermelonDB
- Offline Forms: Fill out forms without internet connection
- Automatic Sync: Data syncs automatically when connectivity is restored
- No Data Loss: Observations are saved locally even if sync fails
Custom Application Support
Formulus can host custom web applications:
- Custom Interfaces: Run specialized workflows and user interfaces
- Branded Experience: Display your organization's branding and styling
- Flexible Navigation: Custom menus and navigation structures
- Integrated Forms: Seamless integration with the form system
Rich Data Collection
Support for various data types:
- Text Input: Single and multi-line text fields
- Numbers: Integer and decimal numeric values
- Dates and Times: Date pickers, time selectors, and datetime fields
- Selections: Single choice dropdowns and multi-select checkboxes
- Media Capture: Photos, audio recordings, and video
- Location: GPS coordinates with accuracy information
- Signatures: Digital signature capture
- Files: File attachments and document uploads
- Barcodes: QR code and barcode scanning
Synchronization
Bidirectional data synchronization:
- Automatic Sync: Syncs when network becomes available
- Manual Sync: Trigger sync on demand
- Incremental Updates: Only syncs changed data
- Conflict Resolution: Automatically handles sync conflicts
- Attachment Handling: Separate sync for binary files
App Navigation
Main Screens
| Screen | Description | Access |
|---|---|---|
| Home/Dashboard | Overview and quick actions | Default screen after login |
| Forms | List of available forms | Bottom tab or menu |
| Observations | Saved data records | Bottom tab or menu |
| Sync | Sync status and actions | Bottom tab or menu |
| Settings | App configuration | Menu or gear icon |
Navigation Elements
- Bottom Tabs: Quick access to main sections
- Menu Drawer: Swipe from left or tap hamburger icon (☰)
- Back Button: Return to previous screen
- Floating Action Button: Quick actions (+ button)
Working with Forms
Viewing Available Forms
- Navigate to the Forms screen
- View the list of available forms from the current app bundle
- Each form displays:
- Form name/title
- Description (if available)
- Icon (if configured)
Starting a New Form
- Tap on a form from the list
- Form opens in the form player
- Fill in fields as required
- Navigate through form sections using Next/Previous buttons or swiping
Form Field Types
| Field Type | Description | Input Method |
|---|---|---|
| Text | Single/multi-line text | Keyboard input |
| Number | Numeric values | Number keyboard |
| Date | Date selection | Date picker |
| Time | Time selection | Time picker |
| Select | Single choice | Dropdown/radio buttons |
| Multi-select | Multiple choices | Checkboxes |
| Photo | Camera capture | Camera interface |
| GPS | Location capture | GPS sensor |
| Signature | Digital signature | Touch drawing |
| Audio | Voice recording | Microphone |
| Video | Video recording | Camera |
| File | File attachment | File picker |
| QR Code | Scan QR/barcode | Camera scanner |
Form Navigation
- Swipe Left/Right: Navigate between form sections
- Next/Previous Buttons: Move through form step by step
- Progress Bar: Shows completion status
- Section Tabs: Jump to specific sections (if enabled)
Saving Forms
Save as Draft
- Tap "Save Draft" at any time while filling the form
- Form is saved locally with current data
- Resume later from the Observations screen
- Draft status is shown in the observation list
Submit/Finalize
- Complete all required fields
- Tap "Submit" or "Finalize"
- Validation runs automatically - errors shown if any
- Observation saved as pending upload
- Will sync when connection is available
Form Validation
Forms may include validation rules:
- Required Fields: Must be filled before submission
- Format Validation: Email, phone number, and other format checks
- Range Validation: Minimum and maximum values
- Conditional Logic: Fields shown based on other answers
Validation Errors:
- Red highlight on invalid fields
- Error messages displayed below fields
- Cannot submit until all errors are resolved
Managing Observations
Viewing Observations
- Navigate to the Observations screen
- View list of all saved observations
- Each entry shows:
- Form name
- Date/time created
- Status (draft, pending, synced)
- Key data fields
Observation Status
| Status | Description |
|---|---|
| Draft | Incomplete, can be edited |
| Pending | Complete, awaiting sync |
| Syncing | Currently uploading to server |
| Synced | Successfully uploaded to server |
| Error | Sync failed, retry needed |
Editing Observations
Edit Draft
- Tap on a draft observation
- Form opens with saved data
- Make changes as needed
- Save or Submit
Edit Pending (if allowed)
- Tap on a pending observation
- May need to "Unlock" for editing
- Make changes
- Re-submit
Deleting Observations
- Long-press on observation or tap menu (⋮)
- Select "Delete"
- Confirm deletion
Note: Synced observations may not be deletable locally depending on configuration.
Synchronization
Automatic Sync
The app automatically syncs when:
- Network connection becomes available
- App is opened (background sync)
- Periodically (if configured in settings)
Manual Sync
- Navigate to Sync screen
- Tap "Sync Now"
- Watch progress - upload count and status
- Check results - success/failure messages
Sync Process
- Pull: Download new forms and server data
- Push: Upload pending observations
- Attachments: Upload photos, audio, and other files
- Confirmation: Server acknowledges receipt
Sync Indicators
- Sync Icon: Appears in status bar when syncing
- Badge on Sync Tab: Shows pending upload count
- Last Sync Time: Displayed on sync screen
- Individual Status: Each observation shows its sync status
Offline Mode
When offline, you can:
- ✅ Fill out forms
- ✅ Save observations locally
- ✅ View previously synced data
- ❌ Cannot upload new data
- ❌ Cannot download new forms
Data syncs automatically when connection returns.
Attachments
Capturing Photos
- Tap photo field in form
- Camera opens automatically
- Take photo or select from gallery
- Review and confirm
- Photo is attached to observation
Capturing GPS Location
- Tap GPS field in form
- Location permission requested (first time only)
- Wait for GPS fix
- Coordinates captured (latitude, longitude, accuracy)
- May show map preview
Recording Audio
- Tap audio field in form
- Microphone permission requested (first time only)
- Tap record to start
- Speak clearly
- Tap stop when done
- Review and confirm
Capturing Signatures
- Tap signature field in form
- Signature pad opens
- Sign with finger on screen
- Tap "Done" to save
- Tap "Clear" to retry
Recording Video
- Tap video field in form
- Camera opens in video mode
- Tap record to start
- Tap stop when done
- Review and confirm
Scanning QR Codes
- Tap QR code field in form
- Camera opens in scanner mode
- Point camera at QR code
- Code is automatically scanned
- Data is populated in the field
Settings
Server Settings
- Server URL: Synkronus server address
- Test Connection: Verify connectivity to server
- Auto-login: Automatically log in on app start
User Settings
- Username: Current logged-in user
- Change Password: Update account password
- Logout: Clear session and return to login
Sync Settings
- Auto-sync: Enable/disable automatic synchronization
- Sync on WiFi Only: Save mobile data by syncing only on WiFi
- Sync Interval: How often to check for sync (if auto-sync enabled)
App Settings
- Notifications: Enable/disable push notifications
- Theme: Light or dark mode
- Language: App language selection
- Clear Cache: Free up storage space
- Storage Info: View storage usage
Best Practices
Data Collection
- Sync Before Fieldwork: Get latest forms and updates
- Check Battery: Ensure sufficient charge for field work
- Test GPS Outdoors: Better accuracy in open areas
- Save Frequently: Avoid data loss from app crashes
- Sync When Possible: Don't wait too long between syncs
Offline Work
- Sync Before Going Offline: Download latest forms and data
- Save Observations as You Go: Don't wait until the end
- Check Pending Count: Verify all data before leaving field
- Sync Immediately: When back online, sync right away
Data Quality
- Fill All Required Fields: Complete forms fully
- Double-Check Entries: Verify accuracy before submitting
- Take Clear Photos: Ensure photos are in focus and well-lit
- Verify GPS Accuracy: Check location accuracy before submitting
- Review Before Submitting: Review all data before final submission
Troubleshooting
Forms Not Loading
- Check internet connection
- Verify server is accessible
- Try manual sync: Settings → Sync → Sync Now
- Clear app cache: Settings → Storage → Clear Cache
Sync Failures
- Check internet connection
- Verify server URL is correct
- Check server status
- Try manual sync
- Review error messages in Sync screen
App Crashes
- Restart the app
- Clear app cache
- Update to latest version
- Reinstall if issues persist
Related Documentation
- Installing Formulus - Installation guide
- Your First Form - Getting started with forms
- Synchronization - Detailed sync information
- Working Offline - Offline capabilities
- App Bundles - Understanding app bundles