Saturday, December 19, 2009

DIV versus TABLE

As I was working through Chibi Heroes, one of the testers ask me a question "why did you use tables? That is so dot-com, man. You should use divs. You need to keep up with the semantics web, you know?"

I was taken aback. I smack my forehead yelling "argh! Why didn't I see that coming!"

What am I missing, you ask? Dot-com? Web 2.0? passé a few years back. Now it is semantics web. The new in thing. CSS, semantic web, SEO, accessibility, etc. I'm missing out on the bandwagon again! I am missing out on all the glorious layout CSS can provide me, the way that dot-com companies are missing out on all the pinball machines and free flow soda and pizza lunches. I should go all out on the beautiful semantic accessibility tags (I don't know wtf this means but it sure is important to semantics extremist!) the way that dot-com companies go all out in spending for a penthouse office, golden topped table, and couches that cost $40,000.

Imagine you come up with a website that serves millions of people by using TABLE. Now compare that to a website that semantics extremist created which serves the population of Antartica (130 people hah!), even though it is using the latest SEO techniques, DIVs, blah blah blah.

Dude, wake up. It's not about you, it's the customer, stupid. It's about KISS : Keep It Simple Stupid. Stop, take a breath, and think about it. You are putting up a web page to make money to pay yourself and your workers. You customers don't care if your page is rendered in div or table! All they care is the end result. A web page that display data, images, and buttons to click. Trying to say otherwise is tantamount to idiocracy. :)

You, my TABLE friend, is a winner. You keep doing whatever works for your millions of customer rather than what an ivory tower guy with 130 customer tells you to do, my friend.

Monday, November 30, 2009

Chibi Heroes Part 2

2 Months working on Chibi Heroes, a facebook game, and I am 8 bugs away from Open Beta! So how long is that anyway? Hmm, about a week or so. That means that on the 5th of December Chibi Heroes is open for everyone to beta test it.

Those pesky bugs can be fixed well enough; the main problem that I will face after this is getting people to play it.. as well as pay for it. Well, mainly getting enough people to know and play it. The first part of this problem is marketing.

Next up is monetization. Setting up a paypal business account as well as google adsense to make money seems like a no brainer. I'll be looking into other ways of monetization as soon as I reach this stage.

For now though, on with fixing the bugs! 8 of them no less gah...

*Chibi Heroes is a Facebook game built using ASP.NET. Check it out on Facebook on 5th of December 2009!

3 New Facebook Projects

I started 3 new projects! One is a medieval town building game, another is dark fantasy mythical game, and the last one is a story building game.

The first one is kinda inspired by simcity. Imagine playing simcity on Facebook! Imagine trading goods and services between you and your friends! The more friends you have the more prosperous you become due to increase trade. All this leads to an increase in city size. But wait! What is that in the distance... a tornado is coming this way?! The power plant is overused and the possibility of a meltdown is imminent? Ai Carumba!

Ever read Ravenloft? Imagine choosing an anti-hero from horror movies! Vampires, Werewolves, and Mummies are passé. Now it's all about Flesh Golem, Lich, and Death Knights from beyond! The stronger the dark lord, the bigger the army of darkness, the more mayhem they will inflict on the world!

Have you and you friends ever made up a never-ending story that each keep adding to over a campfire? Now you can play this game online!

Tuesday, November 10, 2009

MySQL limitation...

Well I have been working on ChibiHeroes for a while and the database I'm using is MySQL. I've been abusing the poor little sucker is more likely hah hah hah. I've been doing stuff with it that people will shake their heads and cry if they knew about it.

One of the things that I found out was you cannot set the current date/time aka NOW() as a default for a datetime field! What the heck? Oracle can do it. I have been doing it in PostGres SQL Database for quite a while now. So why can't MySQL do it?

What kind of a limitation is that? So I went back to check their forums/listing/documentations and guess what they recommend. They advise their users to use the timestamp. Huh? What the hell? It is like telling a user to stop driving a Ferrari because the clutch is broken and start driving the Ford Ranger. Gimme a break man! Fix the damn clutch.. err I mean limitation now!

Come on you guys, stop being lazy! This ability has already been used in Oracle and PostGres way back during MySQL 3.51. Numerous updates and improvements later we're still stuck with this limitation?

Friday, November 6, 2009

High Road or Go for Broke?

