Showing posts with label cloud. Show all posts
Showing posts with label cloud. Show all posts

How I Used Google Drive to Create and Host My Web App and Hello Oppia

Has this ever happened to you? Back when my students and I were exploring Computational Thinking and developing using Python, and Processing. We ran into a big stumbling block, which was saving, sharing, and hosting our files.

Even though I had a very supportive IT manager, it was still difficult to have students develop anything substantial. Our students accessed all of their school files on a networked drive which was tricky and slow to access from home, students were not able to create or send zip files, and sharing their work publicly was difficult for numerous reasons. Have you experienced something similar?

For a project in my Masters program we were asked to develop a learning environment. After brainstorming for a little bit, I decided to create a environment where people could determine how well they could recognize the sound of a note and perhaps improve their ability to identify a pitch.

I realized this was an opportunity for me to dangerously overcommit and accomplish four additional tasks within this project:
  • Improve my knowledge of web development by creating the environment using HTML and SVG (Scalable Vector Graphics like those created in Inkscape or Illustrator)
  • Write higher quality code than I have in the past (Physics Gizmo refactoring is at the top of my list when I graduate)
  • Develop and deploy 100% in the cloud
  • Support my colleague's 20% project Oppia (more on that later)

Leaving Behind Bad Programming Habits

I am not a professional programmer and I did not study Computer Science at college, so I've picked up some habits that make it difficult to have code that is easy to update and maintain. I recently read Code Complete which taught me a lot about how to improve how I design and write code. I realize it is a tome, but I would highly recommend it and you can skip to the parts you want or need. I'm learning a lot from my previous creations and like any art, it takes a lot of practice to become good at programming.

I have been reading up on some of the new fun features HTML5 provides, but based on some advice from my colleague Neil, I decided to use SVG rather than the canvas. This turned out to be excellent advice and it was fascinating to learn how one can programmatically create graphics. Creating shapes using Python Turtle is one of my favorite activities for students to learn how to think computationally and creating your own SVGs is a great next step. In my experience, students love creating their own works of art and will endlessly play with it until they get it just right, then they'll tweak it to see what happens.

Developing in the Cloud

Why was it so important for me to be able to develop my application using only web-based tools? Well there's the reasons I mentioned above, where my students and I found it difficult to develop, save, and host code (let alone collaborate) from their school laptops. Plus, I have become so spoiled that I like the ability to have all of my files automatically backed up and accessible from any device.

When I started looking into options for ways to develop software online, there were some high quality paid services but these were more than I needed, were cost prohibitive for a classroom, and sometimes required you to use a command line / terminal which was not an option for students at school. On the other end of the spectrum there are many great websites that allow you to code in the browser, but often lack the ability to save your work, Sage and IPython notebooks are two excellent exceptions that would be great additions to your classrooms.

Recently it was announced that you could host a website from Google Drive. I added Neutron Drive and ShiftEdit from the Chrome Web Store and enjoyed using them both. They have many awesome feautres like syntax highlighting, lint testing, and collaborative editing and are each adding new ones all the time. Best of all I was able to write 100% of my code within Google Drive which meant my work was always backed up and I could keep working on it anywhere.

I highly recommend using this process for students to easily create, save, share, and host their work. I would love to see students collaborating on code much like they do with Google Docs for writing. If your school has Google Apps for Education, your IT manager can deploy these apps to your students right away.

On the right is a screenshot of the app I created for my class, click here to try it out. I plan to continue to develop this after I graduate. I'm also sharing the Oppia Opera code if you would like to play with it yourself.



Oppia

My colleague Sean, who works on the Course Builder project, spends his 20% time working with others on a project called Oppia that allows you to create branching explorations.

Think of it like a choose your own adventure tool, but the learner can explore any topic you set up. When I first met Sean almost a year ago, he demonstrated the idea that would later become Oppia using an exploration in combinatorics using three balls. Since then, the team has added more features so you can explore language, music, and more.

When I was developing the music app for my class, I asked Sean if it would be possible to integrate content from another site into an Oppia exploration. I had the PhET tools in mind when I proposed this to Sean and I'm glad to see they were able to pull it off as it opens up many of the simulations and tools that we use and love to have added functionality so students can have a guided exploration through a topic.

Here's a screenshot of a sample exploration where Oppia provides feedback to help you find a landmark:

The team has worked hard over the last few months to make it relatively easy to create and modify an exploration so try it out and send the team your feedback and ideas. Oppia is open source so you can run your own instance or modify it to meet your needs. It will be interesting to see Oppia evolve over time and I am excited to see how we can interact with content online so it is more interactive and feels more like a conversation.



