Showing posts with label android. Show all posts
Showing posts with label android. Show all posts

Physics Gizmo is Open Source

I've put the source to Physics Gizmo on GitHub. If you are interested in helping me develop a tool for students to collect and analyze scientific data in an affordable way I encourage you to join the project.



Physics Gizmo on GitHub
Discussion Group Forum

Physics Gizmo on Google Play

More information on Physics Gizmo can be found at the original Physics Gizmo post on BrokenAirplane.


Subscribe and Connect to see how educators are innovating.

Physics Gizmo is updated to version 2.2

Physics Gizmo is updated to version 2.2 for phones running Gingerbread, Honeycomb, or Ice Cream Sandwich.

If you are running Ice Cream Sandwich (Android version 4.0), this update brings with it a visual refresh in alignment with the new look and feel.

For everyone else, Physics Gizmo will no longer close if you choose not to turn on Bluetooth. This is a bug I have wanted to resolve for a while, and I appreciate your patience.

Bluetooth is necessary to connect two phones as a photogate (video), but if you don't turn on Bluetooth the other sensors work just fine.

Thanks to everyone who uses and tells others about Physics Gizmo. Please let me know your comments, feedback, and requests and I would appreciate it if you leave positive feedback/rating in Google Play.

See the original Physics Gizmo post for more background and information about the app.

Subscribe to Brokenairplane to see how Education is shifting and educators are innovating!

Android + Science with Physics Gizmo

Science equipment can be expensive and yet many of your students have Android phones. Why not put this incredible technology to use for learning. Physics Gizmo allows you to collect scientific data in your classroom, at home, or even in space using only the phone.

Download Physics Gizmo from Google Play

Physics Gizmo is Open Source
I've put the source to Physics Gizmo on GitHub. If you are interested in helping me develop a tool for students to collect and analyze scientific data in an affordable way I encourage you to join the project.


Physics Gizmo on GitHub
Discussion Group Forum

For inspiration, here's an experiment using Physics Gizmo - via +Roberto Catanuto (@RobertoCatanuto)


Version 2.3
This version no longer requires you to turn on Bluetooth when the app starts. The only time you need to turn it on is if you wish to use two phones as a photogate (see below).


Version 2.2
Physics Gizmo is updated to version 2.2 for phones running Gingerbread, Honeycomb, or Ice Cream Sandwich.

If you are running Ice Cream Sandwich (Android version 4.0), this update brings with it a visual refresh in alignment with the new look and feel.

For everyone else, Physics Gizmo will no longer close if you choose not to turn on Bluetooth. This is a bug I have wanted to resolve for a while, and I appreciate your patience.

Bluetooth is necessary to connect two phones as a photogate (video), but if you don't turn on Bluetooth the other sensors work just fine.



Version 2.0
Now there are more opportunities to conduct scientific experiments with your phone.

New Sensors
Using the phone's proximity sensor (usually in the upper left of the phone), Physics Gizmo has three new options for collecting data:  
  1. Photogate Pulse - Triggered each time the proximity sensor is covered. Use it to count events. 
  2. Photogate Pulse with 2 Phones (Beta, only for Android 2.0+) - Connect two phones for accurate event timing. Similar to the 1 phone photogate but one phone starts the timer and the other one stops it. If you are tired of inaccurate experiments from human error with a stopwatch this is for you. See how long it takes for an object to fall or roll down a ramp like Galileo's and more! With Bluetooth's range ~30 ft/10 m there are many possibilities for learning. Watch a video of the 2 Phone Photogate in action.
    1. Click yes to turn on Bluetooth Discovery mode.
    2. Select another phone running Physics Gizmo from the list.
    3. The timer starts when the first phone's proximity sensor is triggered.
    4. The timer will stop when the second phone's proximity sensor is triggered.
  3.  Pendulum - Notoriously difficult to time accurately, an event is recorded for each completed full swing/period (two triggers) of a pendulum passing by the proximity sensor. Watch a video of the pendulum sensor in action.
Note:
  • If you don't see the new sensors your device does not have a proximity sensor (some tablets). 
  • If you don't enable Bluetooth in the beginning, you will not see the 2 phone photogate.


Updated Accelerometer Sensing
  • Continues to sense from the accelerometer even if the screen is turned off (note: be sure to try this with your phone as results may vary). Useful when the phone is in your pocket on a roller coaster.
User Interface 
  • New layout with higher resolution.
  • When finished sensing, press the "plus" button to add more time and sense again.
  • Pressing the question mark button in the upper right opens contextual help for you to successfully use Physics Gizmo and upload your data.