A week ago I came across this article in TechCrunch :
http://www.techcrunch.com/2009/10/31/scamville-the-social-gaming-ecosystem-of-hell/

What happens is that one of the big three of Facebook Game developers are using offers that borders on scam. You know, the hidden download toolbar from internet and automatic signup on premium sms texting services.

I never knew a part of the 200 mil revenue per year that Zynga has comes from scam offers!

Indeed, this has got me thinking on they way to monetize from ChibiHeroes. Taking offers out of the picture, I guess I would have to make do with paypal and credit card payments only so that my players don't get scammed.

How much will this decision affect my profitability? Probably a lot. But then I guess I can sleep much better since my players don't feel cheated and will buy more directly as an added incentive.

Saturday, October 31, 2009

Chibi Heroes Part 1

A Month working on Chibi Heroes I realized a few of the statistics that programmers throws out from time to time are true!

Here's what I say:

Cause
The game consist of 10% design codes and 90% engine codes.
99.99% of the user will be entertained by the design codes.
0.1% of the user actually knows what is going under the hood.
90% of the development time is spent on developing the engine.
10% of the development time is spent on developing the design.
99.99% of the user thinks the design codes IS the game.

Effect
The users see the 10% of the work that goes into the game and thinks that is all there is to it. They think the game is easy to develop, and should've been developed much faster than the time it took. They either do not know or do not care about the 90% engine that is running under the hood. Believe me, if it took a month to design a car, it took a year to design the engine that runs that car.

Monday, October 5, 2009

Facebook Apps

I have been working on a Google Android application for a while and has programmer block so I decided that I needed a break. So I began working on a Facebook Application during that break. Some break huh?

I've been working on this Facebook game called Chibi Heroes for a week or so. You can find it on http://apps.facebook.com/chibiheroes/

Yes, it is written using asp.net. Thanks to Kayson Wong for the excellent tutorial that he completed on 26 September 2009 (a week ago ha ha ha). It took me that long because I have no prior experience whatsoever in programming ASP.NET, although I have been using C# for the past 3 years commercially. The tutorial was so easy to understand I bet that anyone experience with ASP.NET programming can pick it up and hammer out a Facebook Apps in a few days.

This game Chibi Heroes will mark a turning point for me. This is the first program that I'm developing not as a consultant but as a SaaS (Software as a Service) provider. What do I provide? Entertainment. Hopefully.

Stay tuned as I go into details of the inner workings of Chibi Heroes in the next few weeks.

PS: I will be working on the Android apps as soon as I finished beta.

Thursday, September 17, 2009

Control Technology, Not Let It Control You

If you have a pointy-haired boss dictating the direction of technology the company is going to take, run away fast.

Two and a half years ago, I was still working at a big company, when this actually happened. What did I do? I ran.

Don't get me wrong, I mean the company was very good and the bosses are nice and caring. Heck one time I was so sick, the boss was nice enough to offer to pay for a full medical check up. I didn't take him up on his offer though because I hate to feel indebted to anybody. But just because you read about it in "tech du jour" magazine does not mean you have to change your whole software department to use it. It is as silly as proclaiming you are a neurosurgeon after reading "Brain Surgery for Dummies". By the way, I did eventually went for a medical check up, and found out I had hypertension aka high blood pressure. So now I have to take some medicine every day until the day I die to prevent my heart from exploding or something. Just like that Ironman guy with that thingamajig that prevents his heart from melting.

The thing is, if you are running a technology integration firm you need to know that you need to use the right tool for the right job. You don't use a hammer to chop down a tree. You don't use a saw to hammer in nails. And you most definitely don't use a screwdriver to saw a piece of wood in half.

How bad could the situation be when technology that you boss chose just because it is over-hype as "poised to take over the world by storm" or "with this technology you will never have to code again"?

Imagine this scenario. You pointy-haired boss came upon a Predator wrist equipment. Now this equipment can cloak your boss, display real-time 3d mapping images, or cause a nuclear explosion. Now imagine your boss randomly pressing some buttons. What are the chances of him pressing the button that activates nuclear explosion?

Wednesday, September 16, 2009

From IT Consulting to SaaS MicroISV

Don't let the jargon filled title intimidate you. This is not a blog about "paradigm shift" and "value added" "synergy" with all those bombastic buzzword. Nah, this is a blog where I explain and do things, the "kampung" (village, rural, simple) way.

