40-minute software development counsel

Today, my friend wanted some advises about writing a desktop application for his group’s senior (graduating) project. Initially, as the software requires to store the data online, so he planned to use Microsoft SkyDrive with an unsupported API for .Net. I initially didn’t care much about what his team wanted to do because it wasn’t my project. And I thought he could finish it anyways.

However, more I listened to what he wanted to do, I kinda changed my mind to aid a little bit.

His project, as far as I can tell, is namely called “Virtual Unlimited Online Storage” for SME business, where SME stands for “Small Medium Enterprise”. Its title is pretty straight-forward, yet ironic. I meant there existed nothing “unlimited” in this world.

The goal is develop a desktop application to communicate to a file sharing server to store data for a small company that cannot effort a cloud computing service to store the data. To be honest, it is pretty sad that there is such a company in this world that consider self-maintained service is cheaper that the mass public services. But hey, my friend wants to graduate here and his proposal is approved. How bad would that be!?

Originally, his team got more than a year to complete the development. For any reason, they could do nothing but breath the air of the wonderful world for a year. And his project is due by March.

So, they got the shortest solution, at least they thought it was. They came up with the idea of develop a client for SkyDrive via an unknown, officially unsupported API in .NET where their proposal said the software would be done in Java. When my friend, the team’s supposed leader, talked with me about their approach, I kinda stepped back and told him what I thought it might’ve not been a good idea to do what they thought.

  1. The API in question is appeared to act like a browser that connect to Microsoft’s SkyDrive web interface. The API will do the HTML parsing to determine result of operations. As many people know, HTML parsing could be slow.
  2. Not only the API is unreliable, network latency, due to Thailand’s super slow national internet connection, may slow down the development.

One thing that I didn’t mention during the conversation, because I forgot, was that using SkyDrive with that kind of API may have violated Microsoft’s SkyDrive’s EULA.

The another problem is the language to use. This team is a mix of one Mac user and two Windows users. To use .NET, the Mac will waste time switching between two OS’s. This is stupid.

So, what I suggested my friend are:

  1. Forget SkyDrive API as not many people use it. Use WebDAV with a web server instead as WebDAV is standard and many people use it. The API may be stable. In this case, I told him to use Ubuntu and set up Apache 2 with WebDAV to make life easier.
  2. Instead of using .NET, use Java. It is cross-platform and widely used.

After discussing for 40 minutes, I finally convinced him and tell him to talk to his advisor ASAP about this idea. If he is okay with it, then the only problem is whether my friend and his teammates can finish the project within next 70 days.

It sounds interesting to me to see how this project turns out but my friend is not likely happy about the situation.

Comments are closed.

Copyright © Juti Noppornpitak. All rights reserved. Powered by WordPress. | Send message for feedback or assignment.