All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: Test clients for ofono: rfone, Unicsy Demo
       [not found] <20190219150638.GL5717@atomide.com>
@ 2019-02-24 22:46 ` Pavel Machek
  0 siblings, 0 replies; 3+ messages in thread
From: Pavel Machek @ 2019-02-24 22:46 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 4895 bytes --]

Hi!

> > >SMS messages should be handled in similar way e-mails currently are --
> > >stored in maildir or mailbox formats, and accessible by common email
> > >clients. Access by two or more clients at the same time should be
> > >possible. Of course, special GUI client should be provided to work
> > >with SMS (using same maildir backend).
> 
> That works nice based on my experiments over past few months :)
> The issues I've noticed so far are:
> 
> 1. There's no subject line for sms, so getting threading to
>    work needs some work with headers and some invented subject
>    line

I agree it is quite good fit, but there are more issues. It would be
nice to be able to handle calls in similar way, for example... and
delivery reports. I believe it is best solution, but it is not _too_
great fit.

> 2. Starting any scripting language (other than perl?) can be
>    super slow for sending sms for example.. Just starting ruby
>    to run a script to send sms with droid4-sms-tools takes
>    several seconds :) So yeah, sounds like rust should work
>    well here assuming it does not have start-up time and memory
>    bloatedness issues

Rust produces rather big binaries, but should be fast enough.

But... other scripting languages should not be too slow, either. Yes,
python is slow on N900 (but that's because I'm using gtk etc...) but
it is much better on Droid4. Maybe it is Ruby that is slow, or maybe
the pdu tools pull in a lot of code or something?

user(a)devuan:~$ time echo "3*3" | python
0.07user 0.03system 0.18 (0m0.183s) elapsed 57.43%CPU
user(a)devuan:~$ time echo "3*3" | python
0.07user 0.01system 0.08 (0m0.084s) elapsed 101.01%CPU
user(a)devuan:~$ time echo "3*3" | python3
0.14user 0.01system 0.17 (0m0.174s) elapsed 93.15%CPU

Ugh. Ok. Something is definitely wrong there. _Without_ background
load, python is actually slower:

user(a)devuan:~$ time echo "3*3" | python3
0.19user 0.02system 0.28 (0m0.280s) elapsed 77.84%CPU

yes > /dev/null gets it fast again:

user(a)devuan:~$ time echo "3*3" | python3
0.16user 0.00system 0.19 (0m0.193s) elapsed 84.19%CPU

Something wrong with power management?

Aha. But ruby is worse...:

user(a)devuan:~$ time echo "3*3" | ruby
0.46user 0.08system 1.09 (0m1.092s) elapsed 50.25%CPU
user(a)devuan:~$ time echo "3*3" | ruby
0.45user 0.06system 0.73 (0m0.731s) elapsed 70.22%CPU

> > >Simple text format should be supported for contacts -- probably as
> > >simple as number '\t' name. Many users will want something a bit more
> > >advanced, I'd prefer hierarchical structure offered by emacs "org"
> > >mode, allowing me to group contacts together. We should call external
> > >program to list contacts for us, allowing easy merging of contacts
> > >from multiple sources. "ph book" should provide the merged list.
> 
> I've been using just using ~/aliases file with the following
> format with ".phone" in the alias:
> 
> alias foo.phone Foo Bar <+1234567890>

So I already store my contacts in emacs org file... it looks like
this:

*** free Telecom
:PROPERTIES:
:VERSION: 3.0
:N: Telecom;free;;;
:PHONE: +420800123456
:END:

Advantage of org is that it is hierarchical. Anyway, I guess this
should be consumer of whatever phonebook format we give to it, as
different users may have different preferences there.

> > >There should be "ph primary" component responsible for calls and
> > >incoming SMSes -- mostly for actions not initiated by local user. On
> > >incoming events, it should play a melody. For calls, it should set up
> > >mixers, and display a window allowing user to manipulate volume,
> > >answer, reject and terminate the call. For incoming message,
> > >notification window should be displayed.
> 
> Yeah I wonder if something like this already exists.. And I wonder
> if this component should also take care of setting up clock
> alarms as at jobs or something?

While I would like to have solution for alarms and calendar, I believe
that's separate project. I do have working alarm clock in tui/10f,
but...

> For reference, here's what I'm currently using for notifications
> (droid 4 specific):
> 
> #!/bin/sh
> 
> cat /dev/motmdm1 | while read -r line; do
>         echo "${line}"
> 
>         if echo "${line}" | grep WAKEUP; then
> 		sudo rumble-test /dev/input/by-path/platform-vibrator-event 0xb000
>         fi
> done
> 
> Where rumble-test is Sebastian's tool for thw pwm-vibrator.

Hehe, quite clever :-).

> Or maybe any GUI you care to use :)

Yep, different people are starting to write more GUIs now. Hopefully
some of them survive, and hopefully we get some not needing 3d
acceleration.

Best regards,
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Test clients for ofono: rfone, Unicsy Demo
       [not found] <5c1f3935-3b97-745c-93ab-66dfb3583f8f@wizzup.org>
@ 2019-02-19 11:41 ` Pavel Machek
  0 siblings, 0 replies; 3+ messages in thread
