Re: [Sugar-devel] [OLPC-AU] long-press touch actions in Sugar
Sridhar wrote: It appears that long-press is becoming part of the Sugar user experience on touchscreens: In my opinion the XO product is notably limited in that its front panel buttons will only register a 'press'. The opportunities for use of the XO in e-book configuration would be greatly enhanced if those front panel buttons were able to register 'long press' as well as 'press'. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] compiled to .XO
We are also able to run the binary, but I am unclear about how we would package this into a .xo activity. Any pointers? Am attaching an copy of an email I sent earlier to someone with a question similar to yours. IMHO that email provides a concise how-to guide to fashioning a bare-bones .xo package. [Obviously, your 'exec' line must be appropriate to your binary.] [The example had a library which was explicitly linked-to from within that binary. If your binary does not need any special library, just leave out the library part from the attached instructions.] [If your binary *does* need to be supplied with a specific library, move that library into (for example) the subdirectory itself, then add this line (without the ) before your 'exec' line export LD_LIBRARY_PATH=$SUGAR_BUNDLE_PATH/your-library-name to indicate *where* that library can be accessed.] To produce the .xo file, just 'pack' the subdirectory you created. mikus Here is one way to package your stuff so it can be launched from an icon in the XO's Home View: DISCLAIMER: To set this up, I used my templates from 2009 (for sugarizing a Linux executable). I have __NOT__ referenced (nor incorporated) any SugarLabs advances from any intervening years. 1) Create a directory (either in /home/olpc/Activities, or linked-to from there). Mine was called Evil.activity. In 'Evil.activity', create subdirectories 'activity' and 'bin' 2) Move your binary into 'Evil.activity/' [I called it 'evil.eng'} Move your 'id1' directory into 'Evil activity/' Note: 'Evil.activity' now contains: activity{a directory} evil.eng{a binary} bin {a directory} id1 {a directory} Move your 'icon.svg' into 'Evil.activity/activity/' 3) Add file 'Evil.activity/activity/activity.info' with content: [Activity] name = Evil service_name = com.atphalix.evil exec = runevil icon = icon activity_version = 1 host_version = 1 [Note: This is how it was in 2009. I have not looked at whether activity.info lines have been added/removed since then.] [In the above, you get to choose name and service name] 'runevil' is the name of the script in 'Evil.activity/bin/' 4) Copy 'libsugarize.so' into 'Evil.activity/bin/' Add file 'Evil.activity/bin/runevil' with content: #!/bin/bash while [ -n $2 ] ; do echo OO: $1 $2 case $1 in -b | --bundle-id) export SUGAR_BUNDLE_ID=$2 ;; -a | --activity-id) export SUGAR_ACTIVITY_ID=$2 ;; -o | --object-id) export SUGAR_OBJECT_ID=$2 ;; -u | --uri) export SUGAR_URI=$2 ;; *) echo unknown argument $1 $2 ;; esac shift;shift done export LD_PRELOAD=$SUGAR_BUNDLE_PATH/bin/libsugarize.so export NET_WM_NAME=Evil exec ./evil.eng -mem 64 -width 1200 -height 900 +map start exit Obviously, the names/locations specified in this script must correspond to what is in your Evil.activity directory. [And when you create the two files whose content is shown above, please leave off the(they're for clarity in the printout).] For me, the above worked. [With an old libsugarize.so, there might be a redundant launch screen (with error message) left over. It's harmless, and can eventually be closed.] ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Wanting to know a bit of (NetworkManager) workflow upon resume-from-suspend
Another comment from the unwashed: Years back, I used only ethernet to connect my XOs. Nowadays, I'm using both wired and wireless to connect between XOs. [By the way, I normally run my XOs with suspend disabled - so I have not paid much attention to problems associated with 'resume'.] For about the last year, Network Manager has become super bossy: It used to be that if I had an XO on ethernet, Network Manager might intervene after some 10+ hours - breaking that ethernet connection. I did not mind occasionally having to reconnect the ethernet (I just invoke a script that re-issues the necessary commands). But the current Network Manager intervenes in less than ten SECONDS - it breaks the connection on the ethernet (eth1) interface - presumably to set up the wireless (eth0) interface (to listen for radio signals). Bottom line - these days, in order to use ethernet on an XO, I need to __disable__ Network Manager. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [OLPC-AU] Browse is old
I've been installing (via 'rpm') the midori browser Do you know where I can get binaries for this that will work on F14-based XO builds? On build au200 I do 'yum install midori'. [The package comes in from the Fedora updates repository.] mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [OLPC-AU] Browse is old
I don't use it day-to-day, but for more than two years now I've been installing (via 'rpm') the midori browser in all the XO-1 builds that have ever been made available. My intent has been to have at least one (not counting Surf) webkit-based browser for comparison purposes. Depending upon the base-build content, sometimes additional dependencies (packages) needed to be installed to let midori run -- but I've always had this non-Gecko browser available on my XO systems. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] Browse-130 fails to launch on XO-1 with os2 (F17)
I do not know enough python to figure out for line 23 in __init__.py -- what is being imported, or from where -- but I interpret the cause for the error message from that line as could not find (since the line in webactivity.py DOES look like what the error message says it should be). mikus Traceback (most recent call last): File /usr/bin/sugar-activity, line 21, in module main.main() File /usr/lib/python2.7/site-packages/sugar/activity/main.py, line 121, in main module = __import__(module_name) File /home/olpc/Activities/Browse.activity/webactivity.py, line 24, in module from gi.repository import GObject File /usr/lib/python2.7/site-packages/gi/__init__.py, line 23, in module from ._gi import _API, Repository ImportError: could not import gobject (error was: ImportError('When using gi.repository you must not import static modules like gobject. Please change all occurrences of import gobject to from gi.repository import GObject.',)) 1324736391.516371 DEBUG root: _cleanup_temp_files Exited with status 1, pid 1054 data (None, open file 'fdopen', mode 'w' at 0x950f758, 'f88fbfbb3a10cf8f6a0eeb4199f6e72513b4f70c') ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] 12.1.0 devel build 2 released, for XO-1.5 and XO-1
Object Chooser sugar 0.95-2 (on XO-1.5 screen) Selecting 'OLPC root' icon appears to give the same view as selecting 'Journal' icon. Also a human factors difficulty - when there are more entries in Object Chooser than will fit on one screen, the scroll bar at the right edge is much too narrow. I tried to 'click' within the scrollbar (to scroll one page's worth), but accidentally mispositioned the cursor (off the narrow scrollbar image) and my 'click' got interpreted as selecting the entry where the cursor had strayed. mikus p.s. The above-described incident illustrates the lack within Object Chooser (i.e., within Sugar) of a No I didn't want that! facility [i.e., BACK].. To return to where I had been when I made the accidental click, I had to exit the Activity (which had acted upon the unwanted entry); and restart that Activity; and in Object Chooser to indicate the (in this case external) device I wanted to access -- and then wait for Object Chooser to again present its listing of that device's objects. ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Help testing Sugar 0.93.x
Fedora 16 Sugar (and Soas) no longer have a working Browser: I will load os3 in my XO-1 and XO-1.5 and test ... Except for missing the fix from Ticket #10699, Browse-125 works adequately on os3 on the XO-1 and on the XO-1.5 mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [OLPC-AU] Search in Favourites View is disabled
Blue sky suggestion: When hovering over second-from-right icon in top bar of Home View, open a palette with TWO OR MORE favorites-list icons. Clicking on one of these favorites-list icons brings up a set of activity-icons (which have been associated with *that* favorites list). Clicking on a different one of those favorites-list icons brings up a DIFFERENT set of activity-icons (which have been associated with *that* list). Thus you could have one set of favorites for Science_curriculum; a second set of favorites for Languages_curriculum; etc., etc. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [OLPC-AU] another Favorites View proposal
(One home view could be *all*, meaning we could even eliminate the need to launch activities from the list view) I personally prefer the list view to remain -- it provides a convenient place where to erase installed Activities that one no longer wants. [I think Activities should NOT be removable-from-storage through Home View Ring, etc.] Further, I myself have over 100 Activities installed on my XO (their code physically resides on an SD card). To show *all* of them in one screen makes their icons very small. But list view, since it is scrollable, provides the visual room to list What all *is* there? (both label and decent-sized icon) for the person looking at that XO. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [DESIGN] XO1 | Same hardware, slower internet
Hmm, it'd be interesting to see how much of a performance improvement webkit offers. It's no big deal to run webkit-based browsers on the XO. For instance, all of my XO-1s have Midori installed. The question is - what is this performance improvement that you are looking for? I believe that in practice, it is the usability of a browser that is noticed the most, not the performance. What Midori has is a smaller footprint - what it does not have is a richer experience than Firefox - the result is that I myself prefer using Firefox on the XO-1 to using Midori on the XO-1. [In my opinion, the performance of the two is roughly equivalent (e.g., in showing YouTube videos).] It is worth noting that the Google Chrome browser, which *does* have the reputation (in the general public) of better performance, does not stand out on the XO (perhaps because its footprint is large). should we consider loading mobile versions of websites Regarding creating websites suited to web clients without much computational power -- why should the typical internet website owner bother? I'm going to assume there might be 100 users in the worldwide audience who are looking for glitz for every one user who is looking for fast rendition -- just look at the size of the images transmitted by the typical internet website -- in my opinion any image greater than 40KB will slow down a web client which does not have considerable computational power -- yet monster images abound. Regarding a project providing web transmissions specifically aimed at a classroom - the phrase mobile versions of websites is often applied to video information formatted to be displayed on phones - yet if there are XOs in the classroom, they have a significantly larger screen than phones. I expect what you are looking for is video information formatted to be displayed on *tablets* - it will come, but I don't know if it is available just yet. What is definitely useful is an aimed-at-classroom setup, where a teacher's (or lab experimenter's) mobile system broadcasts to multiple (pupils') XO *clients* in that classroom. [Think of it as a website aimed at XOs.] This setup ideally would use an XO for the system from which the video transmissions originate. The simplest way to provide such functionality appears to be a slimmed-down web *server*. [I've seen descriptions of such, but at the moment can't remember the name of that software (might have been proprietary).] Since such a website would be viewed at XOs, the webpages created for that site definitely need to take into account the limited computational power of the XO. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] about about my xo
Is there a way ... to query the version and build information I myself use the command line a lot. I've written scripts for the XO which extract (on recent builds) this kind of information : * If there exists directory /ofw, the XO serial number gets shown by cat /ofw/serial-number * Easiest way to see build number is by cat /boot/olpc_build * Sugar version is in python/site-packages/jarabe/config.py [The catch is, different builds have different-named pythons.] * The OFW firmware version gets shown by cat /ofw/openprom/model mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Text-to-speech on the XO 1.5 with 10.1.3
Haven't sugarized espeak, but can run it from the command line: espeak hello --stdout | aplay mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Activity crashes when using libsugarize.so
Bert wrote libsugarize only works for well-behaved simple X11 programs Hmmm. For me, libsugarize.so has worked even with complex X11 programs. I launch most of my third-party (Linux) applications from the command line -- but some number of them (e.g., Chrome, Labquest) I've sugarized so that others can launch them through Home View. Even though these applications are not simple, I've so far not encountered any problems: I point activity.info to the bash sugarize.script (rather than to the compiled sugarize.c) and make sure the bash script has the line export LD_PRELOAD=$SUGAR_BUNDLE_PATH/lib/libsugarize.so I then add in lines to the end of the bash script which set up the application's variables, then launch the application's executable. mikus p.s. Non-well-behaved programs (perhaps because they might open multiple windows) can leave behind gray circles in Frame when they close. I wish Sugar would automatically clean out icons from Frame once the X11 window|session (which that icon represents) has gone away. ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Initial F14 developers-only release for XO and XO-1.5
great to have something working on the XO-1 to test! - Paint-28 failed to start That is because it has no file Paint.activity/fill/linux32_27 -- in other words, it is not set up to run under Python 2.7 mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Making OLPC / Sugar Labs more approachable
in general I think it's entirely appropriate to expect that people asking for help do so via the correct channels I believe that asking for help should not be the only supported motivation for contacting developers. In my opinion, developers of a product ought to be interested in learning about shortcomings perceived in that product by users. Are the correct channels any different than blinders ? mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Lazy Network Neighborhood updates
We already readjust the network neighborhood layout on the fly when we switch view. It's funny to see the access points slide around :-) Haven't bothered to keep track of the appearance/disappearance of XO and AP icons in Neighborhood View - it's hard to figure out whether their presence on screen is determined by View updating or by radio reception. But something that needs attention is the handling of invitation icons in Neighborhood view. I would like such an icon to mean there exists RIGHT NOW someone else with whom I can collaborate. Instead, these icons seem to persist long after all invitors/invitees are gone. Thanks, mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] Lazy Network Neighborhood updates
invitation icons seem to persist long after all invitors/invitees are gone. is this as 'simple' as removing the notification when the activity id is no longer being shared? Or would you like the UI to still indicate that you had missed the event/s? I imagine if someone clicks on an invitation, sees his Activity being launched, but then fails to make a connection -- that could well be more frustrating than never seeing evidence of the event/s having happened. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] [support-gang] 10 things you should know about Sugar
Martin is revisiting whether 'Journal' should be considered a View. I think how 'My Settings' is considered should also be revisited. My problem is that occasionally, due to some situation (which I myself might have caused), I am unable to bring up Home Circle View. Then, if I need to change a 'My Settings' parameter, I can at best reboot - in the hope that that will let me access 'My Settings' again. I have the feeling that in tomorrow's versions there is an intent to move control parameters out of 'My Settings' into the toolbar of the Activity affected by that setting. While that solves the problem of easy access to a setting from an Activity, it results in dispersing discovery of What things in the system can the user change?. I myself favor the centralizing of control knobs, instead of dispersing them. But yes, there is a need for easy access to those control knobs. Now that (as a result of the High School keyboard) resources such as Journal (for which there were dedicated keys on the membrane keyboard) are being assigned to existing Function Keys, I would like to see 'My Settings' also be considered a View, and be assigned its own invocation key. Thanks, mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] browse on devxo-1
Tried launching Browse (108) on devxo-1. Failed. The error message (on webactivity.py line 35) - ImportError: No module named gnome. I compared Soas2-20090614 (on which Browse launched) against devxo-1 (on which Browse did not launch). No difference in the source files in the Browse.activity subtree. In neither build version could I find a separate module named 'gnome.py' -- my guess is that this is a 'built-in' somewhere (kernel?). The 'import gnome' line was added by sugarlabs/ticket/456. I have no idea why that line worked on Soas-20090624, but not on devxo-1. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] 'Resume activity' is confusing for user
My observation from running Joyride 2650 on an XO-1: With 'Resume by default' checked in the Favorite view dropdown in Home View, those activity_icons for which a Journal entry now exists are colored. I __naively__ thought that if I clicked on a colored icon, the *existing* session for that activity would be resumed. But when in Home View I moved the cursor to the (colored) icon for Terminal and left-clicked, a *second* Terminal session was launched. Apparently, to be sure of what one is doing with a colored icon in Home View, one needs to right-click on that icon, and wait for its palette to be displayed. Then, to 'Resume' a session, right-click on an entry in the palette for which an object name is listed. Or, to 'start' a new session, click on the palette entry that lists the plain activity name (or click on the 'Start' entry near the bottom of the palette). I ought to be able to explain all this to a Sugar user (including when there are special cases and when there are not). But much simpler to just tell him to forget about 'Resume by default'. mikus p.s. Suggestion: when clicking on an icon in Home View favorites will not result in 'returning control' to an already-launched Activity, *don't* color that icon. ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] 'Resume activity' is confusing for user
I've been very enthusiastic about the OLPC as a way to bring technological assistance to people without reliable electricity or on-line servers or much disposable income or even roads. To me, the combination of rugged low-power (with current Joyride) hardware and ease-of-learning software (original Activities) hit a sweet spot. Here's the rub... Joyride is dead (though for an XO user it's still about the easiest/smoothest way to play with the new sugar toys). It got a Sugar code update back in 2631, making it to sugar 0.83.3 from what I can tell (~19 Jan 2009); but there're just not enough hands on deck to keep that plate spinning. Time for me to seriously consider signing off. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] feature freeze issue #3: resume by default
Write-61 (G1G1 is at 60) - No .xo bundle provided used git to get Browse-103 (G1G1 is at 101) - No .xo bundle provided used git to get Please remember those out there who are not using 'git'. .xo bundles should be available for persons using only 'wget'. Thanks, mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
[Sugar-devel] recognizing a friend
While I was trying a mesh network with Joyride, I hovered in Neighborhood View over the icon for XO 'Varde' and clicked 'Make friend' in that icon's palette. ['Varde' showed up as an icon in my Friends View.] Later, I rebooted and used a wired connection instead. I was surprised that when hovering in Neighborhood View over the icon for 'Varde', that palette still has a 'Remove Friend' entry -- but now my Friends View showed *no* other icons (besides self). [The only thing that had changed: previously, 'Varde' was accessed with its mesh IP address; now it was accessed with its LAN IP address.] Does Friends View depend on matching the target's IP address in order to show a friend ? mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel
Re: [Sugar-devel] feature freeze issue #2: making easier for people to title their activities
The journal's search and browsing capabilities are less useful if all entries are named the same regardless of their actual content or meaning to the user. What I cannot understand is why, after some two years of development, the only view of Journal entries that has been implemented is by time sequence. If the user wants to pick something from among many entries of the same type (e.g., audio), he either has to look through them all, or has to remember an explicit string to search for. If the entries could optionally be 'sorted' (for instance, alphabetized), it would be easier to see what is there and what is not. mikus ___ Sugar-devel mailing list Sugar-devel@lists.sugarlabs.org http://lists.sugarlabs.org/listinfo/sugar-devel