February 11, 2004

Planning Baby Steps.

First of all, my adviser on this project is Professor Ray Larson, who also teaches my IS 257 class, for which part of this project will fulfil the requirements. I am also getting two units of independent study credit for this class.

When one things of neighborhoods, one cannot help but think of both geography and quality of life. What do we need to be able to convey those ideas over the web? what kind of system do I want to implement? Perhaps if we think of them as modules, that will help get my ideas down.

So, I know I'm definitely going to need an authentication modules (allowing unregistered comments might allow people to game the system, and I really would like to avoid that), a file uploading module (for pictures), some sort of administration module (to approve pictures and patrol the system), a mapping module, and a address module (so people can search for addresses?)

It often helps me if I can visualize what sort of interface I'm working toward, so I'm going to pull out my sketchbook and draw tomorrow. I don't guarantee they'll be good, but a rough sketch often helps me think of what areas I'm forgetting. I'll share them here when I get them scanned in, which will probably be tomorrow or Friday, whenever I can spare a couple hours in front of the scanner.

I need to start thinking about database layout, since I've got an assignment concerning that due...February 17th.

Here's what I have to have for that:
Assignment #2

The following information should be turned in for the preliminary design of your personal database project.

1. A general description of the data you will be using for the database, and what uses you might expect the database to have.
2. A preliminary data dictionary for the entities and attributes and format of the data elements of the database. You should have at least 5 entities with some logical connections between them. The data dictionary consists of all of the attributes that you have identified for each entity, along with indication of whether the attribute is a primary key (or part of a primary key), and what format the data will be (e.g.: text, decimal number, integer, etc.)
3. Produce an entity-relationship diagram of the database OR a UML diagram.

These will be preliminary design specifications, so do not feel that you must follow everything that you describe here in the final database design.

Guess what I'm doing this weekend?

(oh yeah, if you're paying attention to the blog, don't be shy about commenting, that's why I put this in blog format in the first place. That, and I wanted to have a way to look back on the progress I've made this semester.)

Posted by katster at 11:45 PM | Comments (1) | TrackBack

I've just thrown myself in the deep end, and now I need to learn how to swim.

...and that means that this final project is a go.

So what am I doing? I pasted the paperwork into the extended entry blank here, but a short notation for all of you who don't want to read that, or have already read it. My project is called (at the moment, if I come up with a better name, I'll change it) The Neigborhood Guide.

Right now, it's simply going to be SF and East Bay linked, with the hopes that I might be able to expand it. But for a test market, I mainly want to make it places where UC Berkeley students are likely to live, and that's pretty much SF and the East Bay.

Anyway, I'm probably going to write the thing in either Perl or PHP. (Other languages will be considered, however, since I've seen a bit of both Perl and PHP, they'll probably be the most likely.) The backend will pretty much definitely be a MySQL database, and I'm probably going to have to figure out a way to hook convert in with pictures. But that'll be for later. (Yeah, I'm planning this on a UNIX box for two reasons. One, although my main computer is a Windows XP machine, I'm more familiar with Unix, having ran Linux for many years before I went back to Windows. Two, if I was to move this off SIMS servers, which is a distinct possibility after I'm done with beta, it will be on a Unix box.)

Gah. This project scares me, and I'm hoping like hell I can pull it off without going insane. Oh wait, I already am. So lemme rephrase. I hope I can pull this off without throwing myself in the loony bin over it.

And part of that will be relying on people who know more than me to help me out. So if anybody feels up to it, and feels like following this blog, I'll be tracking my process. So that when I go to Ray on the 19th of March, I can pull up the blog and show the learning experiences I've had. And while I have to be the main contributor (it's my degree on the line, after all), I'm pretty sure I can get some outside help.

Sink or swim time.



All text found below can also be found at http://www.sims.berkeley.edu/~katster/fp.html

Neighborhoods

It is a common problem. You have gotten accepted to grad school, and it’s time to pack up and move across country! You have found an apartment; the map you downloaded off of Mapquest seems to show that your new apartment is close to campus, and the rent is actually affordable! Only, in your first week, after a guy gets gunned down in front of your house, do you realize that you not are living in a good neighborhood.

It’s not just graduate students that have this problem, though. There have been several posts on an LJ community devoted to the city of San Francisco where people have asked if places are good to live in or not. And it’s not just about crime rates. For example, when I was apartment hunting this summer, I wanted to be near an all-night AC transit line, because I occasionally enjoyed hanging out in the city until 3 AM. This is something that isn’t exactly intuitive to people who are searching for an apartment from the East Coast, of course.

But people who live in a place can tell you a lot about it. I, right now, am rather an expert on the Upper Rockridge/Piedmont Ave. area in Oakland, because that is where I currently live. And because I know that, I can tell you that there’s a Safeway and a Long’s Drugs nearby, there’s two seven-elevens, a post office, and other amenities in walking distance. The DMV is just down the hill. And there’s probably a bunch of people who know similar things about their neighborhood.

Thus, I can foresee this being a useful tool, as well as a community builder. I foresee the project as being some combination of bulletin board and database that contains information about the area.

I believe I can do this, although it will be difficult. I have learned many things that might help me with this project, such as project management, networking, and databases. This is a capstone of my SIMS career because it is a way of getting information out of people’s heads and into a format where it might be useful for others, and it gives me a chance to both apply some of the things I have learned here as well as learn a bit more web programming.

My final deliverable will be a web application that can achieve this nature of community. Some of the things that I would like the application to do is allow people to post comments and upload pictures to the site, and also allow a moderation function so that comments and pictures that don’t fit can either be removed (in the case of comments) or never shown in the first place (in the case of pictures). I’d also like to try to hook some sort of mapping software (maybe Mapquest) into the application, so a map can be shown with possible amenities plotted. The back end will be ran by a database to store people’s comments and information about them (I will probably have people register themselves). The web pages will probably be written either in Perl or PHP, and I plan to use a MySQL database on the backend.

I expect to have a working system, even if it is still in beta, on May 11th, when the project is due. I expect to be evaluated on whether the system could be used for its intended purpose and how well I’ve managed to present the information in a format that could be useable for others.

Calendar

(N.B.: I tend not to work well with established milestones and need some flexibility on dates. However, I fully intend to follow this rough calendar as to dates.)

February 6th-February 20th: Planning stage. Database table planning, preliminary drawings of user interface, choosing programming tools.

February 20th-April 8th: Programming stage. Creating the application and layout.

March 19th: Progress update. Should be able to show the (hopefully) mostly complete codebase, and application should be working, even at a rudimentary stage.

April 8th-April 22nd: Debugging and beta testing stage. Released to other people to get their input. Fix bugs that pop up. Clean code.

April 22nd-May 11th: Iteration stage. Take commentary from people and apply changes as needed. Do final paperwork and report.

Rationale:

I came to SIMS because I was interested in how people interacted with technology. Since I have been here, I have learned a lot about many things, and the experiences I will take away with me are project management, networking, and database skills. All of these will be applied to the project at hand, and all of these will help me do better in the outside world beyond SIMS.

This project reinforces all those skills, plus makes me consider other issues that have arose in my other classes.

Plus, this project allows me to show what somebody who studies information management actually does, and that is produce information related projects.

Lastly, this project connects back to a project in IS 202, which required us to come up with an application for all those photos. My group came up with something similar to this idea, and I have since wanted to run with it and see what came out.

It is an interesting use of how people use the technology, and I hope that it will be a successful project.

Thank you.

Posted by katster at 01:29 AM | Comments (0) | TrackBack