In a couple of days, Tim Cook and others will take the stage in San Jose to let developers in on what’s in store for the next major release of iOS, macOS, and the other thingOSes. Every developer has their own personal wish list of what they’d like to see announced at these types of events, so I thought I’d write up a post about what’s on my list. There has also been a number of rumors that we’ll see MacBook Pro and iPad updates at WWDC this year, so I’ve included a few wishes for those as well.

iOS 11

Drag and Drop Support: I think native drag and drop support in iOS is inevitable. Federico Viticci has a great description, with an accompanying video, at MacStories of how he would like drag and drop to work in iOS and I think he nailed it. I hope whatever Apple does with drag and drop, it works like this.

A Better App Picker: If you’ve ever used Split View on your iPad, then you know how cumbersome the app picker interface can be. I can think of a number of ways to make it better, none of which involves tweaks to the current approach. They need to throw it out and start over from scratch. This thing has been so widely maligned that I would bet it’s almost a sure thing we’ll see an overhauled app picker in iOS 11.

Revamped UI: I’m not talking about something as radical as the changes we saw with iOS 7, but I think the current UI needs more than just a few tweaks. Bringing back real buttons, more use of depth and color, and faster system animations would be a nice start. I would like to see Apple go further by re-thinking in-app navigation, titling, and just generally making things work better on larger screens, like the iPhone 7, 7 Plus, and iPads.

Open Up Siri: The excitement following the unveiling of SiriKit at last year’s WWDC was almost immediately extinguished when it was announced that only a handful of actions would be possible. If Apple wants Siri to really be useful, they need to open it up enough for third party developers to begin using it in ways that Apple never dreamed of.

Share Extension for Mail Messages: The built-in mail app gives you a share sheet for message attachments, but not for the mail message itself. This is sad and it’s long past time Apple addressed this. To be really useful, it would be great to have the option to receive the message in its raw form or rendered as a PDF, depending on what the receiving app needed.

Trackpad Support: I love the idea of writing on an iPad, it’s the reality of writing on an iPad that I wish would die a hot, fiery death. Editing text is straight-up awkward as hell. Moving the cursor exactly where I want it or selecting text using touch is like me trying to dance: spastic, sloppy, and mildly dangerous. The virtual trackpad makes tings a little better, when I remember it’s there, but having to transition in and out of it every time I want to make an edit is less than ideal. Support for a real trackpad in iOS would go a long way in helping people be more productive.

Xcode for iPad: Do I really want to give up the nice, spacious 27 inch iMac for writing code? Nope. But would I totally love to travel with just a 13 inch iPad and still be able to do my development work? Oh, heck yeah! But it better have trackpad support, though. Without it, the kind of surgical selections I need to make when editing code would make me want to bang my head against my desk until I was stupid.

Surprise and Delight: How’s that for vague. What I would most like to see from Apple in iOS this year is something that delights. A feature that is refined, useful, and has playful elements. Something that puts a big grin on your face the first time you see it. Something that compels you to show it off to all your friends and colleagues, pointing out the little subtleties that received just as much attention as the big stuff. The kind of thing that made so many of us fans of Apple in the first place.

macOS 10.13

Revamp the Mac App Store: There have been a lot of accusations that Apple, despite its protestations otherwise, doesn’t care about the Mac anymore. I tend to agree and would like to begin my case with, Exhibit A: The Mac App Store. The store hasn’t changed much since it first launched over six years ago. Beyond games, it doesn’t have much in the way of category-specific pages. You still can’t gift apps. There are only a handful of new features each week, no organization of purchased apps, and little to no help when installs and updates fail. I hope Apple proves me wrong and makes some major changes to the Mac App Store app.

Expanding the Power of the Sandbox: I hate the sandbox. Cannot stand it. Not only does it put too many limitations on full, PC-style applications, it destroys usability, and it keeps entire classes of apps out of the Mac App Store, including former Apple Design Award winners. The sandbox was designed with such a narrow view of what Mac apps should be, that I have often wondered if its designers even used Macs outside of their work at Apple. The Mac App Store cannot be the premier place to buy apps for your Mac unless you can buy every kind of app you could possibly want from it. The fact that several of Apple’s own apps aren’t sandboxed (Final Cut Pro, Logic Pro, Xcode, etc.) shows Apple that it’s long past time for a complete redesign of this dumpster fire.

10 Finger Touch and Pen Support: I used to be in the camp that thought touch for traditional (PC-style) computers was a bad idea, but I changed my mind when I saw the Microsoft Surface Studio. Aside from the obvious graphics-oriented uses, other types of apps can benefit as well. For example, if you tend to mix audio without an external hardware mixer like I do, you could do the old-school style mixing of “riding the faders” (adjusting the faders on multiple tracks simultaneously during playback). Plus, most Windows 10 users I talk to say they prefer using touch in some of their applications. Of course Apple would have to revamp the Mac line to support touch, but I think if they don’t, the Mac will fall even further behind than where it already is.

