FHU Mobile for iPad

by Ethan Kershaw
December 9, 2011 7:50 AM

Earlier this year, the FHU Mobile iPhone app was released and plans were made that an iPad version would also be made. Work has begun on this iPad app, and will be continued next semester in the Advanced Topics class. So far, work has been done on the photo gallery, campus map, and news feed portions of the app. My group has been responsible for the news feed, and it is intended to present the information from our social graph in a style that utilizes the larger screen of the iPad. Next semester we will be taking these three pieces and combining them with the other capabilities you can already find in the FHU Mobile app, such as the directory and forms.

The most difficult part of this application so far has been understanding the workings of Objective-C and the iOS platform. While Objective-C is a popular language, it is very different from even the languages it is most closely related to. iOS is a powerful platform, but it definitely has its nuances and complexities. I believe that every student that works on this FHU Mobile for iPad project will come away with increased application development skills, and valuable experience in one more language and platform.


If I had the time...

by Ethan Kershaw
October 11, 2011 12:22 AM

I’ve been an Android user for about two years now. Seeing Lance and Zachary hard at work on Android development recently has me really wanting to do some personal Android work. Over the past two years I’ve had a lot of ideas for things I would like to make for my phone, but have never really found the time to dive into learning Android.

Whenever I do get around to trying my hand with Android development, I will probably try to make some of the apps I’ve been thinking of since I started using my Droid. I’ve already started to learn iOS development thanks to one of my classes, so also knowing how to develop for Android would be a good tool to have.

Since Lance and Zachary are already getting a good knowledge of Android, maybe when I get around to learning it I can get help from them. More realistically though, this is probably something that’s going to have to wait until a break from school.


Learning jQuery

by Ethan Kershaw
July 20, 2011 7:33 AM

Last summer, one of my first projects was a simple jQuery plugin. jQuery is a javascript library that allows for easy manipulation of elements on a page. It didn't seem easy at first though. That simple project took me about a week. Looking back, I could probably make that plugin in two hours tops. Something that has helped me learn jQuery is the online tool Visual jQuery.

Visual jQuery (http://api.jquery.com/visual/) is a command dictionary with a tree structure allowing you to find the right jQuery method for your task at hand. Once you select a method, you see a description of the method as well as the parameters it receives. There are also multiple examples showing you how the method works.

While I feel like I have a pretty good grasp of jQuery now, I still pull up Visual jQuery at least a few times a week. It seems I also learn something new every week about jQuery. Two little shortcuts I have found over the past week have drastically decreased the amount of code needed for a few tasks.

First, when you are looking for an element that has some specific text in it you do not have to loop through every element checking the .text() of it. Instead, simply using

$(".myClass:contains('the text you are looking for')");
will select any element with the class 'myClass' that has the shown text. So what used to take 3 or 4 lines of looping through a bunch of elements can now be accomplished with 1 line. I wish I had learned this months ago.

Second, when selecting elements there are some usefull criteria such as :visible, :selected, :first and :contains() as seen above. These can also be used with the .is() method. To check if an element is visible, you can simply use 

$("element").is(':visible');
Since the .is() method returns a boolean value, it is most useful in conditional statements.

I learned both of these time/code saving shortcuts on Visual jQuery. Not only is it a great tool to start learning with, its also great for continued exploration of jQuery.

Visual jQuery


Responsive Web Design

by Ethan Kershaw
June 10, 2011 8:11 AM

More improvements on the Backchannel App this week! One that I especially like is the addition of responsive web design. Its more than just a web design principle with a fancy name. What responsive web design means is that the App will be displayed differently depending on the size of the area its being viewed in. For example, if it is being viewed on a laptop it will show the full app, but if an iPhone is the device being used a more mobile friendly version will be displayed. The app will have 3 styles: Desktop, iPad, and iPhone.

Its interesting to see how this works. If tech-talk frightens you just skip down to the next paragraph. All of the styling is still in primarilly one stylesheet (other stylesheets are for plugins and such). Responsive web design uses media queries in the CSS to establish parameters for when certain CSS rules should be applied. These queries are related to screen resolution which allows us to target the different mobile devices and style accordingly.

This part of the Backchannel App has been fun for me. When I first heard we would be implementing responsive web design I thought it would be very complicated. Instead, its been suprising to see what all can be done in less than 100 lines of CSS.


Wave Doesn't Even Do That

by Ethan Kershaw
May 31, 2011 2:39 PM

While our backchannel app is not meant to be competition for Google Wave (R.I.P.), we do think it has some features that it would have been nice to see in Google Wave. I guess its too late for that though.

Recently we added some pretty sweet enhancements to the backchannel app. We are excited to see this app coming together.

First is the drag-n-drop file upload component. As you are using this app, you may have a need to share a file with your classmates. It may be a diagram or a chart, or even a study guide you have so graciously compiled and decided to bestow upon your classmates. Whatever it may be, sharing it is easy.

drag-n-drop

Instead of having to browse around from a file upload dialog, you can just click and drag from Finder or Explorer and then drop the file inside your browser in the area where you would enter whatever you want to say. Automagical.

Our backchannel app is built around the modules it has, which are the individual components in the app. To alternate between these modules, we implemented a pretty slick slider that will allow the students to use different modules in a seamless fashion. An image corresponding with each module will be in a sliding menu that you can easily navigate with.

We want the backchannel app to be as user friendly as possible, and making file sharing and navigation simple with components like these will help to do exactly that.