Sunday, April 27, 2014

On "Real" World Features

Introduction

Our application is nearing it's final completion stages for the semester. Throughout the course of the semester there has been pressure for us to add "real" world features. By "real" world features, I specifically mean, domain name, web accessible (rather than running on localhost), google+ and facebook integrated login, etc. While I understand the importance of these features in a real world application, which this may become, I feel that having them be part of this iteration of the application is a very bad idea.
These features are all associated with a few common issues, cost, personal identification, security (which in some ways are all sides to the same coin, a three faced coin...). Because of this I don't they should have been requirements or requested for this application. We included them largely without objection for fear of being evaluated more negatively (from an academic perspective) if we did not have them. The mechanisms that drove the evaluation process are so opaque to us, that we felt it better to just fall in line.
However, I do think that it is appropriate to address the issues with this features.

Domain Name

Problem

Registering for a domain name on the internet requires that one disclose a substantial amount of personal information to a third party. This is often not a big deal for a company, which already has all of its information listed publicly, but is not something that a student desires to do. Further it costs money.

Alternative that works just as well

At the end of the semester we will be doing our final pitches for our applications. At this point in a real world development cycle, many applications would still not be on the web but rather running locally. This would be intentional in order to keep the not yet launched application underwraps. After a backer was found you may put it online. Certainly this is a debatable point, perhaps some applications would have the site up in development and even before it was backed by a venture capitalist, that's true. But we are students, and it is perfectly reasonable to have our application not sit on the real world wide web, or at least, it doesn't need a domain name until a real launch.

WWW Accessible

Problem

Making the application accessible on the world wide web, with real hosting, costs money, opens up the system we use to the very real perils of being a server on the world wide web, and if we use a hosting service again requires us to divulge personal information.

Alternative that works just as well

Run it locally. Just like for a domain name. Maybe an argument could be made for having it on the world wide web for the final pitch, maybe, but definitely not during development.

Google+ and Facebook Login

Problem

In our modern world, your social media/email accounts are very important, and a very high target for hackers. If we implement the login improperly (which happens all the time on the biggest of web applications) then we expose real people to the real problems of getting their accounts hacked.

Alternative that works just as well

If our application must be web facing, then there is not alternative. Implementing our own login features is more likely to have security issues. But, as previously mentioned, the application does not need to be internet facing.

Summary

So this is my little rant on the features that I do not think are necessary or even good for our application. I am not too upset about them, but thought it might be something to consider for the future. I understand why they are desired, they bring a sense of reality to the projects. At the same time, while we pretend to be in the real world this semester, we should not forget that we are actually still students.

No comments:

Post a Comment