Tag Archives: apps

More apps for Micro.blog

I want to point to some developer activity in the Micro.blog community. The first is a macOS Today Widget called TodayPoster by Bryan Luby. It gives you a text box to post directly to Micro.blog-hosted blogs from the macOS Notification Center.

The next is a Mac client built with Electron. Developer Matthew Roach has a blog post about it with a download link.

There’s another iPhone app in development as well. It’s not ready yet, but from a screenshot by Francisco Cantu, looks like it will be a good alternative to the official Micro.blog iPhone app.

Lightweight universal apps

When the iPad first shipped, many developers embraced completely separate apps for iPhone and iPad. The argument was that they were different platforms and deserved special design attention (and separate revenue). I never bought this argument, and eventually — with the iPhone 6 Plus and multiple screen sizes — everyone agreed that it just made more sense to use universal apps.

At the same time, there’s a parallel argument that an app on the iPad shouldn’t just be a “scaled up” version of the iPhone. That if you can’t invest the time to do a universal app properly, don’t bother.

The redesigned Twitter iOS app was a great example of this. It was widely mocked for it’s poor use of space on the iPad.

With the iPad Pro and widespread iPad multitasking, I think this changes again. An iPad app that is designed exactly the same as its iPhone version is still very useful in slide-over and split screen. In fact, for many “iPad” apps I use every day on the iPad Pro, I use them in their compact layout more often than full screen.

My next app was designed for the iPhone. I spent some time trying to rework it with split views for the iPad Pro, but I just can’t justify the work right now to finish that effort. I’m going to ship it as a “lightweight” universal app anyway, though, so that it’s available in slide-over. To me, that’s a worthwhile compromise, significantly better than no offering on the iPad at all.

A great developer can come from anywhere

It’s March 2009, the height of SXSW in Austin before the conference gets too big for itself. I’m hanging out downtown with tech folks from a blogging startup, having dinner and beers before we head to the party they’re putting on. The CTO, one of the first employees at the company, is talking about Memcache servers and MySQL scaling, and I’m hanging on every word. I love this stuff.

I’m a Mac and iOS developer, but I often take a break from native app development to work on server software. So I’m asking him about MySQL replication and what it’s like to run a schema migration without the database falling over. The conversation sometimes shifts back to Apple platforms, and he says he’s been thinking about going to WWDC. I had been attending WWDC for a while, so I say sure, it’s expensive but you should consider it. If you’re doing more web stuff, though, maybe it’s not as important that you attend.

We walk over to the party venue. It’s bigger and more crowded than he thought it would be. Their company has really taken off, growing well beyond the early days when it was just him and the founder trying to build something new. And it’s at this point that he turns to me and asks a question that brings us back to iOS development:

“So what do you think of my app, Instapaper?”

In answer to Marco Arment, at that time the CTO of Tumblr, I mutter something about liking it, but I haven’t really gotten it into my workflow yet. Hopefully whatever I said was encouraging. In subsequent years, of course, Instapaper would be one of my favorite apps.

Later, replaying these conversations, I realized that I asked the wrong questions and gave the wrong advice. About WWDC, I should have said “Yes, absolutely!” with an exclamation point. Buy a ticket. If you can’t afford it, go anyway because you need to be there.

But I didn’t say that because I wasn’t listening closely enough. I was so busy asking questions about Tumblr, that I wasn’t listening to the excitement in his voice about Instapaper. I was so busy thinking about server scaling and databases and all this other stuff that I could’ve learned from a book, that I didn’t hear what he was really saying.

I should have asked about iOS pricing, free versions, sales, UI design, who did the icon, what does the private API look like. But I didn’t ask those things because I missed the big picture, how dominant the App Store would become for distribution, and so I missed what mattered. I’d like to think that since then I’ve gotten better at listening.

Daniel Jalkut and I had Marco as a special guest on Core Intuition 200 not just because he’s a friend but also because he so well represents the goal that many of us have and our listeners have — to start our own company, to find success not just one time but again and again, and to have as thoughtful an approach as possible in the craft of software development.

