Nell: Difference between revisions
Jump to navigation
Jump to search
(add subpage list) |
(Moved demo script to sub page; added overview.) |
||
Line 1: | Line 1: | ||
= Subpages = |
|||
{{Special:PrefixIndex/{{PAGENAME}}/}} |
|||
{{TOCright}} |
{{TOCright}} |
||
= Overview = |
|||
= Demo script, draft 1 = |
|||
Nell is the name of the XO-3 Narrative Software effort. |
|||
See the subpages for more information. |
|||
1) First thing seen is a login screen, with pictures of all the |
|||
avatars of the users of the machine. The kid, plus their siblings, |
|||
parents, and alter-egos. We click on the 'new' button. |
|||
= Subpages = |
|||
We then see a randomly generated avatar, in their "closet". You can |
|||
{{Special:PrefixIndex/{{PAGENAME}}/}} |
|||
swap out features and colors to make it look like you. (We don't ask |
|||
you to type the name of your avatar yet, because we don't want to |
|||
presume typing and literacy ability yet, but we could ask you to speak |
|||
a name.) |
|||
When you exit the "closet" and achievement message pops up: you've |
|||
customized your avatar! You might want to... |
|||
Exiting the closet also brought you to your "map". These are hex |
|||
tiles with paths and "stuff". The map has a single tile, your |
|||
"closet", and paths leading off in all directions but fading out. |
|||
You choose a direction. |
|||
(You might also create a 'friend' who appears beside your avatar; you |
|||
can switch between friends and maybe there are different tiles |
|||
available. You might also add a friend from somewhere else...) |
|||
2) Touching the south tile, your character moves to it and a basic |
|||
literacy app opens. Another achievement pops up, congratulating you |
|||
on trying the alphabet book and suggesting you try to.... |
|||
This book is a simple alphabet book. There are pictures of an Apple |
|||
for A, etc. When you touch the apple, it says and shows its name. |
|||
You can trace the A in the name, and it shows your traced version on |
|||
top of the correct letter (and an achievement bubble pops up). |
|||
There are pictures of other things, one of which also begins with A. |
|||
When you touch the other thing which begins with A, you move on to B |
|||
(and an achievement bubble pops up). There's a task bar marked |
|||
"alphabet" which is gradually filling up. (This should perhaps be a |
|||
shorter tinkerbook-style lesson, that you can actually finish in the |
|||
brief demo.) |
|||
You back out of the literacy app, and you're back on the map. Your |
|||
avatar suggests continuing through the new alphabet-ville tile to |
|||
explore a newly available unexplored tile. You touch there and.. |
|||
3) You're in "Castle TurtleArt". Your avatar suggests trying to draw |
|||
a square. When you assemble the tiles to accomplish this, an |
|||
achievement bubble pops up, and you're given another suggested task. |
|||
After a few of these, you back and and find yourself on your map |
|||
again. |
|||
4) This time you try going northeast. A sugar app opens. Southwest: |
|||
wikipedia. Southeast: a web browser. Then you drag and rearrange |
|||
your tiles to put wikipedia and the web browser near your home. |
|||
You check out your stats, change your clothes, and check the list of |
|||
new things to do. You can also flick to a journal to see the things |
|||
you've worked on today. |
|||
= Implementation plan = |
|||
== Oct 1-14 == |
|||
=== Bring up Firefox (Mobile?) === |
|||
cjb: https://nightly.mozilla.org/ has nightly builds of the desktop, Mobile-Android and Mobile-Linux (fennec) clients. |
|||
The Fennec client for i686 works on my desktop at home, but the ARM download segfaults immediately on XO-1.75, because (unlike the i686 version) it's linked against maemo/libhildon. |
|||
I first tried building on koji2, since the linking step needs about 2G RAM, but building armv7 binaries on an armv5 host isn't supported -- for example, configure will try to run conftest binaries it generates, and they'll fail with SIGILL. |
|||
Then I tried cross-compiling, but ran into a bunch of cases where system libraries were being linked to instead of host libraries. I don't think cross-compiling Firefox is well tested/supported. |
|||
Then I moved to native compiling on an XO, using 3G swap on a USB stick. The build takes several hours, but it eventually worked. Here is my mozconfig file: |
|||
<nowiki> |
|||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-arm |
|||
ac_add_options --enable-application=browser |
|||
#ac_add_options --enable-application=mobile |
|||
ac_add_options --disable-crashreporter |
|||
ac_add_options --disable-necko-wifi |
|||
ac_add_options --disable-tests |
|||
# You'd think defining the autoconf macros or the CFLAGS would work, but there are occasions |
|||
# where gcc's invoked outside of a normal shell profile. |
|||
ac_add_options --with-arch=armv7-a |
|||
ac_add_options --with-fpu=vfpv3-d16 |
|||
ac_add_options --with-float-abi=softfp |
|||
export CFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp" |
|||
export CXXFLAGS="-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp" |
|||
ac_add_options --with-arm-kuser |
|||
</nowiki> |
|||
I also needed this ugly patch, which I haven't fully investigated. Without it, there is an error linking to an undefined arm_private::neon_enabled. Our CPU does not support NEON. |
|||
<nowiki> |
|||
diff -r d0700bfeda63 xpcom/glue/arm.h |
|||
--- a/xpcom/glue/arm.h Mon Oct 03 18:08:17 2011 -0700 |
|||
+++ b/xpcom/glue/arm.h Wed Oct 05 12:53:53 2011 +0000 |
|||
@@ -170,7 +170,8 @@ |
|||
inline bool supports_neon() { return true; } |
|||
#elif defined(MOZILLA_MAY_SUPPORT_NEON) \ |
|||
&& defined(MOZILLA_ARM_HAVE_CPUID_DETECTION) |
|||
- inline bool supports_neon() { return arm_private::neon_enabled; } |
|||
+// inline bool supports_neon() { return arm_private::neon_enabled; } |
|||
+ inline bool supports_neon() { return false; } |
|||
#else |
|||
inline bool supports_neon() { return false; } |
|||
#endif |
|||
</nowiki> |
|||
After applying these, ''make -f client.mk'' produces a build, and ''make package'' in objdir produces a tarball of it. These are at: |
|||
http://dev.laptop.org/~cjb/firefox/fennec-10.0a1.en-US.linux-gnueabi-armv7l.tar.bz2 |
|||
http://dev.laptop.org/~cjb/firefox/firefox-10.0a1.en-US.linux-gnueabi-armv7l.tar.bz2 |
|||
=== Benchmark Firefox, gfx and js performance === |
|||
cjb: Early sign is that Fennec is '''slower''' than Firefox, rendering HTML is pretty snappy, but JavaScript + GUI is very slow. Needs investigation as to where we're spending the CPU time. |
|||
=== Basic tile layout app in three.js === |
|||
== Oct 17-28 == |
|||
=== Did "Ice Cream Sandwich" come out? If so, consider rebasing === |
|||
=== Firefox EGL integration === |
|||
cjb: |
|||
=== Basic Android NDK GL app for benchmarking === |
|||
cscott: |
|||
=== Storyboarding, simple app example, cloakroom? === |
|||
cscott: |
|||
== Oct 31 - Nov 4 == |
|||
=== Avatar customization app === |
|||
cjb: |
|||
=== Zoom/container UI === |
|||
cscott: |
|||
=== Nell + speech bubbles === |
|||
cscott: |
|||
== DEMO 1: 1-app demo: Fri 4 Nov == |
|||
=== Compare Firefox EGL + three.js perf to basic C-level GL app === |
|||
== Nov 7-11 == |
|||
=== Hook up accelerometer to Device Orientation API === |
|||
cjb: |
|||
=== Music demo -- record samples === |
|||
cjb: |
|||
== Nov 14-18 == |
|||
=== App repository/Open Web Apps === |
|||
cjb: We want to use Firefox's Open Web Apps infrastructure as an app repository. First step is to work out how it works, where it stores files, what formats it uses, whether there are any quotas or restrictions. Then look at modifying the interface code (currently a toolbar on the bottom of the screen) so that we can use our own UI on top of that backend -- start off by just displaying a list of installed apps in a simple <ul> layout. |
|||
=== Achievements system === |
|||
=== "Test suite" integration via DOM === |
|||
== Nov 21-25 == |
|||
=== Basic literacy app === |
|||
=== Paint app === |
|||
=== TurtleArt, Wikipedia? === |
|||
== Nov 28 - Dec 2 == |
|||
== DEMO: Nov 30: Nell 2-app demo == |
|||
=== Triage/cutoff for features === |
|||
=== Performance === |
|||
=== Bug fixes === |
|||
=== Bringup in Taipei === |
|||
== DEMO: Dec 30: Nell 3-app demo == |
Revision as of 21:07, 28 February 2012
Overview
Nell is the name of the XO-3 Narrative Software effort.
See the subpages for more information.