Wednesday, November 28, 2012

Difficulty of Wise Planning and its Importance

As I have read the introduction of product management section of the book called Systems Analysis and Design with UML, 4th Edition from Alan Dennis; Barbara Haley Wixom; David Tegarden, I have learned how important it is to plan ahead when doing a project, especially when it involves a lot of people, and how difficult it is to successfully plan and actually manage the project to overcome any unexpected issues or problems and reach its objective.

Why is Planning So Important?

This book gives us an example of a wedding ceremony planning - when a wedding ceremony is held, there are always people involved to plan ahead (usually a month before the cerebration day) and manage that everything is set up and ready. This task sounds easy, but usually a task of planning and managing is a lot to do and more than people can imagine before they actually start working on it. In addition, unexpected issues or problems usually go with a project, especially when the project involves a lot of people. Thus, it is important that people plan well and appropriately as possible.

Common Problems or Issues When Planning

According to Systems Analysis and Design with UML, 4th Edition, the common issues or problems managers face are usually these two things below:

  • Optimistic time schedule
  • Too little attention to the essential aim or goal of the project

Optimistic Time Schedule

The first common issue - optimistic time schedule, is usually set due to the pressure or responsibility that project manager feels especially when the business comes around to the important, serious seasons within a year where business must get customers and make profit to survive. In that situation, project managers think that they must make the project done on time at all costs. Yet, planning and forcing themselves to think that something that seems impossible possible usually does not work, and the project will be delayed from as it was scheduled.

Little Attention For Objective

The second one - the issue of Too little attention to the essential aim or goal of the project usually occurs when business tries to make use of new technologies or information systems to experience the innovation of it. In that case, making use of new tech or info systems naturally becomes the main focus of the project; that sort of project imaginably tends not to success since there is no specific aim or goal of the project.

Solutions

The book clearly suggests the solutions for those common issues above. The first one is having no underestimation for planning and plan very carefully. I strongly agree with this solution and assuming others also, because underestimating the project and being optimistic about it does not help the project done at all - the job of project managers is to manage project done on time with expected quality and result. Thus, I do not think project managers should ever underestimate or be optimistic especially when they are planning and making time schedule for their project. In fact, I think this lesson could be implemented in any situation in our lives not just for business aspects though.

The other solution that the book suggests is identifying business need or opportunity and clarify what is the goal of that project. By doing so, not only having what to focus on, but also people involving in the project can possibly be able to share clearly what the objective of this project is. In addition, having clear goal for it may motivate people to work on and foster the project done, which definitely is positive for project and it makes project managers a lot easier to manage the people involved in the project.

Review

I personally thought I learned a lot just from the introduction of the project management section of the book Systems Analysis and Design - as becoming to be a tech professional, being aware of how project should be going and planned is essential for me and my work. I reconfirmed that how difficult it is to plan things and make things done as planned before.. so LETS PLAN WISELY AND CAREFULLY!

Is there any suggestion or issue that you have encountered while doing some project with a lot of people? Please feel free to comment below and share some of your ideas! :)

Thursday, November 22, 2012

Inform7 - Keyboard Restriction Functionality..?

Background Info

I have been making a game called 'Peter the Cockroach', which is a text-based interactive game using Inform7. This game allows players to experience the world from cockroach point of view and have some thrills by sneaking around and stealing food, eating whatever they can to survive while escaping from any danger.

Through the development of this game, I have realized that having functionality of tutorials would be very useful in order to allow players to get used to this text-based interactive game and the world that I have created in the game.

Explanation of What I Wish to Have

Thus, I would like to create a functionality where, like after the narrative text is shown, and after the player reads that instruction, they can type the word, like 'yes', and it goes to the next instruction, or actually asking the player to type certain words or anything like that to make sure that players get used to the game.

If anyone knows how to implement this functionality in inform7 or some resources where I can take a look, could you please let me know? Mahalo!

Prototype #2 - Peter the Cockroach

Here is the prototype #2 of my game - Peter the Cockroach.

