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.