Line 10: |
Line 10: |
| The OLPC laptop bucks the trend of "more, faster, fatter"; we aim to provide a computer tailored to the needs of children in the context of their learning, not to the needs of frantic video games or office applications. We are, however, working within constraints of component cost, robustness, and power consumption. To satisfy these constraints, we have opted for NAND flash rather than a hard disk and a modest 256MB of memory (Please see [[Hardware_Specification|hardware specifications]]). Thus, developers must make every effort to write efficient code while minimizing memory usage. | | The OLPC laptop bucks the trend of "more, faster, fatter"; we aim to provide a computer tailored to the needs of children in the context of their learning, not to the needs of frantic video games or office applications. We are, however, working within constraints of component cost, robustness, and power consumption. To satisfy these constraints, we have opted for NAND flash rather than a hard disk and a modest 256MB of memory (Please see [[Hardware_Specification|hardware specifications]]). Thus, developers must make every effort to write efficient code while minimizing memory usage. |
| | | |
− | Since there is no swap space on the laptop, only a limited number of activities can run concurrently; the Sugar UI exposes these details directly to the children. The [[OLPC Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home|Home]] screen features an activity ring that contains icons representing each instance of an open [[OLPC Human Interface Guidelines/Activities|activity]]. The size of the ring segment that a given activity occupies represents its overall memory usage; when the ring fills up, no additional activities may be launched until some resources have been freed. Take these limitations into account as you develop activities, since they will have a greater impact on the performance of your software on the laptop than on other platforms. | + | Since there is no swap space on the laptop, only a limited number of activities can run concurrently; the Sugar UI exposes these details directly to the children. The [[DesignTeam/Human Interface Guidelines/The Laptop Experience/Zoom Metaphor#Home|Home]] screen features an activity ring that contains icons representing each instance of an open [[DesignTeam/Human Interface Guidelines/Activities|activity]]. The size of the ring segment that a given activity occupies represents its overall memory usage; when the ring fills up, no additional activities may be launched until some resources have been freed. Take these limitations into account as you develop activities, since they will have a greater impact on the performance of your software on the laptop than on other platforms. |
| | | |
| ====Usability==== | | ====Usability==== |
Line 35: |
Line 35: |
| | | |
| ====Adaptability==== | | ====Adaptability==== |
− | Several use conditions should be taken into consideration in designing activities: the laptop has both a grayscale (sunlight) mode and a color (backlight) mode; the mesh—while always available—may or may not be connected to the Internet at the time the activity is active; the laptop may be configured in either laptop mode (keyboard and touchpad exposed) or [[OLPC Human Interface Guidelines/The Sugar Interface/Input Systems#"Hand-held" Mode|handheld mode]] (game controller, camera, microphone and speakers only). Signal strengths, and therefore bandwidth, may fluctuate, and at times activity partipants may even drop off temporarily. Activities should handle all of these cases with care. E.g., temporary loss of connectivity should be handled silently, and reconnection of an individual to an activity they were previously participating in should happen with no noticeable side-effects as outlined in the guidelines for [[OLPC Human Interface Guidelines/Activities/Activity Basics#Activity Robustness|activity robustness]]. | + | Several use conditions should be taken into consideration in designing activities: the laptop has both a grayscale (sunlight) mode and a color (backlight) mode; the mesh—while always available—may or may not be connected to the Internet at the time the activity is active; the laptop may be configured in either laptop mode (keyboard and touchpad exposed) or [[DesignTeam/Human Interface Guidelines/The Sugar Interface/Input Systems#"Hand-held" Mode|handheld mode]] (game controller, camera, microphone and speakers only). Signal strengths, and therefore bandwidth, may fluctuate, and at times activity partipants may even drop off temporarily. Activities should handle all of these cases with care. E.g., temporary loss of connectivity should be handled silently, and reconnection of an individual to an activity they were previously participating in should happen with no noticeable side-effects as outlined in the guidelines for [[DesignTeam/Human Interface Guidelines/Activities/Activity Basics#Activity Robustness|activity robustness]]. |
| | | |
| ====Recoverability==== | | ====Recoverability==== |
Line 41: |
Line 41: |
| Recoverability is fundamental to encouraging exploration. With creative exploration among OLPC's main goals, it therefore becomes an issue of high importance on the laptops. When children know they have a fallback plan—a way back to the current state of things—they will much more frequently go beyond their comfortable boundaries and experiment with new tools and new creative means of expression. | | Recoverability is fundamental to encouraging exploration. With creative exploration among OLPC's main goals, it therefore becomes an issue of high importance on the laptops. When children know they have a fallback plan—a way back to the current state of things—they will much more frequently go beyond their comfortable boundaries and experiment with new tools and new creative means of expression. |
| | | |
− | The [[OLPC Human Interface Guidelines/The Laptop Experience/The_Journal|journal]] provides a partial notion of recoverability, since its auto-journaling amounts to maintaining an automatic incremental backup. The ability, for children, to choose to "keep" anything they're working on in its current state furthers this idea. | + | The [[DesignTeam/Human Interface Guidelines/The Laptop Experience/The_Journal|journal]] provides a partial notion of recoverability, since its auto-journaling amounts to maintaining an automatic incremental backup. The ability, for children, to choose to "keep" anything they're working on in its current state furthers this idea. |
| | | |
− | However, the primary and essential means of recoverability remains the ability to undo one's actions. Of course, the notion of undo/redo becomes complicated in the realm of collaborative editing, which imposes a limitation on the extent to which undos are possible, since collisions could often occur between the things one child wants to undo and the things another child has already changed since those were done. Nonetheless, we are dedicated to providing this functionality to every extent possible, and [[OLPC Human Interface Guidelines/Activities|activities]] should strive to support this to the best of our ability. | + | However, the primary and essential means of recoverability remains the ability to undo one's actions. Of course, the notion of undo/redo becomes complicated in the realm of collaborative editing, which imposes a limitation on the extent to which undos are possible, since collisions could often occur between the things one child wants to undo and the things another child has already changed since those were done. Nonetheless, we are dedicated to providing this functionality to every extent possible, and [[DesignTeam/Human Interface Guidelines/Activities|activities]] should strive to support this to the best of our ability. |
| | | |
− | (Future revisions of the [[OLPC Human Interface Guidelines/The Sugar Interface/Input Systems#Keyboard|keyboard]] may even have an undo/redo key to further strengthen this idea.) | + | (Future revisions of the [[DesignTeam/Human Interface Guidelines/The Sugar Interface/Input Systems#Keyboard|keyboard]] may even have an undo/redo key to further strengthen this idea.) |
| | | |
| ====Interoperability==== | | ====Interoperability==== |