Things Changed

Here are some changes I made from prototype #1:

  • Added losing scenarios
  • Added cars
  • Added direction-recognition functionality - straight as north, back as south, left as west, right as east
  • Replaced some of the rooms - entrance of the house, Garden, and Kannal
Yes, more revisions and improvements needed...!!!!

I was thinking that the victory scenario will be by invading human beings' house through the quest and collecting and meeting more and more cockroach friends, but I guess this would be really huge and tremendous effort required, so I am now trying to come up with new victory scenario - the one I came up is that there is no victory scenario; the player can stay and get higher and higher score by stealing food from human beings house, and when they get back to home, the game will end in victory, but when the player dies through the way, then the player's score will be always 0.

However, I cannot think of any idea so far, so I am actually asking for more ideas for victory scenario of this game! So, if anyone can think of anything, could you please let me know? Any idea will be welcome! :-)

Here is the actual new prototype you can play - Peter the Cockroach

Game Review - A Slower Speed of Light

I have played A Slower Speed of Light recently, so I would like to share the information about this game, how I felt while playing it, and so on, just like how I did on Game Review - MargaritaVille on Facebook.

What is A Slower Speed of Light?

A Slower Speed of Light is a game made by MIT Game Lab, which allows an user to control a character in a 3D world. The player is expected to pick up what are called 'orbs' that are spread out around the 3D world in the game. According to the site, it says:

A Slower Speed of Light is a first-person game prototype in which players navigate a 3D space while picking up orbs that reduce the speed of light in increments.
You can know how the game looks like by watching this video below:

Game Review

I personally found it very difficult to control... maybe that was because I was using a laptop with 4GB memory. (The official website actually recommends using pc or laptop with 8GB or more of memories) I thought the graphics of this game was not displayed properly;the game was very slow to react to the mouse movements.

I realized when I started for the first time, but the game does not adapt to mousepad movements, but only for an actual mouse.

However, I also thought the graphical and visual change by picking up more and more orbs made me surprised and amazed by this game. The more the player picks up the orbs, the more the speed of the character gets faster and the graphical change occurs more dramatically, and I thought this differentiates this game from other games, and that effect is the main characteristics of this game.

Project Idea #3

Hawaii State Judiciary

I have sent an another email to Hawaii State Juniciary since they were recruiting volunteers for data entries, file managements, and more. Although they are courts, and they are not possibly 'non-profit organization', since they are demanding volunteers for promoting more of volunteer opportunities in the community through date organizing and management, I thought I could help them in some way as this project.

According to Volunteer Opportunity Details section on Volunteer Hawaii website, it says:

The Judiciary Volunteer Office is seeking enthusiastic and qualified individuals to assist with the operation of the Volunteer Program. Duties include data entry, filing, customer service, inventory, general office duties, recruiting, orientations and more.

Very similar to my Project #2 idea, I am not sure what kind of program or particular system they are using (I guess they are using Microsoft applications?), but certainly the background for this issue is that they have a lot of data needed to be entered and they are lack of people for entering those data.

Summary

Although Hawaii State Judiciary may not be a non-profit organization, I think this is really valuable opportunity for me to have since I do not have much knowledge of judiciaries in Hawaii as well as volunteer experience. I have already sent an email to the Judiciary Volunteer Office, but I have not received any response from them. Hopefully I can get a response from them after the thanksgiving holidays, but if not, I will make a call to them.

The problem that the Judiciary Volunteer Office has is that they are lack of volunteers for data entries and management. What I can offer is the time and human power for data entries and management, and ideally I can offer them some alternatives that they can choose to make their ways of data management better by using some technology, such as Web application or sites.


I am currently looking for non-profit organizations that are seeking some tech volunteers or help. If you happen to know any, please let me know by commenting in this post or in any way. Mahalo

Tuesday, November 20, 2012

Defensive Programming - Being Defensive Moderately