What is IT consulting? Well, you use IT to first trick your customer by gaining their 'con'fidence before in'sult'ing them and run away with their money. HA HA HA

SaaS = Software as a Service. Basically you build a software (usually a website) that offers some sort of service (usually porn or gambling) that charge base on subscription.

MicroISV = Independent Sofware Vendor run by a single person. This person is usually the software developer, manager, accountant, sales, marketing, best friend, father/mother, stressed out person with numerous mortgages and a broken down car.

Ok, with that out of the way, I will proceed with a few reasons why I am moving from IT Consulting (HA HA) to SaaS MicroISV.

1) Growth.
The natural progression for an IT Consulting business goes something like this:
Stage 1 - Make static websites for friends and families for $300.
Stage 2 - Build small accounting and inventory programs for business for $3,000.
Stage 3 - Build large enterprise level suites of software that sells for $10,000.
Stage 4 - Finally, pick up government or industrial contracts that go for $1,000,000 (1 million).
Usually you the founder have already died from old age by the time your business reaches stage 3. Check out HP, Xerox, and IBM. Especially IBM; to have someone like Thomas J. Watson come along and steal the business that you have laboriously sweated blood to expand is just so WTF.

Now compare it with a SaaS business:
Stage 1 - Make website that charges for downloads of music, anime, and anime's music.
Stage 2 - Do periodical marketing and updating of the content.
Stage 3 - Profit!
All this happen within your lifetime! Thank you Southpark underwear collecting Gnomes! You guys are "genius"!

2) Exposure.
IT Consulting is a 1 to 1 business. You (1) <---- Project -----> Customer (1). It will take you forever to get a good customer base to enable you to have repeat business. Remember, the more customer you have, the more source of revenue you have. Now compare this to SaaS. Now its a 1 to Many business; You (1) <---- Project -----> World (M). Imagine building a software in 6 months time and releasing it to a worldwide internet audience of 6,767,805,208 users. Now imagine if 0.1% of those users are your customer. Wow.

3) Maintenance.
Remember IT Consulting business stage 3 from Growth? Well around this time you will have a bunch of software lying around written by your team that uses different technology. Please don't start with the RoR can do everything evangelism. I have yet to see RoR being used to in production for industrial level PLC programming. And please don't say I can write RoR code that can be compiled into the C or Basic logic code which can later be compiled into machine code. Yes, you can also use a jackhammer to hit a hammer to hit a nail into the wall too! Now is that a smart thing to do? What do you think genius? Ok, so you have some software written in C, Basic, and Assembly for PLC projects. You have some Internet banking application written using J2EE. You have some CRM software written using RoR. Now imagine this, all your customer are calling at the same time to fix a bug and have given you a very tight deadline. Are we having fun yet?
Now lets try SaaS. All 6 million of your users complain that the link to a restricted area of your site is not working. No problem, find the link creation code, modify and test it, and publish. All it took was 10 minutes to make 6 million users happy because they can start downloading Hentai again. 10 minutes. Wow.

So now I'm in SaaS. Except that I lack the brainpower to come up with a software. I envy those smart guys who came up with ravejoint. Why can't I think out of the box and come up with stuff like that?! Ooops sorry, thinkingout of box; bad, jargon bad!

PS: Pssst, if you have a good SaaS idea and would like to collaborate gimme a tell!

Tuesday, September 15, 2009

One Language to Rule Them All

Every other year, some new technology will be heralded as the best thing since slice bread.

In the beginning, you have C and its object oriented derivative, C++.

Second, an event driven programming model called Visual Basic was made known to the world; along with it came the Visual suit for J++, Foxpro, and all that Visual stuff.

Next comes Java and its siblings, J2ME and J2EE. Birth of the MVC concept. You know, model, view, controller.

A little later C# and its parent .NET came out for basically everything Windows and web related. It also has all that Visual stuff. Again.

Soon after along rolls Ruby on Rails, which made web development fast and easy.

Now we have Silverlight 3, whatever the hell that is.

All of this, from Visual Basic down to Silverlight 3, have either been created by using C or its derivative C++. Wow. Of course before C was written in 1972, insane Borgs have been programming our PC using machine language called assembly. MOV AL #61h. MODE 13h. Shudders. I still have nightmares when I was learning to become a Borg for a semester.

