Wednesday, May 14, 2014

Final Presentation

Hey everybody, it's been a long semester full of meetings, diagrams, and planning.  This isn't a final product but this is what HPU's IT Dept. and I have come up with so far.  Hopefully in the coming months I will be working with them to creating a useful and intuitive tool that everyone can use and enjoy.  I know the video ran a bit long but honestly I felt like it could have been longer :-)

Here's the link to my final presentation video.
Also here's the link to my slides.

Thursday, May 8, 2014

Presentation Plan

My presentation for my project is coming up within the next week.  Here are few things I want to talk about:

  • Project objectives
  • Stakeholders
  • Meetings
  • Stages of development so far
  • Difficulties I faced (communication, scheduling conflicts, etc.)
  • The likelihood of this becoming a reality

Thanks for reading my blog and stay tuned for my video presentation!

Here's the editable link to the presentation.

Wednesday, May 7, 2014

HTML Mockup Client Meeting

I just met with Vlad from HPU's IT Department this morning and he looked over my HTML mockup.  Unfortunately, like most prototypes this was not quite what he had in mind.  Vlad mentioned that the great thing about having it reside inside of Google Apps is that much of the functionality that we want the system to have is already available to us through Google.  Google has a number of ways to share your calendar others and students, academic advisors, and student organizations already possess a Gmail account through the Pipeline.  Having much of the work done for us allows us to concentrate on creating "glue" or a link between HPU's Banner (Class Scheduling System) and Google Apps.  It also frees us up to work on an interface that users will enjoy.  He did however, say that starting with the very basics is the way to go when first trying to create something.

Here's a short recording of our meeting.

Monday, May 5, 2014

Low Fidelity Drawings

I know it took me a while to get these up but I finally have some sketches regarding the look and flow of how the scheduling system.  These images are mostly from the students view because the Student Organization or Academic Advisor would only have a slight modification to how things would look and work.

This first image shows the how things will function together from a high level.  It shows our final goal get information from Registration/Build Class Schedule to

The next drawing is a basic view of how it could look like.  A student's calendar filled in with both personal events (i.e. work schedule, meetings, lunches, appointments, etc..) and also their respective class schedule for that particular month.

The last drawing shows the relationship between the Class Scheduling system and the proposed Event Publisher to create this Unified Google Calendar View.     :-)

Here's the link to my short explanation.

Thursday, April 3, 2014

Use Case Diagram for Stakeholders

Here is my Use Case Diagram.  I originally had three separate diagrams but I consolidating it all into a single diagram.  Please note that this is functionality that I want all three of these stakeholders to have.   Students are the only ones able to add or edit their respective work schedules.  But all three stakeholders have the ability to view/print the student's work and school schedule.

Here's the diagram.

Friday, March 28, 2014

Activity Diagram

Here are the steps provided by Vlad from HPU's IT Department
  1. Someone comes up with an idea
  2. We have a brief discussion about it
  3. Depending on the scope of the idea a small focus group may be created to discuss feasibility
  4. Once the Why and the How are defined in a comprehensive fashion the solution is presented to our ITS leadership team (which comprises of IT Managers and above)
  5. We have a test environment where proof of concept may be built before #4 to demo
  6. Change Management request has been submitted for approval by all IT managers
  7. #6 defines the Date and Time to stage the change in production

HPU Pipeline Student Semester Schedule Activity Diagram

Original Activity Diagram

Edit:  I have just finished my meeting with Vlad Abadzhiev from HPU"s IT department.  In order to implement an idea like mine it needs to be proposed to HPU's Banner Committee.  The committee meets every Thursday to talk and vote on potential changes to HPU's Banner.  Vlad said that he would bring up my idea in the next meeting.   It would be great to see this thing really happen.  He also mentioned that it may be a better idea if instead of the scheduling system living inside the HPU Banner that it could become part of Google's Calendar app.

Here is the link to my meeting with Mr. Abadzhiev.  Pardon my nervousness :-)

Wednesday, February 26, 2014

Planning an Interview with HPU (Draft)

