tags:

views:

1909

answers:

16

iPhone OS 3.0 is being announced and previewed next week (March 17).

We all know the feature set users want. Copy/paste, MMS, Flash on iPhone, etc.

We'll see about those.

What I'm interested in what does the development community feel the SDK is missing, in need of, to make programming for the platform easier and more productive.

A: 

A non-Mac based development envionment.

Nathan Voxland
Why? You do realize that would entail Apple spending several million dollars to accomplish, and they would never make that money back for something they give away.
Genericrich
nope, not gonna happen.
yaauie
Agreed - there's no reason to port the huge number of things involved in the development tools for another platform for the fun of it. They clearly have no shortage of apps in the store, so why bother?
Joel Levin
Apple already has an operating system that pretty closely mirrors the iPhone's, making it an ideal development environment. A Windows version of the SDK would cost a huge amount of labor, probably not work as well, and wouldn't be of any real benefit to anyone serious about the platform.
Brent Royal-Gordon
The only things that really are Mac dependent in the SDK currently are the Interface Builder and Simulator. The IB isn't that important and the simulator shouldn't be that difficult. The rest can be cross compiled using gcc.
toast
Pretty harsh to vote this down, but yeah, with over 20K apps they certainly need to cater to Windows devs.
bpapa
Not sure why this is being voted down so much! It's wishful thinking that Apple wouldn't deliver, but it would be nice indeed.
Coxy
@toast: IB is central to good design and rapid development. It's interesting to know that Shark and Instruments can be cross-compiled using gcc.The scope of such a port is big, and has no upside for Apple that I can see.
Genericrich
I agree that it makes sense for them to leverage the existing tools they have. However, there are significantly more developers with only non-Mac machines that they are effectively cutting out of their ecosystem because they cannot justify buying a new machine to even start iPhone development.
Nathan Voxland
@Genericrich: I hadn't even considered stuff like Shark. I was thinking core essentials needed. I've given up on IB after I found it faster to just express design in code. The main things needed are the compiler, libraries, and simulator. After that, the rest is icing.
toast
Oh really, how well is Visual Studio running native in OS X these days?
Kendall Helmstetter Gelner
@Kendall: You are assuming it runs will on Windows :)
Nathan Voxland
+2  A: 

Less sandboxing. It won't likely happen, but it would always be appreciated for an app to have slightly more power than they currently do (actual filesystem access, for example. even if it was read-only access, it would still allow for more interesting applications to exist).

EDIT: Also, access to the copy/paste API. But I hope that one is obvious to Apple.

