Mar 8, 2010
  • Ux
  • Tx
  • Sx
, ,

iPhone App Development Without Learning Objective-C

By Pek Pongpaet

Many people are turned off by iPhone app development because they don’t want to learn another platform (Objective-C). In many ways, learning Objective-C is taking a step backwards. Things like memory management and pointers are not something the modern web developer thinks about anymore. Also the idea of having to have different code bases for different mobile environments can be a huge deal breaker for adopting a platform. Nobody wants to create an application and maintain different versions of the app for iPhone, Android and Blackberry. Not only is it a developer’s nightmare, but the costs can be huge. New development frameworks attempt to solve this problem by abstracting the specific phone platform so that the developer can write in one codebase (usually one that is familiar to the web developer) and deploy to multiple platforms. Here are some of those frameworks:

PhoneGap

PhoneGap is an open source development tool for building fast, easy mobile apps with JavaScript. It is free to use and can deploy to iPhone, Android, Palm, Symbian and Blackberry.

Appcelerator Titanium

Appcelerator Titanium is another free and open source development tool. You can build cross-platform apps that deploy to desktop, iPhone and Android using existing web skills like Javascript, HTML, CSS, Python, Ruby, and PHP. I’ve personally tried Appcelerator and have nothing but good things to say about it.

Monotouch

MonoTouch allows developers to create C# and .NET based applications that run on Apple’s iPhone and Apple’s iPod Touch devices. This is great for your typical Microsoft shop or enterprise that has a strong .NET skillset. A 1 year corporate license will run you about $1000.

These are just a few of the tools you can use to do cross platform mobile development while leveraging existing web development skills. It represents an exciting time because as traditional web developers we can quickly and easily create mobile applications. Speaking from my own experience over the weekend, my friend and I created an iPhone app in less than 12 hours using Appcelerator Titanium for the Day of Mobile Hackathon, and we went on to win Best iPhone app. Not too shabby for 2 people who didn’t know any Object-C walking in.

Read More | | Comments (0) | TrackBacks |      Digg!   Delicious
Feb 4, 2010
  • Ux
  • Tx
  • Sx
, , , , , , ,

On the iPad as the Future

By Nigel Warren

I won’t beat around the bush. The iPad is the future of computing. And I don’t want it. Well, not yet.

Image credit: www.apple.com

Just Like Any Other Tablet

Many look at the iPad as a wi-fi enabled 10” 1024×768 flatscreen with no USB port, SD card slot, or camera. They look at the iPhone OS and wonder why you’d use something with far less functionality than the hundreds of other tablets that have been on the market since the early 2000’s.

What they’re missing is the potential for the iPad to be the start of something new. Coming in the form of an evolved iPhone, something familiar to most of us, it doesn’t seem all that new or different.

But imagine, for a second, using the iPhone as your main computer. The reason you never have to dig through folders to find what you were working on, deal with software conflicts, or spend time cleaning up the iPhone after removing a piece of software is because the iPhone approaches computing from a different angle than the computers we’re used to dealing with every day. By expanding the iPhone from a small pocket tool to a larger device, Apple is trying to apply the iPhone’s model of computing to the tasks we currently use laptops for.

Yes, It’s Underwhelming

At the iPad’s unveiling I could sense the disappointment in the discussions within my company and across much of the internet. When the iPhone was first introduced, it blew away notions of how a phone worked and what kind of experience a low-powered mobile device was capable of.

People were hoping for a similar sense of disbelief with the iPad. They wanted it to save the publishing industry, they wanted new input methods, they wanted “out of control” multi-touch interactions, and most importantly they wanted it to do things they hadn’t even dreamed of doing yet. In short, they wanted to feel like Apple had developed the future and was showing it to them. That’s what the iPhone introduction felt like.

Instead, what people got was something they’d already seen. And so it was easy to pick out the flaws. No open app distribution model? No camera? No multitasking?

But when you’re looking at the prototype of a new computing platform, those complaints are irrelevant. All of them will be added in time. What cannot be changed are the fundamentals of the software design.

