meta data for this page
System-wide desired features
This is a list of features that would be nice to gradually become integrated into Mobian.
Please do not only add things! Check the already existing content and update it!
If something has been implemented delete it and add a comment about it. If there is a workaround make a comment as well.
Geolocation
- AGPS data loading for faster/more reliable first fix. Privacy SUPL server(no supl.google.com) https://old.reddit.com/r/privacy/comments/cldrym/how_to_degoogle_lineageos_in_2019/
- gpsd compatibility for those applications needing it.
- GPS/location toggle and settings link in pull-down with WiFi, Bluetooth, and telephony in settings tray
- easy option export into clipboard of human readable and usable GPS coordinates from settings tray icon or settings options
- until geolocation is installed out-of-the-box incude install script or package vs requiring users to follow wiki for several incompatible versions
Hardware-related
- Consider how to integrate pogo-pin add-on or on board future LoRa radio and related services(now on Pine64 agenda) into Debian mobile devices, consider integrating Othernet.io(uses LoRa over TV satellite considering LoRa local networks) or other service satellite data RX-only (possibly requiring a receiver and bare LNB or dish at edges of service); as well as disaster.radio terrestrial grid-down LoRa mesh network.
- Consider and document easy to use add-on hardware API for notifications, starting apps or scripts, and messaging
- System-wide hardware access layer for Video, audio, and 3D acceleration optimization to play up to HD media files and streams.(currently possible by app ie Clapper, may need expert tuning work on power savings)
- Boot from internal emmc even with non-bootable media microSD in slot(currently gets red no-boot light with mobian-pinephone-phosh-20210421).(partly fixed with towboot)
- Swap, RAM, GPU, and CPU over/under-clock settings with threshold values to power up/down cores GUI with recommended presets to optomize different situations.
- Consider IR blaster(simple pogo pin add-on) read & TX gui (config downloads from websites & gits hosting config libraries for many TVs and devices).
- USB 1 and 2 speeds and forced boost(5v power out) in both host and client modes (useful for forcing host to boost can be used to charge other devices and other hacks and backwards compatibility)
- USB client modes in Settings menu including USB paranoid charging(default, safe, no data of any kind except charging negotiation, spoof ID?), LAN networking, webcam, tty console, virtual USB modem, and share via MTP and/or mass storage /home, and/or /media dirs, etc
- Consider a smart way to enable a USB flash drive mode, for example toggle mount and make available through the USB port/cable an .iso of Boot Repair CD to repair a desktop machine
- AT modem commands GUI to do things like clone IMEI from a telephone which is authenticated to a SIM
Internet, Networking
- Openvpn gui in network settings.
- TOR proxy toggle in network settings
- SSH setup UI (enable, import public keys, enable/disable password authentication).
- Integrate torrent and magnet downloads in file manager to select and prioritize or deselect individual directories and files in the torrent as required.
- Integrate VNC server and possibly viewer into OS and settings.
- consider on-device local DNS cache option for privacy, alternative DNS services, or ISP DNS failure
- toggle between default ISP DNS servers or preferred privacy DNS servers
- Check on-internet status with non-google privacy aware captive portal detection, consider a static non-https address at mobian-project.org similar to http://httpforever.com/
- Easy GUI for AP and client mode in network settings USB cable network, Bluetooth PAN toggle, and
WiFi tethering - Automated tethering script for bluetooth Personal Area Network-Network Access Point profile as implemented here:(http://wiki.maemo.org/Bluetooth_PAN), Mobian work happening here: https://forum.pine64.org/showthread.php?tid=16343 Needs UUID profile for network access point
Mobile daily driver features
Power consumption
- Optimize power consumption, highest priority. - Upgrade to Megi's kernel 5.12 or 5.13?(need Megi kernel install guide in wiki, consider adding forked kernel script to unstable repos)
- Theme GUI to easily enable theme tweaking to reduce battery usage.
Set screen brightness even lowerFixed in upstream.- review and implement or rebuild Maemo5 power consumption tools and techniques https://wiki.maemo.org/N900_software_power_management especially upgrade https://wiki.maemo.org/Zzztop and include in repos include relevant headings and information from Maemo5 wiki to Mobian wiki
Audio
- Fix hiss/whine noise present whenever audio hardware is activated.
showing volume box popup on screen when using hardware volume keys, similar to desktop gnome (https://source.puri.sm/Librem5/phosh/-/issues/33)Fixed - transparent fullscreen window displays volume changes.- Play amplified DTMF tones to speaker for phone contacts to auto-dial over old land line and pay
- Fix general sound volume that’s not loud enough (preventing user for not hearing sms notifications, for example).
Telephony, Contacts, and Messaging
- SIM card toolkit for SIM apps.
- Integrate incoming caller ID and phone number into contacts to block unwanted callers and give individual ring tones.
- Easy import of telephone spam blacklists to caller blocking.
- Include contact vcard contact sharing via SMS, NFC, QR code, IR blaster, Bluetooth, email, and IM services.
- Integrate SMS and Pidgin IM and plugins into OS and main settings for unified messaging(and shared navigation) and file share experience.
- Consider how to integrate POCSAG paging rx only into OS for messaging as well as near instant callback from powered down modem using paged phone number.
- Ringer/Status profiles with options to also set IM status(including location or media playing) and possibly other system settings including select radios and cameras software off.
- Background or Push notifications for most IMs without running heavy desktop applications at all times (e.g. Signal, Telegram). Workaround solution: Notifier daemon
- Trigger answer/hang-up when bluetooth/wired headset button is clicked, also disable multimedia pause/start from triggering when phonecall ringing/call is active(currently the headset phonecall button only triggers multimedia start/stop even during phone calls and ringing)
Screen and UI
- Faster poweroff of display in lockscreen (If accidently pressed the power button).
- Blue filter/night mode (was working already, removed by regression, will be worked on: https://source.puri.sm/Librem5/phosh/-/merge_requests/261).
- A way to kill the main window, especially when input is not responsive and one cannot click the “application drawer” icon, a bit like xkill? (maybe using hardware buttons, long-presses or double/triple-presses).
- Application-splashscreens for long loading GTK windows (firefox, etc) that give launch-feedback and prevent focus steal when doing something else in the meantime.
- More complex drop down menu that includes GPS toggle, flightmode toggle,
maybe the torch(it is there, but it is not functional), blue filter (like redshift, or Plasma Mobile option), screenshot, etc. Also, allow toggle active-inactive ofWi-Fi,Mobile Dataand Bluetoothwithout needing to launch Settings. - Drop-down menu accessible from lock screen.
- Swiping support for top and bottom menus (https://source.puri.sm/Librem5/phoc/-/issues/82).
- Swipe gesture to pull down notification bar.
- Clear all notifications button in phosh. Clear individual notifications icon like in Plasma-Mobile.
auto-rotate the screen from portrait to landscape, and vice-versa depending on orientation. (https://source.puri.sm/Librem5/phosh/-/merge_requests/434)Fixed.- Split-screen mode.
- Change resolution in Settings (https://source.puri.sm/Librem5/phosh/-/issues/140).
- Option to change window size to full screen/fit screen. Maybe graphical version of x, maximize. Using xdotool as workaround, but messy. Landscape command currently playing with:
x=${xdotool search – onlyvisible – name Name-of-App) && xdotool windowsize $x 725 270 && xdotool window move $x 0 50
- instead of an all app launchers desktop make desktop user configurable with launcher and shortcut icons as well as widgets
- night mode(red mode) with variable screen 'temperature' and optional 'sunrise' and 'sunset' times as video drivers permit
- locked phone gestures like the 'chop chop' implemented on Motorola phones to easily activate the illumination/flash LED
- include script to switch to compensated window size/zoom on switching to non-mobile apps in Phosh, otherwise mobile apps suffer when soom is set to permit use of some desktop apps in 'tiny font' mode
Keyboard
- Letter popup on keyboard.
- Control over haptic feedback level during typing.
- Ability to enable clicking sounds when typing.
- Swype keyboard (https://source.puri.sm/Librem5/squeekboard/-/issues/52).
- A full virtual QWERTY keyboad like Hacker's Keyboard for Android.
- Disable onscreen keyboard when connecting a bluetooth or USB keyboard (also the keyboard cover).
- Better terminal keyboard layout,
with a ctrl key Added to squeekboardFixed. CAPS LOCK for keyboardPressing Shift twice functions as Caps Lock.- include esc, spacebar, enter, and backspace swipe gestures, perhaps also arrow key gestures(gyro tilts?) if possible to control keyboard event controls like pause etc
General
On the power button menu adding a reboot ( restart ) optionAdded as of July 26, 2020.- Wake up on Alarm clock - Currently Wake Mobile can be used instead.
- Disable proximity sensor when not on a call (https://source.puri.sm/Librem5/calls/-/issues/127).
Don't enter airplane mode every time wifi is turned offFixed.- System wide ctrl+c/v (might help: https://source.puri.sm/Librem5/squeekboard/-/merge_requests/345) - Can be achieved in most cases with squeekboard.
- Alphanum-PIN/Password (https://source.puri.sm/Librem5/phosh/-/issues/97).
- Auto-connect to known Wi-Fi networks, with priority determined by signal strength (currently seems to prioritize previous connection).
- Anbox support built in or optional but integrated into system as well as making installed Android apps act like system apps as much as possible.
- Bluetooth HFP car kit secured only including loading contacts access if permission granted and/or grant permission only to HFP selected contacts.
Filesystem: F2FS supportAdded upstream.- Filesystem: NILFS2 support.
zramAdded.- An installer, where we can add own user etc.
- Share via bluetooth, SSH, FTP, SMS, MMS, IM, and other plugins in system file manager.
- Easily view and interact with remote SSH, FTP, SMB, Bluetooth, and other connected remote directories in system file manager.
- Integrate navigation with messaging to make collaborative navigation and meet-ups easy.
- GUI to use accelerometers as a joystick/yoke, consider mapping spots and ghosting them over the video on screen for 'buttons' to play standard Linux keyboard games and emulator games.
- Consider and negotiate standardized way to interface with PineWatch in cooperation with other Pinephone and PineWatch OS devs
- Consider merits and drawbacks of an easily toggled on/off web interface to allow easy configuration of the mobile device from any desktop machine via either BT network or LAN
- include all repos including unstable commented out to ease users 'fat-fingerin' errors changing repo from phone's keyboard.
Security
- Application sandboxing using firejail.
LUKS encrypted system (PostmarketOS does this via ondev installer [uses Calamares]; this can be easily adapted to Mobian)Added in installer images.- Same or equivalent features to be found in Tails OS eg random MAC address; push all data (not just browser) through the Tor network; and so on.
- User configurable panic and/or paranoia modes, preferably via a hardware key combo to either call for help and send distress signals and/or lock down system, possibly delete/encrypt selected folders, and present a limited vanilla android-like 'time waster' UI without useful access.
Easy whole disk encryptionincluding backups.- Automated or prompted backups via service, USB and SD media, or over LAN.
Core Apps
These apps already are in some form or can be tightly integrated into the system UI to the point where if we choose would become the primary apps for their purpose, while still allowing use of other apps for same functions; as tightly bound to the user experience as things like the settings UI or software repository browser. With a focus on privacy design with a preference for maximum functionality even when unable to access the internet or telephony/data should be considered. Consideration of maximizing interoperability with Apple and Android OSs and popular apps while still choosing our own best path as a primary consideration. (priority below core functionality)
Calendar and Clock
- Current calendar can use MS Exchange protocol to sync appointments found in Google Mail but (not)Protonmail http://wiki.maemo.org/Sync
- Show clock alarms in calendar
- Show calendar appointments or day page when popping up clock
- send calendar/clock events and if set pre events(o time, standardized(ie 30 min before every event), or custom set for event pre-event alarm time)to system notifications for including to smartwatches or other uses from that API
- Countdown timer(s) no-name(included) or named custom with option to save for reuse
- easy/quick add named or no name new alarm events one off, repeating and customized to days of the week(consider also months or from date-1 to date-2 options with toggle in settings) from calendar display or alarm clock ui
- easy travel time zones clickable map or search by city for second clock display for out-of-town and home(implemented in clock)
- consider an 12 and 24 hour face analog clock with optional second time zone or 'GMT' hand
- consider importing of watchface files from Pinewatch Pebble etc to mirror appearance of user's smartwach or making reskinning clock easy if desired
- consider a 'desktop' widget for clock and calendar similar to android
Camera/video record
- easy QR code reader to launch web browser, navigation, wifi settings, bitcoin wallet or other link
- optimize experience to phone/camera hardware, consider/discuss button combination or Morse code clicks to quick open camera app for fast shots
File Manager
- SU and user mode access
- easy link to vi or gedit like text editor
- easy mount of SSH, FTP, samba, online storage, etc shares as folders in UI
- integrated zip/unzip with various tar/zip formats including encrypted
- uses systemwide share options
- two window mode option like midnight commander
- option to auto-mount password protected SD card on boot/insert with saved/hashed password
- POP3 IMAP(already included)
- Integrate as a share option to easily attach files and media to an email
- easy integration and sharing of GPG/PGP messages, public keys, and signing
Messaging
- Use of libpurple plugins simplifies most all messaging protocols into system messaging client(see messaging in apps in wishlist)
- IM messaging integrated into system UI in same way as SMS protocol
- consider and decide upon protocol to use over messaging to share user, reference, and destination locations including moving 'targets'
- consider how to use future add-on hardware like LoRa, mesh networking, or POCSAG paging for offline messaging
- Consider possibilities of encrypted phone to phone sneakernet and/or fidonet like networking via WiFi/bluetooth or other for locked-down regions or countries and/or during extended power blackouts(like Briar or Hong Kong protesters using P2P Bridgefly bluetooth IM network(Bridgefly is not recommended tech))
- consider integrating an easy LAN or bluetooth bridge sharing selected contacts to allow a desktop or laptop user to send and receive SMS, incoming caller ID, or other IM communications through a Debian Mobile device using the Bonjour protocol(found in standard Pidgin IM installs) https://github.com/titilambert/HeySms
Multimedia
- current Totem based multimedia player does NOT play many formats
- Multimedia integrated into system UI
- auto mute and pause of media when nav and messaging give audio prompts
- consider plugin based player like Kodi with added back, enter, and esc keyboard signals through 'ghost buttons' on screen or gestures and customized skin to match system UI(Kodi is already in unstable repos and can play most formats(as opposed to current system video player) of video from file system as well as use streaming plugins, scaling and esc, backspace, enter key is still issue as popup keyboard rescales Kodi UI)
- consider include a audiobook/podcast mode with long(60sec) and short(10sec) skip buttons bookmarking, lockable or safety unlockable pattern(sleepy-bumble fingers) slider bar and UI, auto save of progress and easy play-list building from numbered files and play-whole-directory for multi-file books
- easy playlist generation GUI
- fully integrate A2DP controls and features
- easy API to control media on external devices like smartwatches and receive playing info
- big icon simple interface option for driving/piloting a vehicle
- optional pause/play on unplug/plug-in of wired audio jack(ie. headphones) or pair/unpair of bluetooth audio
- Reference VLC for maximum playable file formats
- review most efficient way to use hardware acceleration vs CPU to save battery
- consider how to include toggle-able FM transmitter settings into UI for users who add or use this OS on FM transmitter equipped devices(ie Nokia N900 or Pinephone with I2C FM tx pogo addon)
- 3D goggle mode for people playing 3D movies using phone display for VR goggles (ie google cardboard)(already in Kodi)
- trigger multimedia 'pause' on incoming telephone call
Navigation
- Nav integrated into system and messaging UI
- Nav API to send notifications to system as well as external devices like smartwatches
- voice notifications including when device is in sleep mode
- consider and decide upon protocol to use over messaging to share and update user, secondary reference, and destination locations
- consider way to save, edit, create, import, export, and share 'pinned' or save locations, and tracks as well as pin tracking of another users sharing movement in realtime for meet-ups
- consider how to import and convert 'pinned' location saves and real time location tracking form other apps and other OSs
- easy export into clipboard of human readable and usable GPS coordinates
- OSM and other maps/satellite overlays download GUI for safe offline mode
- consider including dump1090 SDR ADS-B to allow users waiting at an airport to watch aircraft approaches until a passenger or GA pilot can turn on their phone and share location
- consider including VOR from RTL-SDR receiver
- consider importing aircraft chart formats
- Choose a modern FOSS(avoid legal issues) navigation app to use for a feature and UI reference(nominating OSMand~ from Fdroid https://f-droid.org/en/packages/net.osmand.plus/)
- consider basic and advanced UI modes, basic has a simple preferred UI with simple location search, preferred map, and easy start of turn by turn voice assisted navigation
- send pause request to multimedia apps and delay locking out of other audio for decided time(<1 sec?) to assure safe pausing of media before forcefully locking out other audio and sending voice navigation prompts
- Long term consider rough location via celestial navigation using camera(location of sun, moon, stars, planets) gyros hall sensor, and real time clock(low priority prestige function, possible quick bootstrap GPS when out of AGPS range)
- Reverse high contrast HUD(Heads Up Display like in military aircraft) to project a simple turn by turn heading arrow, distance, time, and next turn readable display onto windshield of a car for navigating at night
- use code from compass app https://forum.pine64.org/showthread.php?tid=14261 to include a TACAN display mode which displays heading and a pointer towards a GPS 'pin' reference or destination point
Voice Assistant
- Consider a UI and experience tightly customized to the Debian Mobile experience based upon Jarvis project components https://github.com/sukeesh/Jarvis
Web Browser
- Firefox or Firefox based ie iceweasle (Webkit is getting old and doesn't always render)(Firefox is current bundled browser, has UBlock plugin installed)
- If Chromium(FOSS Chrome fork) is chosen only build from the Ungoogled Chromium Extensions fork https://github.com/Eloston/ungoogled-chromium with chrome store plugin installed but disabled https://github.com/Eloston/ungoogled-chromium
- consider forking from TOR-browser based on Firefox to enable easy safe toggle to use of TOR as require
- consider Bromite browser with minimal interface for mobile, fork from Ungoogled-chromium https://github.com/bromite/bromite
- include ublock origin plugin?(removable)(currently bundled with firefox)
- include privacy badger from EFF?(removable)
- easy QR code share plugin
- integrate long-press share into bluetooth, email, IM, SMS, etc
- easily configured User Agent to privacy spoof desktop and mobile website experiences
- switch to mobile UI if possible, current desktop UI suffers scaling issues
- privacy settings default to maximum privacy
- Consider forking Privacy Redirect plugin https://addons.mozilla.org/en-US/firefox/addon/privacy-redirect/ to when toggled automatically redirect form problematic websites to less problematic from a privacy standpoint mirror sites
- refine use of Open Street Maps website or if chosen Google, Apple, or Bing maps(etc) to import location links to navigation