ODK 1 TSC calls bring together the Technical Steering Committee to discuss roadmaps, working groups, and other issues of technical governance. Everyone is welcome to come to these calls, but only TSC members may talk.
The calls are held every two weeks in our UberConference room from 16-17 London time. We put the agenda, audio, and transcript of every call in this document .
Our next call will be Wed, Nov 28th, from 16-17 London time (see in your timezone ).
If there are topics you would like to add to the TSC's agenda, please comment below.
1 Like
@tomsmyth has proposed a block about automated testing. I think it's a great topic!
I've added to the document some questions that we could use to narrow (or broaden!) the scope of the block.
1 Like
@danbjoseph Could we also perhaps get some time, perhaps 10-15 mins, to talk about a proposal we're working on for unifying the UI look/feel for various form & instance listing screens?
Kevin (our dev) is ready to work on the outcome of this so it would be good to get it in front of the TSC in this meeting if possible...
The proposal should be done early next week. I will send it out as soon as it's ready.
2 Likes
In the foreseable future we will be dealing with some spec changes (ISO8601, external datasets). We could briefly talk about Formalizing process for ODK XForms spec changes
Here is the spec about making form screens (Get Blank Forms, Send Finished Forms, etc.) prettier and more consistent:
opened 02:44AM - 27 Nov 18 UTC
closed 05:28PM - 01 Oct 20 UTC
### Resources
- [Mocks for each page](https://app.moqups.com/sassafras/4WPu8Q… H3er/view/page/ae400e3ba)
- [Material Design color palettes](https://material.io/design/color/the-color-system.html#tools-for-picking-colors)
- [Material Design icon guidelines](https://material.io/design/iconography/system-icons.html#color)
- [Material Design icon list](https://material.io/tools/icons/)
### General goal
- To make form and instance lists look nicer, be more consistent, and be more intuitive to use
- To conform to Material Design specs as much as possible
- To do this while making minimal changes to the current UI
<img width="342" alt="Mockup of new UI" src="https://user-images.githubusercontent.com/2047062/49525016-d4853b80-f87a-11e8-995e-7eb46b06c271.png">
*Mockup of new UI*
### Proposed implementation
Add an icon to the start of each row in form lists. This includes:
- Fill Blank Form
- Edit Saved Form
- Send Finalized Form
- View Sent Form
- Get Blank Form
- Delete Saved Form: Saved Forms
- Delete Saved Form: Blank Forms
The icons will change depending on the form/instance state to make it more clear to users what state the form is in:
| Icon | Icon description | Form state | Screens it appears on |
|---|---|---|---|
| ![clip-blank](https://user-images.githubusercontent.com/2047062/49473596-79066f80-f7e0-11e8-9cfd-cdc1ffaf3973.png) | 0/3 checked boxes | Blank | Fill Blank Form<br>Get Blank Form<br>Delete: Blank Forms |
| ![clip-text](https://user-images.githubusercontent.com/2047062/49473602-799f0600-f7e0-11e8-8783-5364a30c7ece.png) | 2/3 checked boxes | Incomplete | Edit Saved Form<br>Delete: Saved Forms |
| ![clip-pkg](https://user-images.githubusercontent.com/2047062/49474293-4c535780-f7e2-11e8-8426-0ea1d56ab612.png) | Package | Finalized | Edit Saved Form<br>Send Finalized Form<br>Delete: Saved Forms |
| ![clip-sms](https://user-images.githubusercontent.com/2047062/49473601-79066f80-f7e0-11e8-95bf-f4783852c2af.png) | Message | Sending via SMS* | Edit Saved Form<br>Send Finalized Form<br>Delete: Saved Forms |
| ![clip-check](https://user-images.githubusercontent.com/2047062/49474291-4c535780-f7e2-11e8-958f-a65814e0d622.png) | Cloud check | Submitted | Send Finalized Form<br>View Sent Form<br>Delete: Saved Forms |
| ![clip-error](https://user-images.githubusercontent.com/2047062/49474292-4c535780-f7e2-11e8-9c9b-764c31c122a2.png) | Cloud exclamation | Failed to submit | Send Finalized Form<br>Delete: Saved Forms |
\* The SMS icon is optional; the current Send Finalize Form UI includes this icon, but it's redundant with the progress bar. It can either be kept for consistency or removed for simplicity.
### Changes to existing screens
- Most screens: Simply add icons to the start of each row as described above
- Send Finalized Form screen: More signifcant change, because it currently looks different from the rest (see below); it would once again be consistent after this change
<img width="340" alt="Existing Send Finalized Form screen" src="https://user-images.githubusercontent.com/2047062/49045032-a67a6a00-f19d-11e8-9213-c15481b8f603.png">
*Existing screen*
### Icon details
The only icons that are currently used to indicate form state are on the Send Finalized Form screen (screenshot above). We took the existing "check", "sms", and "error" icons from there and added the clipboard to unify them into the icon set for this proposal.
The new icons use Material Design's blue/green/red/amber **500** for icon colors, which is consistent with the existing blue icons and status bar color.
### Current icons
If you want to examine the code, icons are currently used in `InstanceUploaderAdapter`.
For regular submissions:
```java
case STATUS_SUBMISSION_FAILED:
R.drawable.exclamation;
case STATUS_SUBMITTED:
R.drawable.check;
default:
R.drawable.pencil;
```
For SMS submissions:
```java
case Activity.RESULT_OK:
R.drawable.check;
case RESULT_QUEUED:
case RESULT_OK_OTHERS_PENDING:
case RESULT_SENDING:
case RESULT_MESSAGE_READY:
R.drawable.message_text_outline;
default:
R.drawable.exclamation;
```
### Known variants
The following are all the possible states for form instances (public vars from `InstanceProviderAPI`):
- (blank form, not yet an instance)
- STATUS_INCOMPLETE
- STATUS_COMPLETE (i.e. finalized)
- STATUS_SUBMITTED
- STATUS_SUBMISSION_FAILED
The following are all the possible states for SMS submissions (public vars from `SmsService`):
- RESULT_QUEUED
- RESULT_OK_OTHERS_PENDING
- RESULT_INVALID_GATEWAY
- RESULT_MESSAGE_READY
- RESULT_SENDING
The table at the beginning covers each of these states.
Something has come up recently about large submission attachments and AppEngine. Apparently, AppEngine is enforcing a (new?) 32mb max size request limit, which is making Collect fail to send submissions with large videos of attached files.
This isn't something that you can configure (apparently) and we're starting to think about work arounds and alternatives. We're concerned about AppEngine gradually becoming not so comfortable for deploying Aggregate (even for those users willing to pay for the service).
It would be great to talk about this (5-10') so that we all understand the problem and can think about creative ways to solve this situation.