While I was reading the book Code Complete: A Practical Handbook of Software Construction, Second Edition, I learned what defensive programming is and more specifically, how many actions programmers can choose to take when dealing with unexpected or bad inputs.

What Is Defensive Programming?

According to the Code Complete book,

In defensive programming, the main idea is that if a routine is passed bad data, it won’t be hurt, even if the bad data is another routine’s fault. More generally, it’s the recognition that programs will have problems and modifications, and that a smart programmer will develop code accordingly. - Code Complete, Chapter 8: Defensive Programming

I, thus understand the concept of defensive programming as 'Correctively dealing with unexpected(which mostly means 'bad') data so that letting the program still functional as expected.' Let me know if you find or think there is something wrong with this way of understanding..

Assertion

There are many ways of defensive programming discussed in the book. One of the ways of defensive programming is called assertion.

The code below is the example of the assertions discussed in Java from this book:

This assertion checks if denominator is 0; if it's 0, then it should be highlighted and the programmer need to know that, so it will display a message saying

denominator is unexpectedly equal to 0.

Defensive Programming for Having Safety Net and Program Efficiently

The example above was just one of the many examples of ways of defensive programming in the book. Defensive programming allows programmers to have a simple, but useful safety net from crashing the program or unexpected errors or bugs that may cause the development slow, which definitely will be crucial and serious if you are doing that for living, certainly. Thus, defensive programming is an option that all programmers have, to protect themselves and program efficiently.

Monday, November 19, 2012

Game Review - MargaritaVille on Facebook

I have played MargaritaVille on facebook recently, so I would like to share the information about this game, how I felt while playing it, and so on.

What is MargaritaVille?

According to the official website of MargaritaVille, it says:

Margaritaville ® Online™ is an everyday escape to a virtual tropical paradise inspired by the lifestyle of author and singer-songwriter, Jimmy Buffett.

Basically you have a character assigned when you star playing it, and you can have a small virtual life in a tropical paradise with this character by changing what to wear, talking to people, buying something, exploring the virtual world, and more. If you can see the official Trailer below (if you have never seen it before), that will help how the atmosphere of the game is like..


Review of the Game

I have not played the game for very long time, but MargaritaVille on Facebook was really interesting enough just by moving your character and exploring the world; the world and the movements of the game are clearly made neatly (as game designers and more and more professionals got involved I suppose..), and I personally like the sound effects that this game has, especially when you hit and destroy the blocks of container :) Overall, though, although I liked those sound effects and how we can change the character's avatars and so on, the game did not interest me enough to let me actually think I wanna play this game more!!

Could It Be Better...?

One thing I realized was (very small thing, but..) when the player clicks the virtual people to have a conversation with them, normally the game manages that both characters to be face-to-face so that it seems like that virtual people are actually talking as people in the real world do, but in a certain situation (I guess when the player manages their character to approach to other virtual people near enough), this effect does not function properly and the player does not move their face to the person the character is talking to, like the picture on the left.

Although I guessed that this very tiny thing does not matter to the atual game play, it is so little that nobody who is playing this game bothers to care, I thought because there are so many games that have the same, very tiny issue, I thought that MargaritaVille could make it better by fixing this tiny little thing I had realized while I was playing the game.

Yet, I really enjoyed playing this game! :)

Sunday, November 18, 2012

Project Idea #2

Institute of Human Services

I have sent an email to another non-profit organization, IHS(Institute of Human Services), and thought that the kind of volunteering they are demanding, which is 'Program Assistant with Data Entry and File Management' could possibly be connected with my project of web app or site development (or not).

According to the Volunteer Opportunity Details section on Volunteer Hawaii website, it says,

IHS' Wellness Clinics are in need of assistance to activate our new Electronic Medical Records program - lots of data entry required. Are you available 4 or more hours/week Monday thru Friday? Please help!!

I am not sure what kind of program or particular system they are using, but certainly the background for this issue is that they have a lot of data(Medical Records) needed to be entered and they are lack of people for entering those data.

Summary

