Gurbani-Is-Jag-Meh-Chaanan / eGutkaSahib-project

eGutkaSahib Project
MIT License
0 stars 0 forks source link

Version 1 - Aim - To provide best Gurbani Reading experience on a digital platform ๐Ÿ™ #7

Closed cingh-jasdeep closed 1 year ago

cingh-jasdeep commented 2 years ago

==-==-==-==-==-==-==-==-==-==-==-==-==-==-==

เจ—เฉเจฐเจฌเจพเจฃเฉ€เจ—เจพเจตเจนเจญเจพเจˆเฅฅ เจ“เจนเจธเจซเจฒเจธเจฆเจพเจธเฉเจ–เจฆเจพเจˆเฅฅ

==-==-==-==-==-==-==-==-==-==-==-==-==-==-==

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
cingh-jasdeep commented 2 years 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

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years 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

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.

cingh-jasdeep commented 2 years ago

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.

cingh-jasdeep commented 2 years ago

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.

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

motivation tips in each sections:

eg.

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.

cingh-jasdeep commented 2 years ago

need logos or icons for

cingh-jasdeep commented 2 years ago

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.

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

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.

cingh-jasdeep commented 2 years ago

Software research:

notes left in project repo https://github.com/Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-project/blob/main/FlutterStateManagementNotes.md

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

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
cingh-jasdeep commented 2 years ago

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.

cingh-jasdeep commented 2 years ago

draft: reply to shenzen diyan Hello Candy,

Thanks for your reply.

Can you kindly confirm the following features for this device?

cingh-jasdeep commented 2 years ago

started software notes in Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-project#6

cingh-jasdeep commented 2 years ago

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.

cingh-jasdeep commented 2 years ago

started hardware research Gurbani-Is-Jag-Meh-Chaanan/eGutkaSahib-project#5

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

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,

cingh-jasdeep commented 2 years ago

Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji

Welcome Gursift Kaur onboard :smile: Today's objectives

cingh-jasdeep commented 2 years ago

Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji

Starting today on this project again! Idea is same

==-==-==-==-==-==-==-==-==-==-==-==-==-==-==

เจ—เฉเจฐเจฌเจพเจฃเฉ€เจ—เจพเจตเจนเจญเจพเจˆเฅฅ เจ“เจนเจธเจซเจฒเจธเจฆเจพเจธเฉเจ–เจฆเจพเจˆเฅฅ

==-==-==-==-==-==-==-==-==-==-==-==-==-==-==

Basically, an electronic gutka sahib that is

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

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

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

cingh-jasdeep commented 2 years ago

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

previously
currently
later

Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji!

cingh-jasdeep commented 1 year ago

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)

cingh-jasdeep commented 1 year ago

Waheguru Ji

Today worked on

couple listed below both android but price is on higher side

https://www.alibaba.com/product-detail/6inch-E-Paper-E-Book-Reader_1600652903878.html?spm=a2700.factory_search.0.0.57498f16RAOF6t

https://www.alibaba.com/product-detail/Handheld-E-ink-Book-Reader-High_1600755630162.html?spm=a2700.factory_search.0.0.57498f16RAOF6t

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 ๐Ÿ™

cingh-jasdeep commented 1 year ago

Waheguru Ji Ka Khalsa Waheguru Ji Ki Fateh ji

today starting to create a banidb db downloader.

cingh-jasdeep commented 1 year ago

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.