Thursday, September 30, 2010

"I Plead the Fifth" - Week 5 interviews and survey creation

Hello all,

This is Alex with yet another (one may even say, weekly) update.

This week has taken a sharp turn in direction from our previous three weeks. We started our work with familiarizing ourselves with Objective-C, Xcode, and the iPad; Our research was focused nearly 100 percent on programming. During week 3, we began to develop and eventually finalized a set of questions to aid us in interviewing our focus groups. We developed two completely open-ended sets of questions, one for each of the "college professor" and "high school/middle school teacher" focus groups.

For the "college student" focus group, we had to make a survey. Due to the sheer volume of students who we plan to interview, an open-ended questionnaire just would not work. Students are the main customer for our eventual product, so it is important to interview as many of them as possible. We first formulated a series of questions similar in format to the questions given to the two other focus groups. After this, the team read up on the art of survey creation. To anyone who has ever thought to themselves, "Oh, all I have to do is make a survey? That'll sure be easy!", let me provide you with these words of wisdom: You're wrong. Choosing the right questions, phrasing, and types of questions was much harder than I initially expected; We went through several revisions before we finally settled on a good survey format with some good, unbiased questions. We plan to start distributing the survey to the masses shortly.

We also conducted lots of interviews this week! I heard back from a lot of my current and former professors and high school teachers, nearly all of whom expressed an interest in the project. Lindsey also heard back from many of her professors and teachers, so I got to meet some new faces in addition to reuniting with some familiar ones. Lindsey and I collected a lot of data from the professors and teachers who responded, and there are still more interviews to come in the upcoming week.

The general gist that I got from the interviews, was that most professors and teachers...
  • Were very open to the possibility of using our technology
  • Expressed a view that AL had a lot of potential to help visually impaired students in their classes.
  • Would be willing to change certain aspects of their teaching methodologies in order to accommodate students who would be using AL
  • Have had experience working with at least one visually impaired student in the past, and were very comfortable and accommodating to these students.
In-terms of the last bullet, most members of the focus group stated that the visually impaired students they worked with were able to (mostly) overcome their disability and generally succeed in their courses. However, many professors admitted that the visually impaired students whom they worked with did not succeed as well as they could have; It was the general consensus that a piece of technology like AL would have given these students the opportunity to succeed more. In addition, all of those interviewed have expressed interest and openness to using AL.

I would like to personally thank everyone who allowed us to interview them, as well as our team for coming up with some great interview/survey methods. I once heard a quote that went something like this: "The decision that a committee reaches is guaranteed to be no greater than a decision reached by any one of its individual members." At the time, I laughed at that quote because I thought it was true; This week and last week have proved me (happily) wrong. Our research most certainly would not have been going as smoothly without all three of us working together, and I consider myself lucky to be a part of such a great team.

Until next week...
- Alex

Week 4...we interview lots of people!

This week we heard back from a lot of our former professors and teachers that were interested in the project and were able to help out with interviews.  We were able to conduct several interviews in person with professors, and get feedback from former teachers through e-mail. We actually ended up getting an unexpected interview while we were interviewing one of my former professors. Another professor was in the room and he was also willing to talk with us for a while and share some of his experiences, so that was pretty cool! It was nice to see that someone who we didn't really know was interested enough in the content of our project to spend time answering our questions.

Everyone we've talked to about the project so far has seemed pretty interested in it and several have mentioned that they thought that it could potentially help out visually impaired students in their classes.  While talking to the professors and teachers however, some new questions were raised for us.

For example, a lot of science and math professors use multiple colors in their notes...perhaps they are drawing a graph and showing different sin curves and need to indicate the different functions with different colors. This is something we hadn't really considered, and although it's more of a hardware concern, I think it's important that we thought of it now. When the team that's working on the hardware begins, we can let them know that a lot of diagrams won't be very useful to students unless they are in color and so they can look into if and how they can do that with the special casing for the dry erase markers.

I thought that this was a pretty good example of how easy it can be to overlook some requirements if you don't communicate enough with the stakeholders for your project. I'm sure we'll have the same kind of thing happening after we talk to some of the students and hear what they have to say on the subject.  They will most likely make us aware of additional requirements we need to add, or maybe even that some of the requirements we've thought of so far aren't necessary.

Speaking of talking to the students, today Abhishek and I finished up a rough draft of the survey for visually impaired students.  We worked on it a lot on Tuesday, but we ended up making quite a few revisions today, and, seeing as how we are new to creating surveys, we will probably still need to change and add things for the final survey.

