Stanislav Brabec wrote:
Jake Thebault-Spieker wrote:
I've been working on coming up with ideas that Angstrom could use for it's
Google Summer of Code application. These are the ideas I came up with, some
of which were suggested by some people in the community(I think mickeyl,
possibly others as well).

The ideas are:

First time install wizard/config wizard:
        -Walks through initial configuration/includes explanations
        -More Timezones
        -Pretty-fied to me more user friendly
GUI package manager
        -One that functions(doesn't crash when trying to install more than
one package)
        -Maybe w/ opkg

These two projects may be useful, but I guess that they are too minor
projects for SoC. You can even grab parts of code from other projects.

GUI installation tool(from NAND?)
        -For ease of install
        -Is this possible?

Do you think extensions and improvement of u-boot to become generic
installation tool?

I like this idea, again, I don't know enough about u-boot and the built-in bootloader(on the Z) to know if this is feasible/possible. I'm coming at this from the perspective of someone who doesn't know very much about the inner workings of the booting process in a Z.

GUI network config(smart)
        -Only configures interfaces it detects, non-generic
        -Easy for beginners, so as not to get confused

I guess we don't need yet another GUI tool on top of broken networking
design. ifup/ifdown works well for static networks, but has no support
for dynamic environments and there is nothing to replace it yet.

Implementing following (straightforward for beginners) complex scenario
needs much more than only GUI tool. It needs completely new design.

Imagine that you are sitting on your desk and you want to continue with
your work:

0. Ethernet cable was removed from the device. What to do now? (needs
   support for hotplug - already implemented)
1. Connect to private AP (implement searching of best fit default
   route)
2. Out out of signal? (implement signal monitoring)
3. Try to find any free Wi-Fi AP (implement WLAN network scanning)
4. If not found, fire up Bluetooth, check whether mobile phone and GSM
   signal are available (implement conditional actions and GSM modem
   support)
5. If yes, run pppd with on-demand GPRS networking (implement on demand
   networking and PPP support)
6. If not, go offline (implement Online/Offline signalling)

It needs general discussion before starting to implement:
- Should it be based on hal? And should be hal the technology for OE to
  go?
  If yes:
  - Should OE use upstream hal?
  - Should OE use cut-down hal version?
  - Should OE use uHAL (micro hal), small and device specific daemon
    providing device independent interface?
  - Should it duplicate design of NetworkManager (only one network
    active in one moment)?
- If no:
  - Should it use script based ifup/ifdown?
  - Should it use D-Bus to notify users about change?
  - How to solve huge overkill of any actions (fork, [unswap,] start
    shell interpreter, start binary, change setup)

There are several tools, which try to do the same, but none of them is
really usable on PDA:

- NetworkManager: Needs too much memory for mobile devices, has strong
design limitation (only one network active in one moment) and cannot be
the only networking solution provided for the device.

- GPE networking setup: Helper for ifup/ifdown. Can be improved to work
well for static setups. Has design limitation, which does not allow
dynamic definitions.

- WPA supplicant: Specialized application. Has D-Bus support to notify
about changes in WLAN networks. Future design of wireless networking in
kernel will require similar daemon running. Can be part of future
design.

Any feedback would be appreciated. I don't know if this is functionality
Angstrom is looking for, but it's what I came up with.

I can image two projects:

- HAL/D-Bus integration for mobile devices

- Make GPE really usable

Wow, you've put way more thought into this than I have, obviously. My question about the two options, or, more specifically the second one is this: Does making GPE usable really fall under the jurisdiction of Angstrom? Or is that an upstream an issue?


HAL/D-Bus integration for mobile devices

Do some benchmarks and make a decision regarding to HAL (see above).

Customize, implement or design and implement specific D-Bus interfaces
needed for portable devices:
- Network hotplugging
- Card swapping
- Screen rotation
- Backlight control
- Maybe phone interface communication
- Maybe positioning device interface
- Maybe camera interface
- Special keys launching special actions
- Headphones handling
- Remote control
- IrDA control
- Idle, auto sleep, sleep blocking
- Stylus

Most of these proposals already exist from notebook world. Some of them
needs to be created.

Benefits of such design:
- Reuse of existing design will allow to use conforming applications
  without porting
- Applets don't need to poll to get status updates
- Control can be done from command line or other applications without
  confusing of applets
- No problem with permissions


GPE

GPE may be improved in many ways:

- D-Busify GPE (see above).

- Fix things broken by design (for example GPE applications menu issues
  system wake-up 10 times per second for no reason).

- Fix usability with and without stylus.

- Design new space saving widgets.

- Fixes of GTK+ regarding of fixed spacing.

- Fix unusable applications.

- Fix failures.

As you've pointed out, it looks like like a lot of the things to make GPE usable fall under the d-bus option. I don't know that much about D-Bus, but I'm looking into it.

As a student, I'll probably be applying for these ideas, so I want to make sure I understand them.

I was not considering ideas on a deep enough level. The ideas I came up with were really just high-level issues that I've seen/heard about regarding Angstrom, I seemingly didn't put enough thought into what these ideas would entail. I like the D-Bus idea, but it seems like it's duplicating a lot of work(albeit on a system that may be broken), just using a different mechanism. Is that what we want to be spending time working on?

--
Jacob Thebault-Spieker
Cell: (207) 717-5114

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Angstrom-distro-devel mailing list
Angstrom-distro-devel@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel

Reply via email to