Using Physics Gizmo
  1. Turn on Bluetooth to access all sensors.
  2. Select your sensor
  3. Give your data a name or leave it with the time and date.
  4. Set the timer.
  5. Click start to collect data.
  6. Upload your data to analyze later using Google Docs, Fusion Tables, Geogebra etc. It is also saved in the ScienceData folder on the SD card as a csv.
Think of all of the experiments you can do, considering how much more likely you are to have enough phones in the classroom to do the experiment

I am really excited to see it used by students. I was originally inspired to create the app for my colleague who takes his students to Magic Mountain for Physics Day. Now they can collect accelerometer data on all of the rides and analyze the data back at class! That data will help them build their own roller coasters. The photogate sensors were inspired by my other colleague who creates pinewood derby cars but was always looking to improve the accuracy of the racing data.

The point is, now students can learn science with a phone they already use everyday. Please share in the comments how you used the app!


How Did I Get Here 
A while ago I created an app using Python and Android so everyone could collect data for science experiments. That post became one of my top all time read posts. But, I worried that all you did was read it. You see, I made a couple of mistakes that I wouldn't let students get away with:
  1. I made it relatively difficult to access. The instructions are there, and it would probably take about 20 minutes to get the app on your phones, but 20 minutes is a huge chunk of time in the Internet world and we have so much to do. I have seen people pass up learning Geogebra because they thought it would take too much time to learn!
  2. My second mistake was I didn't push myself to learn. Instead of learning Android programming, I asked all of you to do the work of getting it working so I could play it safe with Python. 
I decided to fix that right away. Now I love Python for its syntax, therefore Android (which is built upon Java) seemed more complex than I would have liked. But, if I wouldn't allow a student to get away with that, then I certainly couldn't.

So I did what I always do when trying to learn something new: I read, and read, and read until I stored up all of the confusing syntax and methods in my head. Keep in mind that this didn't make any sense to me whatsoever. 

Then I came across this excellent tutorial by Chris Blunt. It takes you through the setup, installation, and programming of an android timer app. The clear instructions, pictures, and hints made it really simple to see how an Android app comes together. Eureka! Everything clicked together and suddenly, I was writing all kinds of additions to the app. 

Now, that makes it sound pretty simple huh? Well there were still plenty of bumps in the road, but I did learn than programming for Android is a lot easier than I thought and it makes sense once you get the hang of it. Not to mention I had two powerful tools that kept me going. 
  1. Eclipse - It's free, it's open source and it's incredible! It will generate templates, spell check, find errors, suggest fixes. I can't imagine how I would have come this far without it. 
  2. The Web - Yes, I know it sounds obvious, but books take too long to root through and sometimes your question doesn't fit the examples in the book. I must give special appreciation to Stack Overflow which always seemed to have the right answer. Although, when it had a similar answer, but not the exact one I needed, it pushed me to understand the concepts even more.
The Apress are my favorite Android books so far. I used, Android Apps for Absolute Beginners, Beginning Android 3, and I just ordered Learn Java for Android Development so I can gain an even deeper understanding of how this works. I intend to fully immerse myself in Android programming this year so I can make some apps that can support learning.

Connect with BrokenAirplane and stay up to date with the best resources in education.

Follow my microblogging on Google+

I'm Not Texting I'm Programming!

Update: This app is available now as Physics Gizmo on Google Play.

No less than a century ago, it was possible to learn everything we knew about science. The only requirements were an ability to read, an extensive library, and perhaps the equipment to carry out your own experiments. Now we have entered a new era of science where literacy is more widespread and between the Internet and Libraries we have every resource imaginable at our fingertips.

Two big problems remain, science has diversified and grown so much that it is difficult for scientists to know everything about their own field let alone another. The other issue is how science equipment remains financially out of reach of amateurs and explorers. The major scientific research is driven by that which will have a financial return and so science for its own sake is limited. This is even more evident in schools who are cutting science to save the rest of their budgets and focus on less expensive (and more tested) subjects This must change if a steady stream of innovation is to continue.

The hacker spirit is a deeply embedded part of science. Now out of necessity and pure enjoyment, many are directing their attention away from software development but to hardware. In the August issue of Wired, the BioHacker movement features those who wish to reduce the cost of doing Genetic analysis.

Do you know where these DIY Biologists expect to see the most impact? Schools! For students to do science instead of just reading about it. Arduinos, Makerbots, Robotics, and more are forever changing the opportunities students have to create.

At my school we spent a lot of time in labs and projects. What was lacking was quality data. Unfortunately the tools and sensors available to students are expensive and limited. So I did what I always do, I sat down and wrote some code :)

