sugarlabs / sugar-docs

Documentation for Contributors and Developers
86 stars 104 forks source link

sugar-build still mentioned in sugar-docs/src/desktop-activity.md #151

Open deejoe opened 6 years ago

deejoe commented 6 years ago

As per discussions in, for instance, #132 and #95, sugar-build is no longer maintained, so reference to it in developer docs should probably be removed.

deejoe commented 6 years ago

Sorry not to have included a link. This is in the current:

https://github.com/sugarlabs/sugar-docs/blob/master/src/desktop-activity.md

quozl commented 6 years ago

Agreed. Also these references;

https://github.com/sugarlabs/sugar-docs/blob/master/src/how-can-i-help.md https://github.com/sugarlabs/sugar-docs/blob/master/src/web-activity.md https://github.com/sugarlabs/sugar-docs/blob/master/src/web-style.md

Alternatively, someone might maintain sugar-build. Big job.

tony37 commented 6 years ago

It appears that our community has its own alternate facts:

"Most Sugar desktop activities are written in Python 3, using our GTK+ 3.0 https://github.com/sugarlabs/sugar-toolkit-gtk3 libraries."

The Human Interface Guidelines explicitly deprecate the 'desktop' metaphor:

"Most developers are familiar with the desktop metaphor http://en.wikipedia.org/wiki/Desktop_metaphor that dominates the modern-day computer experience. This metaphor has evolved over the past 30 years, giving rise to distinct classes of interface elements that we expect to find in every OS: desktop, icons, files, folders, windows, etc. While this metaphor makes sense at the office—and perhaps even at home—it does not translate well into a collaborative environment such as the one that the OLPC laptops will embody. Therefore, we have adopted a new set of metaphors that emphasize community."

So Sugar activities is better than Sugar desktop activities.

Once upon a time, Sugar was the development environment for activities - but apparently no longer:

"You must first setup a development environment https://github.com/sugarlabs/sugar/blob/master/docs/development-environment.md, for testing your activity and releasing it for distribution."

"Sugar is made of several modules and depends on many other libraries.

There are several ways to set up a Sugar environment for doing Sugar development, choose one at a time only;

*

for testing or changing Sugar or a Sugar activity, install a live
build
<https://github.com/sugarlabs/sugar/blob/master/docs/development-environment.md#sugar-live-build>,
which has all dependencies and source code included, but is nearly
1GB of downloads;

*

for writing or changing a Sugar activity, install a packaged Sugar
environment
<https://github.com/sugarlabs/sugar/blob/master/docs/development-environment.md#packaged-sugar>,
which will install dependencies automatically; or,

*

for packaging Sugar, downstream developers create a native Sugar
build
<https://github.com/sugarlabs/sugar/blob/master/docs/development-environment.md#native-sugar>
and install the necessary dependencies by hand, but Sugar is
difficult to remove."

Intuitively, the definitive way to install Sugar and its dependencies is to install Sugar. One immense advantage is that such an activity is then known to work with a Sugar release. Sadly it is no longer a sure thing that activities which run on Sugar SOAS or Ubuntu will work with build 13.2.9 on an XO (cf Browse activity).

The following statement may be meaningful to those with Sugar experience but certainly not to the intended audience.

"Some Sugar desktop activities are written in languages other than Python, such as Smalltalk, C, and JavaScript."

James Cameron recently chided the gedit activity because it executes a binary file. How exactly are activities written in C executed in source code? Given the tight storage constraints of the XO, does it seem reasonable to require that source code be included just for 'view source'. I can't believe that  James Cameron really believes that gedit source is not properly posted. (https://github.com/GNOME/gedit).

Where is the documentation on how to write a Sugar activity in Smalltalk or C or even JavaScript? Again, intuitively, a Sugar-web-activity is written to some extent in JavaScript but would normally be referred to as written in html5.

The cited activity 'Hello World' exhibits an 'alternate facts' activity.info:

|[Activity] name = HelloWorld activity_version = 1 bundle_id = org.sugarlabs.HelloWorld exec = sugar-activity3 activity.HelloWorldActivity icon = activity-helloworld licence = GPLv3+ repository = https://github.com/sugarlabs/hello-world-fork.git |

The actual activity_version  is 6 - which is the same as the version number on ASLO - but the one on ASLO is still a gtk2 application. At least the standard for checking activity.info should require that new versions update the version number. In keeping with the original Sugar guidelines, the version number should be incremented for each merged pull request and should always be a positive integer. For example, Browse on ASLO is version 157.3, on current builds it is 157.4 while the version on github is 202! Developers seem impelled to code version numbers to mean something at least to themselves. What is the meaning of 157 having fractional versions but 202 an integer?

The exec line implies Python3 but the one on gitHub is Python 2 (with an open issue requesting implementation in Python 3). What version of Sugar is needed to run Python 3 Sugar activities? Are we faced with a duplication of /usr/lib/python2.7 for Python 3.? What is the impact on the limited storage of the XO? What is the impact of adding a third parallel environment to sugar and sugar3? Note using sugar-activity3 in the exec statement seems to guarantee confusion with sugar3 in import statements for Python 2.7 activities.

||licence is not the normal American spelling.

The repository is https://github.com/sugarlabs/hello-world (note: the .git extension is the zip file of the repository, not the repository).

Tony

On Monday, 09 April, 2018 07:46 PM, D. Joe wrote:

Sorry not to have included a link. This is in the current:

https://github.com/sugarlabs/sugar-docs/blob/master/src/desktop-activity.md

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/sugarlabs/sugar-docs/issues/151#issuecomment-379724257, or mute the thread https://github.com/notifications/unsubscribe-auth/AAULktE3HyfpDsZZ6qkN-o3eYcFmh8pBks5tm0n7gaJpZM4TMZWj.

quozl commented 6 years ago

TL;DR

duplixx commented 1 year ago

is it removed or should I complete this task @deejoe

quozl commented 1 year ago

Do you wish to maintain sugar-build or complete the deprecation of sugar-build?