iToto's Blog

A Montreal based full-stack web developer who loves learning and trying out new things. This blog is my attempt to document my work as well as a place to discuss ideas or topics that I find interesting. Feel free to follow me on linked social networks.

Filtering by Tag: dev

Take time to design

Taking the time to understand a problem and design a proper solution is the best first thing you can do. During this process, you are essentially defining your program's logic and requirements. This will help you – and any other developer – a great deal when having to develop or use the software. It serves as a map, illustrating a high level picture of how your software works. Also, by exposing a design document before implementation, you will uncover any errors or mis-conceptions that you would have otherwise found during your implementation.

Read More

Technical Debt (Re-post)

I recently came across a blog post on a very popular topic in software development:

Technical Debt 101 by Maiz Lulkin

Most of the developers I know (myself included) would be the first to advise for a re-write of a legacy application. Likewise, most of the managers that I've worked with are always there to advise against it. They would say things along the lines of "This would take too long, we need this new feature yesterday" or "We don't have the funds or resources to support this right now".

While both sides have valid points (and are probably exaggerating their points for their own cause) the truth lies somewhere in the intersection of both circles in a venn diagram. This article - in my opinion - gives a description of what the venn diagram looks like. Maiz paints a detailed picture of what both sides argue and then goes on to explain what that intersection area contains. After reading his post, my doubts or uncertainness about re-writes have been silenced. A required reading for developers and managers alike.

Project update

It's been a while since I announced an update on my project, so here's a small yet important one:

I have finished the first revision of the API and have commenced the development of the iOS client. Furthermore, I have launched a web page for those interested in seeing what the app is about - the link will be at the bottom of this blog post.

As far as the client goes, I'm going to try something new. In my experience, apps run best when written natively for the device. However, I have been hearing of the advancements in HTML5 with application development. While it would be easier for me to make the app in HTML rather then to build it natively, I still want to learn more iOS and objective-c. So, I have decided to do both, concurrently!

One of my friends volunteered to make the HTML5 version of the app while I make the iOS version. We will do a performance comparisons and attempt to gauge which of the two is performing best. I will release our findings on here throughout the development cycle.

If all goes well, I'm hoping to use the HTML5 version for all other platforms (Android, Blackberry, PC, etc) and keep the iOS version done natively. This will allow me to always have a handle on the differences between native and cross platform applications.

Also, from now on I will try to write a new blog post every Sunday with updates from the week. Hopefully it will force me to get more done during the week and also to keep my blog active :)

Be sure to check out Party Stream for the beta sign-up. Once the first version of the client is ready, I will be releasing it to beta subscribers for closed testing.