I love my Android phone and each day I hear about the insane number of new activations everyday. The smart phone is getting smarter and cheaper just as technology always does. Just as we saw an explosion of Desktops and later Laptops in the 1990-2000s, we are seeing an even speedier rate of adoption of smart phones. While looking at my phone one day, I realized how many sensors/tools it has built in seamlessly to its interface (Internet, Accelerometer (motion sensor), Gyroscope, Light, Sound) which if purchased separately would be thousands of dollars and would not play well with each other.

So I wrote a program which logs motion and then uploads it to your Google Docs account. You can see some screenshots below of the results.

Jumping up and down

Dropping my phone (onto a pillow)

To do this, I used sl4a (Scripting Language for Android). With this you can code in Python, Ruby, Javascript (and more) and do almost anything with your Android phone. It has a built in editor so you can quickly type code into the phone (hence this post's name) or you can code it in your favorite editor and then transfer it to the SD card on your phone.

Why did I use sl4a instead of making a nice pretty app using Android's SDK? This application uses the Google Doc APIs (basically commands to communicate between an app and and a program like Twitter or Facebook) and Python. If you look at the code it could be done by any of our students with a free weekend. It may look a little complicated at first but there are just a lot of function calls to save code. Just like most other Python code, it reads like a story (login, get the parameters, sense, upload).

I believe sl4a could take students who may or may not have used App Inventor or Scratch to the next level and open up a world of possibilities to them. sl4a has been used to send collect data on a phone being launched into space and many other exciting projects involving Twitter, Robots, Arduino and more!


I wanted to use sl4a so everyone who knows Python could see the code and hopefully improve on it. I don't have the time right now, but I would love to see other sensors added, the ability to review and display the data/graph on the phone, interface with Arduino, and store data on the phone if it logs data longer than 1 minute, and perhaps even add a pretty GUI. I'm hoping that by open sourcing this, others will want to jump on board and help out. Cellbots have set the bar really high and have their own incredible data logging app and if they integrated Google Docs uploading I would say their app is perfection.

My hope is as more educators/students realize their ability to create, scientific tools will become available to all. People like Steve Dickie, the Arduino team, Geogebra, and many others are working really hard to ensure that the cost to do STEM is reduced dramatically.

You could walk into your class on Monday and ask your students how many of them have an Android phone, you may be surprised that there are enough for one per group. Think of all of the experiments you could do with nothing else but your phone. I can't wait for this year's Magic Mountain Physics Day and see how many students could get data from a roller coaster and directly upload it to their Google Docs (and check it while still at the park from the GDocs Android app).

Look how easy it is to make a little popup on your screen!
import android
droid=android.Android()
droid.makeToast("Hello Android")


If you want to give this a shot, go to the sl4a website and download the apk (the installer). Your other options are to click this link, or scan the barcode on the right with your Android phone. Follow the User Guide to get Python (or the other languages) installed on your phone.

Now, you are ready to start coding on/for your phone. There are some great tutorials on the sl4a website, I also recommend the book Pro Android Python with SL4A. In my code below I list a few other resources that were helpful to the doScience project.

If your code is relatively small you can share it via barcode but this app falls just above that threshold. So you can copy and paste it from below (just please respect the Creative Commons licence) into your Python Editor or download the doScience file directly. Save it to your SD card in the sl4a/scripts folder. This code must be run on a phone or a computer connected to a phone running an sl4a server (much simpler than it sounds).

Note: It will ask you to login to your Google account. As you can see from the code below, no one is able to access that information since it is kept hidden from even the developer by the dialogGetPassword method in line 41.

I hope this app inspires you to do something great. If you know how to program, build, create will you please lend your talents to this projects or the many others out there. If you don't know how to create, then learn as it is the most incredible thing to be a Maker and you will inspire others. Before you know it, the revolution will be underway (oh wait it already is, come join us)!

Subscribe and Connect to BrokenAirplane and stay up to date with the best resources for your classroom.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
'''This code is licenced under a Creative Commons
Attribution-NonCommercial-ShareAlike 3.0 Unported Licence.
Created by Phil Wagner 2011 www.brokenairplane.com. This code allows data logging and uploading to Google Spreadsheets.
It exists so students can to do Science when 
the cost of Science Equipment is too expensive. Additional features can be added
but this paragraph should always remain in the code.'''

#Future features - Additional Sensors, Review, Display Data/Graph on Phone
#interface with Arduino/ADK

#Helpful Resources:
#http://code.google.com/p/android-scripting/ (sl4a)
#http://code.google.com/ (Google APIs and resources)
#http://www.adaptcode.com/using-google-spreadsheets-as-a-database-in-the-cloud/
#http://gdata-python-client.googlecode.com/svn/trunk/pydocs/gdata.spreadsheet.text_db.html

import android
import time
import gdata.spreadsheet.service
import gdata.spreadsheet.text_db
import string

droid = android.Android()

dt=100 #Time between sensing

def countdown():
    #3 Second Countdown and Vibrate
    droid.vibrate(100)
    time.sleep(1)
    droid.vibrate(100)
    time.sleep(1)
    droid.vibrate(100)#3 second countdown
    time.sleep(1)
    droid.vibrate(300)
    return

def login(myEmail='example@gmail.com', password=''):    #Get Email and Password and login
    while password == '':
        email = droid.dialogGetInput("Email", "Enter the email account where the Data will be uploaded to:",myEmail).result
        password=droid.dialogGetPassword("Password", "Enter the account password where the Data will be uploaded to:").result
        try:
            client = gdata.spreadsheet.text_db.DatabaseClient()
            client.SetCredentials(username=email, password=password)
        except gdata.spreadsheet.text_db.BadCredentials:
            droid.dialogCreateAlert("Username or password incorrect.")
            droid.dialogSetPositiveButtonText("OK")
            droid.dialogShow()
            redo = droid.dialogGetResponse()
            password =''
            continue
        else:
            return client

def spreadSheetSetup(client, defaultTitle = 'Science Data'):
    versionNumber = client.GetDatabases(name=defaultTitle)
    if len(versionNumber) > 0:
        droid.dialogCreateAlert('Science Data %d' % len(versionNumber))
        droid.dialogSetPositiveButtonText("OK") #Yes option box
        droid.dialogShow()
        understood = droid.dialogGetResponse()
        spreadsheetTitle = defaultTitle+' '+str(len(versionNumber))
    else:
        spreadsheetTitle = defaultTitle
    return client.CreateDatabase(spreadsheetTitle)

def time2Sense(defaultTime=5000):
    maxTime =0
    #Enter time for sensing
    while maxTime == 0: ##How long to sense?
        try:
            maxTime=int(droid.dialogGetInput("Time", "How long to collect data (in milliseconds):",str(defaultTime)).result)
        except TypeError:
            droid.dialogCreateAlert("Please enter a numeric time")
            droid.dialogSetPositiveButtonText("OK")
            droid.dialogShow()
            droid.dialogGetResponse()
            continue
        if maxTime > 30000: #30 seconds max for optimal upload
            droid.dialogCreateAlert("Warning this could take a long time to upload.")
            droid.dialogSetPositiveButtonText("I accept the risks")
            droid.dialogSetNegativeButtonText('New time')
            droid.dialogShow()
            check = droid.dialogGetResponse().result
            if check['which'] == 'positive':
                return maxTime
            else:
                maxTime = 0
                continue
        return maxTime

def doScience():
    droid.dialogCreateAlert('Are you ready', 'Click yes to begin sensing, or no to cancel')
    droid.dialogSetPositiveButtonText("Let's do science!") #Yes option box
    droid.dialogSetNegativeButtonText("Nah let's cancel") #No option box
    droid.dialogShow()
    return droid.dialogGetResponse().result

def senseAccel(endTime,dt=100):    #Sense and store accel data
    timeSensed=0
    tempScience = []
    droid.startSensingTimed(2,dt) #dt = time between sensings
    while timeSensed <= endTime:
        tempScience.append(droid.sensorsReadAccelerometer().result) #add new accel data to list
        time.sleep(dt/1000.0)
        timeSensed+=dt
    #Stop Sensing
    droid.makeToast("Done")
    droid.vibrate(300)
    droid.stopSensing()
    return tempScience

def main():
    db =spreadSheetSetup(login())
    endTime = time2Sense()
    ready = doScience()
    if ready['which'] == 'positive':
        countdown()
        science = senseAccel(endTime,dt)
        table=db.CreateTable('Accelerometer',['t','x','y','z']) #Beware spreadsheet column names cannot be uppercase if you are going to add to them later http://code.google.com/p/gdata-python-client/issues/detail?id=363
        droid.dialogCreateHorizontalProgress('Progress','Uploading to Docs',len(science)*3 )
        droid.dialogShow()
        progress = 0
        time = 0
        for data in science:
            table.AddRecord({'t':str(time),'x':str(data[0]),'y':str(data[1]),'z':str(data[2])}) #AddRecord requires strings as arguements str()
            progress+=3
            time+=dt
            droid.dialogSetCurrentProgress(progress)
        droid.dialogCreateAlert('Done', 'Go check your data on Docs')
        droid.dialogSetPositiveButtonText("OK") #Yes option box
        droid.dialogShow()
        droid.dialogGetResponse()

if __name__ == "__main__":
        main()

Dependable Ride, The iPhone and Android App That Could Save Lives

There are some pretty sobering statistics about drunk driving that anger and frustrate me at the same time. Unlike cancer or war these deaths are preventable or accidental and always traumatizing for all involved. While efforts are made to educate people on the risks and costs, people still make foolish decisions.

Some will designate a driver or set up a ride home only to have it fall through. This is an even bigger problem with high school students who will try to drive home because they don't want to face the legal or parental repercussions if they are discovered intoxicated.

This could also be helpful if you suddenly find yourself lost or in danger. There is no reason why a child or someone alone should have to increase the risk of their life by calling numbers one-by-one hoping for rescue.

Some of my former students were tired of seeing this happen at their school with their friends and peers and decided to take matters into their own hands. They created Dependable Ride, an iPhone and Android app that will alert those on your phone's contact list that you need a ride home. This increases the possibility of finding a safe ride home.



How you can help
These students have come up with an amazing solution that could take drunk drivers off the road and find safety for those in need. They have used their programming, research, and marketing skills to make the world a better place. But the app has not been made yet, and you can help make that happen.

Team R Squared has submitted their idea and proposal to the Conrad Foundation's Spirit of Innovation Contest in hopes of getting their idea funded and supported. The team has already been selected as a finalist and with your vote, you can make it official.

Click on the link to Vote for Dependable Ride (Team R Squared) and Like their Facebook page. These are the two ways to increase the likelihood of their app being selected for funding.

Subscribe to BrokenAirplane and keep up with all of the latest education and technology resources!

Use Google App Inventor to Create Your Own Android Programs

Update: App Inventor is being integrated into MITs Mobile Learning Center. Don't wait, start using it today with Google! (see the announcement on the Google Research Blog from App Inventor's creator Hal Abelson)