Joel Levin
+16  A: 
  • A more complete Interface Builder with support for custom palettes and all sorts of goodies like that.
  • Better control over the keyboard.
  • Better unit testing support. (Unit testing can be done, but only on the simulator, and it's very awkward to set up.)
  • Push notifications. Please.
  • A more accurate simulator, i.e. one with a more accurate set of frameworks.
  • The ability to easily build views like the Mail compose window.
  • For that matter, an in-application compose window.
  • A better way for apps to share data locally than by invoking URLs.
  • Access to the calendar, notes, mail (possibly read-only), and bookmarks (again, read-only) databases. Maybe even limited access to the iPod database—even just the ability to read song metadata and access and change the playing song would be helpful.
  • Some sort of middle ground between UILabel and UIWebView that allows for formatted text without a huge hassle.
  • More built-in toolbar icons.
  • The return of the "glass" button style that was in the beta SDK.
  • A few useful internal views, like UIProgressHUD, exposed.

And last but not least...

  • A pony.
Brent Royal-Gordon
Voted up for the pony.
Joel Levin
It would please TheTXI, he's been wishing for one.
toast
Apps can share data locally via NSUserDefaults (using NSGlobalDomain)
Jarin Udom
I see you are asking for a pony, you should totally drop that and use JQuery.
Ólafur Waage
Moar pony please...
Lounges
I'd be happy with some kind of background processing or app wakeup instead of push notifications as they were defined before.
Kendall Helmstetter Gelner
+1  A: 
  • Ability to send SMS messages without having to have launch the SMS client and have the user type the message.

  • Access to the raw camera data so that things can be done without having to take a picture and wait for it to save (like you can do with Android)

  • push notification so that you can launch tasks... would need to be user controllable.

  • A camera that can focus (I know... have to wait for the next iPhone for that... if they decide to put it in...)

TofuBeer
Forcing your app to launch the SMS client is a good idea because it keeps you from running up the user's phone bill. I don't see any reason not to allow you to specify text to go with the phone number, though.
Brent Royal-Gordon
I guess I could have wrote it better... no issue with launching the SMS client, the issue is the typing in (and only one receiver)
TofuBeer
+7  A: 

I'm surprised no one has mentioned garbage collection yet. Objective-C 2.0 on the Mac supports optional garbage collection. I don't really see any reason it wouldn't work just fine on the iPhone as well and it would eliminate much of the tedium of having to explicitly release objects all over the place.

Stephen P. in Roswell
Of course there are reasons (higher, less controllable memory usage and worse performance). Doesn't mean these contraints won't be addressed eventually but I guarantee that Apple have tested garbage collection on the iPhone already with results that encouraged them to leave it out.
Matt Gallagher
It is an embedded device, garbage collection would take up precious CPU cycles that are going to cause the battery life to go down. Is it really required for the short amount of time that apps generally run? Nothing is allowed to run in the background!
X-Istence
While working on a bit of crypto code the other day, I was surprised just how much slower the iPhone truly is than a PC. Underneath the smooth animation and responsiveness are a *lot* of really good decisions on Apple's part.
Brent Royal-Gordon
+3  A: 

Better multitasking is absolutely key at this point. Android's got it, Palm's WebOS has it - both, it seems, in largely unrestricted and well-implemented fashion. Possibilities:

  • Push notifications with a good UI (message stack in addition to badging/sound/whatever - if they have to have an extra approval step so apps can't be obnoxious, so be it)
  • Multiple full processes (not possible with current OS, I realize, but then I've never seen a good explanation why the iPhone doesn't support virtual memory)
  • Smaller "background" versions of apps that can run in the background - no GUI and a significantly tighter memory constraint
Noah Witherspoon
Multitasking is already present in OSX - all we need is acces to it. Theoretically that is there too - the APIS are present but Appple don't trust us to use them. Smaller apps is up to the developer and, lack of understanding this is why Apple are not allowing background apps.
Roger Nolan
There are good reasons for not supporting VM on phones too. Mainly battery. If you want an explanation of the good and bad side of VM on a phone, ask the SO with an iPhone OS tag :-)
Roger Nolan
+1  A: 

A UIKit level drawing api.

Joe Ricioppo
+5  A: 

What I'm hoping most for is to allow iPhones to talk to each other either via Bluetooth or some other means. Granted, they can talk via Bonjour if they are on the same Wi-Fi network, but that's just not convenient enough in 2009. If I'm out with a friend and want to play a multi-player game we first have to find a Starbucks or whatever the heck to get on the same Wi-Fi network. Also, think of the ridiculous amount of social apps you could have if iPhones could talk to each other without needing Wi-Fi. Exchange business cards, flirt with the cute girl over there, etc.

Form a PURE programmers perspective, make XCode as helpful of an IDE as Eclipse or IntelliJ are in the Java world. There's so much time I waste on stupid stuff that the IDE could have found for me as I typed it.

I also don't understand why I can't color buttons without having to use images.

bpapa
+9  A: 
  • An easy Javascript bookmarklet installation method for Mobile Safari. (OpenRadar: 1, 2)
  • UIWebView needs more of UIScrollView's properties and methods, such as contentOffset.
  • More configurability on some of the built-in behaviors and views, e.g. the button text on UITableViewCell's "Delete" button, or the styles and text of UIAlertSheet/UIAlertView buttons. (Some of these can be done today with undocumented calls, but I'd rather not rely on those.)
  • More flexibility from UINavigationController, such as the ability to push/pop views that selectively don't display the navigation bar but using the same animations and stack, or more customizability over the navigation bar button labels and behaviors.
  • The ability to restrict interface orientation per UIViewController, not just accept/reject changes via shouldAutorotate. E.g. I want my main content view to be autorotatable, but I want my navigation hierarchy and settings screens to always display in portrait, even if the content view was rotated to landscape.
  • libxml and its handy DOM XML parser instead of the SAX-based NSXMLParser.
  • libcurl w/SSL, or more options and functionality for NSURLConnection.
  • Ability to check whether a URL scheme is registered. This could be used for apps to detect whether other specific apps are installed, and enable functionality selectively, e.g. when Instapaper detects Tweetie is installed, it can offer a "Post with Tweetie" button. (Disclaimer: That was a plug. I make Instapaper.)

