Português English

Business

Development cycles feature
2010.12.01

Development cycles

just saw the news about the Drupal 7 Release Candidate. I could not be more perplex with the length of its cycle. The code freeze was announced in September 15, 2009, so its more than a year!

I’m perplex mostly because of the nature of this software: an internet application. Because the internet environment changes in an incredible pace, its really counterproductive to stop accepting deep modifications for so long time. NoSQL databases are getting more and more used, JavaScript techniques getting more refined and the whole HTML5/Video is dominating news. Two years to launch a new version is quite a lot.

I have a hunch: Drupal 5 was a true revolution but had a quite short life cycle, coz Drupal 6 was released soon after. I believe several developers got pissed with that as they were forced to make a long conversion process from Drupal 4 to 5 and than from 5 to 6. Drupal 6 took quite some time to actually be used by old sites, because several important modules (Views and CCK mainly) delayed the port to see what direction D7 would take. The result is that Drupal 6 was coined “Drupal Vista: wait for the 7”. This might be forced Drupal core guys to extend the cycle.

The whole problem is now gone since most sites are now ported to D6. But I really believe that was not matter of the short-cycles-that-pressure-developers, but the lack of clear support from project managers. I say that because some even more complex programs are getting big supporters, despite the apparent paradox.

The most enlightening example is Google. Google’s most popular softwares adopted the strategy of the “fast iterations”. The idea is not to aim “quality at all cost” (typical for projects that release when it is ready) but “to fix as soon as possible”. Chrome is 3 years old or so and it is in version 9! The adoption rate is even bigger than Firefox! Android is in version 2.2 already and gaining more and more support of developers. Can you imagine a more complex software with a faster release cycle?

Development cycles content 2111.jpg

Faster cycles have several advantages:

  • Gain easy testers with the early adopters
  • Avoid that small enhancements being postponed for years just because is a “new feature”
  • Avoid the proliferation of hacks-as-plugins that implement the small enhancements I just mentioned
  • Revert wrong decisions often
  • Encourage more people to participate to the core development, since their suggestions might be implemented soon after
  • Avoid analysis-paralysis loop of each change
  • Reduces the possibility of forks (what is the advantage of Pressflow if Drupal 7 was released quite after?)

I think Drupal community still is somewhere between The Cathedral and the Bazaar. They are still in CVS mentality of a centralized control and serialized development of features. We have to make features in parallel, not in series. So no more “feature freeze”, “guys, lets think about the next version… ideas?”. Every time is time to release a new features. It has to create several forks (and not only patches) that will work on each features and, when any of them are ready, commit into mainstream and launch as a new small version, like 7.1, 7.2, 7.3…

One last comment for those that think several people want stability over cutting edge stuff. It’s just to maintain a similar concept used by Ubuntu: time to time a given release will be considered “long term support”. And if Drupal 7.2 is LTS, for example, it could be released several other “features-releases” like 7.3, 7.4 and several “bug-releases” for 7.2, like 7.2.1, 7.2.2, 7.2.3… Fixed time support also gives business and people the right information for a proper planning.

ePAD feature
2010.10.21

ePAD

I just bought a Zenithink ePAD tablet. It’s a generic iPad tablet made in China that runs Android as the OS. Please, consider from now on that it costs less than half of the price of the original.

Epad content 1 1.jpg

I must say that despite the whole “generic” label, its quite a nice piece of machine. It has a 10 inches screen with resistive touch sensor, which is great to navigate through internet and reader ebooks and pdf. The processor and memory don’t rival Apple but i don’t feel it is big lack, except, of course, games.

Epad content 0.jpg

The Android used is the 2.1, which is good one. With Google Market fully enabled, its possible to transform it into a quite comprehensive computer. Zenithink US, the american distributor are releasing often versions of its firmware, so its possible that 2.2 “Froyo"or even 2.3 “Gingerbread”.

Epad content.jpeg

The only two things that I was disappointed (which I should not be because I knew about them before buying) are the short battery life (4 hours if WiFi is off) and the ridiculous short range of its internal WiFi. If the tablet is not less than 2 meters, it simply not work! It’s better to connect the net cable at this distance! There are several minor things here and there, but hey, as I said at the very beginning: it cost me less than half of the iPad price*. I really believe that tablets are going to be the next world desired toy. Apple is in grand advantage, but this time their advantage for being the first in the market is not to last long. Chinese companies are going to flood the market with generic inexpensive hardware until they acquire experience, scale and courage to face these big guys. This is what takes in trying to create simple and copyable products with a premium status. Apple woke the dragon.

The New Business Scenario for Games feature
2010.09.10

The New Business Scenario for Games

There was a time that making and selling games was simple. puf…. old times. The last years opened several options. The amount of variables now can be a bit overwhelming and inevitably will make people get the wrong conclusion. A lot money to be made and to be lost!

Indies