The iPhone got these fundamentals dead right from day one, and the iPad is now inheriting them. Fundamentals like a touch-based interaction model. Fundamentals like an easy to understand way to acquire and run applications. Fundamentals like the complete change of focus from navigating a confusing hierarchical file system to a simpler task-based interaction model.

As Andy Ihnatko says,

“It struck me that Apple was making a clear statement with the iPad: ‘We were right about the iPhone.’ They had a clear and ambitious concept about an entirely new computing platform and an entirely new way that humans would interact with hardware. They were so right about it that when the time came to build a tablet device, changing the UI seemed vulgar at best. […] If the iPhone had never existed, the iPad would still have made sense as a touch-based computer.”

Image credit: Sebastiaan de With, http://blog.cocoia.com

A New Interface

The very things that make the iPad so great are also its biggest weaknesses. By developing a new interaction paradigm — touch-based rather than mouse-based — Apple has rendered all existing desktop software incompatible with the platform. To truly take a step forward, this is necessary.

Starting from zero is a daunting proposition. It is the reason Microsoft has never been able to garner mainstream acceptance from the tablets it promotes, despite grand proclamations about the coming tablet revolution back in 2001. In Microsoft’s universe, compatibility is king, hence the constant attempts to put Windows on a touchscreen. The taskbar, windows, dropdown menus, contextual menus, rollovers, and the rest of today’s pervasive interface elements make for an awkward tablet experience, but one with the advantage of an entire universe of software already built for it. Starting from zero, as Apple is doing, takes guts. The risks are exponentially higher, as are the rewards.

Apple is bootstrapping the process by launching the iPad with enhanced versions of the same applications that have been successful on the iPhone. Watching movies, listening to music, browsing the web, checking email, and more are all designed to be seamless and elegant experiences. With these basics, the iPad is capable of meeting the casual needs of some people. In addition, it features compatibility with the existing library of iPhone apps, although this is of questionable value for many. Even with these boxes checked, it won’t come close to replacing a laptop for most people.

I Still Don’t Want One

For years, the tech industry has chased the dream of the device that fills the space between the mobile device and the computer. The difficulty with this space is that there isn’t obvious demand to fill. Devices have to muscle in and make their own space. The iPad may be one of the best to try, but it doesn’t change the fact that it’s not something many people need, myself included. My colleague Ben McNeil summed it up when he said, “This device doesn’t seem to blend everything I need but rather gives me one more gadget I own.”

And like a child needing a parent’s steadying hand on the saddle when learning to ride a bike, the iPad needs to be tethered to a real computer for tasks like backing up, downloading photos, and syncing music. Until my files live online, rather than on a hard drive tied to one computer, the iPad won’t seamlessly integrate into my digital life without a lot of awkward shuffling and copying to make things available to the iPad on an as-needed basis. I don’t need to pay for the added complexity of working this device into my life, and my iPhone already does a good job of surfing the web on the sofa.

And Yet

Given the option, the prospect of carrying an iPad around is already so much more enticing than using my laptop. I yearn for the portability, the battery life, and most of all, the efficient and focused interface that my iPhone has given me a taste of.

I want the productivity and joy of using something that sheds the 20+ years of baggage my computer has inherited. The design decisions made in the 1970s that seem unprepared for the scale of my online life today, such that I am constantly having to organize and clean and manage my system.

As Fraser Speirs states,

“The Real Work is not formatting the margins, installing the printer driver, uploading the document, finishing the PowerPoint slides, running the software update or reinstalling the OS. The Real Work is teaching the child, healing the patient, selling the house, logging the road defects, fixing the car at the roadside, capturing the table’s order, designing the house and organising the party.”

I want something that lets me get The Real Work done.

Image credit: www.apple.com

A Whole New World of Apps

Application development on the iPad has the ability to sustain bigger apps than what we’ve seen on the iPhone. The 99 cent app market on the iPhone has exploded because the device lends itself to quick, cheap entertainment. Lots of people will spend a buck for a couple of minutes’ excitement while waiting at the bus stop or standing in line. The iPad won’t be used in those situations, so the demand for those cheap thrill apps won’t be as strong.