I'm sure I'll think of more, but overall, I'm very happy developing for the iPhone. I'm amazed at the quality and sophistication of the iPhone OS, the SDK, and the development tools given how incredibly young they all are.

Marco
You can customize the UITableViewCell's Delete button by using localization strings.
Jarin Udom
You can already control orientation per view controller today. You just have to make the higher level controllers more permissive to allow the lower level (edge nodes) the choice of what can be used.You can also use libxml today, and can drop nav bars per view controller.
Kendall Helmstetter Gelner
+1  A: 

We all know the feature set people want. Copy/Paste, MMS, Flash on iPhone, etc.

I would have thought those specific items were down the SO wish list (although it seems I'm wrong looking at the votes on this comment :-).

MMS is a pretty pointless app when you have eMail. Flash is not an OS issue - Flash could be delivered today.

I don't even want push notifications - they're just a patch, I want background apps. I also want fixes for all the broken APIs like Camera, video and landscape support. Support for CoreImage filters would be nice too but probably too much to wish for.

Roger Nolan
Nobody on the whole of Stack Overflow wants copy and paste on the iPhone? Get real!
Coxy
yeah, I guess I think of that as a user level feature that is very difficult to get a good UI for. I also thought that there are much bigger fish to fry in a 3.0 release. I suppose I underestimated some of SO's users. Post edited.
Roger Nolan
Copy and Paste in my opinion is silly on a phone. I don't miss it at all, and never have.
Genericrich
bpapa
Kendall Helmstetter Gelner
I'll count those as three up votes for clear thinking.
Roger Nolan
+4  A: 
  • A good mapping API. Let us access the Google Maps abstraction that the Maps application uses !
  • More Interface Builder goodness
  • Better simulator
François P.
maps should not be in the OS. Use CloudMade if you want flexibility.
Roger Nolan
Cloudmade is nowhere near as complete as Google Maps. You can't just create an app that's going to be used worldwide and not have the best maps available. Especially when the end-user sees that a few taps away he has GMaps... they'll simply think that your app sucks.
François P.
+2  A: 

My list:

  • More full-featured IB support as the Mac has
  • Inter-app Data transfer mechanism (could be C&P, but does not have to be)
  • Greatly improved camera API with deeper level of control and more flexibility
  • SDK access to bluetooth and more support for protocols
  • Real ObjectiveC framework around the address book like the Mac has today.
  • Warnings similar to the location warning when an app tries to access address book data.

I'm sure whatever they actually have prepared, there will be a few interesting twists.

Kendall Helmstetter Gelner
A: 
  • [[ABAddressBook sharedAddressBook] me] for being able to use the owner's Zip code, phone number, or whatever.
  • Ability to download files to local storage and sync them back to iTunes or your hard drive
Jarin Udom
+3  A: 
  • Smart inbox. Incoming messages are routed to installed handlers based on type.
  • Synchronisation framework that simplifies syncing with desktop & Mobile Me.
  • Decent landscape support, without the multitude of bugs, especially for the camera picker. Better support for rotation and more control of it.
  • Access to EXIF data on images from the picker, so we can tell their location
  • Deeper access to the camera API, so that we are not rail-roaded into the standard photo taker / picker
  • Push notifications that can launch an application. (In lieu of full multi-tasking, which I don't think we'll get and which could be problematic.)
  • Better, more intuitive keyboard controls.
  • API for inter-application messaging.
  • Access to data from Calendar, iTunes, Mail, Notes and more (with user's permission)
  • A more accurate simulator, with, for example, ways to limit bandwidth, and use the Mac's camera to actually take a photo.
  • Phone-phone bluetooth for data exchange
  • Access to more of the views used by iPhone apps, e.g. the progress HUD, email "blobbing" mechanism for email addresses, thumbnail scrollers, HUD brought up in Photos app, and more.
Jane Sales
Dear God, I'm already having nightmares about Frenzic suddenly closing because I just got an incredibly fucking urgent IM from some stupid bot.
Brent Royal-Gordon
A: 

Get EXIF data from photos

Pull all photos at once

Pull all contacts at once

Control screen brightness

Access to music in iPod section

Read access to email and text messages

Access to Safari cookies (so maybe I could make some kind of keep-me-logged-in app.)

Greg
A: 
  • fix table view in landscape mode
  • new camera API with direct access to the camera
  • distribution code signing automatically when uploading to the app store (instead of code signing in xcode)
  • ability to request more memory so users don't have to reboot their phones to get rid of background apps
lajos