Table of Contents
From Chumby Wiki
Contents
- 1 What Are Chumby Widgets
- 2 Anatomy of a Chumby Widget
- 3 Setting Up a Development Environment
- 4 Known Limitations
- 5 Chumby Development Best Practices
- 6 Understanding Widget Durations
- 7 Creating Your First Chumby Widget
- 8 Testing Your Chumby Widgets
- 9 Understanding the Security Model
- 10 Basic Widget Development
- 11 Advanced Widget Development
- 12 Optimization Techniques
- 13 Debugging Widgets
- 14 Adding Your Widget to the Chumby Network
- 15 Example Widgets
- 16 Appendix
- 17 External Resources
What Are Chumby Widgets
- Short explanation of widgets
Anatomy of a Chumby Widget
- Flash based
- Flash Player 8 / Flash Lite 3.0
- 320px by 240px
- 12 frames per second
- 100k file size
Setting Up a Development Environment
- Adobe Flash IDE
- FlashDevelop
- mtasc and swfmill
- Hosting external assets
- Server-side technologies
Known Limitations
- Compile/update current wiki info
Chumby Development Best Practices
- Compile/update current wiki info
Understanding Widget Durations
- User duration preferences
- "Normal" widgets
- Cooperative widgets
Creating Your First Chumby Widget
- A simple walk through/tutorial on building a widget
Testing Your Chumby Widgets
Using the Virtual Chumby
Testing Locally
From an HTTP server
Understanding the Security Model
Accessing External Assets with Flash
Creating a crossdomain.xml
Basic Widget Development
Using Variables
- Hello Chumby
Working with Audio and Video
- Loading and controlling an .FLV
- Loading and controlling a sound file
- Creating a mute toggle button
Working With Time and Dates
- Getting the current time
- Getting the current date
- Finding the difference between 2 dates
Using Chumby Flags
- Telling the Chumby your widget is done
Advanced Widget Development
Personalizing Your Widget
- Understanding Chumby environment variables
- Building a configuration panel
Persistant Data
- Storing data between user sessions
- Storing data externally
- Using the Chumby Score Keeper for games
External Assets and Data
- Using external video, image, and audio assets
- Loading and reading external XML
- Posting data to a server
Interface
- Capturing screen "swipes"
- Reading Chumby's sensors
- Using the ChumbyNative class
Optimization Techniques
- Working with video
- Bitmaps
- Embedding fonts
Debugging Widgets
- Using prebuilt debugging widgets
- Other techniques
Adding Your Widget to the Chumby Network
- Pre-launch checklist
- Approval process
Example Widgets
- RSS reader
- Webcam
- Analog clock
- Flickr
Appendix
- Common Problems
- Chumby Property Dictionary
- Non widget implementations (BTplay, etc)
External Resources
- Adobe Flash
- FlashDevelop
- Blogs
- Tutorials
- Source Files
- Templates
- Components