Whether it is for the fun of it, or out of an actual need, everyone can learn programming. Like any skill it requires a lot of practice and perseverance but programming does have a steep learning curve. There have been great leaps in providing the masses with the ability to create their own websites/wikis and with Python my 9th grade math/physics students have learned a lifelong skill, not to mention the powerful 3D Software like Alice and Blender (such an amazing time to be alive)!

Yet, with an ever growing population of mobile phones and the likely true prediction that they will replace most of what we do on a laptop, there is a need for those who can program for the mobile platform as well. Our phones are with us 24/7 and there are already so many great applications out there, but sometimes you have a great idea or need for something new. Google App Inventor is free and now open to everyone and the interface and tutorials are easy to follow in the way you have come to expect from Google.

Some of you might have reasons why you might skip over this post:
  • "I don't have the time to learn to program."
  • "I don't have an Android phone"
  • "I don't have an idea of what I would want to make"
Let me say that I was able to get an app up and running in less than 30 minutes. It is the goal of this blog to share with you amazing technology in a way that you can get started using it tomorrow (Geogebra, Python, Audacity, to name a few examples). Even though I do have an Android phone, for those of you who don't, you can use the built in emulator to test your apps on the computer. If you still think that there is nothing you would want to make, keep in mind that every one says the same thing when they start to create. Whether it is art, writing, or programming, the important thing is to just get in there and start, then when you see your potential you will come up with many more ideas.

