Tuesday, 24 August 2021

Good listener product description

 Good listener product description - based on reminders


Device plugs into socket, LED to show power on. [Power management]

When power off, only critical* functions continue to work on battery. [Power management]

*record & play reminders, phone interface if possible, no radio[Power management]

Display shows temperature at all times. [avr lm335]


Device has 3 main buttons – record, play, radio

  • Record and radio buttons have their own LED (switches ON when button pressed once, stays ON while performing function, OFF when same button pressed again & software cleanup done)

  • For play, there is an LED that system controls based on pending reminders [expand below]

  • these 3 buttons are mutually exclusive so if one is pressed, others will be disabled till the same one is pressed again

  • There is also a reset button

Recording

When record button is pressed

  • record_led switches on

  • audio message saying “please speak after the beep, press record again when done <beep>” or just <beep / something fun>

  • when record pressed again, led switches off. If not enough memory to save reminder, audio message saying “memory full, please delete some reminders via phone & try again”. Otherwise, audio message saying “saved message <playback recorded message>, reminder set for 9am tomorrow, to change connect via phone”

If any problem in normal recording operation, audio message saying “problem in recording, please restart device & try again”.


Limiting recording time for one reminder? How much?

Auto play

When time comes, play the word “Reminder” followed by 'the reminder', then play every 15 minutes 3 more times.

Number of repeat plays & duration after which to repeat are configurable via phone interface.

All due reminders enter a 'to_play_queue' as well as a 'pending_queue'.

Removed from to_play_queue after playing 3 more times.

Removed from pending_queue once play button is pressed by user OR the reminder schedule (date/time/frequency) is updated via phone interface.

If play_button is pressed again before all pending_queue reminders are played out, the 'partially played / not yet played' reminders will stay in the pending_queue.

As soon as there are >0 reminders in 'pending_queue', play_led starts blinking.

<led blinking frequency to indicate how many pending reminders>

At any time, pending_queue will have all reminders that were played as scheduled after the play button was pressed last.

Reminders will be stored in (& played from) pending_queue in a FIFO manner i.e., newer reminders will be played last.


Button Play