Lots of updates in this post,  I appreciate you reading to the end. I've wanted to share these updates with you for a long time but my Master's program is consuming every minute I have these days. I expect to graduate in May at which point I can continue to explore, develop, and share many other projects I am working on. 

ClassConnect makes sharing resources and collaborating easy

By some estimates there are approximately 4 million teachers in the US. On any given night, weekend, holiday, teachers are thinking about what to do in their classrooms. Some are developing worksheets, others are designing projects, maybe they are searching around for something previously made. The problem is that millions of hours a week are wasted recreating these materials. Educators are professionals and they are also human beings. I believe we have better things to do with our work and personal time than start from scratch every day and with every new teacher.

Now many of us share resources already, whether it is with your colleagues at work or online but how easy is that and what happens over time? This process doesn't scale, it only helps some. There are repositories of lesson plans all over the web. But how do you separate the good from the...um not so good?

ClassConnect is driven by a passion to solve this problem. The developer behind this has put every resource he has into making this awesome, and it is awesome. My colleague Audrey at Hack Education has already done a great job of giving an overview and showing how ClassConnect is the Git Hub for Education (a code sharing platform for programmers). What I want to focus on is how easy it is to get started right away. Did I mention it's free!

We were each taught how to create lessons in our credential programs. We take pride in creating them and making them great. However, each time we create a new lesson we are running an experiment and the results of that experiment (good or not so good) cannot be refined and reapplied for an entire year until you use that lesson/project again. What makes matters worse, is we are independently running that experiment thousands of times each year! The boon of the web is to allow researchers to share their findings and to crowd source experiments to solve problems more quickly. There is no reason why we can't do the same, in fact we must.

ClassConnect makes it easy for you to find and vote up the best stuff so it rises to the top. You can also search by topic, subject, standard, file type, and even type of lesson.


However, this platform is only as good as the resources we share. For every colleague you add, you get additional storage for your files. But get this, for every file you share publicly, it doesn't count against your quota! A great way to store your files in the cloud and an even better incentive to share. I shared this resource on Google+ and within a day I had more storage than my Dropbox. Plus I was now able to share it with you and have you benefit as well! You can even add a class online so you can share the entire curriculum or resources (I used it with my robotics team to maintain shared resources).

You can add anything: a link to your favorite YouTube video, a file, Google Doc, or an entire folder.  Click the share button to the right of the file and check the box that says Public, you just saved another educator valuable time!


Don't forget to add tags and a description to make sure we can easily find it.


Now you have access to some of the best projects and assignments I have found or made over time. Some of it was mentioned on this blog, but having it all in one place and searchable makes it much more convenient. Did I mention that you can claim a url? http://www.classconnect.com/brokenairplane/shared, head on over and claim yours to easily share. I'll add more as time goes on them, but the important thing is to share the best so over time we can refine and remix it for our own needs and continue to iterate.

By doing this, over time we can develop a large community developed collection of best resources. Imagine back to when you started teaching, wouldn't it have been wonderful to be able to use others resources (perhaps you were lucky enough to have a great mentor) and focus on your pedagogy and finding your feet? Then as time goes on you make the curriculum your own, refine and share like others shared with you. I would imagine we could crowdsource a lot of our resources and have great lessons, projects, puzzles/problems, etc. ClassConnect is inspiring a movement called United We Teach, I've joined the movement to help my fellow educators and our students, will you?

Stay connected with BrokenAirplane.

Google ChromeBooks for Education and Business

Last week there were some exciting announcements made at Google I/O and while it should be interesting to see how some of these projects will turn out, ChromeBooks is finally making its debut. The ChromeBook is the commercially available version of the Cr-48 Laptop I received a few months ago.

If you have not heard about this hardware yet, the basics are:
  • 7 second boot time and instant on from sleep mode
  • 8 hour battery life with wifi
  • Designed for cloud storage, very little if any local storage
  • Can be leased for about $20/month to schools and businesses or purchased for a few hundred dollars.

When I have worked with teachers on implementing technology in their classrooms the number one complaint is how long the computers take to start and the second problem encountered with laptop powered classrooms is battery life. Both of these cease to be concerns with ChromeBooks

You might ask how is it to work without a hard drive and all of your favorite programs? I would honestly say that I only miss it about 20% of the time. Which means for all of my basic needs: Internet, Email, Blogging, Calendar, Editing Lesson Plans/Documents the Chromebook is great. I appreciate that I can have an idea during a meeting and quickly jot it down. Not to mention all of the time where a task requires more than a phone's small keyboard.