This week I’m in Indianapolis for the Release Notes conference. While I will have some stickers for anyone interested in my new microblogging platform, and I’ll probably ramble about it at some length if asked, I’ll also be listening. I’ll be listening because you never know which random developer you just met will end up doing their best work in the years ahead, and you want to be as encouraging as possible, offer the right kind of feedback, and also learn from their perspective.

There’s a great line in the Pixar movie Ratatouille:

“Not everyone can become a great artist. But a great artist can come from anywhere.”

I believe that’s equally true for developers. We often see someone go from nothing to a top app in the App Store. We often see someone start without an audience and then make friends on Twitter and blogs through the quality of their writing alone. And so we welcome new voices all the time if they’re respectful.

There’s been some debate about Overcast 2.0’s patronage model. Some of the discussion is healthy — how does a successful business model for one developer apply to other apps? — and some of the discussion is divisive. Instead of asking the right questions, it’s easy to jump straight to a conclusion with the dismissive statement: “that’s fine for Marco, but his approach would never work for other developers”.

The “that’s fine for Marco” attitude is poison for our community because it takes the opposite approach as that Ratatouille quote above. It implies that some developers have such an advantage that the rest of us shouldn’t even bother, because it’s not a level playing field. It’s true that some developers today have an advantage, whether through good timing or just a long history of shipping apps, but the lesson isn’t to give up; it’s to instead learn from it, and look at our own strengths. What small head start do we have that could grow into a great success tomorrow, too?

Rewind a handful of years, back to that day at SXSW when I could name plenty of developers who had more attention and success in our community than Marco Arment. You can be damn sure that didn’t discourage him from taking Instapaper from an “in my spare time” niche app to the top of the News section on the App Store.

I’ll never accept the implied negativity in the “that’s fine for Marco” argument. I’ll never accept that we should be jealous of another developer’s success instead of inspired by it to do our best work.

Twitter in 2 years

Marco predicts that third-party Twitter apps will lose half of their users within the next 2 years:

“We won’t even be angry at Twitter — we’ll move to the official apps voluntarily, and we’ll look back on all third-party clients like we look back on Tweetie, vanity link shorteners, and third-party image hosts today: as relics of a quickly abandoned past before we all started using Twitter’s better, newer features.”

During WWDC this year, Buzz Andersen gave a great talk at a small venue outside the conference. With the hindsight of several years, he talked about building Birdfeed, the challenges of competing with Tweetie, with his own struggle at perfection, and many more insights on the rise and fall of third-party Twitter apps.

It left me with a lot to think about, and I loved the old stories, screenshots, and related nostalgia. But in closing out the questions & answers, one statement in particular struck me as a nail in the coffin for third-party developers: Buzz revealed that even he now uses the official Twitter app.

17 services for hosting and business

While doing our taxes this month, I was a little surprised just how much I spend for various web apps and services to help run Riverfold. While I could trim some of them, most are essential and save a lot of time. I thought it would be interesting to write up some of the most important ones.

Linode: I’ve moved nearly everything to Linode. I like their style: just basic, solid hosting, with good features but not an overwhelming number of services or fancy stuff. They’ve recently increased their RAM and added SSD. I have servers there for Nginx/Unicorn, MySQL, Redis, and Elasticsearch. I also use their load balancer and Longview stats app. This link uses my referral code.

Amazon Web Services: I no longer use EC2, but I have some DNS hosted in Amazon’s Route 53. I also use S3 for backups and a new feature that’s coming to Sunlit soon.

Heroku: Before moving to Linode, most of my stuff was on Heroku. Now I only have one small app and database there, and I’ll be completely moved off by the end of the year. I’m including it here for completeness only. It’s a great option to get started if you don’t want to be a part-time system administrator, but I think Marco sums up nicely why you want to use Linux servers instead.

Stripe: Can’t say enough good things about Stripe. Watermark, Searchpath, Tweet Marker, and Core Intuition Jobs all use it for credit card processing. It’s the best.

