Saturday, April 19, 2008

App Engine Adventure, Redux: lesson learned

After a whole full week, working, erm not quite working, coding, and hacking, my code is a bit hackish anyway. I finished my app engine application, and uploaded it.
It is in
http://sweemengsandbox.appspot.com/main

Here is what I learn, here is a list of stuff, that is not app engine specific:
1) Writing software is hard, ok I knew that, I finally learned it first hand
It took me 3 days, to comes out with the engine, and the next 4 days, tweaking and adding, and finishing the interface at the same time.

2) Python can be easy, if you know enough
Python make things very easy, because it provides a lot of functions and class, that make life easy, provided, you know it. Which is where 3) comes in

3) Python documentation is a nice thing to keep
At one point, I have problem to automate the task of identifying, the image format. It turn out that, there is a imghdr, module, I found that out in the python module.

4) appengine documentation is useful
I have to rely on the documentation a lot to comes out with something.

5) Interface is hard to do
Fine I was using emacs to create the HTML, most of the 7 days were spent of determining the right interface, and try to get it right. But in the end, I still didn't get it right. Maybe I lacked the artistic side.

6) But dojo really helps in designing interface
Instead of having to craft my own css, I just use dojo own bordercontainer, Which make it easy to design the layout. As a bonus, I am able to decorate the form a little, with somewhat nice looking interface.

7) On the other hand
dojo can be overwhelming, because I have to learn while I do. Dojo can be slow, on a slow network connection, the dojo widget don't really work well. and Dojo cannot do everything

8) Knowing the fundamental is useful
Today, I realize that there is something dojo cannot do, so I have to roll my own javascript, and css.

9) Having friends, to help out is useful
My friend Omprakash, help me found out that, I need to resize the pictures, and Ben gibe me some insight on the software.

10) Writing program can be satisfactory
Sometime writing program is just fun, for some reason, I kinda addicted to it.

And it ends up as a top 10. Imagine that.
Coding an App Engine(or any python application) is fun. Here is the last one.

11) But what really sucks is,
there is some restriction on the api, one, a few python api don't work, such as PIL(it make image resizing easy), because it cannot be python c extension. There is limit on how many file one can upload to app engine. Because I cannot upload dojo to it, on the other hand, cdn helps a lot.

No comments:

Post a Comment