Instead, people will start demanding more functional apps. Apple sent a clear signal by showcasing a highly functional and polished office suite in the form of iWork for the iPad. By doing this, they were in effect asking others to follow their lead by developing desktop-class applications. This call is already being answered. The Omni Group, the leading Mac development house responsible for OmniGraffle and OmniPlan, among others, has announced an immediate pause on developing their next generation of desktop software while they port their complete portfolio of applications to the iPad.

Apple also has the advantage of being in a better position than anyone else to cultivate a healthy 3rd party ecosystem of applications. It may be counterintuitive considering the discontent over their tight control of app distribution. But Apple has developed something even more valuable than open application distribution: a cohesive platform. This advantage may diminish in the future, but when launching a new platform it is incredibly important. Software developers will be hesitant to invest significant money developing applications if they are not sure what hardware, and by extension how many users will be able to run them. Android is starting to feel the effects of varying versions of the OS spread across a myriad of hardware configurations. Apple, meanwhile, has shown with the iPhone that it can drive a platform forward while minimizing the expense of dealing with device incompatibility.

What Happens Now

I won’t bother with a prediction about the iPad’s success or failure because they’re a dime a dozen in the wake of its launch. This post isn’t about whether Apple will tumble from its current summit or climb the next peak. This is about understanding why the iPad is more than just another tablet.

For the iPad to succeed, it doesn’t need to be a home run now, it simply needs to stick around and gain a modest number of users who are willing to pay for apps. If that happens, in 5 years time we’ll start to see a healthy ecosystem of applications that begin to turn the iPad into a viable general computer replacement. And in 10 years time we’ll see a new generation of users that have adopted iPads, or whatever Android- or WebOS-based tablets are around at that point, as their main computer. We’ll see existing expert users spending a large portion of their time doing work on tablets.

Of course, even then most of the computing landscape will still revolve around the traditional computers that are deeply entrenched today. But it will also be clear that they are part of a waning era. In 20 years’ time they will have relinquished the spotlight to take the place of the mainframes of yore: running back end services and thousands of custom business applications for years to come, while people use touchscreen devices for their everyday online lives.

And at that point, we’ll look back and realize that this drastic shift from Old World to New World computing, as Steven Frank terms it, began with something that at the time seemed like a boringly predictable, some would even say say lacking, evolution of an iPhone.

Nigel Warren is a UX designer at Roundarch

Read More | | Comments (0) | TrackBacks |      Digg!   Delicious
May 13, 2009
  • Ux
  • Tx
  • Sx
, ,

Diving into Smart-Phones: Android 1.5 VS. Apple’s iPhone 3.0

By Jory Cameron

Are you an iPhone geek? An Android phreak? Are you holding out for the Palm Pre?

A lot has been said about the emerging battle between the “smart-phone” platforms. There are a bunch of ways to line the various options up against one another, and to help shed our own light on the subject, we’ve decided to break down features and functionality offered on both the the iPhone OS and Android platforms.

I’m Jory Cameron, an Intern at Roundarch, and I’m going to share what we like, what we want to see, what is happening now and what we think separates the two different mobile platforms at the forefront of hand-held consumer devices.

Maybe down the road, we will have some more exposure to and additional thoughts on the Palm Pre. Until then…  here is a dive into the iPhone and Android platforms, so you can determine which you think is “better”.

Platform Management

Google’s Android is completely open-source meaning anyone who wants’ to edit or change something inside the OS can. The main people who manage these changes though are Google, the phone manufacturer, and the cell phone carrier.

This leaves a big gap in features, and hardware that Google must fill. For instance Google will have to work with device manufacturers to ensure that their OS works on a variety of different types of hardware, and they will have to cut that OS down to the specific needs of the Manufacturer, Carrier, and Consumer (not to mention the future when we might see Android on other “devices” like televisions, etc).