Gauges: As much as I always loved Mint, as my business grew to several web apps and web sites, I looked for a new stats package that could support any number of sites, and which would work better across hosts, since I don’t need to run the database. I’ve been very happy with this.

AppFigures: I’ve used this for years to track Tweet Library sales. It’s great. I also like that I can enter other people’s popular apps and get an idea of how they’re trending if they make it to the top lists.

Blinksale: Kind of an ancient invoicing app that hasn’t changed at all in years, but it works so I keep using it. Originally started by the folks who would go on to do Gowalla.

Beanstalk: I moved the source for all my Riverfold projects here because it can do Subversion and Git well. I sometimes wonder if I should move to GitHub instead, since I do use GitHub and have a couple tiny public repositories there, but I like that Beanstalk is focused only on private hosting. No social; just a well-designed web app.

Postmark: Run by the same team as Beanstalk. I switched to this after Sendgrid had some PR problems you may remember. Email receipts and whatnot go through Postmark now.

Dreamhost: Still using this for email and a few static or PHP sites. It’s cheap and works well. Not much benefit in moving away from it, though I prefer my more important web apps to be hosted on Linode.

DNSimple: I have a few domains here and hope to have all of them moved over eventually. I want to have a single place for DNS. Right now I have registration and DNS hosting spread across Dreamhost, Amazon, and Network Solutions. Makes it difficult to remember where everything is and to keep track of expirations.

Buffer: This company has been on my radar since someone asked me to support it in Tweet Library. They also have a really interesting blog where they share revenue, salaries, subscribers, web traffic, and other usually private details from a company. I admire that a lot. Daniel and I use it to automate sending Core Intuition Jobs links to Twitter, App.net, and Facebook.

Mapbox: We use Mapbox throughout Sunlit. I wrote more about why here.

FogBugz: In the past I’ve build my own bug tracker, used Jira, Redmine, GitHub issues, and others I’m forgetting. They all have problems so for Riverfold I keep it simple with hosted FogBugz. To complement this I use OmniFocus for non-bug tasks.

Zendesk: For too long I was just using Apple’s Mail.app to handle support email. Now support email goes to Zendesk, where I can better track and reply to it. The downside is I’ve had a couple cases of people not seeing the replies, possibly because the HTML email is more often flagged as spam. Need to investigate whether I can switch it to plaintext, but otherwise I’m happy.

Keen.io: I was inspired to try this after reading Justin’s post on analytics. I’m experimenting with it to get better insight into how people are using my apps. So far so good.

Tapstream: Just started using this to help track Twitter ads and other links, to see what marketing actually converts to App Store sales. The web app is good, they responded to a support question the same day, and I love that the SDK is just a handful of .m files that can be dropped into an iOS project.

And that’s it. I may have left a few things out (like consumer-focused apps Dropbox, App.net, and Twitter), but these certainly cover the major services I use now. In the old days it was common to just have one server that did everything. Now there are so many specialized services. While it seems like a lot to manage, each one does a much better job than I could do with a home-grown solution.

Update 9/16/2016: I still like all of these services, but since originally written I’ve consolidated Beanstalk and FogBugz to GitHub; Postmark to Mailchimp; and stopped using Gauges, Keen, and Tapstream.

Tweet Marker now paid-only

If you’ve read my blog posts about Tweet Marker over the years, including this one when introducing a paid plan, you might hear a little indecision on the right path forward. I’ve run it more like a community service and less like a business, and admittedly the window for turning it into a profitable endeavor has slipped away. But I still want to make the service work well and improve it.

After vacationing this week leading up to Thanksgiving, I finally realized I need to remove the support burden of giving out free access. Starting today, Tweet Marker will transition to a paid-only service. To make this easier, I’ve introduced a less expensive $25/month plan for smaller developers. (Previously the only choice was $75/month, which is now the top tier plan with unlimited active users.)