Prior to interview:  Before I meet with HPU's IT Department I think it is important to show that there is a need or desire for an extension of the current system.  I would like to conduct a short email survey of the student body to get a consensus about how people feel about the possibility of implementing this and whether they feel like it would improve the quality of their work/school life.

     Sample questions (Yes/No):

  • Are currently working while taking classes at HPU?
  • Do you find it difficult to manage your work and school schedules?
  • Does the way you manage currently your schedule make it hard to find time to relax, enjoy Hawaii, and participate in student organizations?
  • Do you feel the registration/semester schedule tool on HPU's Pipeline is effective when determining your schedule for each semester? 
     After getting a decent sample size of the student body I will then set up a meeting with the IT Department.

Setting:  To be determined

Interview with IT Department:  During the interview with the IT Department I would would ask questions but not assume that they want to work on my project.  They could possibly have a similar idea already in the works and just need some help to make it happen.

     Some questions I would ask after pitching my idea briefly:

  • Would it be possible for a student to make alterations or extend parts of HPU's Pipeline?
  • How many students do think work full or part time and attend school here?
  • Would you be willing to take a look at the survey I conducted? (Hopefully, I have some convincing numbers)
  • Could a student organization use this tool to help organize events and activities for its members to better foster participation?
  • Do you think adding a scheduling tool to Pipeline's registration section that handles both work and academic schedules would be beneficial to the students, Academic Advisors, and student organizations? (In support of HPU's mission?)
  • Do you know what channels I would need to go through in order to make this happen? (i.e. the Registrar)
  • Hopefully more questions...
Follow up: Send thank you emails/letters to those who allowed this interview to happen (not just those who were there).  Prepare myself to begin the next stages of the project by using the feedback from the IT Department interview. Schedule another meeting if they are interested.

Wednesday, February 19, 2014

Reaching Out to HPU (Draft)

Dear HPU IT Department,

     I am currently a Computer Science major at Hawaii Pacific University taking a Software Engineering course with Dr. Sam Joseph. After utilizing your registration system on HPU's Pipeline many times I have recognized that it could be improved to better facilitate the needs of students who are currently working and to those who would like to seek employment but are afraid that it may not fit into their busy academic schedules.  The current registration system allows students only to manage their respective academic schedules for a particular semester but it does not afford the option for them to add in a work schedule.  I would like to help HPU implement a system that would make managing both schedules a reality.  This addition to the current system would not only help students but it could help Academic Advisors  and HPU's many student organizations.  Academic Advisors would have a tool to help them get students to graduate on time. It could also save them from routing petitions for classes.  HPU's student organizations would benefit when organizing events which in turn could foster greater involvement in HPU's student community.  I believe this idea would help many HPU students but I am more than willing to help you with any ideas and projects that you may have had already in the works.

    Potential System Capabilities:
 + Management of both work and academic schedules.
 + Allows printable schedules.
 + Notifies the user of scheduling conflicts.
 + Allows student organizations to access member schedules to better set up events.
 + Make recommendations if a better schedule is available when registering for courses.

Thank you for your time and I look forward to hearing from you in the future.

Eric Gagnon
Secretary of HPU's Computer Club
Computer Science Major

 Please see my HPU Working Student Schedule blogpost for more information.

Thursday, February 13, 2014

Animal Therapy App Sakeholders

     The list of stakeholders who would greatly benefit from the Animal Therapy App would be:

  • Pet Owners
    • Increases the effectiveness of rehab for their pet.
    • Makes fitting rehab into a busy schedule easier.
    • Saves them a  money.
  • Veterinarians
    • Helps them offer less fortunate customers a way of giving their pet's rehab.
    • Ensures pets receive prescribed medications on time.
    • Allows easy updates of surgery site.
  • Top Dog Health and Animal Rehabilitation 
    • Makes distributing canine orthopedic disease, surgery, and rehabilitation education easier. 
    • Allows them to make a little money so they can continue giving out free educational materials.

     I think if I were to develop this mobile app I would donate it to Top Dog Health and Animal Rehabilitation because they made it possible for me to give my dog quality rehabilitation from home that was easy to follow and manage.  I tried looking for local animal clinics or rehabilitation centers that offer free rehabilitation services but I couldn't find any.  I will consider contacting the Hawaii Humane Society and the OSPCA to see if they would be interested because I know Top Dog Health and Animal Rehabilitation makes money from selling joint medications.

