๐Ÿ‘จโ€๐Ÿ’ป

Build for BerryPy

Create Python web applications for BlackBerry 10 devices and reach the BB10 community

๐ŸŽฏ Why Build for BerryPy?

๐Ÿ“ฑ

Active Community

Reach passionate BlackBerry 10 users who are actively using their devices in 2025

๐Ÿ

Python Powered

Build with Flask, FastAPI, or any Python web framework - it just works

๐Ÿš€

Easy Distribution

Package once, distribute via BerryStore, automatic updates and management

๐Ÿซ What is BerryPy?

BerryPy is a modern web-based application platform for BlackBerry BB10/QNX devices. It provides:

๐ŸŽจ Current Apps on BerryStore

  • ๐Ÿค– AI-Chat - AI chatbot interface
  • ๐Ÿš€ RocketChat - Team communication
  • โœˆ๏ธ Telegram - Messaging client
  • ๐Ÿ–ฅ๏ธ Webshell - Web-based terminal
  • ๐Ÿ“บ YouTube - Video streaming
  • ๐Ÿ™ BB10Git - GitHub manager
  • ๐Ÿ“‹ copyclip - Clipboard sync
  • โš™๏ธ Term49-Settings - Terminal config

โš™๏ธ How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  BlackBerry Browser                 โ”‚
โ”‚  http://127.0.0.1:8001             โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ”‚
                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  BerryPy Flask Server               โ”‚
โ”‚  โ€ข Manage apps                      โ”‚
โ”‚  โ€ข Process control                  โ”‚
โ”‚  โ€ข Download/Install                 โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  โ”‚
                  โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  BerryStore (berrystore.sw7ft.com)  โ”‚
โ”‚  โ€ข Web apps  โ†’ ~/apps/              โ”‚
โ”‚  โ€ข CLI tools โ†’ ~/usr/local/bin/     โ”‚
โ”‚  โ€ข Metadata  โ†’ catalog.json         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“ฆ Web Apps

Python web applications (Flask, FastAPI, etc.)

  • Installed to /accounts/1000/shared/misc/apps/
  • Run on their own port
  • Managed by BerryPy
  • Listed in catalog.json

๐Ÿ”ง CLI Tools

Command-line utilities and binaries

  • Installed to /accounts/1000/shared/misc/bin/
  • Available in PATH
  • QNX/BB10 compatible
  • Listed in bins/catalog.json

๐Ÿš€ Creating Your First App

1Create Your Python App

Build a simple Flask/FastAPI web application:

# app.py
from flask import Flask, render_template

app = Flask(__name__)
PORT = 8100 # Choose a unique port

@app.route('/')
def home():
    return render_template('index.html')

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=PORT)

๐Ÿ’ก Tip: Make sure to define a PORT variable or use app.run(port=XXXX) so BerryPy can detect it!

2Add Home Screen Icon Support

Make your app look great when added to the BB10 home screen:

<!-- Add to your HTML <head> -->
<link rel="icon" href="https://berrystore.sw7ft.com/apps/app-icons/yourapp.png">
<link rel="apple-touch-icon" href="https://berrystore.sw7ft.com/apps/app-icons/yourapp.png">
<link rel="apple-touch-icon-precomposed" href="https://berrystore.sw7ft.com/apps/app-icons/yourapp.png">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-title" content="Your App">
<meta name="theme-color" content="#9b59b6">

3Create App Icon (48x48px)

Design a 48x48 pixel PNG icon for your app:

  • Size: Exactly 48x48 pixels
  • Format: PNG with transparency
  • Style: Clear, simple design that works at small size
  • Naming: yourapp.png (lowercase, no spaces)

4Package Your App

Create a .zip file with this structure:

YourApp.zip
โ”œโ”€โ”€ app.py # Main Python file
โ”œโ”€โ”€ templates/
โ”‚ โ””โ”€โ”€ index.html # HTML templates
โ”œโ”€โ”€ static/
โ”‚ โ”œโ”€โ”€ style.css # Stylesheets
โ”‚ โ””โ”€โ”€ script.js # JavaScript
โ””โ”€โ”€ requirements.txt # Python dependencies

Command to create:

zip -r YourApp.zip app.py templates/ static/ requirements.txt

5Add to Catalog

Create an entry in catalog.json:

{
  "YourApp": {
    "name": "Your App Name",
    "description": "A brief description of what your app does",
    "category": "Productivity", // or Tools, Social, Entertainment, etc.
    "version": "1.0.0",
    "author": "Your Name",
    "icon": "yourapp.png", // Your 48x48 icon filename
    "requirements": [ // Optional: Python packages needed
      "flask",
      "requests"
    ]
  }
}

โš ๏ธ BB10/QNX Compatibility Rules

๐Ÿšจ CRITICAL: BB10 uses QNX, not Linux!

BlackBerry 10 doesn't have bash or GNU utilities. Using Linux-specific commands will cause your app to fail.

Rule โŒ Wrong (Linux) โœ… Correct (QNX)
Shebang #!/bin/bash #!/bin/sh
Process Check ps -p $PID pidin -p $PID
Shell Test [[ condition ]] [ condition ]
String Compare == =

๐Ÿ“– Full compatibility guide: docs/QNX-COMPATIBILITY.md

โœ… Testing & Submission

๐Ÿงช Testing on BB10

Before submitting, you MUST test on an actual BlackBerry 10 device:

# Copy your app to BB10 device
scp YourApp.zip bb10:/accounts/1000/shared/misc/apps/

# SSH to device
ssh bb10

# Extract and test
cd /accounts/1000/shared/misc/apps/
unzip YourApp.zip -d YourApp
cd YourApp
python3 app.py

# Open browser to http://127.0.0.1:XXXX

Test Checklist:

  • App starts without errors
  • UI renders correctly in BB10 browser
  • Touch interactions work properly
  • Port is detected correctly
  • No Linux-specific commands used
  • Icon displays properly

๐Ÿ“ค Submitting Your App

Ready to publish? Here's how:

  1. Fork the BerryPy repository:
    github.com/sw7ft/berrypy
  2. Add your files:
    • Place YourApp.zip in /apps/
    • Place yourapp.png in /apps/app-icons/
    • Update /apps/catalog.json
  3. Create a Pull Request with:
    • Clear description of your app
    • Screenshots (if possible)
    • Test results on BB10
  4. Wait for review - We'll test and merge!

๐Ÿ“š Resources & Documentation

๐Ÿ“– Essential Reading

๐Ÿ’ฌ Community & Support

๐Ÿš€ Ready to Build?

Join the BlackBerry 10 developer community and help keep BB10 alive!


© 2025 Your Company. All rights reserved.