The indie movement is officially in vogue. World of Goo, Limbo, Amnesia, Darwinia… they made, together, quite some revenue and receive amazingly good critics. The small financial risk, the creative independence to explore some bold choices are all elements of its rise.

A important part of the emergent trend of indie games is the access of good middleware. Unreal released the same award winning engine that power AAA games in an indie-kinda-friendly license. UDK, its name, is impressively complete. Torque continue to expand. Unity 3D 3 is better than ever and even big fishes are using it. The cost of AAA tools reduced so much that the “limited only by our imagination” cliché is now more true then ever.

The new business scenario for games content 2113.jpg

Handheld

Recent data indicates that the handheld (game-only devices) market is in decline, mostly because the smartphones are now powerful enough to host not only Tetris and Bejeweled but full featured 3D games. Some games for iPhone and Android are really impressive. And because the distribution costs are really a tiny fraction from a full console distribution (Apple store and Android Market only charge a small percentage), the market is dominated by indie companies, that have a better development cycle ans scale.

The new business scenario for games content 2114.jpg

Browser

Zynga, by generating more revenue with FarmVille than Facebook entirely, proved that casual gaming can be lucrative and be a big-company business. But like the new handheld scenario, it’s flooded by low quality titles made by indies. Zynga also proved that micro-transactions can be considered as a serious option. Several big 3D engine suppliers are creating browser plugins so more high quality games can be placed in an internet only environment.

Consoles

With the new motion controllers and online strategies, consoles are living a new good era. The prices are going down and they are getting even more popular on south american, asian and eastern european countries. The problem in this segment is the high competition in the AAA tier. The production cost is so high that is getting more and more common to read about studios being closed or rearranged after one single bad-selling project.

Cloud

The most surprising things on gaming, almost unbelievable, is the use of external computing for gaming. OnLive (defunct) is already live and sells games as service: they run the game in their computers and you only need a monitor and joystick/keyboard. No need for a top-notch computer or console. The games could be even played, at full power, in a tablet or old computer.

The amount of computing power needed is enormous. And I mean it: I cannot think that they invested less than billions of dollars in several data centers. The paradox is the servers are all in US, the very market that games prices are lowest and piracy is not a major issue. Brazil, Russia and Europe would be much more receptive to this model, but I don’t think the cost would ever pay off…

The bottom line is: for major companies, the “several studios working on a single franchise ratter than several franchises being developed by a single studio” mantra will still apply. Call of Duty and GTA will continue to generate millions. But I foresee the rise of several small and mid-sized companies that will focus on niches pointed above. Zynga is one of them. I believe that there will be a quite a number that will make the break even point and grow simply because the market size expanded and entry barriers lowered.

Good luck.

The new business scenario for games content 2115.jpg

Edited 2022-07-13: Torque

Unity 3D feature
2010.05.20

Unity 3D

Started recently to play with Unity 3D, an IDE/Platform to develop games. I’ve heard about it because they recently decided that the indie version to be free. And because this version is quite similar to the Pro version and the Pro version is affordable, I decided to give it a try.

I am really impressed with the package. It is solid in features but what impressed me most is the easy user interface. Generally, programs that strive to be easy to use also make things too restrictive. Unity 3D is not one of them. It is a super intuitive IDE but also can be changed through code.

As I discussed before, the competition of engines should be irrelevant to game makers because we have a lot of data demonstrating that while the technology might help, the actual implementation is what matters. Good games with old/bad engines and Bad games with state-of-the-art engines are quite common.

The main reason to choose one is… current knowledge. Learning things all over again is costly, and Unity address this by adopting several standard technologies. For scripting, you can use C# (very close to Java and C++), JavaScript or Boo. For 3D models, it imports the most used formats (3DS, Max, Ma, Blender…). The same goes for 2D (which also includes importing Photoshop native files), sound and music. All that means that your workflow and suite of programs will remain basically the same.

With the indie version being free, a huge increase of documentation and community support is expected. The same for professional assistance. I’m happy to move from Torque (which uses several conceptual dogmas that I’ve never liked) to Unity.

PS: with the web player, its possible to create games for web pages just like Flash… take a look in the demos.

Unity 3d 3 content 2128.jpg
Unity 3d 3 content 2127.jpg
Unity 3d 3 content 2126.jpg
Unity 3d 3 content 2125.jpg

2010.03.23

Alone or Around Others?

The idea of working all alone seems pretty tempting: nothing to distract your thinking process, no stress from the jerk on the cell phone. Just quiet.

Too quiet.

Sometimes my mind gets distracted by the silence – I find myself wondering where everyone is. So, like some other people who work from home I put on the television. Sometimes that does the trick, but at other times I just really wish there were some people around. Not co-workers, not people I know, but just (quiet) people as background noise. I worked from a café the other day and I got so many things done, so many ideas just popped up in my mind. The ambient noise was a catalyst of sorts.

What about you? Are you more productive at home, working alone, or when you’re around others?

Bruno MASSA