Tag Archives: iPhone

Why the iPad will kill the netbook

Apple has just fired a death shot at the netbook. The new iPad could easily displace the netbook category, and I believe it will. Cheap laptops are at risk of extinction as well.

Why the iPad is a threat to netbooks

But Apple has also made iPad versions of its iWork suite for word processing, spreadsheet editing, and presentation creation — for just $10 each, and they work with the Mac OS X versions, which can read and write Microsoft Office formats. The iPad versions also can read the Microsoft Office formats, but in a bone-headed move cannot save to them. How much do you want to bet that Apple will change that stupidity soon?

Plus, there’s a paint tool for graphics creation and a photo galley app that lets you display a set of photos as a slideshow.

The 9.7-inch screen and support for desktop-style UI elements such as panels and menus mean developers can create desktop-like apps for specific business needs, including sales management and order-taking. And they will.

Then there’s the pricing: $499 for a 16GB model without 3G connectivity and $629 for one with. There are also 32GB and 64GB models, with the 3G 64GB model priced at $829. That’s not much costlier than a netebook, and it does a helluva lot more, and it weighs considerably lot less (1.5 pounds). There’s a keyboard dock option for serious typing and data synchronization locally through iTunes and no doubt through the cloud.

And wireless connectivity — the iPad will use the much-hated AT&T 3G network, but at very tempting prices: $15 per month for 250MB of usage and $30 per month for unlimited usage, as well as the ability to use AT&T’s Wi-Fi hotspots. Compared to the $60-per-month plans for typical netbook and laptop 3G data access, the $100 to $200 savings of a netbook suddenly makes no sense — you recoup that cost in the 3G savings in three to six months.

Why netbooks can’t win

So why do you need a netbook? You get all the media goodness of an iPhone with the tools you need to do your day-to-day work in a box. Now it makes terrific sense why Apple has avoided netbooks and cheap laptops — not only do they earn little money for manufacturers, Apple was already planning to render them obsolete.

Some people will argue that, as a stripped-down computer that runs standard Windows apps and has a hard disk, the iPad can’t touch a netbook. Of course it can. Sure, an iPad assumes you have a “real” computer to store your main data — but the netbook is also predicated on the assumption that it’s your “on the go” device. The iPad is personally compelling, but a netbook is not. Plus, you can easily get around the small storage of the iPad by using an Internet-accessible hard drive with a device such as the Pogoplug.

And some will argue that the fact that the iPhone OS is not a multitasking OS means the iPad can’t do anything serious. Well, I do wish my iPod Touch allowed multitasking so I could run multiple apps at once, though I have to admit my netbook’s support for multitasking doesn’t change the fact it can barely run just one app at a time. But I think this issue will be moot soon. The iPhone OS for the iPad is version 3.2 will bring multitasking to the iPad. After all, Apple bought PA Semiconductor, which uses the ARM chip design, two years ago so it could get a low-power, high-performance chip for its mobile efforts.

By the way, I fully expect that IT will hate the iPad because it will mean pressure for allowing in a non-PC platform. After all, most IT shops have resisted the Mac for decades and the iPhone for several years, so I expect iPad resistance to be their initial response as well. But individuals and small business won’t have IT groups with that power of denial, and I fully expect them to jump on the iPad. Maybe IT should try that approach for a change. IT might give netbooks a temporary safe haven, but that haven will be a ghetto that users will struggle to escape.

Google’s Chrome OS now looks sad

And I believe the iPad means Google’s planned Internet appliance based on the Chrome OS is already irrelevant. The Chrome OS vision is that you need a disk-less netbook to run apps via a browser in the cloud. The iPad vision is that you run apps locally and in the cloud; in addition, you can do all sorts of other cool things.

Google has shown little understanding of human needs outside of search algorithms, as its Nexus One debacle exemplifies. A stripped-down, Internet-required netebook is Google’s vision — that’s taking “boring” and “compromised” to another level. The first indications of the iPad point to a device that’s anything but boring, and the compromises it no doubt has made will not be top of mind.

The iPad doesn’t feel like a stripped-down netbook, which in turn feels like a stripped-down computer. Instead, the iPad comes across as exciting and useful, and the price is right. Bye-bye netbooks!

Advertisements

Developing for the iPhone – what you need to know

Many IT companies say the future is mobile. This is not going to be true till the data rates become affordable, but perhaps the large touch screen of the iPhone is a taste of things to come.

Its quite excited to learn about developing for this new platform and see what we can create. Will we be able to use my existing web development and programming skills, or will we need to learn a new set of skills. This is what we’ve learnt so far about what we’ll need to know.

There are two options when developing for the iPhone (or iPod touch): Develop a web application or develop a native iPhone application. There are pros and cons for both, and both require a completely different set of skills. Until recently you could only develop web applications, but Apple has recently released a beta of the iPhone SDK building up towards the planned opening of the iPhone App Store.