We have seen this demonstrated by the Microsoft and their Windows Mobile V6 (don’t worry Microsoft, you’ll get there!) This could leave a big gap in feature varying from phone to phone. One phone could have internet tethering enabled, while another phone has stereo Bluetooth. Also, user interface changes could occur from phone to phone making the OS look, feel and behave totally different on each phone. If managed properly by all parties involved, these risks can be reduced, however it looks as if it might be a challenge (knowing how the carrier-driven market in the US tends to work).

But the bright side of being open source is that Google lets us, as developers, freely distribute our applications, unlike Apple who can deny your app from being put in the only “legal” source of distribution.

Apple’s iPhone OS is managed solely by Apple. Apple controls everything, which isn’t surprising considering they have this same approach to most everything that they do. What Mr. Jobs says goes. That’s the bottom line.

Being in control means that Apple knows exactly what is going to be on their OS and what the hardware looks like for all users. There are very few software casualty’s displayed by this. In fact, the only one that I can think of is that of tethering (which will vary from carrier to carrier).

The bad thing about Apple managing all of this is that they can pull certain features and capabilities from the OS for as long as they feel necessary (cough… MMS… cough). Software is software, though, and becuase of this, there are always means of activating some of these features, as well as getting non-approved applications installed on your iPhone (if apple doesn’t approve it). This is not supported though, and is outside of the bounds of Apple’s licensing agreements.

The primary way to circumnavigate the restrictions put into place by our friends in Cupertino, is “Jailbreaking” your iPhone, which allows the installation of third party applications and enables third party development.  Apple is trying to take away the right to “Jailbreak” their devices, because they are saying it violates the EULA, and there is talk of prosecuting individuals for editing the expensive software that you paid them for (tisk, tisk Apple).

The main thing to know out of all of this is that apple knows what they want, and where they’re going with it, while Google is still searching for its path. In saying all of this, I am not going to say that one or the other is going to beat out the competition just yet. It is too soon to tell, and with other platforms such as the Palm Pre due to hit the market, we will just have to wait to make a final judgment.

The new features in the iPhone 3.0 OS and the iPhone 3.0 SDK are as listed:

  • Copy, cut and paste across all apps. Even supports copying photos into messages.
  • Landscape keyboard on all apps that make use of a keyboard.
  • MMS support.
  • Push notification via Apple servers.
  • In-App Purchase within paid apps and games.
  • Core Location now supports turn-by-turn directions.
  • Support for peer-to-peer connectivity.
  • Apps will be able to communicate with accessories.
  • New games
  • Across the board Spotlight search.
  • Maps now accessible via API.
  • In all, 1,000 new APIs.
  • 100 new features.
  • Loads of minor feature tweaks such as YouTube account support, iTunes account creation, VPN, Proxy support, Note syncing, meeting invites, call log … and much, much more.

The new features in the latest, greatest Android build  (Cupcake 1.5) are as listed:

User interface refinements

System-wide:

  • Refinement of all core UI elements
  • Animated window transitions (off by default)
  • Accelerometer-based application rotations

UI polish & enhancements for:

  • In-call experience
  • Contacts, Call log, and Favorites
  • SMS & MMS
  • Web Browser
  • Gmail
  • Calendar
  • Email
  • Camera & Gallery
  • Application management

Performance improvements:

  • Faster Camera start-up and image capture
  • Much faster acquisition of GPS location (powered by SUPL AGPS)
  • Smoother page scrolling in Browser
  • Speedier Gmail conversation list scrolling

And Lastly, New features

On-screen soft keyboard

  • Works in both portrait and landscape orientation
  • Support for user installation of 3rd party keyboards
  • User dictionary for custom words

“Home” Screen

  • Desktop widgets
  • Bundled home screen widgets include: analog clock, calendar, music player, picture frame, and search
  • Live folders

Camera & Gallery

  • Video recording
  • Video playback (MPEG-4 & 3GP formats)

Bluetooth

  • Stereo Bluetooth support (A2DP and AVCRP profiles)
  • Auto-pairing
  • Improved handsfree experience

Browser

  • Updated with latest Webkit browser & Squirrelfish Javascript engines
  • Copy ‘n paste in browser
  • Search within a page
  • User-selectable text-encoding
  • Unified Go and Search box
  • Tabbed bookmarks/history/most-visited screen

