Closed cingh-jasdeep closed 1 year ago
question is whether translations/transliterations are only available in continuous reading? or only available on long press? continous reading pros could help see meaning in continous reading maybe could set as option, or could totally avoid it avoiding it for now, as it could help in better Gurbani reading experience
idea is get assistance when you need it but try to stick to pure Gurbani whenever possible
this is current stand point
can change according to Sangat's demand
question next page turn on click on either side of page or show menu and then next page turn? (navigation needed in only when baani overflows the page) kindle use touch region based page navigation easier to have more text on screen but may not be elderly friendly,
one option can be 2 taps on either side of page horizontally, by showing small arrows, on single tap, (can also include support for double tap navigation, without showing menu which is naturally inferred from the ui, thanks Babaji :) ) this would show menu also, satisfy full screen readers as everything would go away on another tap anywhere on page that does not have any controls,
on long tap we would have Gurbani translations/transliterations options. this solutions seems
question is whether translations/transliterations are only available in continuous reading? or only available on long press? continous reading pros could help see meaning in continous reading maybe could set as option, or could totally avoid it avoiding it for now, as it could help in better Gurbani reading experience
idea is get assistance when you need it but try to stick to pure Gurbani whenever possible
this is current stand point
can change according to Sangat's demand
one problem could be for english/spanish users, for whom continous meanings might be a neccessity, as they would need meanings intitally to help understand the vastly different language. therefore settings should be available, but could be turned off by default to make it appropriate for most use cases. location should be inside common text options and can be made available on additional languages settings.
dark mode? in main actions or settings page? for e-ink app also may need.
main actions elderly friendly, more clutter may be not be satkaar friendly, , (as not main option, as mainly gurbani is on white only, sehaj,) definately eyes friendly (may not be in e-ink but def in mobile apps), elderly friendly def, multilingual friendly (yes)
may be not be satkaar friendly, but essentially we are making a reader, people can do it from other apps anyways, or settings also, that won't be elderly friendly, i think best
for mobile apps this should be in actions, as screens become much more eyes friendly. for e-ink we can put this in settings. but regardless we may need a settings icon as well.
for continuous update for app, from server, flutter might not be best choice. need this for being elderly friendly, also e-reader may have this option. may still be possible in flutter through app store and solve elderly friendly. can be researched furthur.
mockups started here https://github.com/Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-app/issues/4#issue-1186498136 , shall post updates in it's own issue
Colors themes:
Themes tailored to color displays
Themes tailored to black and white eink displays
main colors: need to follow material color guideline to construct these colors
motivation tips in each sections:
eg.
kirtanee friendly, gaviai suniai man rakhiai bhao dukh parhar sukh ghar lai jaye
sehaj paath friendly pothi parmeshar ka thaan
nitnem paath friendly nit uth gaavo prabh ki baani, gavoh suno paro nit bhai,
good but opiniated to baani can get more motivation tuks from other people like Giani ji. would like good :)
but have to be very careful not to misinterpret as many mahapurakhs have different meanings. maybe can keep as is for now. advanced level.
need logos or icons for
question is on long press gurbani whether to show all translations/transliterations or show only selected by reader
only
also, whether to give reader option to select if to show translation/transliteration alongside baani or on long press or both (default) multilingual friendly okay but could be a nuisance to see only one line meaning out of context would prefer word meaning. aim is to have reader read fluently and intuitively understand and love gurbani without getting confused in meanings
solution could be to have everywhere by default if the reader took the pain to turn it on in the first place -can give option on long press if reader does not want on long press
problem is word meanings might not available but we can make whatever we have first.
kirtanee friendly, sehaj paath friendly, nitnem paath friendly, eyes friendly, satkaar friendly, elderly friendly multilingual friendly (inclusive)
question is which db to use?
till now we have seen following features
Db/Feature | ShabadOS | BaniDB |
---|---|---|
Amrit Keertan | not available in stable (need more check) | maybe (in sttm.org) |
Shabad Kosh (punjabi) | not available in stable (need more check) | maybe (in sttm.org) |
baniDB needs extra permission is not available open source
kirtanee friendly, sehaj paath friendly, nitnem paath friendly, eyes friendly, satkaar friendly, elderly friendly multilingual friendly (inclusive)
which front end framework to use
Framework/Feature | KOReader | Flutter | Ionic Vue | Nuxt with Capacitor |
---|---|---|---|---|
performance | great | great | good | good |
custom ui | full custom | custom | custom with Tailwindcss | custom with Tailwindcss |
components | available | common available | common available | custom |
dev experience | no experience | have experience | no experience | some experience |
custom ui | possible | possible | possible | possible |
gurmukhi-utils and other gurmukhi js utilities | no | no | yes | yes |
tailwindcss for easy custom design | no | no | yes | yes |
themeswitching | yes | yes | yes | yes |
native features used
future features
going with Nuxt with Capacitor, babaji mehar rakhna ji actually just realized that capacitor would not be ideal for embedded devices main objective was to create software foo eink tablet not
flutter looks like the best option right now considering it's embeddable options dhan Guru Nanak Dev Sahib ji
saw more frameworks, ui for embedded frameworks, but found flutter to be best in terms of code, performance and usability just need to have basic layouts without animations.
Software research:
notes left in project repo https://github.com/Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-project/blob/main/FlutterStateManagementNotes.md
kirtanee friendly, sehaj paath friendly, nitnem paath friendly, eyes friendly, satkaar friendly, elderly friendly multilingual friendly (inclusive)
Flutter research to make it e-ink friendly
no sliding
no animations
no shadows
simple colors
kirtanee friendly, sehaj paath friendly, nitnem paath friendly, eyes friendly, satkaar friendly, elderly friendly multilingual friendly (inclusive)
Let's make basic design of app first, skeleton type then get review from a designer like Bineet Kaur Didi and get an overhaul.
App icon
idea is to be to have a book design with ik oankar symbol
kirtanee friendly, sehaj paath friendly, nitnem paath friendly, eyes friendly, satkaar friendly, elderly friendly multilingual friendly (inclusive)
inquiry format
Sat Sri Akal Ji, Dear Sir/Mam,
We are a startup company in India, looking to offer an eReader for religious texts (Gurbani). We are in the early development stages and looking for a 6" touch screen eReader hardware device with the best possible configuration in the price range of 40 to 50 USD (around 3000-4000 INR). We require the following features for this device:
Could you recommend the best possible configuration for this price range? As we are in the early development stages, we cannot commit a quantity number, but we need to create a crowdsourcing campaign for the same, for which we would need hardware specifications.
We would also want our own custom software to be run on the device. Therefore, please provide a software framework to make a custom application for this hardware.
We have a draft of the UI for our reader app https://app.diagrams.net/#G15RUhQ4bt3QCMc0xWWcJ3oDmeWlkjAWJo
Looking forward to your reply.
Thank you for your time and consideration. Jasdeep Singh cingh.jasdeep@gmail.com +917710946959
essential hardware features:
extra if available
hardware review:
Supplier/Reviews | Onyx/boox |
---|---|
Min Price | 125 USD |
kirtanee friendly, sehaj paath friendly, nitnem paath friendly, eyes friendly, satkaar friendly, elderly friendly multilingual friendly (inclusive)
hardware review:
Supplier/Reviews Onyx/boox Min Price 125 USD
got message from supplier need to check if it would be compatible with flutter. price range is good. need to ask for cases.
draft: reply to shenzen diyan Hello Candy,
Thanks for your reply.
Can you kindly confirm the following features for this device?
Does this device have a touch screen?
Does this device support custom software? if yes, can you give a link to SDK for application development?
What is the expected battery life of this device? (for example, does it last 2 weeks when used for 2 hours daily?)
Does this device support a protective case accessory? if yes, is it possible to have a custom design for the protective case as well?
started software notes in Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-project#6
understanding kickstarter and it's complexities of hardware manufacturing.
as hardware specifications can help build a better software product but fortunately that device had arm on it. so work in flutter is not waste but it's good to know what you shall be facing! babaji, let this be your work and let my intellect follow.
started hardware research Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-project#5
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji
Researched database options, queries, overflow page view widget, Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-project#6
Updated mock for "Open Shabad In" Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-app#4
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji
Explored options for database Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-project#6
started translation keys for all labels https://github.com/Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-app/tree/master/assets/locales
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji
Continued with translation keys for all labels https://github.com/Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-app/tree/master/assets/locales
Updated mock diagram
Researched Gurbani DB more Research Gurbani Fonts, Gurmukhi-Utils for labels,
Waheguru Ji Mehar Banayi Rakhna Manukha Janam safal kara lena jio Ghaal khaye kara laina, cheet nirnjan naal kara laina, apni bhagti la laina, shabad naal jor laina ji,
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji
Welcome Gursift Kaur onboard :smile: Today's objectives
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji
Starting today on this project again! Idea is same
==-==-==-==-==-==-==-==-==-==-==-==-==-==-==
==-==-==-==-==-==-==-==-==-==-==-==-==-==-==
kirtanee friendly, sehaj paath friendly, nitnem paath friendly, eyes friendly, satkaar friendly, elderly friendly multilingual friendly (inclusive)
Guru Sahib ji kirpa karan
Plan is to have a software ready in 2 months (by July 22, 2022) the shortest way for this would be "nuxt + capacitor" & Then hardware research in the next 2 months (by September 22, 2022) & then a kickstarter proposal in the next 1 month (by October 22, 2022) (ending in a month's time by November 22, 2022) if project is a success, ideally should give a lead time of 2 months to customers 1 month to come to india and 1 month for installing, packing and shipping.
Coming to current tasks we have to make Gutka Sahib UI very comfortable with Nuxt+tailwindcss right now works best on my hardware too
for this stack have we have few options for linux app https://ultralig.ht/ https://tauri.studio/
may need to have shared codebase
clearly a nuxt+tailwind app can be built
but native apis such as storage, brigthness need to be platform specific and tauri and ultralight are not just plug and play libraries!
we need to build linux app (if ereader is linux) android app (for sure) ios app (for sure)
best options we have currently capacitorjs for mobile capacitorjs + electronjs for linux (may not be performant)
flutter for all (performance not issue but framework not as friendly)
tauri for linux (lightweight) (have mobile in future) capacitor js for mobile with shared code (maybe through npm)
let's go through architecture of tauri web could really help us
if tauri not look good we can shift to capacitorjs capacitorjs looks fine for now, because
primary app is for ereader (which could be linux or android) linux: electron, flutter, tauri, ultralight, capacitorjs with electron module android: flutter, capacitorjs
let us create a project document. then try to follow that never mind basic flow is we have 2 document this one and then mocks diagram, we should put both in top
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji By Waheguru Ji's grace
Today worked on Version 1 - Create App #6
Task 1: Project Setup setup capacitor
more to come setup gurbani database setup capacitor storage setup theme swapper with primary colors from material palletle setup firebase
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji By Waheguru Ji's grace
Today I worked on Version 1 - Create App #6 Task 1: Project Setup
setup capacitor storage
setup i18n
setup tailwind
setup theme swapper with primary colors from material palletle https://github.com/crswll/tailwindcss-theme-swapper
setup brightness
setup splashscreen
setup firebase
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji!
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji
By Maharaj's grace starting on this project today May Waheguru Ji guide me in this quest to bring better electronic Gurbani experience.
==-==-==-==-==-==-==-==-==-==-==-==-==-==-== เจเฉเจฐเจฌเจพเจฃเฉเจเจพเจตเจนเจญเจพเจเฅฅ เจเจนเจธเจซเจฒเจธเจฆเจพเจธเฉเจเจฆเจพเจเฅฅ ==-==-==-==-==-==-==-==-==-==-==-==-==-==-==
Basically, an electronic gutka sahib that is kirtanee friendly, sehaj paath friendly, nitnem paath friendly, eyes friendly, satkaar friendly, elderly friendly multilingual friendly (inclusive)
Waheguru Ji
Today worked on
couple listed below both android but price is on higher side
need to wait if a device is available at lower cost
for banidb we can download db and make available but db update needs to be available every 90 days could be possible if we have wifi all database is available https://www.banidb.com/tos/ and at least 20 contribution needs to be made monthly https://support.khalisfoundation.org/support/solutions/articles/63000258094-banidb-editor-sign-up-instructions
for shabados we don't have amrit keertan but rest of it is available there haven't been many updates lately https://github.com/shabados/database/commits/main but it is open source and easily downloadable
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji ๐
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji
today starting to create a banidb db downloader.
Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji
today working on banidb downloader https://github.com/Gurbani-Is-Jag-Meh-Chaanan/banidb_downloader
need to work out schema from JSON output https://api.banidb.com/v2/api-docs/
and then create database file.
==-==-==-==-==-==-==-==-==-==-==-==-==-==-==
เจเฉเจฐเจฌเจพเจฃเฉเจเจพเจตเจนเจญเจพเจเฅฅ เจเจนเจธเจซเจฒเจธเจฆเจพเจธเฉเจเจฆเจพเจเฅฅ
==-==-==-==-==-==-==-==-==-==-==-==-==-==-==
Initial features
for feedback, need a system,
if many sangat ask for a feature update may be able to push that update, to physical devices also, with minimal fuss could have many tech features but priority is easy ux, as many elderly would likely adjust rather than complain -eyes friendly, (exclusive software features for app only, no animations, ) -satkaar friendly, (beautiful hardware covers, software borders) -elderly friendly, (font size and ui in different languages)
Prototype creation
1st would be
then hardware
beautiful machine needed
okay then let's begin, see if hardware available easily, if not let's start
let's begin software, which platfrom? flutter as it is availble on web, android, and embedded
Basically, an electronic gutka sahib that is
current mockups
https://app.diagrams.net/#G15RUhQ4bt3QCMc0xWWcJ3oDmeWlkjAWJo
common features
display options
display options settings, on tap, s how modal for toggle between dark, light, auto, system, also option to adjust brightness, adaptive according to platform with system setting, show system brightness or without system setting, give option to adjust brightness
text options
text options change according to context (Sainchi, Baani, Shabad, list, homepage) (can share few properties amongst context, such as main-language, margin, line height etct)
Common text options
Bani text options
baani length (example, different Rehraas Sahib length)
search
shabad search would be available on all pages, to quickly find a Gurbani shabad (from multiple compositions) (search available by meaning, word or first letters) (multilingual if available) (eg. hindi, urdu meanings may not be available)
bookmarks
can mark any line as bookmark (preferably on long press) bookmark shall be shown according to context (Sainchi, Baani, Shabad)
history
all history automatically recorded for easier recall (kirtanee friendly, elderly friendly, paath friendly)
elderly friendly
kirtanee features
-amritkeertan view -want to see shabads in one screen, most important, -meanings on screen not priority, -want to see previous shabads easily, -want to see previous position in baani, especially asa di vaar, -easily search additional shabads on all screens, especially when on one screen, (but may not be practical for himself, as already on harmonium, people would do for him/her, ideally need 2 displays, a multi view,)
-not a major use case for us but most important is seeing shabad on one screen and always on display
sehaj paath features
paath friendly
eyes friendly
satkaar friendly
special thanks to following inspiration, without whom this wouldn't have possible
Image Credits
Hari Singh from Ilford, Essex, UK - Gutka 3 J Singh - originally posted to Flickr as _DSC0172-01
Source Code credits