Dogfooding

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

The process for getting a screenshot differs if you're using Surfaceflinger or Mir. Mir is now the default.

Surfaceflinger

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

Mir

Use this script:- http://people.canonical.com/~j-lallement/touch/mirfbdump

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. BLOCKED

  • 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 BLOCKED

  • 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)