I can tell that IHS is certainly willing to enter medical records into their new Electronic Medical Records program, but since they are lack of people or money to hire some people, they cannot achieve what they are willing to, and by me volunteering as a program assistant with data entry and file management, maybe I can help them achieve their goal, which leads to foster their social work - 'comprehensive social services agency working to prevent and end homelessness in Hawaii', and moreover, maybe I can make use of knowledge and skills I acquired and am acquiring now through SE class and more.., which definitely will be great experience for me as well.

I am currently looking for non-profit organizations that are seeking some tech volunteers or help. If you happen to know any, please let me know by commenting in this post or in any way. Mahalo

Saturday, November 17, 2012

Project Idea #1

Creating Something with Ruby

Since I will try to help some of the non-profit organization by creating something that they are willing to have, I thought it will be a great idea to actually find out what kind of non-profits are currently demanding something that I can possibly implement using Ruby. I have used Volunteer Hawaii for it, and found out that there is one non-profit organization that is currently seeking some volunteers, which is St Francis, located in Honolulu.

According to the website, it says:

Examples of How Volunteers can help : Administrative Office Support . . . Gardening . . . Horticulture....Videographer . . . Web Design . . . Writing grants . . .Calling donors...... and Participation in special community projects.
So, I thought I may be able to help them by creating website and web application using Ruby and basic knowledge of HTML, CSS.

I do not have any specific info with regard to what kind of particular issues that St. Francis has, but web development is certainly where I will be doing for living, so I am very motivated and interested in helping them.

I have already shot an email but they said they won't be available till next monday, so I will wait with a hope of heir response saying that they are welcoming me as a technical volunteer.

Meanwhile, I will keep searching other non-profit organizations that are seeking volunteers or having any issues that I can possibly, at least try to solve.

If anyone is interested in a volunteer opportunity at St. Francis as I mentioned above, do check out the link here. And, if anyone knows or found any non-profits that are currently seeking volunteers, especially in technical field, please let me know :)

Tuesday, November 13, 2012

SMART User Stories

While I was reading the textbook 'Engineering Long-Lasting Software', I found an interesting concept for creating a good user story, SMART User Stories, so I just would like to share it.
According to the book,
"The SMART acronym offers concrete and (hopefully) memorable guidelines: Specific, Measurable, Achievable, Relevant, and Timeboxed."
- Engineering Long-Lasting Software

What is a User Story anyway?




User stories are the basic requirements for the Behavior-Driven-Development, which is one of the phases of the Agile lifecycle. (I have explained what Agile Lifecycle is in my blog - 'The Reformation of Software Engineering Process: Agile Lifecycle') User stories are there to help development stay on track as expected and be how it is expected to be.

Going back to the SMART user stories, each word in the acronym has specific meaning and purpose to it, so I would like to introduce that below, one by one:

SMART Checklist

  • Specific - Is the story specific?
  • Measurable - Can the story be tested and measured through evaluating the output?
  • Achievable - Can the story be implemented within each Agile iteration?
  • Relevant - Does the story have business value "Why is it needed?" to one or more stakeholders?
  • Timeboxed - Does each story have a specific time budget?

Following this SMART check list for creating a good user story makes it possible to plan and prioritize development, thus have more efficient and stable Agile lifecycle. I personally have not created any user stories or done Agile development, so I will definitely try it in the future :)

Monday, November 12, 2012

10-min Free Writing Just For Fun!

Free writing

I have done what is called 'free writing'. I thought it is fairly interesting to see what I have got after I finish it; I felt like I was objectively reading what I had written, and it is very interesting since although those words are what come out from my brain and literally I typed, but those just did not seem to me so.

However, I personally found it not natural thing to do since English is not my 1st language, and my TextEdit's auto-spelling collection rewrote some of my words or fixed my mistyping. Anyhow, I strongly recommend that people do that just for fun although I do not think this is really outstanding or amazing activity that dramatically changed my way of thinking or whatsoever; it is just interesting to actually take a look at what you are thinking or creating unconsciously in your brain, I guess :)

