Pythonaro blog

29 October 2007

Pain can be useful

So, I've spent a few hours improving my little J2ME project. It's pretty much done, what I need now is a little bit of polishing and, more importantly, the server-side app, which I just started to "conjure up" in django.

I didn't remember how painful Java development can be. Fixed-size arrays, .put() and .get() every five seconds, loads of redundant declarations (if a method can only return a String, why should I also declare that a reference to the result is of type String? what else could it be?), not having an interactive environment to quickly test out ideas. Eclipse goes a long way to reduce the pain, but it's still so much more painful than doing the same thing in Python. And when everything is done... NullPointerException.

The good side is that fear of pain forces you to really think things through before you write them down. In Python, I end up re-writing things over and over again, because there's no (perceived) penalty in doing it, and I more or less "code my thoughts"; of course, I eventually end up spending lots of time on this sort of messing.
With Java, I'm forced to think about the proper structure up-front, because I dread having to write it down more than once; but this means that it's then a matter of monkey-coding a clear structure, and once it's done, it's done, and I can get on with other things.

Labels: , , , ,

posted by GiacomoL @ 2:51 PM   4 comments links to this post

Empowering programs

I remember being impressed, more than three years ago, by this post by Joel Spolsky on Microsoft's "Empowering" partner program. It looked like Microsoft was (for once) doing the right thing to help the little guy.

Now that I'm starting to explore the possibilities of setting up shop by myself, I'm looking around for similar programs; I don't plan to use MS stuff, so Empower is simply not for me. I intend to use mainly free open source tools at the moment, but chances are that sooner or later I'll have to pay my tribute to some Big Company, so it might be good to get some info on ways to save a few bucks or get good tech tips.

My biz plan involves J2ME apps, Python (for django, so web stuff) and the inevitable database; it might (or might not) include some very small (and collateral) piece of desktop software sometime in the future.  A proper custom-built server will probably enter the equation very soon, and sooner or later I'll need new hardware anyway. So, what's out there that might interest me?

First I checked the Sun Partner Advantage program. It seems to consist mainly in hardware discounts (fair enough, they are first of all a hardware company... aren't they?); the Mobile initiative is limited to big players, not everyday members (bad, bad move). Not sure is worth the hassle, as their gear is really uber-priced and I couldn't ever make them my preferred hardware supplier. I might be wrong though; the Sun website is a perfect reflection of the company: huge, disparate, often byzantine, full of hidden gems here and there as well as boatloads of useless marketing spiels... I might have missed the great bits, who knows.

I've also looked into the Trolltech partner program, for the (inevitable) little desktop bits. As much as I love the technology, anything technically significant comes with the $1500/yr option; overall, it feels more like a commercial relationship than technical partnership. Probably too pricey for what I need.

Uhm, what else? Where's the killer partner for new mobile/web startups?

Labels: , , , , ,

posted by GiacomoL @ 1:30 PM   0 comments links to this post

20 October 2007

Crazy thoughts (pazza idea)

While going through the periodic find-new-job-which-sucks-slightly-less-than-previous routine, I keep having crazy thoughts about starting my own business.

I don't want to do yet another webdev shop, competing with 18-year-olds undercutting you from their bedrooms. I have a few ideas that I think are marketable; some of them are completely original, some aren't but their market is potentially so big that it doesn't matter.

One falling in the latter category involves mobile phones, and how to use them in companies to streamline certain processes. To do this kind of things, you don't need much on the phone UI; random sync with some sort of networked server is easy to do.

I've looked into Python for S60, but unfortunately, while potentially fantastic, is not really there yet in terms of adoption and ease of deployment. The only realistic choice is J2ME; to my surprise, it looks easy enough to build what I want with it, and pretty much all recent handsets support it well enough for my needs.

So I installed EclipseME and the Sun Java Wireless Toolkit, and I'm already 40% towards having a working protoype. I just need to wire it to a simple django app at the other end, and then I could really sell it, or at least do a round of funding (there are some fantastic government schemes for small new businesses here in England).

What scares me at the moment is setting the right price for it; it's not the kind of thing that will save massive amounts of money to a company, but it will speed up some operations. I need to quantify these improvements in order to have a strong sales pitch to set the right price, and to be able to build a proper business plan which will take into account development time, expenses, etc. I also need to catch up fast with the main player in the market already (a small Portland-based operation) which has a head-start but, I think, not yet the amount of money required to break it big in the European space. As I said, the market itself looks big enough for more than one player, and after you establish relationships with customers you can go and build new things for them.

In the meantime, I'm using friends as focus groups ;) and the feedback is good. A colleague even offered himself as part-time head for development, which is something I'd really want before doing the jump.

In all this, the folks at GeekUp are being really supportive. I wish I'd found that list 3 years ago.

Labels: , ,

posted by GiacomoL @ 12:12 PM   0 comments links to this post