This solves the problem of automating access to the API. Instead of having to manually fulfill API keys so that developers could try out Tweet Marker, which usually meant weeks or months of delay until I could get to it, by signing up online, developers get immediate access to the API without having to wait on me.

In the short term, this change means that new apps must subscribe before using the API. In the long run, all existing apps should also transition to a paid plan. I haven’t set a hard deadline for existing apps yet, but will work with developers over the coming months to do so.

You can learn more at tweetmarker.net/developers/.

Update: To be clear, this post is only for developers. There’s a $1/month subscription for end users but it is optional.

The legacy of software as art

This post from Andy Brice, via Simon Wolf on ADN, makes a nice complement to my recent post on software as an art form:

“My grandfather worked most of his life as a stonemason. Much of that time was spent restoring the ruin of a Bishop’s palace in Sherborne. His work is still visible long after his death. The work of the stonemasons who built the palace is still visible after more than 8 centuries. How long after you stop programming is any of your work going to last?”

Not long, of course, and I’m not sure this is solvable. The best we can do is make sure our software runs on systems as long as possible, and to preserve the rest in screenshots and videos.

There are echoes of this theme in my post on permanence last year too, but for writing:

“Nothing lasts on the internet. I could write on my weblog for years and the next day get hit by a bus. The domain expires, the posts are lost, and it doesn’t matter if I had 10 readers or 10,000; it’s as if it never happened.”

As much as I dwell on preservation, my actual code and apps and the work I do in the software world might not be that significant. Instead, software can be the tool to make and preserve the important stuff: the writing, art, and discussions online that will matter later. Although I’d love to preserve the software as well, there is so much work to do just to keep the blogs and tweets. I’m content with making that easier.

Dave Winer also gives a nod to what software as art means, in an otherwise unrelated post on the press for Little Outliner, again framing it as what we’re building for other people to use:

“I think software is like other creative arts — music, architecture, cooking, even design of everyday things like bikes and clothes. It takes a relentless focus on the act of using, and what kind of effect you want to create.”

Joe Fiorini takes it even further:

“Perhaps our legacy is not in the software we build but the lives we touch, even in small ways, through the problems our programs solve.”

Like Andy Brice’s use of the word ephemeral above, Joe’s statement is difficult to measure. There’s no one thing we can point to years later. We just have to create something worthwhile and trust that it’s making someone’s life better, and that maybe that one customer will leave a mark on the world that survives long after our apps no longer run.

iPad 1 release day

Shawn Blanc looks back to a post 3 years ago about his experience buying and using the first iPad. From waiting in line:

7:32 am: A young guy and his mom get in line behind us. The guy is wearing a ‘WWSJD’ t-shirt. I like to think that I’m less nerdy than he is, but the fact is I am ahead of him in line.”

I wish I had written so many detailed notes. I did, however, find an old draft blog post with my current list of apps from back then. Here’s what I was running on my first iPad in early April, 2010:

  • Twitterrific.

  • NetNewsWire.

  • Instapaper.

  • Freeform.

  • Sketchbook Pro.

  • Pages.

  • OmniGraffle.

And free apps:

  • AIM.

  • iBooks.

  • Kindle.

  • Netflix.

  • New York Times Editors’ Choice.

And a couple games, like Flight Control HD.

Of those paid apps, I’m only still routinely using Instapaper today, and — even though I’m not on Twitter — occasionally Twitterrific. NetNewsWire for iPad in particular held up very well; I used it every day for probably 2 years after it had stopped being updated.

Most of the apps that were released for the iPad’s debut were more mature than apps from the iPhone OS 2.0 release and first App Store. By the time the iPad came along, developers seemed to have gotten the hang of the platform.

App Store old app maintenance

David Smith on cleaning up the App Store:

“The App Store currently has around 800k active apps listed. I suspect a significant number of these haven’t been updated in more than 12 months. An app that is listed for sale but is no longer under active development creates the possibility for bad user experience. It is like a grocery store that leaves expired produce on its shelves.”