Developing a web based iPhone application

If you’re a web developer, then this is going to be the easiest and possibly best option. You can use your existing web development skills and you can host your application on your current server.

Using an iPod touch we can test websites on the iPhone. They’re the same except the iPod touch doesn’t have all the applications the iPhone does (most notably, and understandably the phone application). However, we’ve discovered that we don’t even need an iPod touch. The iPhone Software Development Kit (SDK) includes an iPhone simulator. You will need a Mac though to run the SDK.

If you have an existing web application, it will probably already work on the iPhone, unless it uses Flash or a few other non-supported technologies. There are several things you could do to make it work better on an iPhone, some of these things will be helpful for other mobile devices.

You can add an iPhone, or small screen specific style sheet. This will allow you to lay things out better for the available screen size. You may also wish to take advantage of some Safari and iPhone specific CSS. For example there’s CSS support for simple animation and transitions.

You may wish to detect that the browser is on an iPhone and serve them a specialised version. Facebook is an excellent example of this and creates an experience that is very similar to using a native iPhone application.

You can make use of iPhone JavaScript handlers that respond to touch gestures. The touch interface is one of the things that makes the iPhone shine, so it’d be great to take advantage of this in your web apps.

There are also some custom meta tags which allow you to control the screen area and whether the user can zoom. You can also add custom links that will launch other iPhone applications. You can even store data in a client side SQLite database, which is apparently part of the HTML 5 spec.

There’s a lot you can do and that just scratches the surface. Using and building upon you existing HTML, CSS and JavaScript knowledge you could make something very exciting.

Now that all sounds great, but there are limitations with an iPhone web app. Firstly it’s not going to work when the user is offline, and it’s going to be slow when their connection is slow. You’re also not going to be able to access all of the features of the device such as its location awareness, orientation awareness or be able to access things like the address book. If you want to make use of all the power and all the features then you’re going to have to make a fully native iPhone application.

Developing a native iPhone application

If you’ve previously developed software for Apple Macs then you’re probably going to find you can quite easily turn those skills to iPhone development. If you haven’t then there’s a lot your going to need to learn. It’s aimed at software developers, rather than web developers and the skills needed are very different.

Before you begin there are a few things you will need. You’ll need a Mac, you’ll need to download the iPhone Software Development Kit (SDK) and it’d help for testing if you had a iPhone or an iPod touch (this last bit isn’t essential as there is a simulator).

The SDK includes all the tools you’ll need to develop iPhone applications. These tools include an interface designer, a code editor, profiling tools and an iPhone simulator. They’re completely free, but there is an option to join the iPhone Developer Program. This costs $99. As far as we can tell, you need to join this if you wish to share your applications with anyone. Otherwise you can only install your programs on one designated test iPhone. We’ve also read in forums that the Developer Program is so popular that Apple are putting everyone on a waiting list. We thought we’d wait till we created a program worth sharing before I joined the program. There’s a lot to learn before we can even think about doing this.

If you’ve not done Mac development before, the first you’ll need to learn is the programming language Objective C. Knowing PHP and JavaScript, probably isn’t going to help you that much, although it’d be a start. It’s most similar to C and C++, although knowing something like Java, Ruby on Rails, or ASP.NET would also be helpful. Although I’ve used C++ in the past and currently use ASP.NET, I’ve found Objective C too different to be able to pick up from code samples. I’m currently reading Apple’s reference guide to it and I’ve been reccommended the book Programming in Objective C.

You’ll also need a good understanding of object orientated programming. If you’ve used Ruby on Rails, you’ll be pleased to know that they seem to make heavy use of the Model View Controller architecture that Rails is built on.

All the actual fun stuff seems to be contained in the various frameworks that provide the iPhone functions and features that your application can use. I’ve not had time to explore this fully as learning Objective C has slowed me down a bit. These frameworks seem to be the Foundation Framework, UIKit and the Cocoa Touch Framework. You’ll need to understand the basics of these frameworks so you can start making use of the functions they provide.

Once you’ve got your head round Objective C you can start looking through all the code examples they’ve got. It’s probably a good way to start understanding how all the framework features work.

The Sad Decline of Windows Mobile

Microsoft has been plugging away at the mobile computing market for almost as long as Windows has been around. Thinking of products like Windows for Pen Computing, or the original Windows CE for handheld devices. At best, the consumers were willing but the platforms were weak.

In Microsoft’s case, the problem with those early devices was a stubborn devotion to the look and feel of desktop Windows. Their vision seemed to be that the Windows GUI deserved to be moved to every device, because users understood how it worked. But of course, a desktop interface isn’t optimal for a mobile device with a tiny screen and lilliputian keyboard (if any). Tiny hardware platforms deserve software that’s optimally designed to work with them.

