Meego Wiki
Views
From MeeGo wiki
(Difference between revisions)
Jump to: navigation, search
(About application development more specifically)
Line 1: Line 1:
 +
== Spotify on MeeGo ==
 +
 +
Download deb files:
 +
wget http://repository.spotify.com/pool/non-free/s/spotify/spotify-client-gnome-support_0.4.6.50.g0aa5286-1_all.deb
 +
wget http://repository.spotify.com/pool/non-free/s/spotify/spotify-client-qt_0.4.6_i386.deb
 +
 +
Get alien tarball:
 +
wget http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.81.tar.gz
 +
 +
Untar:
 +
tar zxvf alien_8.81.tar.gz
 +
 +
Install stuff to build alien:
 +
sudo zypper install binutils make rpm-build perl-ExtUtils-MakeMaker
 +
(there may be other dependencies, but these are the ones I needed)
 +
 +
Build and install alien:
 +
perl Makefile.PL; make; sudo make install
 +
 +
Convert Spotify debs to rpms:
 +
sudo /usr/local/bin/alien -r spotify-client-gnome-support_0.4.6.50.g0aa5286-1_all.deb
 +
sudo /usr/local/bin/alien -r spotify-client-qt_0.4.6_i386.deb
 +
 +
Install RPMs (ignoring errors):
 +
sudo rpm -i --nodeps spotify-client*.rpm
 +
 +
== Platform documentation suggestions ==
== Platform documentation suggestions ==

Revision as of 22:30, 12 July 2010

Contents

Spotify on MeeGo

Download deb files: wget http://repository.spotify.com/pool/non-free/s/spotify/spotify-client-gnome-support_0.4.6.50.g0aa5286-1_all.deb wget http://repository.spotify.com/pool/non-free/s/spotify/spotify-client-qt_0.4.6_i386.deb

Get alien tarball: wget http://ftp.de.debian.org/debian/pool/main/a/alien/alien_8.81.tar.gz

Untar: tar zxvf alien_8.81.tar.gz

Install stuff to build alien: sudo zypper install binutils make rpm-build perl-ExtUtils-MakeMaker (there may be other dependencies, but these are the ones I needed)

Build and install alien: perl Makefile.PL; make; sudo make install

Convert Spotify debs to rpms: sudo /usr/local/bin/alien -r spotify-client-gnome-support_0.4.6.50.g0aa5286-1_all.deb sudo /usr/local/bin/alien -r spotify-client-qt_0.4.6_i386.deb

Install RPMs (ignoring errors): sudo rpm -i --nodeps spotify-client*.rpm


Platform documentation suggestions

(based on a list provided by Bob Spencer)

These are suggestions for component-based tutorials

Comms Services

  • BlueZ
  • ConnMan
  • oFono
  • telepathy

Internet Services

  • Webkit
  • libSocialWeb (glib)
  • geoclue / gypsy

Visual Services

  • EGL
  • OpenGL 2.1
  • OpenGL ES 1.1
  • OpenGL ES 2.0
  • GTK
  • Clutter

Media Services

  • gstreamer
  • PulseAudio
  • GUPnP

Data Mgmt

  • Tracker
  • ContextKit
  • PackageKit

Device Services

  • libDSME, QMSystem
  • System Policy FW
  • sensord
  • System Info (varied libraries)

Personal Services

  • Accounts & single sign-on: accounts-qt / signon-qt
  • Buteo

Base Libraries

  • libudev
  • glibc (POSIX)
  • GConf / DConf

Platform recipes

These are aimed at platform developers who want to work below the level of app developers (e.g. add a new panel to MeeGo netbook, integrate with the MeeGo desktop better, use Mx or Clutter directly).

So they cover libraries and services which don't have Qt wrappers and which are unlikely to get them, but which are core to MeeGo.

DBus is core here, as it's used for IPC on MeeGo but isn't explained very well anywhere.

Tracker is another area which needs documentation. It may be documented elsewhere, but not in the MeeGo context much.

libsocialweb is important for netbook, but doesn't seem to be core across verticals. It is barely documented.

Clutter has some decent documentation, but Mx has the bare minimum, with some parts of the API being largely undocumented (like MxOffscreen).

What's very often lacking is task-oriented "how" documentation at the application level: how do I create a window? how do I animate an application between two states? how do integrate with the desktop and menu system?

The kind of things app devs want to know

Getting started

Which host OS can I develop on? Linux? Mac? Windows?

Which languages can I use?

Do I have to develop on the device, or will webapps work?

Screen resolutions?

Support for 3D graphics?

How do you structure a MeeGo app? What is it going to have in it? Objects? Functions? Resources? Graphics? Where do they all go?

How does my application fit into the lifecycle of the device? Power up, power down, cleaning up after itself

What's already on a MeeGo device (libraries, applications, services)? What's running on it by default? How can I make use of it? How can I start my own background services?

Are there any security considerations? e.g. the effective user, default file permissions?

How do I install my application once I've written it? Package formats? Are there public repositories I can use? Can I set up my own repository? How do I deploy manually?

About application development more specifically

(half-inched from http://library.gnome.org/devel/platform-overview/stable/; MeeGo has nothing like this yet)

  • UI frameworks: widgets, layouts, styling, branding
  • Input: mouse, keyboard, camera, gestures, speech recognition
  • Output: files, screens
  • Filesystems
  • Accessibility
  • Clipboards
  • Drag and drop
  • Internationalisation and localisation
  • Text rendering
  • Printing
  • User permissions
  • Configuration: read/write, control centre integration
  • Multimedia: playing audio and video
  • PIM services
  • Notifications
  • Geolocation/GPS support
  • Text to speech
  • XML
  • Networking
  • Bluetooth
  • HTTP client library
  • Web services integration
  • Desktop integration: icons, menus, start/stop
  • Inter-process comms
  • Debugging
  • Logging
  • Search (within files used by the app)
  • Packaging
Personal tools