Thursday, December 28, 2006

Why agile development (continuous integration & unit testing)

A software project can be a lot like mowing a yard. Even though we try to move in a straight line, and we think we are, later we look back and are amazed at how far the project ran off course. Whether mowing yards or building software, we need timely feedback to help keep us on track. Looking back at completed software projects, or lawns, shows you where you missed the mark, but it's usually too late for that project. We need feedback while we're still in the midst of the work. Software development teams ignoring agile development are living in turmoil. Heroic efforts are not the exception but the rule. In fact, these teams always seem to be running behind. They always have a crisis issue to resolve or deadline to meet. They work and live in a perpetual twilight of stress and problems. They’ve lived there so long that they think it’s the only way to write software. Sadly, these teams tend to burn people out. I’ve been there and it’s no fun. Creating software can be a great joy -and is- when done right. Agile development can’t solve every problem, but it can remove several categories of problems that would otherwise clutter your day and slow you down.

Wednesday, July 19, 2006

Listened to a pretty nice interview with founder of 37signals tonight. It is mainly focused for web application business development, though I feel that many of his points can be applied to mobile application too.

1. keep the products simple
- changes can be made quickly, so no big impact even if competitior comes out something new

2. let the staff do what they want to do
- no need to watchout 24x7, they will be excited to share with you what they have done

3. never do fancy reporting
- no one will really see it

4. pay attention on cash flow
- only spend on what you really need, focus on covering cost instead of how much earning

5. don't make big decision
- instead make lot of small/temporary decision so mistakes can be allowed

6. get the first version of product out first
- don't need to quit your job or get VC, just commit more & more time step-by-step

Tuesday, July 04, 2006

Managing Software Development

1. move pioneer developers to new project once provide new challenges
2. shorten warm-up time for new joiners (environment-on-a-disc, CVS, wiki would be helpful)
3. management top objective: let developers focus on development 24x7, that's all.
4. timelines should be bottom-to-top, not top-to-bottom.


Wednesday, June 28, 2006

Mobile Widget

scripting: fscriptME
rendering: tinyline2d/j2me polish/mmapi
data: http/kxml
cache: rms/j2mefs
syntax: similar to yahoo widget/laszlo / zk
(nice refer,

widget engine=open source (facilitate testing & porting)
a website to create/manage widgets like widsets=commercial (support socket/rss notification)
similar implemention -

Wednesday, May 31, 2006

Best J2ME Productivity Apps

1. opera mini
2. mig33
3. pegasus
4. google maps mobile
5. widsets

Wednesday, May 03, 2006

Avoid These MIDP junks

socket connection (alternative: 2 http connections,thread sleeps as keepalive)
certificate signing (alternative: instructions to ask user to give permission)
high-level midp UI (alternative: j2me polish)

Tuesday, April 18, 2006

J2ME Development Environment

Netbeans with mobility pack (don really like eclipseME)
Emulators (Carbide.j a must have)
SVN/CVS (with Trac integration would be even better)
Wiki (for idea sharing/collaboration between team members)

all of the above=nice integration/build management process (possible use of WURFL here??)