In order to start making your apps:

  1. Setup your computer (download the software and make sure JAVA is updated).
  2. If you are using a phone:
  3. If you are not using a phone use the built in emulator to make your first app. 
I am going to let Google show you how to make the first app in which they use a meowing cat as their Hello World app (to each their own) as they do an excellent job of using pictures and descriptions to walk through the steps and I see no reason to try and do it better.


While creating this app, you will find a WYSIWIG Drag and Drop interface that makes building and designing an app very simple. The interface is a simpler implementation of the iPhone app designer in my opinion.


On the left are all of the commands and sensors that you can use in your app. This ranges from simple buttons and pictures to more sophisticated sensors like the Barcode scanner, videos, messaging, and even the ability to interface with their VEX Robots! 

On the right are customization features like color, layout, and other aesthetic features.

To make all of these components work together, they need logic and connections that determine what happens when you push on a button, turn the phone 90 degrees, etc. The actual programming occurs in the Block Editor where you connect conditions to methods (fancy name for a function) and make the magic happen. This setup is very similar to the Alice software environment in which kids from elementary school and beyond can make 3D JAVA like programs. 



There are tutorials from the basics to more advanced, and while one cannot do every possible thing that they could do if they were to program the application in the full Android SDK, it is powerful enough to make some very useful apps for class or general productivity. Not to mention that our students are understanding the basics of computer science which is applicable to any programming language and situation.

The App Inventor community is growing and is strongly committed to it's success. I think educators see how powerful it is for people to be able to create a useful or fun app without much programming experience. Keep in mind that students are still learning quite a bit about logic and algorithms, App Inventor just makes the syntax a bit more kinesthetic/visual (if only they all could be).