It's sort of interesting how differently you need to approach interviews and surveys.  With surveys you really can't be vague at all or else there's a really good chance that you're going to get answers to questions you didn't think you were asking. With interviews if the person doesn't understand a question or misinterprets it you can reword it for them or say "What we're really interested in is _____ " but with surveys by the time you find out that the student thinks you're asking about high school when you're actually asking about college, it's too late because they've already completed the survey.  Face to face interaction definitely seems to be, in some ways, the easiest method to effectively communicate with your potential users.

Friday, September 24, 2010

Week 3...we start research!

This week we wanted to start doing research about the problems that Access Lecture is hoping to address, so we didn't do a whole lot of coding. To get a better idea of what math and science courses are like at different education levels we contacted a bunch of our former teachers and professors and scheduled interviews with them.  For the professors we're going to be conducting interviews in person, but for middle school and high school teachers we're mostly going to have to communicate over the phone or through e-mail due to location issues.

We tried to e-mail 2-4 people for each category of courses we're focusing on, and for each level of education.  We were able to find a lot of professors and high school teachers that were willing to let us interview them, and a couple of middle school teachers.  In total we've contacted 16 teachers/professors and have already heard back from 9 of them.

We developed two sets of interview questions, one for college professors and one for high school and middle school teachers. The learning environment is very different in college than it was in high school and middle school (both of which used pretty similar presentation methods) and so it's important to distinguish between the two.  If we only took one into consideration, we'd only be able to develop software that would meet the needs of that one group of students, whereas we want Access Lecture to be effective for students with varying degrees of education.  If it works for college students, that's wonderful but if it doesn't help middle school students too then I don't think we've done the project justice.

We have multiple interviews lined up for next week, and we'll also be starting to write a survey for students with visual impairments so that we can start gathering some information from the actual intended audience for the software.  This week we looked a little bit into how to develop a good survey (i.e. what sorts of questions are best for the information you want to gather,  how to not write leading questions, etc). Abhishek got through most of the material we had on survey making, and Alex and I were able to get through a good amount of it, so hopefully next week we can update you guys on that as well as the progress of our interviews.

Lindsey

Sunday, September 19, 2010

Week 2...we experiment with XCode and Objective-C!

Hey all,

Alex already explained a bit about the currency converter application we worked on this week so I won't talk about that too much.  I started working on it on my own last week, but on Tuesday we decided to start it over as a group and take turns coding and talking through what we were doing.  I thought that this was more helpful than simply following the tutorial on our own, since we could talk to each other about what we were coding and clarify that we understood what we were writing. 

I had to leave early on Tuesday since I had shifted my hours around for the week a little bit, and so I wasn't there during the whole process of making the currency calculator and so on Thursday I needed to look over what Alex and Abhishek had written while I was gone.  I felt like I understood Objective-C less because I wasn't there for part of the project, so I decided I wanted to write a program from scratch on my own.  I wanted something simple to start with just to help me understand how to make a basic application in Objective-C.  You might be thinking, "Didn't you do that last week?" and I sort of did.  But I think there's a pretty big difference between following a tutorial and being able to write a program on your own from scratch.

Alex recommended I try writing a simple application where the user can type in a message and then the message will be displayed somewhere else on the application.  I decided to call the application "Copycat" and there was a text view (a multi-line text field basically) that the user could type into and when they pushed a button, the text would appear in another, un-editable text view below.  After I finished this fairly simple task I decided I wanted to add an image to the application since we hadn't worked with images at all yet.  I realized that even though you can add images in your code, it's much simpler to just use the Interface Builder.

While the Interface Builder can't do everything, it seems like it simplifies a lot of things for the programmer and will make developing Access Lecture a lot easier for us.  It's kind of interesting to me because I feel like Objective-C is a rather complicated language in comparison to what I'm familiar with (Java and Python), but the Interface Builder makes certain tasks so much easier than they've been in other languages. It definitely makes GUI development very easy and visual, but that probably shouldn't be surprising considering Apple's focus on User Interfaces.

I think working on an application on my own helped me catch up with Abhishek and Alex more, although I think I'll need to read a bit more on my own to understand it as well as they do.  Coming into this without any prior knowledge of any C based languages makes the language seem very foreign, but Alex has found a lot of good books online that are available for reading through the school, so hopefully I will be able to become more comfortable with Objective-C the more I learn about it.

See you next week,
Lindsey

Friday, September 17, 2010

If I had 85,000 yen, I'd feel like I had a lot of money (Week 2 Update).

Hello again,

Alex here.

They taught me in high school that the best way to start a speech is a good attention grabber. Well, the title wasn't that great of an attention grabber, but this also isn't a speech; I think it's a fair trade-off.

Getting down to business: This week proved to be very productive for me. I completed several individual projects successfully, and gained a significant amount of confidence in coding with Objective-C on the iPad. Additionally, the AL team was, having spent week 1 researching, was finally able to work as a team.