He makes a good argument for removing old apps from the store, but I’d probably hesitate going all the way to actively take them out. There is certainly too much clutter in the App Store — too many apps that aren’t providing much value, some with little chance of an update. But I also dislike the already fragile state of App Store inventory. iOS apps require much more active maintenance than traditional, direct download Mac apps, which can be hosted anywhere and stay available without constant attention from the developer.

At one point on episode 14 of The New Disruptors podcast, Glenn Fleishman talked with John Gruber about apps as a unique art form unlike paintings or novels or even film because apps are never done. John Gruber from that show, talking about software:

“To me it is an art form. But it is the one thing that is continuously diddled with. You write a novel and it’s done, it’s out there. Once it’s published, it’s published. You make a movie, it’s done. George Lucas gets a lot of flak because he keeps revisiting his old Star Wars movies and making a change here and there, but it’s not like every year he comes out with a new version of Star Wars. […] But software — an app that has a vibrant and still-growing user base — it’s the same thing, constantly being iterated. It’s the only art form that is like that.”

There are always bugs, always missing features, and always (as is David’s point above) new hardware to adapt to. It’s an art form that won’t stay still, so maybe there is an inherent impermanence to it.

But if apps are an art form, an important part of our culture, then it shouldn’t require so much work to make sure they don’t disappear forever, so quickly. This happened to me just this week, actually. I forgot to renew my iOS developer program account and my apps were automatically removed from sale for a few hours while I scrambled to pay my $99 again.

Maybe there’s a compromise solution in here somewhere. Instead of being removed from sale, abandoned apps could switch to an archived state. They would no longer show up in top lists or even search, but could still be found with a direct link. With the right kind of fallback like that, Apple could be even more aggressive about gearing the App Store user experience around new apps and modern devices, without sacrificing what is good about the long tail of old apps.

The Magazine issue 2

The second issue of Marco Arment’s The Magazine is now available, featuring essays by John Siracusa, Gina Trapani, Lex Friedman, Daniel Rutter, and Alex Knight. In the new issue, Marco writes about the risk and success of the app:

“It was a risk to release an app that can only exist in Newsstand, full of paid writing, to an audience that’s predominantly people who have a surplus of free reading material and bury their empty Newsstand folders on their last screen of apps.”

I’ve been happy with how well The Magazine fits into my mobile reading workflow. I read a lot in Instapaper and Reeder, most of it technology-related articles. The Magazine occupies a more leisurely, thoughtful space for reading, away from the frenzied pace of everyday tech news. And because it’s a handful of essays just every other week, I don’t expect to ever be overwhelmed with it in the same way that it’s easy to fall behind in never-ending RSS and Twitter feeds.

High quality, highly recommended. Congrats to Marco on the successful launch.

Appsterdam

A great name to go along with “a big idea from Mike Lee”:http://mur.mu.rs/?p=1:

“If you’ve been to a conference, you’ve probably thought, as I have, how nice it would be if everyday life could be like that—being surrounded by peers, able to get help solving a hard problem, then get accolades for doing so. There is a gestalt to sitting face to face with a group you just don’t get over the wire. With Appsterdam, our community is not just a nice idea, but a nice place.”

I would love to visit Europe again. It’s been too long.

Buy apps, help Japan

From a “beautiful post by Craig Mod”:http://craigmod.com/satellite/nourishing_wake/:

“I pulled all of the poison out of the air — I drew it deep into my lungs and exhaled into my socks. My socks are full of the radiation, don’t touch the socks. I pulled the tsunami back. I drew the inland water back into the ocean. I pulled it over the rice paddies, unflattening them; the trees, straightening them — a billion billion leaves fluttering back into position. I drew the water back, back, back. It was easy because it was what I had to do, I tell her looking her straight in the eyes. Perhaps you don’t understand, but I had to.”

Check out “appappeal.jp”:http://appappeal.jp/ for a collection of apps that are donating their profits to the Japanese Red Cross Society. Buy a few. And don’t forget “Developers Against Poverty”:http://developersagainstpoverty.org/, which needs your donations before the end of the month.