There are a few new resources out that I would like to highlight to get you started:
  1. The Official App Inventor Tutorials - The link may change once it moves over to MIT but the instructions will show you how to make a quiz app, a don't lose your car app, and more.
  2. Google App Inventor Book - I have reviewed most of the books out there on App Inventor and I enjoyed this one the most for its clarity and use of visuals. While App Inventor is colorful and easy to use, it is not just fun but a powerful development tool. The author delves right into the parts of App Inventor that would be useful for making professional and powerful apps like media, databases, sensors, game logic and more.
  3. My colleague Michelle Hutton (former president of the CSTA) spent her time at Google developing tutorials and curriculum to get you and your students going on App Inventor.
Enjoy and if you have created a cool app using the App Inventor be sure to leave a comment about it to inspire the rest of us!

Subscribe to BrokenAirplane and keep up with all of the latest education and technology resources!

Why I love my Android OS Smartphone

It is no secret that I love Google. Everything they make is so well integrated and well designed (ok Buzz and Wave had promise but oh well). I even helped test out Google Apps for our school and knew that it was going to be far more useful than Outlook for coordinating our meetings and working with our students.

So when the time came for a new phone, I knew I was going to go for an Android phone. I knew I would enjoy the email and calendar integration and maybe even a few apps but I had no idea how much I would enjoy it. When I first got my Android phone I was blown away by its potential. I kept remarking that this was the first phone that actually felt like a "smart phone" or a phone from the future.

Why I am writing this post, almost 2 years after I first got an Android phone? Well, our school provides our parent and students comments bi-annually. As fulfilling and enriching as this is for them, it is extremely time consuming to write 75 or so comments (especially when I have the FRC season underway). 

A couple of semesters ago, I realized that I could write comments while I was sitting in a line bored or riding shotgun up to Los Angeles to visit family. This has significantly reduced the strain and stress of doing comments and has prevented me from having to experience the hours of last minute comment writing that my comments.

Yesterday, I was writing a comment and needed to check the student's grade. I was able to switch back and forth between the gradebook website and my Gmail where I was writing my comments. It struck me just how Android allows me to be powerfully mobile.

How else do I enjoy my Android phone? Many probably misunderstand us smart phone users and think we are just Facebooking or Tweeting all day long (and some may be). Yet, I have become much more productive and efficient since having my phone and it has allowed me to maintain this blog, keep my FRC team, communicate with students and parents. 

Some of my favorite Android apps for Education and features are:
  • Dropbox: Having a networked drive that is easily accessible from the net is invaluable to a teacher. I cannot express how much I love backups of my stuff and the Android app is so wonderful with the ability to read and view almost any file.
  • Editing Google Docs: Really useful to be able to modify and collaborate on a document without being at a computer (Android 2.2 only)
  • Gmail and Google Calendar is so wonderful on an Android phone. Some write things down to remember them, I write them down to forget. Whether it is an idea or an event, I put it into my phone so I can spend my time and effort thinking about other things and being creative. With the updated Gmail app it is even easier for me to do these things. As a project based learning educator, I am always thinking of new ways to help students understand and apply information, and with my phone, I just send myself a little quick email (even at 2am) and no need to fret and concern myself with it anymore.
  • Rooting: Although I haven't yet done this for my Android 2.2 phone, rooting my HTC Hero made it much more enjoyable. The boost in speed was definitely worth it.
  • Tasker: My favorite Android app (next to Dropbox). It has a learning curve, but the Tasker wiki has some great tutorials. It allows you to customize your phone to your life and have it turn off the ringer at a certain time of the day or at School (based on GPS). There are countless other options to suit every possible need. While I still strongly support Free and Open Source, this app is definitely worth its price.
  • Versatility: The phone is basically open, which allows it to be used as my 8GB hard drive, mobile hotspot, robot remote control, and so much more.
For more apps, I suggest you check out the updated Best Android Apps for Educators and anyone else who wants to be incredibly productive.

While some might think that constant communication and access to information would be overwhelming and a drain on time, I have actually found the reverse. Of course out of the box, the phone has all of these notifications and reminders but I suggest you turn these off to suit your life. 

The fact is that, I enjoy the ability to get information, make reservations at a restaurant, communicate with my PLN and friends, get directions, and so much more. If you can get an Android phone I highly recommend it. My family uses Sprint because of the unlimited Data plan but there are many great plans out there. Let me know if you have any questions or suggestions on how to use Android to be more productive.

Subscribe to BrokenAirplane!

Download and Search Books from Any Device through Google eBooks

The opportunities for learning have increased dramatically since the emergence of the Internet. The ability to share and  help one another find resources and learn new information has removed many barriers for students who want to learn and develop their knowledge and  skills.


