martes, 19 de noviembre de 2013

Learnings from my first apps

Well, I think it's a good begining talking about my first apps and what conclusions I have taken from it. Until now I have developed three apps but for now only one is in the market, it is a tiny app for a tabletop-RPG called Hackmaster with permission from the editor, its main use is to roll critical hits and fumble, very basic. One of the other two apps is being developed by a startup and has to be online in a few days, the other was developed in group at the Android postdegree and sadly was not finished.

So, here are the conclusions. My idea is to expand those ideas each one in a different post because I think that are very very important and add other subjects as I learn it.


First think, second draw and third develop.

Maybe it's logical and the thing that everyone plans to do, but for what I've seen the developers what to love is, well, develop. Planning the classes diagram, the flux of data is really boring, but is a huge mistake not to do that. After three hours of coding you're going to see that X class is not necessary or Y method has to be rewritten, but in this case you're lucky. The worst case is to see that everything that you've done the last week is useless, that's really frustrating.

The solution is first try to think all the functional specifications of the app, draw it to do it more visual and when all is compiled in a single document let's apply all the technology to do what the functional document says. One of the most common mistakes that we de developers do is to think directly in technology and his limitations. I think that's better first decide what we want to do and then how we're doing that.

At this point is not only OK to see the limitations, we've to search for it! We've to search for all the things that can make the project go wrong and be able to prevent that.


Layouts for different designs

Doing layouts is one of the most frustrating things in the Android app development, there are so many devices with their own differences that's almost impossible that the app can be seen perfectly in all of them, but we have to test the app in every device we can especially the older (and ugly) the better. We've to know the flaws of our app and be sure that everyone can use it!



Version repository

 Until I began to develop with Android I didn't used it, I have heard of the existence of Git but I never realized how useful is. Even if you're developing alone is a good way to have your code safe and be able to see how your code has evolved through the weeks. If you are working with a team using Git is absolutely mandatory, how many hours in the university I would have saved with Git...

With Git a team can be working with the same app at the same time and if the code has a good structure (the first point) to add the other developer's code in your own is easy and seamless. Also, you can easily have different versions of your code (production, preproduction, development...) and switch into them easely.



Here I presented three points that I think are of capital importance, but are not the only, for sure I'll find more and as soon as I can post it here. The next posts I'm writing speak about those three main ideas, I hope they'll be useful.

domingo, 10 de noviembre de 2013

First entry

So here's another new blog, but not my first blog (nor the second). Until now what I've written in the Internet have been a bunch of unrelated (or uninteresting) things, that's what I want to change. Besides, this blog will be written in english not in spanish/catalan as the other blogs I've written.

The main goal of 'The Ghost in the Circuit' will be to post little articles about stuff that I think that may be interesting: developing (Android & iOS), music, tabletop RPG and other things that i find or discover.

So, let's start...