Contacts

  • Shows user picture for Favorites
  • Specific date/time stamp for events in call log
  • One-touch access to a contact card from call log event

System

  • New Linux kernel (version 2.6.27)
  • SD card filesystem auto-checking and repair
  • SIM Application Toolkit 1.0

Google applications

  • View Google Talk friends’ status in Contacts, SMS, MMS, GMail, and Email applications
  • Batch actions such as archive, delete, and label on Gmail messages
  • Upload videos to Youtube
  • Upload photos on Picasa

New APIs and developer tools:

UI framework

  • Framework for easier background/UI thread interaction
  • New SlidingDrawer widget
  • Horizontal ScrollView widget

Home Screen framework

  • APIs for creating secure home screen widgets
  • APIs for populating live folders with custom content

Media framework

  • Raw audio recording and playback APIs
  • Interactive MIDI playback engine
  • Video recording APIs for developers (3GP format)
  • Video and photo sharing Intents
  • Media search Intent

Input Method framework

  • Text prediction engine
  • Ability to provide downloadable IMEs to users

Speech recognition framework

  • Support for using speech recognition libraries via Intent

Misc API additions

  • LocationManager - Applications can get location change updates via Intent
  • WebView - Touch start/end/move/cancel DOM event support
  • SensorManager - redesigned sensor APIs
  • GLSurfaceView - convenience framework for creating OpenGL applications
  • Broadcast Intent for app update install succeeded - for smoother app upgrade experience

Developer tools

  • Support for multiple versions of Android in a single SDK installation
  • Improved JUnit support in ADT
  • Easier application performance profiling

Comparing the Hardware

As you can see most of these new features in iPhone 3.0 were already widely available through the process of  “Jailbreaking”, and frankly, long over due. Also there is one key feature missing in Android thanks to Apple, the illustrious MULTI-TOUCH.

The hardware available on Android right now, is pretty much just the HTC Dream (G1 or ADP1 and the HTC Magic.) Of course, by the nature of Android (and what we hear from the industry) there will be much more hardware to come as far as variety and improvements in both screen size, form factor and other aspects of industrial design. The word on the street is that Motorola and a handful of other device manufacturers are gearing up for Android-based smart phones.

The hardware available for iPhone OS right now is the iPhone (1st gen) and the iPhone 3G, and there will most likely be a new iPhone released this summer (were hoping to see something that says “WOW” and gives us back the warm fuzzies that we all felt with the first iPhone launch).

In comparison hardware features for the Android and the iPhone are pretty much just the camera, ram, on-board memory, and the HTC dream/Magic handy little track ball, a highly underrated feature that seems to have made G1 users quite happy.

The track ball is really handy to have on the android right now, because we don’t have multi-touch (so there is no pinch to zoom, or tap, etc) you can toggle this tack ball and it makes navigation a lot smoother with in apps, like the Opera Browser. From what we understand, other mobile device manufacturers are experimenting with other joystick or control-pad interfaces.

As far as camera goes the Android platform has started of strong with a 3.2 MP camera built into the devices that we have seen, while the iPhone lags along with just a 2 MP camera and no native support for video. Why Apple would make that decision, we have no idea.

Device memory is a sad subject at the moment, as the iPhone starts out a 8gb, and the android pushes 128 MB on the phones that have been released to date.  The android devices seem to be making the preferred data storage that of a Micro SD card instead of flash memory that is built in.

There is one more little problem I have. The batter life of both phones could be greatly improved.
On the iPhone I can barely push through a day, on the ADP1 I can barely push through 4 hours. I’m not going to say a bunch about it because I understand the issue and that mobile battery life has been a challenge for many manufacturers; all I am going to say is “please fix it”.

The latest speculations
The Samsung i7500 Android mobile phone may boast a 5 megapixel camera and a short leaked demo film on YouTube.

Another very exciting development is that Android net-books might be right around the corner. Right now, there seem to be a few different companies that supposedly have an Androidbased net-books in development. I’d think that televisions, and even cars might be next.

My personal thoughts on both platforms