Google is again pushing the envelope for what should be public and free. Now everyone with a computer and Internet access has the ability to have Email, Document Collaboration, Websites, Translation/Phone, and soon even an Operating System. Our society has often needed to adjust to these changes and while Google has faced legal battles from their attempts to free books from restrictions, the time has come for Google to roll out its solution to book availability.

Announcing Google eBooks
Google eBooks is going to become one of your favorite websites. Now, you have access to search and read millions of books for research and preview. Through an agreement between Libraries, Publishers, and Google, you can now search the text of books to find relevant information for what you need. While this was available in part before, it has been greatly expanded to coincide with their ability to ready eBooks in the cloud.
Textbooks, magazines, and many other resources are available for search, viewing, and purchase. Through a new agreement you can now purchase digital versions of your media and then view them on  your computer, eReader, and mobile device.

While the resources available are expansive, I am sure that even more will be available with time since Google has devoted a large amount of resources and time to this venture.

I am grateful to all who have worked hard to create exciting new ways and methods for learning. 


Benjamin Franklin has always been one of my heroes (which is why my son is named after him). One of the most laudable and long reaching gifts he gave to this country was the US library system. How many of our lives have been enriched by a library? Yet, in much of our country access to high quality resources proves difficult for many in low income or rural areas. Thankfully, there are programs that allow libraries to share but it is time consuming and expensive.

Then Tim Berners-Lee dramatically cut down the barriers to learning when he opened up the World Wide Web to us all. Now information from all over the world was accessible through personal computers and while this can still represent a stumbling block, community resources are available so that almost all people can use the Internet, just maybe not as often as others.

Now as more and more people shift away from the traditional work/learning space and find themselves using phones and small devices, Steve Jobs and Jeff Bezos made learning mobile with the Apple iPods/iPhones and Kindle respectively which made it possible to read large amounts of information on mobile devices (I should mention that I don't solely attribute this to Jobs and Bezos but their leadership certainly drove the innovation that led to the new technologies).

With each passing day, more and more people are able to learn the new and widely diverse skills that make our society so unique. I hope more people take Google's lead and provide their technologies for as little as possible to provide equitable opportunities for all to learn.

Google eBooks

Subscribe to BrokenAirplane!

How to Get Things Done, The BrokenAirplane Way

Recently I was honored by a fellow teacher for helping to support her and other teachers. In her speech to our colleagues, she mentioned that I must have discovered time travel because of the number of things I am able to get done in a day. I have grading, lesson/project planning, writing a blog, side projects just like everyone else but I have discovered techniques and tips that help me use my time really efficiently.

I remember a financial planner telling me once, "it is not how much you make but how you make your money stretch", and this is true for time as well. For some people, giving them all the time in the world wouldn't help them get any more done. Here are some suggestions on how you can accomplish everything you hope to.


1) Set boundaries: This must be done first. Just like financial experts encourage "paying yourself first", similarly you need to decide when are your times to work and when are the times to play. Family, friends, and your happiness are far more important than anything else you are working on so make sure you decide when is your time for each.
  • For me, I primarily use my teacher prep period. Things come up so I wake up early. When I come home though except under extreme circumstances, I do not work.
2) Plan, Plan, Plan: I have lots of Google Documents and Spreadsheets where I have ideas started. Lots of lists and random thoughts that come to me about a project, lesson, or blog idea. I will write them down and then add them to the Google Docs. 
  • Once a project has reached a critical mass, I can start planning that project and create the fine details. This is much better than spending 6 hours planning a project from scratch in my opinion. If you are just starting out, there are many great ideas for projects at the Project Inspiration page.
  • It was really helpful for me to take our school calendar and block out my projects and plans. This allowed me to start thinking in terms of "2 week projects" or "projectile motion". This is also helpful as a safety net, that while you can refine and improve this schedule, it is always there in case you need something to fall back on.
  • Ask yourself if there are more efficient ways of doing what you are doing. If small changes can reduce the amount of work you have to do, then you have more time to do other tasks. 
3) Overcome Your Fears: When I first started projects, there was a lot more preparation than daily lessons, plus building guitars or robots has a lot more risk involved than a unit plan. I had some worries that would keep me from doing this project or that one. "What if it fails, this is a lot of work, maybe I should just do something simpler." You have to stop listening to that voice and just move along. If it doesn't go perfectly, you can always refine it for next year. Don't stress.

4) Breakdown your Tasks: Figure out what your maximum productivity time is and stop after that. If you go beyond that, and push yourself, your work and happiness will diminish quickly and will kill your creative spirit. Every semester we write a comment to each of our students and some prefer to do them all at once in a couple of days. For me, I divide the number of comments by the number of days and do that many each time. Sometimes, I will do more than needed and finish early which is always very satisfying.