Now walk with caution. There are a couple of caveats that one should consider before plunging in.
  • If you use a software like Photoshop or Premier you will not find an alternative in the ChromeBook (yet). There are many applications added to the Chrome Web Store each day to replace one of your installed programs. However, evaluate your needs and see if it the ChromeBook works for your situation.
  • If you wish to purchase a ChromeBook rather than lease it, the initial machines are retailing for a few hundred dollars. I am sure like any other technology, after the initial excitement dies down the price will drop dramatically.
  • I see these Chromebooks not replacing laptops but supporting alongside them. I would imagine a small computer to student ratio where some students are working on the ChromeBooks on an assignment that can be completed via cloud tools like Google Apps while other students might be editing a video on a standard laptop. This divide might go away as more developers start creating web based alternative programs.If you are interested in developing for the Chrome OS, you will greatly help out this process. 
The Market will show whether or not this will change the world or be considered ahead of its time. There are so many examples of technology that simply didn't catch on and we will have to see where the ChromeBook stands. Unfortunately it will likely come down to price, marketing and support.

Living in the Cloud

So having had my Cr-48 Laptop for a week and seeing what it is like to live completely without a hard drive, I must say I had no idea how much I rely upon software. Even though I save almost no data to my hard drive, I still am unable to live fully in the cloud.

That is fine with me, as Chrome OS has not even reached version 1.0 and it has a long way to go, yet it is ironic that living completely in the cloud had the same feeling as roughing it in the mountains. There are so many creature comforts that are just not yet there yet, but it wasn't too long ago that I was educating people about the surge in Open Source technology so I have great expectations for its potential.

In this post I wanted to share the great cloud/web apps that are out there now and also what I would need to see emerge to feel completely free to soar among the eagles.

First in 100 words or less, what is the cloud and why would I want to "live in it"? The cloud is the term given to the applications and network storage that work together so you can sync up your data online. This allows you to work from any computer (Apple/PC/Linux, Home/Work/In-Laws, etc). It also affords you the assurance that even if your computer is lost or broken, your data can be recovered.

As always out of respect to your time and pocket, I will recommend only that which is free or worth the cost and tested by me.

It would be impossible to have a cloud computing post without including the giant that made it popular. Google has provided so many different ways to work online and all of them are free.

Google Apps
Books (Store), Blogs, Chrome, Gmail, Calendar, Documents, Photos, Sites

Aviary
Bundled into Gapps or you can run them separately is the Aviary suite. In it you will find:

  • Image Editing
  • Screen Capturing
  • Vector Editor (think Illustrator/Inkscape)
  • Visual Effects Editor (very cool, lots of amazing potential)
  • Music Creator (ability to create beats and tracks)
  • Audio Editor (an online Audacity with a built in library of samples from Quantum Tracks)
  • Image Markup
  • Color Editor
The Aviary applications are amazing and some are even better than their desktop counterparts. If you have a creative bone in your body, you should definitely give them a try.

This is the cleanest, simplest, best way to sync your files. Simply install the software on any and every computer you want to synchronize and then simply drag and drop your files into the Dropbox folder and it is automatically backed up. Then you can access your files from any of the computers, online, or even from your phone.

I don't personally use this app but I know many others who I respect that love it. Evernote allows you to capture files, images, text, and more then share it and store it.

The cloud applications are getting better and better but I am still unwilling to leave my software. As more and more developers start moving familiar features into the cloud then the age of the Personal Computer is going to draw to a close and it will become more and more about having a constant Internet Connection.

My wish list for the cloud:
  • To be able to sync settings (display, sound, hotkeys, etc). Google Chrome lets you sync quite a bit right now but everytime I am on another computer I am never as productive as when things are just right on my fine tuned computer.
  • A great screencaster. I currently use CamStudio and as more and more people are creating video tutorials, the need for this is going to increase.
  • A better way to connect the files on my computer to the ones on my phone. I still feel like there are two worlds, the mobile one and the desktop one. Merge those two please.
Far from complaining, I love the technology I have and am old enough to remember how far we have come from code on floppy disks/punch cards. With everyday I feel empowered to do more and more and the opportunities my students are able to explore and achieve are mind boggling. What will the technology world look like in 1 year? 5 years? 20 years? 100 years!?

Do you have any "cloud" tech that keeps your data safe and allows you to be productive everywhere? Share it with us in the comments.

Subscribe to BrokenAirplane!