Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Saturday, June 25, 2011

Android development

After putting it off for so long, I finally went all out and did it. But it took a far longer time than expected but at least I have taken the precious first few steps. I'm talking about developing for the android platform. I've bought my desire last year in december. But for almost half a year all I did was play around with other software on it, I didn't even start to do the very reason I bought it in the first place, develop my own software on it, until recently. After seeing how long I've procrastinated, I decided to get serious and even bought a few books off amazon and the one which I have been reading which got me over the first hurdle was "Hello, Android". It is a pretty nice walkthrough on how to write your first android software by showing you the steps to write a sudoku game. And a few other small apps to show how to implement other features. I highly recommend it if you're looking for good a beginner android development book.

So the first android app I've written is about something which is quite dear to me, solat. I've wanted to write an application for referencing http://www.e-solat.gov.my (which I use on my blog to display solat times) even before I've got my desire. But once I've got it, I found that Syakhir Jaafar already beat me to it by releasing MySolat. So I've been using that one until I've finally got the drive to write my own. The title of my application is "Solat Malaysia", because, it shows solat times in Malaysia (Yeah, I'm really creative that way.. ). I am writing it more for my own use and practice in writing android app more than anything, so I'm releasing it as an open source software where you can get the code here. So if you are a muslim and using an android phone, please try to download it from the market and maybe give some feedback. I have a few ideas on what feature to add next and all, but some feedback from other users would be great too. But if you are not a muslim (as in you don't have any use for my app), you can still learn from the codes or maybe even advice me on how I can improve mine, check out my github. Any kind of input would be greatly appreciated. My development currently is mostly done in eclipse (yeah, haven't got raw yet.. :P).

Programming for the android is certainly different than what I usually do (web apps mostly) but I can relate to the mvc style with declaring the inteface in the xml resources and the logic in the java codes and all. I guess the main hurdle was actually just getting a feel on how everything glues together (and there is a lot of things, the resources - (strings, menus, layout), the android manifest, the codes, the intents etc). But once you've grokked it, it feels quite natural.

Whichever way it is, the book helped a lot. Expect me to continue to improve the "Solat Malaysia" app (it is very rough right now) and hopefully I'll write even more software for the android platform in the near future. Stay tuned.

Sunday, May 25, 2008

Develop it FAST!!!

I've always liked game programming. That's what got me to start programming in the first place. But even with all the current advancement in technology and tools I've never actually got round to making one to the finish. While idly stumbling I've found this interesting article entitled "How To Build a Game In A Week From Scratch With No Budget". That Jay Barson must be one heck of a talented fella to be able to pull of what he did. Takes a lot of experience to be able to tell which way down the road you need to go when you've got to get there quick. Anyhow, what I liked best about the article is the lessons he learned after finally having done it:
  • Lesson 10: Doing something like this really was worthwhile
    • I know what he means when he says "You wouldn't think that working on Yet Another Game would feel like a vacation, but it did." Sometimes I feel I need to do that too. After a long stretch on one project, you just need a short sprint on a smaller one to just revitalize yourself.
  • Lesson 9: Cutting features isn't always free
    • Sometimes we think it's better to not do something in a more holistic way, we don't need THAT much bells and whistle. But in the end sometimes not doing it that way makes it so much harder to do even small things and things start to become repetitive and error prone REAL fast.
  • Lesson 8: Do the important stuff first
    • "If I pretend that I only have those 8 hours to 'finish' the game, what could I do that would make the biggest difference in those 8 hours?". That's a good way of thinking what do we really have to do to make it work. Probably should apply to most of my projects too.
  • Lesson 7: Scope will expand to exceed your budget and schedule
    • LOL.. I do this a LOT.. :D "Every programmer I've ever met tends to underestimate the time required for him or her to complete a feature.". Ask my manager, he'd know.. ;)
  • Lesson 6: Get the game playable as fast as possible
    • I know I've always tried to get my projects up as soon as possible so that the clients can give feedback as soon as possible. Sure you have a list of features to implement, but sometimes when all is dark, a lone beacon in the distance can make all the difference.
  • Lesson 5: It's sometimes much faster to throw away old code and start over
    • Ahhh.. one of those things that makes working in the software industry seems so volatile. You can work on a set of feature for a whole week to find that the way you should have implemented it is different and you just throw away the whole weeks' work. But actually it's never thrown away. It's hidden deep in your consciousness on how you should implement it the next time.
  • Lesson 4: Python Rules!
    • I couldn't agree more.. :D
  • Lesson 3: Don't underestimate the art requirements
    • Oh yeah.. so many times I've implemented so many killer features only to find customers looking at the unmade up interface and say "where's the value added in this???". Huh!! It doesn't matter you can do this and that, if it's ugly I don't want it. Sadly I'm not a full fledged graphic artist though.
  • Lesson 2: I need to be more efficient in my use of time
    • "Better use of my time means I can get more done AND have more 'free time' to do other things". Oh, how true.
  • Lesson 1: IT CAN BE DONE
    • Yeah... :D

Is Blogging No Longer a Thing?

As I embark on my new journey to learn the Rust programming language, I find myself pondering—where have all the blogs gone? In search of pr...