I have been working on iOS apps since 2009; I started with a collaboration with on (née iLift), and eventually in 2014. After twelve years on the App Store, I've decided it's time to and would like to share what that means and outline the tradeoffs involved. Wil AudioScrub went solo go all-in on the web The spur for this change occurred years ago after the launch of my seventh app . Although the project had iterations over several years, it mostly came together in the summer of 2018: I overworked myself for months, with incessant attention to detail, and was eager to present this to people I would meet during my upcoming trip to Colombia (they love music there, and this app was for music lovers). sonogrid really The app launched to a good reception online within various iOS music app communities, but to my dismay, most of the Colombians I met in person were not able to access it because Apple devices are prohibitively expensive there. I would offer to demo the app on my phone and let the other person play with it after: repeatedly, they would enjoy the interface and become immersed in a fun creative process, only to become disappointed on learning that it's not on Android. It was hard to resolve the contradiction between producing something I was super proud to share—a kind of magnificent zenith in my iOS trajectory—and realizing that only half the world can use it. This was a bit deflating, and I wasn't motivated to do double the work just because of platform duopolies. Added to this was the more subtle but long-standing aversion to the 'review process' that native apps go through before appearing on the App Store: I was hesitant to invest further in an environment with little control and leverage over my own future, with a constant fear of 'reviewer rejection' and . So I took a step back and haven't updated many of my iOS apps since then. the rug slipping out from under me at any time In place, I worked on and put them together to create . Contrasting the experience between the web and native (i.e. iOS) worlds, I feel more enthusiastic about how the web is evolving. It can still be 'limited' in comparison to native apps, but that gap is gradually closing and most of my ideas already fit within what's currently possible. various web components about a dozen web-based projects Why you should choose Web over Native Just to review, in case it's not obvious, there are some more commonly understood reasons for choosing the web over native: Basically, all current and future devices (mobile, tablet, desktop) and operating systems (iOS, Android, macOS, Windows, Linux) are supported. Projects are simpler and more cost-effective to build and deploy, with tools and skills that are easier to acquire. A thriving universe with bazillions of communities spanning the entire Internet provides lots of answers to questions, and most knowledge is based on open standards and therefore highly transferable. Backward compatibility is a priority, which means your project is likely to continue working despite technology evolving over time. You can make changes whenever you like and have them online within seconds or minutes, as opposed to requiring third-party approval for everything, which could take days or weeks. The environment makes it more and more empowering for single-person or small team operations to produce things, without requiring the resources of a large company. The challenges of the web for developers like myself is to help people 'cross the chasm' that exists due to a lack of common patterns for interacting with apps: There is , so people are left to search the wider web (amongst articles, videos, cat pictures, and everything else), but maybe there could be , or a subscription bundle like to help with discovery. no obvious 'App Store' one that celebrates the 'instant' nature of this platform SetApp There is —every project does this their own way, but the is becoming more and more common, and I'm trying something similar with my . no universal 'buy' button Ghost Portal Fund Button The idea of an 'install' button isn't ubiquitous, and or , but for the rest there are libraries like that help guide people to make accessing web apps a more familiar experience: simply click on an app icon to launch. some web apps may not be mobile-friendly local-first a2hs.js The means that every project needs to re-build trust and help others be comfortable enough in the environment to support them financially, but , , and are contributing various solutions that reduce friction from this process. (I would also love to see become more prevalent so that having a legal entity is not necessary to receive money.) lack of an integrated payment system Stripe Checkout PayPal Checkout Web Monetization fiscal hosting Performance has often on the web platform, but will eliminate this issue for a whole class of ideas. held back the types of applications that can be built WebAssembly There are plenty of people working to create open solutions to these 'missing features'; it seems like a solvable problem with time. What it’s like making Native Apps (Feel free to skip this section if you'd rather not hear me complain about Apple.) I'm sharing some negative aspects of my experience making native apps with hesitation, not to be a downer but because there might be people that aren't really familiar with the developer side: : reviewers don't enforce rules consistently; bad app(le)s get approved and grift people out of money or personal information; it's an anxiety-ridden process that can feel unpredictable. You may have a good impression of Apple if you've bought their products: calling them for support usually means speaking to a friendly person who takes responsibility for your issue and tries to resolve it. App Review on the other hand might as well be an outsourced company, incredibly bureaucratic, and often feels like talking to a rock; any sensuality around the Apple brand quickly vanishes under these bright white office lights as you find yourself filling out TPS reports in the developer cubicle all of a sudden. The paternal review process can be soul-crushing at times . The lucky independent developers are ones who have the ear of someone who works at Apple to support them if there's a dispute and either push their app through App Review or get it featured. Large companies dominate the App Store listings and generally get better treatment , create screenshots and videos, localize everything in multiple languages, respond to reviews, and keep on top of technology that changes every year. The prototypical success looks more like a large organization than two guys in a garage. It's quite a task for an individual or small team to produce an app It feels like , where developers and consumers need to keep upgrading—an insatiable appetite for more. feeding into a device ecosystem of planned obsolescence and overconsumption The certificates and signing from the build process is and can bring development to a halt if you don't have the right combination of XCode and macOS (hint: keep buying new Macs). complex The expanding variety of screen sizes forces you to and create a complex array of image and video assets at different sizes for distribution. learn responsiveness primitives which are platform-specific The break your app and force you to either hurry and accommodate the changes or receive messages from customers asking why it doesn't work anymore. constantly changing environment will You can't simply share your app with a friend or even without . install it on your own device paying rent or getting permission through App Review There are obviously lots of positives to native platforms as well, but these kinds of things weigh down smaller operations like mine, favouring large companies with resources and time to deal with this ever-growing complexity. Developing for Web Despite the web's challenges, there's much that excites me about its future and some of these characteristics are intrinsic to the platform: The concept of promotes highly shareable apps via a simple link that requires no install process: show up and start. instant games Having multiple payment providers, potentially with the addition of cryptocurrencies means if you wanted to also just invent your own value system, maybe some kind of post-money coupon thing, it's possible to integrate with existing systems… User-controlled personal data stores are on the web and will eventually make their way to native apps. already being used Edge apps that work completely in the browser are easy to mirror or fork, and virtually free to distribute: imagine having your site/app available everywhere via IPFS The culture of perpetual improvement, with less focus on versioning, is normal: people do not need to 'install updates' for each app they use on every change. It's just more fun and with a lower barrier to entry, which results in more diverse and dynamic communities who form part of a larger public commons: more sparks, more life, more weird. have been quietly free for a while. Early next year, they will disappear ; I'm not completely sure how this works—I understand you can continue to use them, perhaps even re-download them, but only if you already have it. I would like to eventually re-make them for the web (be welcome to or ). In the meantime, enjoy these apps while they last. I'm jumping headfirst into a world bubbling with new possibilities and excited to develop for the largest open pool of people on the planet. My iOS apps forever join me keep me alive