When play button is pressed, all reminders in the pending_queue are played one by one (with a reasonable delay/beep in between) & are removed from the pending_queue. Any “non-recurring/once only” reminder will be totally removed (from playback queue as well as memory). If a new instance (e.g. next day's occurrence of a daily reminder) appears before the old one is cleared from the pending_queue, old is replaced with new.

If any problem in normal play operation, audio message saying “problem in playing, please restart device & try again”.


Internet Radio

When radio button is pressed, radio_led is ON, device connects to the router (userid/pwd pre-configured via phone interface) and starts playing the radio station (pre-configured via phone interface). Playing stops (and radio_led off) when radio button is pressed again.

If no internet, audio message saying “please check your internet connection & try again”.

If problem in radio link, audio message saying “please check your radio station link & try again”.

If any other problem while playing, audio message saying “problem in playing, please restart device & try again”.

Recorder / Scheduled reminder / Manual play button works even if radio is playing. Radio will be paused and then resumed automatically.


AP mode

Device is in AP mode (with fixed id and pwd) all the time as long as power is supplied & radio button is not pressed (down). At anytime, a phone can connect to the device (via wifi), open the home page (192.168.4.1) and read/change it's contents.

When radio button is pressed once, device becomes unavailable to be connected via phone. When radio is stopped (by pressing radio button again), the device becomes available to be connected via phone.


Phone interface

Home page (http://192.168.4.1)

List of reminders categorised by frequency. In the order: One time/daily/weekly/monthly/yearly.

Within a category, reminders could be sorted alphabetically on names.

Names should be links. When clicked, they take you to the 'Update individual reminder page'.

If possible, one should be able to fold/expand the categories. Initially, all should be expanded.


Example layout

One time reminders

<Reminder 1>

<Reminder 2>


Daily reminders

<Reminder 3>

<Reminder 4>


Weekly reminders

<Reminder 4>

<Reminder 5>


Monthly reminders

<Reminder 6>

<Reminder 7>


Yearly reminders

<Reminder 8>

<Reminder 9>


Update individual reminder page

Recorded audio reminder appear one by one – in the same order as on home page

If no reminders exist, message saying “No reminders. Please record new using good listener device”

Each page will have:

  • navigation links: To go to home

  • reminder information: Name (editable text box showing the default name assigned by system e.g. 'Reminder1'), Play control, schedule (date/time/day/frequency) – all editable drop downs; Validation needed to synch date with day, prevent wrong date e.g. In the past or 31 april.

  • save button: Save button enabled if anything edited. If pressed, the application takes you to a success / error page which will re-direct to home page after 3 seconds.

    • success page will have message saying “Reminder udpated. Taking you to home page in 3 seconds.”

    • error page will have message saying “Error in updating. Please try again. Taking you to home page in 3 seconds.”

  • delete button: If pressed, the application takes you to a success / error page which will re-direct to home page after 3 seconds.

    • success page will have message saying “Reminder deleted. Taking you to home page in 3 seconds.”

    • error page will have message saying “Error in deleting. Please try again. Taking you to home page in 3 seconds.”


Example layout

<<----------------------------------------------->>


Back to Home


[ReminderName1] [Play control]


[DD][MM][YY] [Day]

[HH][mm]


[Frequency]


Save Delete


<<----------------------------------------------->>


Whole page should fit in nicely on phone screen with all controls visible without the need to scroll.

[ReminderName1] - editable text box – populated with system assigned name - limit on number of characters – how many?

[Play control] – triangle image maybe. No pause etc. Required since it is a small recording

Use any calendar control if available on iphone / android

[DD] – dropdown – values 1 -31

[MM] – dropdown – values January - December

[YY] – dropdown – values 2021-2050

[Day] – non editable? – need to change as per date

[HH] – drop down – values 0-23

[mm] – drop down – values 00,15,30 and 45

[Frequency] – drop down – One-time / Daily / Weekly / Monthly / Yearly

Validations required:

  1. List boxes should contain valid values with sensible defaults. Empty / no value should not be allowed.

  2. Synch date with day or vice versa. If someone changes day, date should move in forward direction.

  3. Prevent wrong date/time e.g. Nothing in the past, 31 april

  4. Consider boundaries (while assigning defaults etc.) e.g. today is 31 december


Settings page (http://192.168.4.1/settings)

Attributes whose value can be changed via this page:

  1. Device volume (First, while tuning speaker amplifier (fixing in hardware), check if max volume is not too low & min volume is not too loud)

  2. Device AP userid/pwd – validation e.g. Max 8 chars for AP userid/pwd, any special character not allowed?

  3. Internet router userid/pwd – validation?

  4. Radio station link

  5. Number of times to repeat reminder – drop down (0-3)

  6. To repeat reminder after X minutes – drop down (1-15)

  7. Version upgrade, update button


For 1-6, lables (having name of attribute along with any instruction e.g. volume scale) followed by editable text box.

There will be one save button at the bottom. When pressed it takes you to success/error page followed by home page. Success page will show message “Settings saved, taking you to the home page in 3 seconds”. Error page will have message, “Problem with saving, please restart device and try again. Taking you to home page in 3 seconds”.

#7 is a button itself. When pressed, it takes you to in-progress page. In-progress page will have a message saying “update in progress, will take approximately <> minutes”. When done, takes you to success/error page followed by home page. Success page says “Version update successful, taking you to home page in 3 seconds”. Error page says “Problem in updating version, please restart and try again. Taking you to home page in 3 seconds”.

A home button on top of the page. Whole page should fit in nicely on phone screen with all (or as many as possible) controls visible without the need to scroll. If scroll appears, put home button at bottom of page too.

Example layout

<<----------------------------------------------->>

[Back to Home]


Device Volume (0-10) [5] [Save]

Device userid [good listener] [Save]

Device password [petethecat] [Save]

Internet router userid [CuriePhoneSony] [Save]

Internet router password [sumeetsharma] [Save]

Radio station server [stream.live.vc.bbcmedia.co.uk] [Save]

Radio station url [/bbc_world_service] [Save]

Number of times to repeat reminder [3] [Save]

To repeat reminder after X minutes [15] [Save]

[Version update]


[Back to Home]

<<----------------------------------------------->>


  • There may be additional page for technical settings/variables e.g. SNTP server URL

This page may be hidden from the user?

  • There may be additional page for debug log – logging critical errors giving a hint of problem to developer even without connecting to computer

Future

  • Ability to play stored songs from SD card

  • Ability to schedule songs

  • Ability to schedule radio

  • Ability to edit reminders/upgrade software of any device from anywhere (assign device id)

  • A misc button. Misc button functionality is for later and can be customised for user. It may get some information from internet & display – continually refreshing it. When pressed again, display goes back to showing temperature.

  • There can be more buttons for future provisions

  • Battery power, micro usb charging

  • Soft shutdown feature to ensure minimal recording loss

No comments:

Post a Comment