Here is what I have got from my 10-min free writing:

I don't think it is very important for us to know each other just because people are different from each other. I doth think it is necessary for usto know each other wsas well. The thing most important is that we need ourselves sos sire isto top doing that. I think it is necessary animals and people nature sea sky blue anything that is related to human beings i think interesting it is that we are in hawwaii now studying english and so on those important things will affect our future i am so sure. but the key concept again is that we need to focus on things we do right now not for the future because pooeple need to live and so on . the man is standing behind the sky and train and it is snowily and things get screwd but no worry. I think the sound of music makes people happy in a better way since it is necessary for us to focus on and concentrate on one thing and music makes it possible for us to do. but music is hard tfor making money and i understand it but creating music and harmony is so beautiful but calligraphy is also beautiful but does not matter who you are but things get matter is we do not know about it and thus it is not important so life is easy and get go on and go beyond and get salary and find yourself stupid is sometimes important i think. the iPad is very beautiful and steve jobs is really crazy and intelligent but those new things make us drive crazy sometimes because we really do not need those things but people try to buy things and they stick to it and it is not important. coffee make sme think more better and worse sometimes it is not very good for driking coffee but asai bowl is very delicious but it is not important and earphone and laptop pc and macbook air and other things are mechanical and those things vary and change our way of living but it is the nature that we need to care not the machine and our human beings are growing and increasing its number dramatically and the earth is afraid of us and so we are afraid of the earth and it but toes it make sense not seems and no sense but whatever and i think shark bag is my favorite thing cuz it is cute no not cute but it is easy to carry and easy going music i love and those things doe no matter but i do not think life is easy but sometimes we care about totters and others and happiness and utopia and other things as well. i have work to do in the future in tokyo shibuya and excited about it but it does not matter right now no it matters for me and game programming is a lot of fun but it has a lot of things to do in my life not just for game programming and my grandfather told me something with his white hair and old tiny eyes and smiling and small wind makes us very comfortable and happy and green mountains and grasses make me think that it is very calm and helpful and peaceful and the world is wonderful but it started raining and everything changed and typing is very tiring now and why i am typing and typing gets really fun and all of these things are now really fun and gosh i think i am typing a lot fin 10 mins and but it is fun cuz i have never done this sort of things before and i think writing in pencil varies from typing but i think its still worth doing so i think by doing so i wanna learn new things and new ways of thinking and get better and grow but game programming is so much fun and inform7 is difficult and sometimes i get stuck bjsut because i do not know how to do and twitter and i thought i need to create another account for it and coffee makes it fun and typing growly. i guess things get matter or so .

Friday, November 9, 2012

Peter the Cockroach - Prototype

Here is my prototype for the game 'Peter the Cockroach'. If you click the link below, it directly goes to the browser where you can play around the world I created using inform7.

Peter the Cockroach

Note - I have just created the basic map without any win or lose functionality.. The basic map for this prototype game is below - you can move around by typing

go [direction]
where direction could be west, east, north, and south.

Thursday, November 8, 2012

'Peter the Cockroach' Focus

Since I have decided to create a game using inform7 instead of creating a game using Stencyl.

The New Focus - Peter the Cockroach

Peter the Cockroach is a text-based adventure game. The player is experiencing the world of view as if he/she is cockroach whose name is Peter. The player will have to manage themselves to survive in the world of human beings by sneaking neatly and eating food from human beings' houses.

If necessary, the player needs to escape from any attacks by others - Cars, runners, animals, etc. The player will damage as time goes by hunger, so keep getting sufficient amount of food is critical. The goal of the game (so far) is to meet other cockroaches from other regions and bring them back to home; inside of one of the manholes on Ala Wai Canal road.

The environment of this game will be text, so the key point for making this game would be how to let players realize that there is (or are) piece(s) of information that they can make use of in order to survive and go on. This game is unique in a way that the player is actually a cockroach, which really most of people do not like, and they can experience (at least what I imagine of) how cockroach would be perceiving or thinking.