Redesign of iTunes: iTunes is a hot mess. Too much disparate functionality (music store, video store, app store, music library, Apple Music, iDevice management, and so on) is crammed into a single app. It should probably be broken into at least two separate apps, possibly more.

Run iOS Apps: Modern iOS apps have to adapt to different resolutions and aspect ratios to run nicely on everything from an iPhone SE to the 13 inch iPad Pro. When you think about it, it’s kind of like designing for a resizable window. Oh look, the Mac is a windowed OS. Wouldn’t it be great if you could run your favorite iOS apps on the Mac too? Of course it would. Some new APIs would need to be added to support Mac-specific features, but I think that’s doable. And it wouldn’t necessarily run any iOS app, they would need to be compiled for it. Of course the Mac would also need multi-touch support.

New File System: Since it became standard with the release of iOS 10.3, it’s pretty safe to say we’re getting APFS as the native file system for the Mac at some point. It just needs to work flawlessly so older apps still run without any problem. I have high hopes Apple can pull this off. They did it for iOS (in a point release, no less!), which it should be noted is an absolutely amazing achievement. I hope they can do the same for the Mac.

Share Extension for Mail Messages: Not only would I like to see this feature in iOS, but it would be great to have it on the Mac as well.

UI Kit on macOS: The core framework for developing Mac apps is a bit long in the tooth. Layer support is bolted on, you have to subclass controls to make common visual and behavioral changes, the whole default decreasing Y axis thing, and, for the love of all that is right and good, the weird freak show that is NSCell and all its spawn. UI development under macOS feels downright ancient compared to iOS. An appropriately extended version of UIKit for the Mac would not only modernize Mac development, it would make porting apps between iOS and macOS much easier.

Revamped UI: As with iOS, I would love to see a revamped UI for macOS. A little more depth and a lot more color. It doesn’t have to go full-bore skeuomorphic, but I think macOS has become too stark and flat. There’s a happy medium in there somewhere, and I hope Apple finds it in 10.13.

Open Up Siri: Just like my wish with iOS, I hope Apple opens up Siri on the Mac. Let’s go full-on Star Trek with this thing. Instead of just being able to launch Photoshop with a picture of my son, let me go further with more contextual, app-specific commands. It would be awesome if I could just say, “Make it look not so washed out.”, and, “Remove the background.” If Apple wants to sit atop the thrown of voice-based computing, they have to go way beyond what Google, Amazon, and Microsoft can do.

CloudKit

CloudKit gets its own section, since it exists in both iOS and macOS and there are several things I’m hoping to see announced for it next week.

More Visibility: Most of the time, working with CloudKit is a beautiful thing. It’s relatively stable, powerful enough for a lot of different uses, and produces useful error responses. But the layer between your app and the actual CloudKit database is an impregnable black box. When something goes wrong here, it’s nearly impossible to find out why. Since I began using CloudKit a couple of years ago, I’ve ran into problems where silent update notifications were being received by the appropriate device, but never forwarded on to the app, as well as CloudKit operations that never invoked any of their completion/error handlers. As a developer, this is extremely frustrating. You don’t know if its your mistake or a bug in CloudKit’s underpinnings. When you run into these types of problems, you can experiment with different options or ask for help in forums and from Apple, but mostly you just cry.

Database and Zone Level Sharing: Sharing of CloudKit data with other iCloud users is handled at the record level. This is a great for a number of applications, but for others, it is a complete non-starter. It would be great if Apple would allow users to share an entire private database, or at the very least a record zone within that database.

Support for More Complex Data Models: CloudKit supports only very basic data models, with just a handful of data types and a very simplistic relationship structure (not to mention the stupid 750 relationship limit for when an auto-delete rule is in effect). What this means from a developer perspective is that if your app requires a more complex data model, you either have to do a lot of mapping between CloudKit and your app or look elsewhere for a solution. Going elsewhere means looking to something like Azure or AWS, which translates into increased ongoing costs that are ultimately passed on to users.

CloudKit for Core Data: There used to be a framework for syncing persistent Core Data stores to iCloud. It was convoluted, buggy, and difficult to debug. Apple deprecated it last year, as they should have, but in doing so left a hole in the iCloud framework. Syncing Core Data persistent stores to CloudKit is the Holy Grail for many Apple developers. Right now, we have to do all of the work on our own. If Apple could develop a framework for doing this that was reliable, easy to implement, easy to debug, and well documented, they would make iCloud the go-to choice for cloud-based syncing.

Mac

Haptic Feedback and Force Touch on the Touch Bar: I’m not a big fan of the Touch Bar. I keep accidentally glancing buttons on the Touch Bar and triggering things I don’t want to happen. Months later, I still haven’t gotten used to it and even removed the Siri button because whenever I accidentally hit it (which was often), Siri would pop up and make itself the active window, taking focus away from whatever app I was using at the time. This. Is. Not. Good. Usability. Requiring a more forceful press and giving haptic feedback that a touch occurred would mitigate this problem.