Apple needs to grow up and give us want we want, don’t just think that because you’re the only one who has it you should just make it as perfect as possible and then release it to crush the dreams of all other device manufacturers.

Google needs to figure out where they are going and throw in a few more features (mainly multi-touch and a better web browser). Doing so will put them at an equal level in terms of desired functionality. At the moment multi-touch is only available though hacked version of the Android OS.

The Apple onscreen keyboard has become a staple of the device’s user interaction, but why not implement both (pull out QWERTY and on-screen) like android?  This is especially important when going after users who prefer the touch experience of real keys. Sure, the Android on-screen keyboard has a bit of a lag right now but they are still being applaud for it!  Take that step Apple! Take it!

Comparing Performance and Features

The performance of both of these operating systems could be better. They could both use a little speed boost, and faster processing speed. Aside from these big picture items, the features that I would like to talk about now are as follows:

App distribution: Android Market or App Store, which is better and why?

First off I would like to say as of this moment I am bias toward the iPhone app store. If you look at the UI you will see the app store is much better. Why?  Well, the app store has Photo previews, and a design that helps readability. Not to mention, because it is more mature and has been around longer (as well as having a larger user market) the iPhone has better applications and a more worthy review system.

The Android Market doesn’t have a very good search ( EX: Search aHome or aHome Lite and about 60 themes come up before the application that actually has that name).

The iPhone App Store and Android market both have a problem when it comes to individual developers and distributing their apps. Sure they both add the apps to their respective stores, but after that they just let it manage itself. This means that when you search (Task manager) 500 results come up on top of this poor guy’s application called “Task Manager”, when in fact, he has the best Task Manager application available.

I have to say that really annoys me. Give me the a way to sort my results so that I can get to the best apps fast.

Performance in mobile applications

Depending on the application and how much RAM it takes up, I would have to say both the iPhone and Android operating systems have a decent balance in performance. It isn’t fun to talk about only good stuff, so for now, I will but my appreciation on the table and do a little bashing of a few of the most expensive applications in the Apple store.

Why? CRASHING!

When it comes to these apps that remote control your desktop or bake a pizza they seem so great that you’re willing to pay $30.00-$50.00 bucks for them. So you use them a few days and all is well until you get a text message. You are forced to exit the application to read the message, and then when done, you ago straight back to it, causing a springboard virtual memory panic, which in return reboots your phone.

15 minutes later you go back into the same app, and bam… you happen to get a phone call (afterall, it IS a phone). Problem? The same exact thing happens.

So now that you’re upset, what do you do? You leave the app on your phone just to say you have it, and when your friends ask if it’s cool you say,  “yes it’s awesome” while you think to yourself angrily that you’ve wasted your money and time on an application that seems to taunt you with bad performance and memory management. You want to use it, but you know that launching it will just continue the cycle. Frustrating!

At least my Android asks me to end process instead of making me sit through at 5 minute re-boot.

Here is something else to consider

There is a little problem arising with Apple’s iPhone application distribution. Piracy. (and not the kind in Somalia).

Apple’s app store faces a big battle with cracked IPA’s being distributed regularly , although they just hit the 1 billion app’s sold mark, they most likely hit a billion apps pirated before that.

One iPhone developer actually took charge by polling versions of the cracked apps. iCombat, from a huge ratio of pirates to legitimate users: Nearly 5:1 for the app’s first week before leveling out to about 1:1 later om.

Five times as many pirated versions of the application than legitimate purchases. This just shows how big the market and demand has grown for mobile applications and robust platforms that can provide the backbone for developers like our team at Roundarch. At the moment the Android doesn’t have many piracy issues (it seems), but with a gain in popularity and with new Android devices hitting the streets soon, this may change and also become an issue for Apple’s competitor.

Wrapping things up, I hope you got at least some information, or speculation on these two mobile operating systems and hope that my research (and opinions) will help you form your own stance on which platform is right for you, or for the projects you are working on for your clients.

Read More | | Comments (1) | TrackBacks |      Digg!   Delicious
 
  
 

Categories

Tags

Search

RSS Feed

Archives

Blogroll

Links