From: Pavel Machek @ 2019-02-19 11:41 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 3943 bytes --]

Hi!

> > What ofono client are you using for development.. and for real usage
> > on a cellphone?
> > 
> > There are scripts in test/ which are suitable for early development,
> > but not really for real use or 'does everything work?' testing.
> > 
> > Anyway, I created some.
> > 
> > RFone -- https://gitlab.com/tui/tui/tree/master/rfone -- command line
> > tool written in Rust, by default monitors interesting events
> > (incomming call, sms, signal changes, registration changes), and has
> > command-line options for making/answering calls and sending sms. I'm
> > starting gtk support.
> 
> This looks like fun!

Yes, it is fun :-). But I'm a bit busy.

> > Is there any other software I should look at?
> 
> I am also wondering about this. For Maemo Leste we also want a gtk or qt
> (likely gtk2 for now) ofono phone UI, and I was also not able to find
> much. Would like it to be written in C, C++ or Rust though (not Python
> for performance and ram/memory usage concerns).
> 
> If we can agree on some general architectural/UI direction and goals I
> could try to help out. (In the end I probably want something that
> monitors ofono but is not shown all the time, as on Maemo Fremantle)

I agree that Python needs too much RAM; I tried with Vala, but I
believe Rust is really a better solution.

And yes, the long running stuff (ph monitor) should probably not
display window all the time, but work with the system tray to show the
signal. But I did not do too much investigation into that.

My design goals are described below. Help would be certainly welcome.

Best regards,
								Pavel

# Goals

One day, this should turn into "Unicsy Phone", phone support that
integrates well with the rest of the Unix system. Phone functionality
should be available both from command-line and from simple
GUI. Important data should be stored in plain-text formats that are
easy to access with common software.

SMS messages should be handled in similar way e-mails currently are --
stored in maildir or mailbox formats, and accessible by common email
clients. Access by two or more clients at the same time should be
possible. Of course, special GUI client should be provided to work
with SMS (using same maildir backend).

Simple text format should be supported for contacts -- probably as
simple as number '\t' name. Many users will want something a bit more
advanced, I'd prefer hierarchical structure offered by emacs "org"
mode, allowing me to group contacts together. We should call external
program to list contacts for us, allowing easy merging of contacts
from multiple sources. "ph book" should provide the merged list.

# Design

Non-GUI component should be responsible for maintaining call log and
incoming SMSes. History plugin in ofono can probably do this. Ideally,
GSM should go offline when this component fails, so that SMSes are
queued by the network.

There should be "ph primary" component responsible for calls and
incoming SMSes -- mostly for actions not initiated by local user. On
incoming events, it should play a melody. For calls, it should set up
mixers, and display a window allowing user to manipulate volume,
answer, reject and terminate the call. For incoming message,
notification window should be displayed.

"ph monitor" should be usable for monitoring phone status from the
command line, displaying current network and signal status, any
incoming calls and messages.

There should be a GUI component for doing actions for local user. It
should allow basic control (online/airplane mode, starting data
connection), allow placing phone calls (but audio will be controlled
and call window will still be displayed by "ph primary"), and sending
SMS messages.

								Pavel



-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Test clients for ofono: rfone, Unicsy Demo
@ 2019-02-14 10:11 Pavel Machek
  0 siblings, 0 replies; 3+ messages in thread
From: Pavel Machek @ 2019-02-14 10:11 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1173 bytes --]

Hi!

What ofono client are you using for development.. and for real usage
on a cellphone?

There are scripts in test/ which are suitable for early development,
but not really for real use or 'does everything work?' testing.

Anyway, I created some.

RFone -- https://gitlab.com/tui/tui/tree/master/rfone -- command line
tool written in Rust, by default monitors interesting events
(incomming call, sms, signal changes, registration changes), and has
command-line options for making/answering calls and sending sms. I'm
starting gtk support.

Unicsy Demo -- https://github.com/pavelmachek/unicsy_demo -- gtk phone
application meant for a phone, written in Python so a bit slow on
Nokia N900. But it has integrated phonebook, log of sms messages, is
fully graphical so possible to control from touchscreen, and actually
plays melody on incoming call. [Few GPL compatible melodies would
be good.] Quite basic, but should be useable.

Is there any other software I should look at?

Best regards,
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 181 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-02-24 22:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20190219150638.GL5717@atomide.com>
2019-02-24 22:46 ` Test clients for ofono: rfone, Unicsy Demo Pavel Machek
     [not found] <5c1f3935-3b97-745c-93ab-66dfb3583f8f@wizzup.org>
2019-02-19 11:41 ` Pavel Machek
2019-02-14 10:11 Pavel Machek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.