Pioneering mobile devices like the original PalmPilot and the BlackBerry weren’t shackled to a notion of a handheld interface that looked like a desktop, and they did very well. Then came the iPhone, a product from another maker of desktop operating systems. Apple didn’t feel obligated to mimic its desktop software design on the iPhone the way Microsoft did, and users seemed to like the result.

Now, Microsoft’s share of the mobile computing market is slipping away. Windows Mobile 6 looks pretty feeble next to the iPhone, which is why Windows Mobile 7 has been so greatly anticipated by Microsoft’s hardware partners. News is that there has been another delay in Windows Mobile 7, and we’re not likely to see it ship until late 2010.

The mobile market isn’t going to wait for Microsoft in 2010; far from it. Google’s Android platform is starting to make serious inroads into the market with hardware like the Motorola Droid; if the Google Phone rumors are to be believed there may be some big news in early 2010. And who knows what Apple has in store for the iPhone in 2010. In the meantime, the mobile device makers who’ve stuck with Microsoft and Windows Mobile are going to be tempted to jump ship, rather than wait a year or longer.

Adobe Flash CS5 Makes Native iPhone Apps

At its annual developer conference in Los Angeles on Monday, Adobe secured Flash’s future, at least for the near term.

Adobe said that its forthcoming Flash Professional CS5 will allow to developers “to create rich, interactive applications for the iPhone and iPod Touch.”

But just because those applications were created as Flash applications does not mean they will be allowed to run as Flash applications.

Flash Professional CS5, to be released as a public beta later this year, will allow developers to create Flash applications using the Flash development platform and then export those Flash apps as native iPhone applications.

“We created a new compiler front end that allowed LLVM [Low Level Virtual Machine] to understand ActionScript 3 and used its existing ARM back end to output native ARM assembly code,” explains Adobe senior product manager Aditya Bansod in a blog post. “…When you build your application for the iPhone, there is no interpreted code and no runtime in your final binary. Your application is truly a native iPhone app.”

That means certain Flash capabilities, such as being able to load another another Flash (.SWF) file or to browse Web content from within exported Flash apps, will not be available. Developers using Apple’s tools, however, can browse Web content from within their own apps via the SDK’s UIWebKit component.

Adobe’s announcement does not change the fact that Flash content on the Web is inaccessible through the iPhone’s Safari browser. Flash content on the Web requires Adobe’s Flash Player browser plug-in, which relies on a just-in-time compiler and virtual machine to render Flash content. Apple does not allow interpreted code on the iPhone.

James Anthony, co-founder of iPhone game maker Inedible Software, said in an e-mail that since his company has been developing native iPhone applications, its development process won’t change at all.

“What does make a huge difference is the flood of Flash developers that can now easily port their existing properties to the iPhone, as well as rapidly create new ones,” he said. “Apple made it pretty easy to get up to speed on the SDK, but this makes iPhone programming trivial for the tons of Flash programmers already out there. It’s definitely most well-suited to games, which aren’t expected to use the built-in user interface elements. There have already been lots of successful games that were clones or ports of existing Flash properties, and now the originals can make the leap painlessly.”

A sudden influx of Flash app conversions may not be entirely welcome, however. iPhone developers have been complaining about how difficult it has become to be noticed among the exploding inventory of Apple’s iTunes App Store and more games means more competition.

Apple recently announced that over 85,000 applications are available for the iPhone and that number is likely to pass 100,000 before the end of the year.

Adobe also announced that Google and RIM have joined its Open Screen Project, an initiative make Flash and Adobe AIR available as a consistent runtime environment across a wide variety of devices and platforms. The company said that Flash 10.1 would be available on Google Android, Blackberry, Symbian, Palm webOS and Windows Mobile devices toward the end of the year.

Google’s decision to support Flash may seem to be out of character. Google executives have been proclaiming loudly that the Web is the platform of the future and have been promoting open Web technologies like HTML 5, which duplicate some Flash functionality. The company’s willingness to look beyond Flash is even more explicit in a recent patent application that describes the company’s ambition to create sophisticated 3D maps “without needing special software such as a Flash plug-in or the like.”

However, company insiders are now striking a more conciliatory tone and acknowledging that Flash may be a better tool for certain jobs than Web technologies and that a lot of developers want to use Flash.

In a blog post, Google SVP of engineering Bill Coughran explains, “We’ve always believed that open platforms lead to greater innovation on the Web and we see participating in the Open Screen Project as another step in that direction.”

Although Adobe appears to have dispelled many doubts about Flash’s future at a time when so many are moving toward open Web technologies, the continued absence of the Flash player on the iPhone will become all the more glaring if Apple, as expected, releases an iTunes-dependent tablet device next year. An Apple tablet could be a showcase device for rich media content, and Adobe will want to make certain that its Flash technology plays a staring role.