We started the week by joining together to create our first legitimate iPad app, a basic currency converter. It started off as nothing fancy, and was done in less than a day. It simply prompted the user to enter the amount of money they had, as well as the exchange rate. Upon pressing a giant, white, and shiny button, the user is presented with the converted amount. This was a great start, as it gave us...
  • Good practice with the interface builder, specifically connections,
  • A chance to see our efforts create something useful,
  • Experience working together as a team, and
  • An opportunity to find accessibility issues that we may encounter while making "real" apps.
However, our currency converter was really just a glorified calculator; We needed something more advanced to work on. Having gained more confidence, we decided to venture into using two UISegmentedControl objects to allow the user to actually select units of currency. We allowed 5 currencies to be selected. This proved to be more challenging, but we eventually perfected the app. Additionally, we learned small bits of information along the way. For example, we found out that a) making UITextField and UISegmentedControl objects accessible will be challenging, b) how to trigger events without having to use a giant button, and c) how to link objects together better in the MVC paradigm. The result was a very professional and functional currency converter app.

After the currency converter was finished, we worked on individual ventures for the remainder of the week. I accomplished two main tasks, and got started on a third. My first solo-project was to attempt to get the complex UIPickerView to work. I found a good example in an iPhone tutorial here, and was able to create a tip calculator in which the user can select the tip amount for the bill using a UIPickerView. During this, I also learned how to make the keyboard deactivate when a user presses ENTER, as well as how to perform custom tasks once the View has loaded.

My second task was to try and customize my apps via the code more, without the use of the Interface Builder. I spent time on Google getting more comfortable with the API, and learning about the common attributes of UI objects. I was able to change colors and fonts onLoad, as well as a few other fun things. I used this information to customize the previous currency converter app to be more visually accessible. In doing so, I learned more about the flexibilities and limitations of the UISegmentedControl object.

Lastly, I started on a simple calculator app from scratch. The goal of this app is to make sure that the apps that I have created with the aid of tutorials have translated directly into permanent knowledge and skill.

Also, we're getting brand-new iMacs; Lucky us! We hope to actually start putting apps on to the iPad itself next week.

Until next week...

- Alex

Friday, September 10, 2010

Alex's Week 1 Update

Hello all!

First off, I must start by saying that I have never written in a blog before; This is mostly because nothing that I've had to say has been worth other people's extended attention. However, with work starting to get underway on Access Lecture, I now feel important (and required) enough to do some blogging!

As previously mentioned, each member on the AL team will be posting weekly updates on this blog. These updates will serve as...
  • A glimpse into the general process of developing AL.
  • A source of general information regarding the project. This includes feature updates, testing and progress reports, and updates on various other events as they occur.
  • A way to follow how each individual member of the team is contributing. If a certain feature interests you, then simply keep an eye out for a blog post by that feature's developer!
  • A summary of our work each week, both technical and non-technical. This also includes major accomplishments and challenges.
Oh man, I even got to make a bullet-point list; This blogging thing is pretty cool.

Getting to the point: Week 1 can be summed up as, "intense". Three technologies, all unfamiliar to me, were thrown at me at once. These were the iPad, Xcode, and Objective-C. The iPad was easy enough to use, and we were all able to grasp its abstract and concrete concept implementations in a very short amount of time. We made sure to take note of certain iPad features that may help us or give us trouble, especially in regards to accessibility. Our major discovery was that the "zoom" feature was glitchy and unreliable, especially when used in conjunction with the on-screen keyboard. To me, this means that AL must be designed as an accessibility-friendly app from the ground-up; It cannot simply be a "normal" app and then layered with faulty accessibility features. This will be important to keep in-mind during the cycle of the project. Luckily, the iPad (being a touch interface) supports large buttons and text naturally. Additionally, there is a very generous amount of screen real-estate available. Given these two things, as well as the high customization potential for iPad apps (full control over the visuals), I believe that we will be able to mitigate the accessibility issue without much trouble.

After playtime with the iPad was over, we were off to learn some Objective-C. As a programmer with extensive experience in Java, and a sizable amount of experience in C++, I found Objective-C to be less than user friendly. The syntax is definitely going to take some getting used too, but some cheat sheets and online tutorials will help me out there.

I have managed to make two apps so far, which I have named in an effort to make them seem innovative. The first app, "iCount", displays a number in the middle of the screen. What makes this app so revolutionary? You can tap the "+" and "-" buttons to increment or decrement the number respectively! The second app, "iPress", gives the power of choice back to the user. The user is presented with two buttons, labeled "Left" and "Right". Upon touch interaction, a message is displayed on the screen indicating which button was pressed!

