Editorial: The No-SDK Cheat

When Steve Jobs mentioned a few weeks ago that there will be “some sort of app development” for the iPhone, everyone assumed he meant widgets. Widgets are less powerful than native applications, and depending on the underlying OS hooks offered, they can be even less powerful than J2ME apps. But when Jobs came out today to outright sell us Web 2.0 and said that “no SDK required”, I felt cheated.Everyone who understands a bit of web development, should already heard of Ajax. The name is simply a marketing name for what used to be called “dynamic javascript” back in the day, for oldies like myself. Originally, it didn’t take off, but Google has change the landscape by offering not only amazing services based on the technology, but also offering development tools to help others doing so. In the simplest term, a Web 2.0 site looks good, usually changes its content dynamically and it has data in its heart with users as a driving force.

The problem is though that there are limits what you can do with Ajax/Web 2.0, and there are even more limits when you try to do that on a 400 Mhz ARM CPU (which is usually less powerful than a 400 Mhz x86 Intel/AMD CPU). For example, you can’t create a VoIP or IM application, and even if you manage to write one, it won’t integrate at all with the rest of the iPhone (e.g. accessing the contacts) because each application runs on its own sandbox. More over, you can’t possibly be expecting something like Google Spreadsheet to run full speed on an ARM CPU with limited RAM. If that wasn’t enough, web applications require you to be connected at all times to the internet. If you don’t have an unlimited plan with Cingular, you are out of luck!

To recap, Ajax web applications running on a sandbox have the following drawbacks:
– No access to operating system features and functions (e.g. impossible to write a CPU meter or a video-IM app)
– No access to the iPhone’s databases (e.g. you can’t access your current contacts for your IM web app)
– JavaScript apps can be very slow.
– You can’t expand the current operating system via drivers or other tweaks (e.g. adding support for A2DP/AVRCP Bluetooth profiles)
– Must be connected at all times to the internet to use an app. If the developers are hungry for ad cash, even a calculator might need internet access before it allows you to use it just so you load a new ad with it!
– Speaking of web ads, expect the Ads 2.0 to go hand in hand with your iPhone’s Web 2.0 apps. Thankfully, so far there is no word about Flash support…
– If currently connected via GPRS, apps with lots of data to transfer will suffer dramatically.
– Lack of mature development tools limit the feature-set and stability of a web app. It might take another 5 years before we see truly mature web 2.0 dev tools in the same way we enjoy today for C/C++.
– To use something like a spreadsheet you might need to obtain login information. This can get out of hand if most of your web apps ask you to create a new account.
– Non-standard UI development. Don’t count on developers to emulate the UI usability of the iPhone. Developers will put their links wherever they want and won’t try to look exactly like an iPhone app. At least with native application development doing so is more difficult and so native apps are looking more uniformed and consistent as they use pre-defined UI ideas (e.g. the menubar, the background color or the ok/cancel buttons). But with web UIs, everything is on the air.
– A well-written web app can also run on mobile Internet Explorer, mobile Opera (not Opera Mini) and Symbian WebKit. This takes points away from the iPhone as it brings nothing of unique value to the product.

Positives:
– No installation required.
– Fewer security headaches.
– Makes Cingular happy.

Given the fact that other smartphone platforms are able to run both Web 2.0 apps, Widgets, J2ME and native apps, this can be a real blow to the iPhone’s future. Maybe Apple forgets that it was PageMaker originally and Photoshop later that immensely helped the Mac? Apple needs to find a way to offer users what they want, even if that might only be available to unlocked iPhone units rather than carrier-dependent ones. Until that day comes, I will continue to deem the iPhone a “high-end feature phone” rather than a true smartphone.

69 Comments

  1. 2007-06-12 1:29 am
  2. 2007-06-12 1:37 am
    • 2007-06-12 6:50 am
  3. 2007-06-12 1:43 am
    • 2007-06-12 10:22 am
      • 2007-06-12 10:24 am
        • 2007-06-12 10:28 am
  4. 2007-06-12 1:46 am
    • 2007-06-12 4:40 am
      • 2007-06-12 6:47 am
        • 2007-06-12 7:17 am
          • 2007-06-12 7:19 am
          • 2007-06-12 8:29 am
          • 2007-06-12 8:54 am
          • 2007-06-12 10:10 am
          • 2007-06-12 9:37 am
          • 2007-06-12 10:27 am
  5. 2007-06-12 1:58 am
  6. 2007-06-12 2:29 am
  7. 2007-06-12 2:36 am
    • 2007-06-12 3:02 am
      • 2007-06-12 3:27 am
        • 2007-06-12 1:59 pm
          • 2007-06-12 6:48 pm
          • 2007-06-13 12:50 am
  8. 2007-06-12 3:04 am
    • 2007-06-12 7:37 am
  9. 2007-06-12 3:41 am
    • 2007-06-12 7:06 am
      • 2007-06-12 7:44 pm
        • 2007-06-13 6:51 am
  10. 2007-06-12 3:56 am
    • 2007-06-12 6:42 am
      • 2007-06-12 7:14 am
      • 2007-06-12 9:55 am
        • 2007-06-12 10:42 am
          • 2007-06-12 11:35 am
          • 2007-06-12 12:26 pm
  11. 2007-06-12 6:46 am
  12. 2007-06-12 11:00 am
    • 2007-06-12 2:15 pm
  13. 2007-06-12 11:31 am
  14. 2007-06-12 11:36 am
    • 2007-06-12 12:30 pm
      • 2007-06-12 12:55 pm
  15. 2007-06-12 12:22 pm
    • 2007-06-12 7:22 pm
  16. 2007-06-12 12:26 pm
    • 2007-06-12 12:29 pm
      • 2007-06-12 1:03 pm
        • 2007-06-12 1:22 pm
          • 2007-06-12 2:38 pm
  17. 2007-06-12 12:55 pm
    • 2007-06-15 4:33 pm
  18. 2007-06-12 12:59 pm
    • 2007-06-12 1:10 pm
  19. 2007-06-12 1:52 pm
  20. 2007-06-12 3:21 pm
  21. 2007-06-12 5:05 pm
  22. 2007-06-12 6:33 pm
  23. 2007-06-12 7:49 pm
    • 2007-06-12 8:52 pm
      • 2007-06-12 10:18 pm
      • 2007-06-13 6:34 pm
  24. 2007-06-12 7:54 pm
    • 2007-06-13 10:39 am
  25. 2007-06-12 7:55 pm
  26. 2007-06-12 7:56 pm
    • 2007-06-13 10:50 am