Stakeholders for Military Inventory Issue Log

     After exploring further into who would be interested and benefit from this Military Inventory Issue Log I came up with this list of stakeholders:

  • Respective program managers
    • Eliminates flaws with issue and receipt of inventory.
    • Increases focus on other aspects of respective programs.
    • Increases the chances of getting a award which could help with promotion.
    • Easier to hold people accountable for inventory checked in or out.
    • Quickens end of shift ATAF (All Tools Accountable For).
  • Issuing and Receiving Personnel
    • Makes the checkin and checkout processes easier.
    • Prevents mistakes from happening in logbook.
    • Less to do at the end of shift.
  • Inspectors
    • Easier to evaluate each program.
    • Decreases the amount they have to dig for flaws.

     Much like the HPU Working Student Scheduler I think using the existing databases already being used by various personnel within this particular shop is the way to go.  My only concern is that all the data is stored on a few MS Access databases and I am uncertain if Ruby could be used to work with them.  Also I know MS Access isn't as scalable as other database management systems.  If Tom and Revelyn are open to work together on a project I am willing to as well.

Stakeholders for HPU Working Student Scheduler

     At first I thought the HPU Working Student Scheduler would be limited only to those students who currently have jobs , but after thinking about who would be interested I came up with this:

  • Students
    • It could help students decide whether or not they can work more or at all.
    • It could also help students find time to relax.
    • Increases focus on education.
    • Makes signing up for classes a breeze.  Get rid of your pen and paper!
    • Reduced stress.
  • Academic Advisors
    • It could be used as a tool to help advisors help students graduate on time.
    • Reduces the number of times a advisor has submit a petition for classes because of a reduction in scheduling conflicts.
    • It would generally make their job much easier.
  • Student organizations and clubs
    • Makes planning events for large or small student clubs easier if each members' schedule is accessible.
    • Increase involvement in each respective club.
     I think that adding this to the preexisting HPU Pipeline registration section would help streamline implementation if changes can be easily made.  Also making this schedule system accessible with a mobile application would be awesome but I don't know how secure that would be.  

Tuesday, February 4, 2014