Scratch That, Get Rid of the Touch Bar: Actually, just get rid of the Touch Bar. Admit it was a mistake to replace an entire row of the keyboard with a display that requires you to take your eyes off the screen and look down to see what you need to press. Most of what it’s used for could already be done with shortcut key combos and it’s too small vertically to be of any use for previews and navigation. But keep Touch ID, though. That’s actually useful.

Touch Screen and Pen Support: If you’re going to build touch and pen support into the OS, you need to build Macs with touchscreens. The iMac should be become something like the Microsoft Surface Studio, where the entire screen tilts to almost horizontal for drawing and the aforementioned “ride the faders” style of audio mixing.

Bring Back USB A Ports and SD Slots: While I applaud Apple for looking to the future with USB-C ports on the new MacBooks and MacBook Pros, we all still live in the present. A portable computer isn’t very portable if I have to bring an array of dongles with me everywhere I go. I don’t think a lot of people would be mad if Apple put at least one USB-A style connector on their newest laptops. Same goes for an SD slot.

Bring Back MagSafe: MagSafe was not only a great idea, it solved a real problem. I cannot count how many times I’ve been in a cramped hotel room, tripped over the power cord, and have been thankful my laptop had a MagSafe power cable that came undone instead of sending my laptop crashing down to the floor. I’m already packing the charger, why can’t it have a better connector. Not to mention, MagSafe connectors had the charging/charged indicator light, something that is sorely missed Apple’s newer laptops.

Go Back to the Old Keyboard on the New MacBook Pros: If I was rich I would buy a new MacBook Pro just to set fire to the keyboard. That’s how much I hate it. The ultra-shallow key travel is painful to type on and it feels fragile. It’s just plain awful. If nothing else on this list comes to pass, the thing I want most from Apple at this year’s WWDC is to announce new MacBook Pros with the old, usable keyboards.

iPad

A Place for the iPad Pro’s Pencil: I get nervous when I take the Pencil on trips. I’m always afraid I’m going to lose the thing because Apple, with all of its design might, didn’t come up with a way to store the Pencil with the device that it’s used with. I’ve yet to see a third party solution I like and I think that’s because only Apple is in a position to solve the problem the right way: you need to be able to store the Pencil with or inside of the iPad Pro itself.

iPad Pro = Surface Book: When the iPad Pro was first announced, I was thrilled… except for the keyboard case thing. I think Microsoft got it right with the Surface Book. A tablet that connects to a keyboard base along a single edge, effectively turning it into a laptop with an adjustable screen angle. There is no kickstand or covers that fold into a stand. It doesn’t need to be on a flat surface to keep it from falling over. Oh, and it has a trackpad (gasp!). I love my 13″ iPad Pro, but snapping or strapping it into a keyboard case thing smacks of duct tape and super glue. It’s an inelegant solution and there’s nothing “pro” about it. Microsoft has been hitting it out of the park with hardware innovations over the past couple of years. Time for Apple to steal a page or two from their playbook.

Shatter Proof Glass: As you can imagine with app developers, we have more than a few iPads floating around our home. Half of them have cracked screens. Some are so bad they can’t be used without cutting your finger and most of the cracks were the result of small drops while in a case (often an Apple-made case). They’re just too fragile for something you hold in your hand. And to make matters worse, Apple charges more than the price of many Android tablets just to replace the glass. People drop things. It happens. Something designed to be held should be a lot less fragile or Apple should drastically lower what it charges for fix them.

Miscellaneous

Paid Updates in All App Stores: The economics of buy it once and get free updates for life just do not work. I cannot even begin to count the number of independent developers I know of that did well when they initially released their apps, but now can no longer afford to keep them updated. The result: the app gets abandoned and the developer gets a job working for someone else or consulting. No one wins. While Apple is pushing subscriptions as a way to deal with the problem, I can’t image most people want a dozen or so subscriptions to their favorite apps. Paid upgrades offer a better alternative. The user gets to keep using the older version for as long as they want and can decide for themselves if it is worth the price to upgrade. I also believe not having an official paid update path is keeping more “pro” apps from coming to the iPad.

A Cut in Apple’s Cut: Apple gets 30% of every sale it makes in its app stores. I get it. Apple hosts the apps and sometimes features them, but a feature is not as valuable as it once was. Apple flat out tells you not to count on them for marketing, so if developers are expected to do their own marketing (which is reasonable), 30% seems awfully high just for hosting in this day and age. Apple should take a cut on its cut. Maybe drop it to 15%? That seems a lot more reasonable.

Talky Cilinder Thing: A lot of people are predicting that Apple will use this year’s WWDC to announce its own, Siri-based version of the Amazon Echo/Google Home. If Apple can make something that is significantly better than Amazon and Google’s offerings as the iPod was compared to the other MP3 players available at the time, then I’m all for it. But if it’s just another me too device that they’re going to let languish (AppleTV), I would rather them put their efforts elsewhere.