Dogfooding

Differences between revisions 1 and 19 (spanning 18 versions)
Revision 1 as of 2013-07-03 21:33:44
Size: 2472
Editor: 99-41-167-234
Comment:
Revision 19 as of 2013-07-29 08:56:43
Size: 8915
Editor: mail
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
<<Include(Touch/Menu)>>
## page was renamed from UbuntuPhone/CoreApps
<<Include(Touch/CoreApps/Contents)>>

== Dogfooding ==

||<tablestyle="float:right; font-size: 0.9em; width:40%; background:#F1F1ED; margin: 0 0 1em 1em;" style="padding:0.5em;"><<TableOfContents>>||

The best way to know that our Core Apps are ready for every day use, is to start using them every day (eating our own dogfood, as the saying goes). With our Beta release targets fast approaching, and much of the basic functionality in place, we decided it was time to start doing just that.

Just like Rick Spencer did for the phone itself, we are setting a list of features for each app that we consider a requirement for everyday use. Just like with dogfooding the phone, this doesn’t mean the apps will be finished when these goals are met, just that they can be used and relied upon for daily life as a daily driver. Being able to use them regularly will help us identify and fix more bugs on more devices, helping drive up the quality of these apps before the final release later this year.

We want to encourage our core app contributors to rally around completing the features below by the end of July so we can reach this core level of functionality. Let’s make July the month where transition these apps from projects to software our growing Ubuntu Phone userbase is starting to use!

Fire up your engines!

== Dogfooding Activities ==

Anybody can participate in dogfooding the Core Apps, all you have to do is use them. You don't need to be a developer, you don't need to know anything about porting or compiling or packaging. Just fire up one of the apps, on a supported device or on your desktop, and start using it for your daily activities.