Animal Therapy App (Project Idea #3)

Problem Description:

     Everyone has a soft spot for their four-legged friend and no one likes to see them hurt.  When you finally get your beloved pet home from surgery they need rehabilitation therapy that can be both expensive and time consuming when taking them back and forth to the local animal rehab clinic.  Some people opt to instead do the rehab on their own based on pamphlets from their veterinarian or those found on the Internet.  This works well but it is hard to keep up with the constant changes each week to exercises, medications, and duration on paper.  Also people often forget to do it at all.  Creating a mobile application that could keep up with the daily and weekly changes and also remind pet owners ahead of time would be invaluable.

System Capabilities:

+ Features rehabilitation schedules that are commonly used
+ Allows fully customizable routines
+ Sends notifications to user prior to changes in routine and when medications are due or post operation appointments are coming up
+ Allows user to keep a photo library of surgery site to monitor swelling

Business Benefits:

+ Ensures pet receives full benefits of rehabilitation and receive medications on time
+ Saves the owner money
+ Easy to manage the rehab
+ Less to worry about

MIlitary Inventory Issue Log (Project Idea #2)

Problem Description:

     In any United States Marine Corps helicopter squadron tools, special equipment , consumables, and hazardous materials are all stored and controlled by a central location in the squadron called the "tool room".  Everything within the tool room is issued by tool room personnel to a Marine in order for them to complete their task.  The item is then signed out in a logbook by both parties filling in particular information regarding the activities in which the item will be used in.  When returning an item the person who logged it out for use must be the person who logs it in.
     Currently, my wife's squadron, HMH-463, is using a three-ring binder with printed checkout sheets to facilitate their needs.  This has proven inadequate because pages get torn, dirty, and are often not completed correctly.  When pages are incorrect inspectors can declare that a squadron is unfit for flight because lost tools can mean that they could potentially be on the flight-line and could cause aircraft damage.  In order to make this seemingly simple task more efficient and to better facilitate the needs of the tool room I know a program could be created for checkin and checkout of inventory.

System Capabilities:

+ Program should store all information regarding to checkin and checkout of item
+ Time and date should be automatically added for checkin and checkout
+ Historical records can be retrieved
+ Records are deleted every 30 days
+ Items currently checked out can be retrieved

Business Benefits:

+ Having efficient and effective logbook
+ Accountability of all inventory
+ Historical records for inspections
+ Quickens checkin and checkout procedures

The HPU Working Student Scheduler (Project Idea #1)

Problem Description:

     The cost of higher education is not going down in the near future so most people are stuck working at the very least a part-time job.  Fitting work into your busy schedule is often difficult because every semester each student has to pick classes that have to fit in with their full or part-time job.  Students usually end up having to write it all out on paper and still seem to make mistakes.  Hawaii Pacific University currently has a tool on its Pipeline website that aids the student when registering for classes online but does not have anything that gives the user the option to add in a work schedule.   My proposal is to alter the existing registration application on HPU's website to allow students to add their respective work schedules.

System Capabilities

+ Stores date, time, and information regarding to both classes and workplace(s)
+ Can create a printer friendly version
+ Notifies user of schedule conflicts
+ Can make recommendations if there is a better schedule available

Business Benefits

+ Lessen the amount of schedule conflicts
+ Reduced stress for students
+ Increase the amount of time students can focus on their education

Tuesday, January 28, 2014

Software Engineering and My Experience with Ruby

     It seems to me that when trying to get a degree in Computer Science there has never been a class or even a lecture that clearly outlines exactly what it is you can do with this degree.  Professors always seem to make a distinction between programming and Computer Science.   It seems that coding is always used as a tool for students to understand the concept they are trying to cover.  All this made me wonder what exactly is Software Engineering and how does it differ from Computer Science.  I started searching Google for articles that outlined Software Engineering but none of them captured my interest enough for me to complete the entire article so I turned to Youtube for some assistance.  I stumbled upon with this video made by a 5th year Software Engineering student who currently works at Apple.
     I really enjoyed this video not only because it was made fairly recently but because he clearly stated exactly what the difference was between Software Engineering and Computer Science.  SE being the application in real world situations and Computer Science is really getting into the nitty gritty of how it all goes down.  It's kind of a relief that creating software isn't all coding (not that I don't like it) and that it's a team effort that takes good communication with your team members to create a great finished product.

     Since I've used CodeAcademy in a previous course of Sam Joseph I won't cover how much I enjoyed it or didn't enjoy it.  Any free resource that could potentially help me learn something is worth a try.  Instead I'll get right down to Ruby and how it compares with other programming languages I've encountered since starting this degree.
     Last semester I took Game Programming and Design where I was exposed to my first scripting language, JavaScript.  I really enjoyed how easy it was to use and how explicit everything was.  I think Ruby is even easier to use than JavaScript because it really does read like English.  Yukihiro Matsumoto really had the programming in mind when her created this language.  When using loops 10.times do puts "Something" prints Something 10 times.  When compared to compiled languages like Java it is no contest.  Who wants to execute a for loop or create a condition for a while when they can directly say do this 10 times?  Another great thing about Ruby is how it takes input from the user.  In this way JavaScript and Ruby are pretty similar.  Ruby uses gets and JavaScript uses prompt but if I were to use Java I would have to create a Scanner instance and a separate variable to hold the proper input and if it is incorrect it would throw an exception.  What a headache!  Both Ruby and JavaScript allow you to change variables from integers to Strings without worry.  In Java every variable has a specific type, in JavaScript everything is a var, but in Ruby there are not any primitives!
     I also Googled a bit about Ruby and found a video interview of the creator of Ruby,Yukihiro "Matz" Matsumoto, and a strange online book that introduced to Ruby. Check them out if you get the chance!