5) You Need a ToDo List: Something simple that allows you to keep track of what needs to be done and what is most important. I keep it simple with Google Tasks. It is right there in my email and my mobile phone. 
  • Astrid and Remember the Milk are great Android apps. Evernote is really popular and available on every desktop and mobile device there is. Of course you can use good old fashioned pen and paper, I just don't want to be you if you forget it.
6) Do Not Feed the Social Butterfly: I have amazing colleagues, so amazing in fact that I could easily get engrossed in a conversation for hours with any one of them. So when I need to work, I lock the door. Additionally, turn off all notifications and pings from your social life. If you really want to be in the zone for that hour, turn off your phone ringer, close Facebook and Twitter, and hide yourself away. 

Work hard play hard. Get it done, be productive and creative and then go and do the other things you enjoy doing. For me I love being productive and getting things done. It is a wonderful feeling to go home without stress and be with my family because I have everything done. 

Do you have other suggestions for getting things done both at work or at home? Leave a comment to share with everyone else.

Android Apps You Will Love

My previous school used Google Apps for education and I was drawn to the idea of having my phone fully integrated with my email, calendar, docs, etc. I love my Android phone, even though it is a couple of years old, I still feel like I am holding a Tricorder. It is the first phone I have ever felt truly connected me to the world and did it well.

Since my Free and Open Source Software Suggestions is still one of the most looked at pages on BrokenAirplane, I figured a list of suggestions about my favorite Android apps for life, education, and otherwise might be helpful as well. These are certainly not exhaustive, just the ones I use frequently. 

Unless otherwise mentioned, these applications are all free. Now that the Google Play allows you to install directly to your phone, I have replaced the links so you can conveniently send them with one click.
  • Adobe Reader - Read PDFs on your phone.
  • AndroZip - Useful for opening attachments you download.
  • Astro - Browse the files on your phone, but it is best known for its ability to backup the applications on your phone.
  • Barcode Scanner - Scan barcodes and QR codes for quickly accessing information  (make your own QR business card here and here)
  • CardioGraph - Fantastic use of the camera to check your pulse.
  • Chrome - Sign in and keep all of your bookmarks and tabs available across alldevices.
  • Google Play Books - With Google's Play Bookstore, you can read on all of your devices.
  • Google Reader - This app seamlessly allows you to keep track of all of your blogs and RSS feeds. The interface is smooth and the sync works really well. Unlike some rss feed apps, you can do almost everything you can do on the computer Google Reader site (e.g. subscribe, search, follow from multiple accounts).
  • Google Sky Map - GPS and accelerometer equipped sky map. As you move your phone the map moves with you. If you use this every day or only a couple times a year it is still one of my favorite apps.
  • Google Translate - The power of this app was demonstrated to me when my students and I were able to communicate with other Robotics teams from around the World at Championships. Very powerful features like multiple languages and it will speak the translation as well.
  • GTasks - Google Tasks in Gmail is my todo list for getting things done. The app synchronizes so you don't have to go to a site.
  • HandyCalc - Powerful calculator with graphing and currency conversion.
  • NPR News - Useful for streaming the news and your favorite weekend shows.
  • Physics Gizmo - Now you and your students can do science without the cost of those expensive sensors. Blog post here.
  • PRemoteDroid - Allows you to remotely connect and control your computer. Use as a mouse, browse files. Really useful when you are teaching or away from your computer. Similar to Gmote but allows you to use Bluetooth as well. Download the software for your PC here.
  • Reddit Sync - Great interface and it's easy to open up the images/links/videos right from within the app. 
  • Seesmic - Love this Twitter app! I can quickly and easily post to Twitter and my Facebook page. I tried other apps and they were either slower or had less features. It has a lot of customizations for the look, frequency of updates, lists, and everything else you need in a Twitter app to connect to your PLN.
  • Shopper - Find out if you are really getting the best deal by scanning the object or barcode. The app will then tell you what Amazon, Ebay, Best Buy, etc are selling it for. I use this app for comparison shopping and I use the share function to remind my self of books I want to buy or take out from the library.
  • SL4A - This was the app I used to originally create Physics Gizmo. Great prototyping platform.
  • Smart Tools - (Free versions of each tool/Paid version puts them all in one app) uses your phones sensors to measure distance, height, angle, etc. Very handy.
  • WebMD - Simple interface, either click on where your symptoms are, check drug interactions, and more. Great for parents.
There are a ton more apps that I could have on my phone that I don't because I am trying to simplify my life and minimize distraction. What Android App can you not live without? Leave the link and description in the comments.