The most important thing you can do while dogfooding is to find and report any bugs you find. It's important to provide as much detail as possible in your bug report, including screenshots and device information, and describing the steps to reproduce the bug. Following the steps below will ensure that your bug report will be accurate and helpful.

 1. Try to recreate the bug, make note of the steps necessary to recreate it reliably
 1. Click the "File a Bug" link for the appropriate project from the [[#Dogfooding_July_Goals|list below]]
 1. You will first be asked for a bug title, Launchpad will then try to find any existing bugs that match yours
 1. If Launchpad finds an existing bug report, do the following:
  1. Mark it as affecting you by clicking the link "Does this bug affect you?"
  1. Read the description and comments for the bug, and fill in any of the information from the following steps if they are missing
 1. If Launchpad does not find an existing bug, it will ask you to fill in a longer description. Include here the steps necessary to reproduce your bug
 1. If it's a visual bug, get a [[#Getting_a_screenshot|screen capture]] or video of it happening, and upload that to the bug report
 1. If you are running the app on a phone or tablet, add a tag to the bug report using the name of your device (nexus4, nexus7, etc)
 1. Submit the bug report
 1. Keep an eye on your email, or bookmark the bug report, so that you can respond to any inquiries or requests for more information from the application's developers.

=== Getting a screenshot ===

You can get a screenshot of your device from your laptop/desktop when it is plugged into an USB cable using the adb tool. Run the following commands (or copy/paste them into a script you can call)

{{{
adb root
adb shell /system/bin/screencap -p /tmp/screenshot.png
adb pull /tmp/screenshot.png ./screenshot.png
}}}
Line 2: Line 46:

Below are the specific features for each of the Core Apps that are ctonsidered necessary for them to be ready for daily use. Each feature should have a corresponding work item in the App’s blueprint.
Line 5: Line 51:
 * Browse by month
 * Browse by week
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-calendar-development|Blueprint]] || [[https://bugs.launchpad.net/ubuntu-calendar-app/+filebug|File a Bug]] ||

 * Browse by year '''DONE!'''
 * Browse by month '''DONE!'''
 * Browse by week '''INPROGRESS'''
Line 10: Line 59:
 * Receive an alert 10 minutes before an event happens.
 * Bonus: sync Google Calendar.
 * Receive an alert 10 minutes before an event happens. '''BLOCKED'''
 * Bonus: sync Google Calendar. '''BLOCKED'''
Line 15: Line 64:
 * Read in music from ~/Music.
 * Browse a list of artists.
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-music-development|Blueprint]] || [[https://bugs.launchpad.net/music-app/+filebug|File a Bug]] ||

 * Read in music from ~/Music. '''DONE'''
 * Browse a list of artists. '''DONE'''
Line 18: Line 69:
 * Browse songs by an artist.
 * Play a song, with transport controls (Play, Stop/Pause, Skip Back/Forwards).
 * Shuffle.
 * Play music while the app is not focused.
 * Browse songs by an artist. '''DONE'''
 * Play a song, with transport controls (Play, Stop/Pause, Skip Back/Forwards). '''DONE'''
 * Shuffle. '''DONE'''
 * Play music while the app is not focused. '''DONE'''
Line 26: Line 77:
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-clock-development|Blueprint]] || [[https://bugs.launchpad.net/ubuntu-clock-app/+filebug|File a Bug]] ||
Line 27: Line 80:
 * View times in different cities.  * View times in different cities.  '''DONE!'''
Line 34: Line 87:
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-calculator-development|Blueprint]] || [[https://bugs.launchpad.net/ubuntu-calculator-app/+filebug|File a Bug]] ||
Line 36: Line 91:
 * Keep previous calculations across reboots of the app and device  * Keep previous calculations across reboots of the app and device '''DONE!'''
Line 39: Line 94:

|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-weather-development|Blueprint]] || [[https://bugs.launchpad.net/ubuntu-weather-app/+filebug|File a Bug]] ||
Line 47: Line 104:
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/sudokotouch-coreapps-development|Blueprint]] || [[https://bugs.launchpad.net/sudokutouchgame/+filebug|File a Bug]] ||
Line 48: Line 107:
 * Record and display high scores
 * Provide hints
 * Record and display game statistics '''DONE!'''
 * Provide hints '''DONE!'''
Line 52: Line 111:

|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-rssreader-development|Blueprint]] || [[https://bugs.launchpad.net/ubuntu-rssreader-app/+filebug|File a Bug]] ||
Line 60: Line 121:
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-filemanager-development|Blueprint]] || [[https://bugs.launchpad.net/ubuntu-filemanager-app/+filebug|File a Bug]] ||
Line 63: Line 126:
 * Copy files.
 * Delete files.
 * Move files.
 * Copy files. '''DONE!'''
 * Delete files. '''DONE!'''
 * Move files. '''DONE!'''
Line 69: Line 132:
 * Load a text file.
 * Load an image file.
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-docviewer-development|Blueprint]] || [[https://bugs.launchpad.net/ubuntu-docviewer-app/+filebug|File a Bug]] ||

 * Load a text file. '''DONE!'''
 * Load an image file. '''DONE!'''
Line 72: Line 137:
 * View the file.  * View the file. '''DONE!'''
Line 77: Line 142:

|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/initial-terminal-development|Blueprint]] || [[https://bugs.launchpad.net/ubuntu-terminal-app/+filebug|File a Bug]] ||
Line 86: Line 153:
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/droppingletters-coreapps-development|Blueprint]] || [[https://bugs.launchpad.net/dropping-letters/+filebug|File a Bug]] ||
Line 91: Line 160:
 * Search for stocks.
 * Add stocks to your portfolio.
 * Browse current stock prices.
 * Browse stock information.
|| [[https://blueprints.launchpad.net/ubuntu-phone-commons/+spec/stockticker-coreapps-development|Blueprint]] || [[https://launchpad.net/stock-ticker-mobile-app/+filebug|File a Bug]] ||

 * Search for stocks. '''DONE!'''
 * Add stocks to your portfolio. '''DONE!'''
 * Browse current stock prices. '''DONE!'''
 * Browse stock information. '''DONE!'''

Warning /!\ Ubuntu Touch is no longer maintained as a core product by Canonical. However, the Ubports community are continuing development.

Dogfooding

The best way to know that our Core Apps are ready for every day use, is to start using them every day (eating our own dogfood, as the saying goes). With our Beta release targets fast approaching, and much of the basic functionality in place, we decided it was time to start doing just that.

Just like Rick Spencer did for the phone itself, we are setting a list of features for each app that we consider a requirement for everyday use. Just like with dogfooding the phone, this doesn’t mean the apps will be finished when these goals are met, just that they can be used and relied upon for daily life as a daily driver. Being able to use them regularly will help us identify and fix more bugs on more devices, helping drive up the quality of these apps before the final release later this year.

We want to encourage our core app contributors to rally around completing the features below by the end of July so we can reach this core level of functionality. Let’s make July the month where transition these apps from projects to software our growing Ubuntu Phone userbase is starting to use!

Fire up your engines!

Dogfooding Activities

Anybody can participate in dogfooding the Core Apps, all you have to do is use them. You don't need to be a developer, you don't need to know anything about porting or compiling or packaging. Just fire up one of the apps, on a supported device or on your desktop, and start using it for your daily activities.

The most important thing you can do while dogfooding is to find and report any bugs you find. It's important to provide as much detail as possible in your bug report, including screenshots and device information, and describing the steps to reproduce the bug. Following the steps below will ensure that your bug report will be accurate and helpful.

  1. Try to recreate the bug, make note of the steps necessary to recreate it reliably
  2. Click the "File a Bug" link for the appropriate project from the list below

  3. You will first be asked for a bug title, Launchpad will then try to find any existing bugs that match yours
  4. If Launchpad finds an existing bug report, do the following:
    1. Mark it as affecting you by clicking the link "Does this bug affect you?"
    2. Read the description and comments for the bug, and fill in any of the information from the following steps if they are missing
  5. If Launchpad does not find an existing bug, it will ask you to fill in a longer description. Include here the steps necessary to reproduce your bug
  6. If it's a visual bug, get a screen capture or video of it happening, and upload that to the bug report

  7. If you are running the app on a phone or tablet, add a tag to the bug report using the name of your device (nexus4, nexus7, etc)
  8. Submit the bug report
  9. Keep an eye on your email, or bookmark the bug report, so that you can respond to any inquiries or requests for more information from the application's developers.

Getting a screenshot

You can get a screenshot of your device from your laptop/desktop when it is plugged into an USB cable using the adb tool. Run the following commands (or copy/paste them into a script you can call)

adb root
adb shell /system/bin/screencap -p /tmp/screenshot.png
adb pull /tmp/screenshot.png ./screenshot.png

Dogfooding July Goals

Below are the specific features for each of the Core Apps that are ctonsidered necessary for them to be ready for daily use. Each feature should have a corresponding work item in the App’s blueprint.

Calendar

  • Browse by year DONE!

  • Browse by month DONE!

  • Browse by week INPROGRESS

  • Browse by day
  • Create a calendar event for a given time on a given day. DONE!

  • Browse a specific event’s details. DONE!

  • Receive an alert 10 minutes before an event happens. BLOCKED

  • Bonus: sync Google Calendar. BLOCKED

Music

  • Read in music from ~/Music. DONE

  • Browse a list of artists. DONE

  • Browse albums by an artist.
  • Browse songs by an artist. DONE

  • Play a song, with transport controls (Play, Stop/Pause, Skip Back/Forwards). DONE

  • Shuffle. DONE

  • Play music while the app is not focused. DONE

  • Bonus: pull in album cover/details from the net.

Clock

  • View local time. DONE!

  • View times in different cities. DONE!

  • Stopwatch (start, stop, pause, lap) DONE!

  • Set alarm, be notified when the alarm time arrives
  • Set timer, be notified when the time runs out

Calculator

  • Create a common calculation (subtraction, addition, multiplication etc). DONE!

  • Create a new calculation. DONE!

  • Keep previous calculations across reboots of the app and device DONE!

Weather

  • Choose a location to view weather from. DONE!

  • View current weather conditions. DONE!

  • View a 10 day forecast. DONE!

  • Configure C or F and display that chosen setting for all locations. DONE!

Sudoku Touch

  • Start a new game DONE!

  • Record and display game statistics DONE!

  • Provide hints DONE!

RSS Reader

  • Add a feed. DONE!

  • Browse feeds. DONE!

  • View a feed. DONE!

  • Select an item to view from within the feed.

File Manager

  • Browse folders. DONE!

  • View files within folders. DONE!

  • View file information. DONE!

  • Copy files. DONE!

  • Delete files. DONE!

  • Move files. DONE!

Document Viewer

  • Load a text file. DONE!

  • Load an image file. DONE!

  • Load a PDF.
  • View the file. DONE!

  • Forward/back pages on PDF.
  • Pinch to zoom.

Terminal

  • Issue commands. DONE!

  • Use case: ssh into another computer. DONE!

  • Use case: edit a file with vi. DONE!

  • Use case: tail a log file. DONE!

  • Use case: apt-get update. DONE!

Dropping Letters

  • Start a new game. DONE!

  • View high scores.

Stock Ticker

  • Search for stocks. DONE!

  • Add stocks to your portfolio. DONE!

  • Browse current stock prices. DONE!

  • Browse stock information. DONE!

Touch/CoreApps/Dogfooding (last edited 2013-11-01 15:21:19 by popey)