...Ok, so they aren't exactly the next "I am T-Pain", but they are certainly a start. Making actual applications gave me...
  • Familiarity with Objective-C and the iPhone SDK
  • Practice with the Xcode IDE
  • A feel for how to make accessible apps
  • A solid foundation to build off of
My current plan of action is to make a basic Calculator app from scratch (T-i86?). This will give experience in developing a more complex app for the iPad, and will familiarize me with the Objective-C syntax more. Additionally, this will give ample practice with the Interface Builder in Xcode (a WYSIWYG editor for iOS apps), and how to make the correct links between objects to make proper use of the MVC design pattern (all iOS apps use a variation of the MVC).

In summary, I have spent this first week developing my toolkit and learning the framework from which I will be working in. I am confident that given a bit more time, I will be able to confidently work within the iPhone SDK. It is important to solidify this knowledge now, so we can focus on problem solving project-specific issues later down the road.

What next? The team has plans to meet with several focus groups before work on the actual project begins. In the meanwhile, we will continue to familiarize ourselves with Objective-C and the iPhone SDK.

I am extremely excited to continue work on Access Lecture, as well as with the iOS and Objective-C! The challenges are only motivating me to push farther, and I do so with confidence and enthusiasm.

Until next week...
- Alex

Week 1...we begin!

Hey,

Alex, Abhishek, and I will be writing weekly entries about our thoughts on what we did that week for the project, and on the project overall.

This was our first week with the project, and we've started by becoming acquainted with each other and with the tools that we will be using for the project.  I've never worked with a lot of the tools we're going to use and so I spent a couple hours this week becoming familiar with Xcode (an IDE that is often used for developing software for iOS and OSX), the MacBook, and the iPad.  Alex and I had not had much experience using an iPad before so for a while on Tuesday we tried it out and got a feel of what it was capable of and that helped us get an idea of things we will need to keep in mind throughout the project.

We will also need to become familiar with the language Objective-C itself.  I haven't had experience programming in C before, and this might make it more difficult for me to learn Objective-C.  I have heard some people say that it'll be better since I won't be stuck in a C "mindset", and I have heard others say that not knowing C will make this harder.

A lot of Objective-C tutorials and iPad development tutorials that I've looked at assume that the programmer is already fluent in C, and this made finding a starting point a little bit more difficult. Alex showed me how to find relevant books through the college's online library system and we ended up finding an Objective-C book that was intended for people who are fluent in Java but not in C.  Since most of my programming experience has been with Java, I found the book more helpful than a lot of the other resources I found, since it explained things in reference to a language I already understood.

After reading a little bit about the language, we began experimenting with it on Thursday, once we got the iOS sdk & Xcode installed.  The tutorials we found made a lot more sense now that I had read a bit about the language, and I was able to get through a couple of them.  I decided to start with the usual "Hello, World!" tutorials for Objective-C and then I found a tutorial for a simple application for the iPad...it was a very short tutorial but it allowed me to check out the iPad simulator and now I have something I can try putting on the iPad next Tuesday. 

I found another, lengthier Objective-C tutorial which is for a currency converter but I decided to work on it a bit because it was very detailed and incorporated a lot of different features of Xcode and Objective-C.  It helped me learn how to do a lot of basic things, like work with the Interface Builder, and unlike a lot of tutorials it explained why I was doing certain things rather than just telling me to do them.

I think this week was a good start and it's made me very eager to work on this project.  I'm going to be working with a lot of technology that I haven't had much experience with and although that's a little intimidating, I feel like this project will be an amazing learning experience for me.

-Lindsey

Introduction

Hello everyone,

In this blog we will be posting weekly updates about our progress with Access Lecture, but first we would like to introduce you to what our project is.

Access Lecture is going to be an iPad application that will help improve the classroom experience for students with visual impairments.  We are focusing more specifically on science and mathematics instruction because for these subjects it is especially vital for students to be able to follow along with what's written on the board, as it's written. Visually impaired students can sometimes get notes from a designated note-taker after class- but this is not a real solution.  Students need to be able to see the notes as they are written, and be able to hear the teacher's explanation of the notes at the same time or else they are at a serious disadvantage in the class.  Access Lecture is going to help visually impaired students follow along with instruction in real-time and improve their comprehension of the material.

The core idea behind Access Lecture is that the iPad could be used to display the notes as they are being written on a whiteboard, and it can do so without very much delay. Students will be able to view the whiteboard on the iPad, and will have the ability to zoom in and out on sections that they're having difficulty seeing. A keyboard can be attached to the iPad, and this will allow us to also explore using Access Lecture as a means for students to take notes as well. We believe that if we work off of these ideas and communicate with our focus groups about their experiences and their feedback on our project, we will be able to create software that will significantly improve the math/science classroom experience for visually impaired students.

The project is just beginning, but we're excited to start and look forward to sharing more information about our progress.