On 09/18/2010 02:43 AM, ext Nathan Anderson wrote:
I've watched this thread with interest the last week or so.   Time to chip
in.  :D

Here are some Real world numbers using real applications; pulled from Maemo
Repositories
ICU 4.2>  8 Megs
cLucene is>  3 Meg (Depends on ICU)
Sword>  2 Megs. (Depends on cLucene)
WebKit>  3 Megs. (Depends on ICU 4.2)

Lets say I just put TWO bible apps (Both use Sword) on the device;
Lets say Rapier: which is 35K  And Katana: which is 94k

Which is pretty much the pathological corner case, not the average real world scenario.

- ICU and webkit are among the fattest libraries on my PC (libgs, libgcj, qt and gtk are in the same size league). - Most libraries (900 out of the ~1000 on my system) are less than 1MB in size. - Most libraries are shared by very few end user applications (evident by having 2600 total packages installed of which 1000 are shared libraries). - Some libraries are used by almost every application (libz, libxml, Qt on kde desktop, etc..) - Even if both Katana and Rapier would both take 16MB of space, it still mostly a "meh" even on the puny 2GB /opt of N900. And space for apps is only going to grow bigger.

We need to engineer around average use cases, rather than focusing on corner cases. Highlighting extremities makes great theater like this thread shows, but doesn't bring us towards solutions.

When we look at the usual case, for most libraries, embedding the to the applications is not going to be a problem. There is probably only going to be 1-3 users of that library anyways. For the few widely used libraries, we can have them in MeeGo core. In fact most likely they are there already (ICU, webkit). Yes there is *some* grey space in between "few widely used" and "lots rarely used" libraries. But that is not the *usual* case, and in order succeed we need to focus violently on the common use case: That the developer uses mostly libraries from MeeGo Core and sometimes a field-specific library (sword) that no other applications need.

Another thing people here seem to ignore: For developers *not* coming from linux distribution/packaging background, importing a shared library to their application project is infinitely simpler task than packaging the same library (correctly!) and distributing it to a extras-style repository.
_______________________________________________
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev

Reply via email to