Engadget for the iPhone: download the app now
AOL Tech

Fabio

Member since: Oct 17th, 2006

Fabio's Latest Comments

Blog Activity
Blog# of Comments
TUAW.com5 Comments
Engadget1 Comment
Download Squad2 Comments

Recent Comments:

Dev Chair : iPhone SDK experience (Download Squad)

Mar 29th 2008 12:45PM Ok, I knew the 'overhead' stuff would be caught off first. Once the app is loaded and JIT'ted then it runs as fast as any native app, I know that as I am myself a Java and C# programmer. A Java or C# app can run as faster - and sometimes slightly faster - then a C coded app 'once the VM had the chance to optimize it'.

There are 2 problems on something like the JVM: start time is still an issue and memory consumption is another. Even if the iPhone has a total of 8 or 16gb of 'storage', it only has 116Mb of 'RAM' for concurrent apps to run.

If you could maintain the apps opened in memory once they were launched, then start time could be negligible in a phone that should never restart. But that is a poor design decision - Windows Mobile has this problem for years and that's why we have several 3rd party apps to just kill the damn apps, because memory is scarce and the device starts to feel sluggish over time. Eventually everybody restarts the damn WM devices. The iPhone, on the other hand, can go on virtually without any need to worry about memory consumption or restarting the device, which is one reason people like it: because it well behaves and don't expect any kind of software maintenance, like closing apps.

So both start time and memory consumption are big issues. That's why Google's Android doesn't use the full JVM as well, they had to develop their own custom made VM with all these constraints in mind.

I can understand completely why the iPhone has to be like that: the reinforced way being apps that close before the next is opened. Then, apps has to be snappy from the get go. If they feel 'sluggish' to start, the iPhone would never be a success. Having a micro-edition or compact-edition or whatever, as a jury rigged way of decreasing footprint, is not good as well as iPhone's app are good precisely because they have a comprehensive framework and library set at their disposal.

I expect something like Java to be very very sluggish on the iPhone. Let's be reasonable: it is a 400Mhz CPU - running in batery optimized mode - with 116Mb of RAM. Very very small footprint is a desirable thing without sacrificing features. With these constraints, it can only be done in a lower-level platform like C/C++ or slightly less low level as Obj-C. There is a reason no game console on the market builds games in Java, C# or equivalent: they want all the juice the machine can provide. This is true to smartphones. This ain't no Dual Core 2 Duo 3Ghz with 2Gb of RAM available to spare.

And sure, there are dozens of C# apps written for both Windows and Linux. Reminds me of the newer SQL Server tools: damn I miss those of SQL Server 2000 which were so much more snappy and responsive. There is a reason why something as iWork can be written and extended in Obj-C and Office's core has to be written in C++. Once I see a full fledged Office-like suite completely written in C# behaving as fast and responsive as the C++ version, then I will be convinced.

In the default Vista installation I can't remember of any relevant app written in C#, whereas in Mac OS X, from the get go you have most of the apps there written in Obj-C. This is what I call 'turtles all the way'.

Dev Chair : iPhone SDK experience (Download Squad)

Mar 28th 2008 6:13PM You are misunderstanding somethings. First of all Objective C is not in the same league as C# or Java.

Almost everything on top of the Darwin low-level OS layer is written in Obj-C. This includes all the apps in iWork, iLife everything single thing you use in your routine is written in Obj-C on the Mac.

On Windows the equivalent is C++ with MFC. Office is written in C++ and so on. If everything in Windows was written in C# it would be simply unbearable to use. That's not an issue with Obj-C.

Obj-C doesn't run in managed-mode as C# or Java sandboxed Virtual Machines. This is one overhead that we don't need in desktop-class apps. In a Phone it's even more important to not have unnecessary overhead.

So, you don't have a proper garbage collector to rely on. Even the GC in Obj-C 2 is more like auto-pointers in C++, and still far away from a full fledged Generational Garbage Collector that a JVM has.

This is not a bad thing as in a desktop-class app and a iPhone app you do want to be near to the metal.

Method calls in C# is not the same thing as Message Dispatching in Obj-C. Those are 2 different beasts. Obj-C 'method calling' actually resembles Ruby and other dynamic languages more than C#, Java or C++ static vtables. An Obj-C object is much more dynamic than initially meets the eye. You even have equivalent to a method_missing in Ruby.

So Obj-C is a very nice balance between raw performance and dynamic feature that modern dynamic languages have.

dsh: dancer's shell gives you power over multiple Macs (TUAW.com)

Jan 11th 2008 3:55PM Well, cool idea. "But" we've been doing that already for some time thanks to the Ruby on Rails deployment tool "Capistrano". One of its feature is exactly a command line "cap shell" that allows us to run shell commands in multiple machines (and check its output). It also uses ssh, by the way.

iPhone SIM Free announces 1.1.1 SIM Unlock, iPhone Unbricking (TUAW.com)

Oct 11th 2007 1:53PM Here's my dilemma. I have a 1.0.2 iPhone (with 03.14.08_G, the 1.0.2 baseband) unlocked with the previous iUnlock method (manually doing bbupdater, minicom, etc).

Can I simply run the new SIMFree here and then use the iPhone Dev Team to update to a jailbroken 1.1.1? Or I risk having a bricked phone?

Liveblogging the big iPhone 1.1.1 hack (TUAW.com)

Oct 5th 2007 11:25AM Does it help with the current baseband secpack pursuing or not? The real deal would be if this actually helped getting the secpack so we can downgrade the baseband for anySIM or SimFree to work.

iPhone SIM unlock giveaway: round 1 (Engadget)

Sep 11th 2007 1:27AM Why not? I am from Brazil and here the only way for me to use my iPhone is by unlocking it! Murphy can work the other way around sometimes, doesn't he?

Engadget-guys, love your work! Keep going with the good stuff!

iPhone unlocks go on sale... and why don't we care? (TUAW.com)

Sep 10th 2007 8:06PM You are too narrow minded. There are millions of cellphone users in South America alone and there's no plan to bring an official iPhone here. So our only option is importing. And then we can't use them because of the carrier lock. USD 100 is reasonable enough, specially now that Apple drop the iPhone prices, so they are within reach. I thank a lot to the guys that stood up to the challenge and I pity those that can't see ahead of their own noses.

New MacBook heatsinks exposed (TUAW.com)

Oct 17th 2006 6:00PM I have a not-so-random shutdown condition with my macbook. Instead of randomly shutting down, my macbook ALWAYS shuts down when first turned on. I mean, early in the morning I turn on my macbook. After a few minutes (or just thereafter) it completely shuts down. Then, if I reset the PMU and PRAM it boots normally and stays stable the whole day, until I manually shut it down latter in the day. It is always the turning on after a complete shutdown that gets it down. Is this the same problem as those reported about the heatsink?