Language extremist will say C/C++ is obsolete and useless. Well, you know that Virtual Machine that runs your software? It was written in C/C++. You know that favourite IDE you're using right now? It was written in C/C++. And the OS it's running on? C/C++. Guess what your favourite web browser is written in! And your favourite web application server!

C/C++. The One ring that rules them all. Learn it well.

Programming Google Android

I have been running an IT Consulting business for 2 years. It made good money, but I don't think its a good idea to work this way. At least, not for a startup. After reading SaaS Startups Knobs and Dials And Other Insights, I decided to move in another direction. I decided to write a stock ticker for a mobile phone platform created by Google called Android as a technology prototype. Lo and behold, they are using Java to power it!

Aah, Java. It has been 7 years since I last wrote any commercial software using Java. I wrote J2ME programs that ran on Nokia phones. I wrote a J2SE client and server messaging service using XMPP as its protocol (at the time it was known as Jabber). I wrote a B2B software that is powered by JSP and Servlets served by J2EE Application Server.

With all the experience programming for Android should be easy right? Wrong!

The most I managed after "Hello, World" was... well, thats all I managed. Ok, no problem, it's been 7 years. That's hell of a long time right? All I need to do is spend a week or so going through the SDK, and then I'm good to go. One and a half month later, I'm still stuck at "Hello, World".

So what went wrong? I have no idea. Maybe I got old and the old brain doesn't work as well as when I was younger I guess. Anyways, here are some steps you'll need to follow in order to start programming for Android.

1) Know Java.
2) Install Eclipse for your IDE
3) Install The Android SDK
4) Make sure you installed the ADT Plugin
5) Start programming!

Trust me, this is the best way to go about it. The ADT Plugin lets you edit, build, debug, package it into .apk, and sign your program, all at the push of a button. All you need to do is set it up first, then you're good to go.

Or... you can be a man and go through literally the 9 levels of Dante's hell by using a basic editor like notepad, compile and package the program into .apk file., and use a keytool and jarsigner to digitally sign your program. Oh, and don't forget them command lines! You gotta love command lines to do all this masochistic crap. Oh, the pain!

Sunday, September 13, 2009

Why We Need SSTO Instead of Sending Up More Space Tourist

Lately a lot of people has been going up into space. Rich people. People who has money to burn. Burning money to go into space. Now you ask yourselves, why did I say that?

Well, one of the main reason is we are still using multi stage Expendable Launch Vehicle (ELV) to reach orbit. The basic idea is that as the propellant are used up the container that holds the propellant are jettisoned because they are now considered as dead weight. Doing this allow the vehicle to travel long enough to reach escape velocity and hence into orbit.

Now what is wrong with this picture?

Okay, imagine this. You are driving a race car towards the finish line. 800 meters before the finish line you throw away your hood. 600 meters before the finish line you throw away your front passenger and back seat. 400 meters before the finish line you throw away your doors. 200 meters before the finish line you throw away your car body.

What's left at the finish line is just you, your car chassis along with your car engine.

For the next race you have to totally rebuild the car, all over again. Expensive? You betcha! Not to mention the difficulty and complexity of building a car that can jettison parts while travelling at high speed.

The best solution for this problem? Single Stage To Orbit (SSTO) vehicle.

Sure, they have proposed other solutions like space fountain's launch (Lofstrom) loop or orbital ring. Mother Nature has proposed the bird called Dodo as one possible solution in evolution. These solution will never work due to cost, impracticability, etc. A space vehicle will be as useless as the wingless Dodo when they are stuck on Mars due to the fact that there are no space fountain on that planet. Unless they can MacGyver a launch loop out of Martian rocks and sand, but the chances of that happening is nil.

What criteria do we need to build a SSTO vehicle? First it must not use propellant. The further we need to travel, the more propellant we need to carry, the bigger the container to hold all that propellant. Can you imagine the cost of building a SSTO vehicle the size of Himalaya to travel to the moon? Second, because we don't use propellant, we don't use rocket to provide thrust to push the vehicle forward. This means we need a new method of propulsion that works in the atmosphere, in low orbit, in space, and maybe underwater when we accidentally land in the Pacific during re-entry. Third, this new technology must use energy to power it and since normal propellant is out of the question, we need to use energy that is already available in abundance in space.

So how do we really build a SSTO vehicle? Gimme $10 million dollars; I'll build one for you. Either that or I run away to Bora-Bora with your money.