Shortchanging Your Business with User-Hostile Platforms
al3x.net
al3x.net
Alex is obviously pointing to the verbal minority (of which he is a part), because for every person out there that speaks out against, say, the Tweetdeck AIR app; there are probably millions that are satisfied with it and in fact prefer it to the native alternatives (that don't have columns, even though they might be native).
The problem with listening to the verbal minority is that you're then building for the verbal minority, and not the bulk of your true user base.
Startups are all about priorities, right? And logically you should prioritize things that will materially affect your business (such as stability) over things that aren't real problems but get written up anyway. EDIT: I mean, he did leave Campfire because of a stability issue, even though there's a native app for it ;-)
It's entirely possible to focus on both stability and, say, a quality desktop application. If you're under-resourced to accomplish both goals, maybe you didn't plan correctly.
which all available evidence says is one account worth $20 a month
... surely you haven't reviewed all available evidence on this question? Or did God give it to us when he gave us AB testing? I'm joking, but I think you're trivializing a nontrivial question. I'd like to know how to find "all available evidence"; my experience is that this kind of thing can be very hard to measure.
Edit: it's worth remembering that Steve Jobs made almost an identical argument to Alex's in his critique of Flash last year, even emphasizing that it was his most important point: "We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps" (http://www.apple.com/hotnews/thoughts-on-flash/). Sub-standard apps are exactly what the OP is about.
"One that determines or strongly influences current trends or styles"
I was told, repeatedly, that Mac owners are Jobs-loving HIG fascists who look down on Java apps. Separately, their conversion rate was double PC owners. Who am I supposed to believe, the experts or my lying eyes?
I don't think it's a secret that Mac users are, by and large, more comfortable than Windows users at paying for and installing software. The paradox of choice is in less egregious effect, and they have fewer scars from past attempts.
But there are plenty of apps out there that are mere ports (Qt, or Java) and you can feel it. The drag handles are in the wrong location, the app doesn't behave right when you resize it, the buttons are in the wrong place, or switched from where they are supposed to be. I will still use it, but if something "native" comes along I will switch to it in a heart beat.
Second, if you've seen Bingo Card Creator, you know that his users weren't buying it for its elegant OS X-ish interface.
So they've done a pretty amazing job. Perhaps that's possible in AIR too, but I don't know of any such apps (then again, I didn't know of any such Java apps until a moment ago).
[1]: http://trac.cyberduck.ch/browser/trunk/source/ch/cyberduck/u...
That being said I think AIR can be very close to native. It takes that extra mile of programming that most don't do. In the end, you might as well make it native.
But think about this for a moment. An AIR app can and does run well on both Mac and PC. I understand native is better, but it's not a simple matter of money and time. You need to find the skills for a decent mac developer. Most of them are gone crusading in the world of iOS and too busy to make a mac client. .NET developers are plentiful though. my 5c.
When people say programming in Flex is annoying.. have they ever done SWT development, or Swing? GUI work in general usually bugs the crap out of me, but MXML with AS and HTML with JS are fantastic.
I've worked at several jobs with distributed teams, and the one that used IRC was the easiest. (I've also used Outlook Communicator, which is, as you'd guess, the worst fucking software product of all time. Except for Windows and Outlook, of course.)
Still, he seems to be doing fine business wise. Maybe it's not as big a deal as al3x makes it out to be.
Which was going to be (and still is) ironic since BankSimple is likely using the same technology stack.
After being down voted: so Alex can call all AIR developers lazy because they don't want to leave their comfort zone and write native apps, but I can't insinuate the same thing about 37signal's not wanting to leave their Ruby comfort zone to make a reliable messaging app? Oh, right, we hate AIR, but love Ruby. Sorry, I missed that there was a double standard. :-)
Can you elaborate on heat you mean by process and not technology?
http://37signals.com/svn/posts/1728-nuts-bolts-campfire-love...
I happen to think that a good UI is not just a matter of getting used to it, although that's a big part of it. There are some things I do hundereds if not thousands of times a day, and I want them to be very fast, regardless of what is native. I want them to be the same in that particular app on all platforms I use. I don't want the keyboard shortcuts of gmail or vim to change depending on what machine I happen to use.
In the end we opted to a stylize feel of each OS but not an attempt to recreate the look and feel exactly.
Sometimes little look and feel things have a huge impact on how people react to apps: I remember (and I could be wrong, it's been a while) pretty much instantly not liking Opera on OS X when I first tried it since it had smooth scrolling turned on by default, something almost no Cocoa apps do.
Check out their whitepaper "Qt Cross-Platform Application Framework": http://qt.nokia.com/files/pdf/qt-4.4-whitepaper
The approach we took is native for mobile and webapp for everything else.
Our users are asking for a "desktop app", so we are looking at wrapping our webapp in a SSB and distributing that.
A frequent drum-beat on HN is having passion for what you create. Even if it saved me time in the short run and got me some degree of free platform support, I think having to work on an AIR app that I would probably never use in real life would probably doom the project in the long run.
When I think about the independent software projects that I love, it's obvious that the developers behind them love them as well. I (and I don't want to speak for everyone) can't see myself loving an AIR app.
I use Balsamiq Mockups when I have to, but I always find the experience annoying. If there was a Mac-native app with similar functionality, I'd switch in an instant.
In the first, the user interface is fast, stable, and does its job on every platform. The developers didn't have time to make a real native application, but have made sure of usability on every platform. Widget kits like QT allow to get very close to native look&feel. In this case, the usefulness of the software can make up for the non-nativeness.
On the other hand, really horrifying user-hostile platforms also exist. I've frequently experienced these in "enterprise software". Makers of such products seem to think that user experience doesn't matter at all. The interfaces, feel bulky and slow and generic, sometimes based on 80s screen scraping, and live in a world of their own, ignoring any user friendliness guideline since the same era. Not even starting about the web-applications that only support IE6... This is not the uncanny valley, this is stuff straight out of nightmares.
edit: make that less "paying users", by whichever standard the application in question uses
They already told you they're a small team, with mostly windows users and AIR allowed them to offer a cross platform solution. This is a polite way of saying "you're an outlier, you're not our target user, please go away and stop bothering us".
"People seem to hate AIR. Wherever you see AIR apps, there are support forum threads opened by customers begging for a native alternative"
I've personally never noticed this, got any examples?
Let me say here: I'm not a fan of AIR - I'm completely indifferent to it as a technolgoy - but so far you're just bitching about your personal experiences with one application and wishing the world were different from how it is so you'd find it more enjoyable.
"a moderator sheepishly explaining that they just don’t “have the time” "
What's to be sheepish about!? There's no shame in not having the time to build native apps for every platform. I don't have the time to write all of my code in assembly so I use high level languages. If you tried to run a modern operating system on 1980s hardware you wouldn't get particularly far. Technologies are built and adopted to improve productivity and get products to market faster - AIR is one of these. Whether or not it is the best choice for one application or another, or whether you happen to enjoy it or not has no bearing on how much actual time a company or individual has to develop software! They make a choice about a technology based on their goals and the information at their disposal. Why should they be feeling sheepish?
"The fact that some subset of users are willing to shell out for these native apps should be a wake-up call. That’s money that those service providers are letting slip away."
No, it's money they're making by opening their product using an API and not trying to be all things to all people. By allowing 3rd party developers to build on their platform they still get your money, but they just don't have to do any extra work for it building a native app for your platform.
"In a nutshell, what you’re communicating with an AIR app is that your business priorities (saving time and money) are more important than what your customers want."
Or maybe you're just trying to build a minimum value proposition, make some money, test the market, receive feedback, learn something, iterate and improve. You seem to think these guys are dishing up an AIR application in an afternoon then taking your hard earned cash and throwing it onto a gigantic "Scrooge McDuck" style money bin, then taking the yacht out for an afternoon spin to laugh at their sucker customers. You don't like the product, don't bloody buy it! That's what the free market is there for.
"“We don’t have time” is the common excuse for delivering an AIR app instead of a good native app. Money, though, can buy someone else’s time. For a price, you can find a great contractor to build a native app for any platform under the sun."
Okay then why don't you build this app that you're after? Just learn to program, then build it yourself. Oh, don't have time? Well just pay someone else to do it for you. If you have the money, fantastic, compete and make a better product. What makes you think that these people are any different from you? That they don't exist in the same world of limitations and constraints that we all do every single day of our lives?
"Humans are gifted with extremely sensitive bullshit detectors."
Yeah mine started going fucking bonkers about paragraph 2 ...
You could have made this article about how flawed you think AIR is as a technology, cited examples of applications that have vocal user communities looking for a native app etc.
Instead you've just made outlandish claims that people building technology and working to create products are lazy, that they're somehow compelled to produce mediocre products (rather than settling for the best they can afford to produce and shipping something in the hopes that some people will get good use out of it).
Software is a constant process of settling for mediocrity. Nothing is ever finished. No software developer has ever typed one last semi-colon, sit back and said "you know what? There's nothing else I'd add to that, it's perfect".
Who keeps upvoting this!?
I've personally never noticed this, got any examples?
In the post you're quoting, he linked to four forum threads for four separate products, along with a couple of blog posts.
Alex's point is that they should have built a native windows app in that case. Even on Windows, AIR apps kinda suck.
It all comes down to the oft-rehashed point from 37signals: build half a product, not a half-assed product.
AIR always feels half-assed. It's slow, resource-intensive, doesn't look like the other apps, and generally gives a slightly uncomfortable feeling.
I like Tweetdeck and Balsamiq Mockups and don't care they use AIR.
http://twitter.com/#!/mtamizi/status/24547982921703424 http://twitter.com/#!/ochekurishvili/status/22690462684 http://twitter.com/#!/pradeep24/status/24582785423384576
If we'd started out making native apps for every platform we wouldn't be where we are today. Sure AIR isn't perfect but it's allowed a 3-man bootstrapped team to create a product that hundreds of companies love to use every day and are happy to pay for.
Alex mentioned his team was going to try setting up their own IRC or Jabber server. That's awesome! The whole reason we're creating HipChat is because the vast majority of business have absolutely NO IDEA how to do that. The fact that more technical teams are willing to invest their precious work hours setting up and maintaining their own group chat system is a testament to how powerful a tool it is.
Of course if you set up your own chat system you won't get drag + drop file sharing, archived history, or inline image previews no matter how technical your team is. :)
Oh and we'll be opening up XMPP access soon so anyone who really needs a native app is more than welcome to build one.
If your team does decide to build for a platform/OS I hope it's OS X first :D. Best of luck either way!
I was going to argue with you point-by-point, particularly about your false claim that I didn't include any examples (which another commenter addressed, and you acknowledged). At the end of it all, after a lot of flailing, I think this is really your thesis:
"Software is a constant process of settling for mediocrity."
I think we're just going to have to agree to disagree there. If that's how you approach what you do, then I understand your position. If that's your approach, then sure, AIR is a reasonable choice. That isn't my approach, and I think it's also not the approach of the people who, much to your befuddlement, keep upvoting this story and tweeting positively about the post.
Seems more like an issue of a problem customer than a problem service.
In my experience, the lack of a sane garbage collector burned me in the end. I believe the reasoning was that Flash apps were ephemeral, from page load to page load, and definitely not meant for a desktop application with a long life.
It was very hard to ever really free memory, and I remember writing a fairly straight-forward AIR app which would start at 70MB RSS, and balloon to 1GB the next morning.
There is an interesting discussion about this in Dan Benjamin's latest episode of the 'Build And Analyze' series with Marco Arment. http://5by5.tv/buildanalyze/8
http://stackoverflow.com/questions/1482586/comparison-betwee...
If the team is small and the product has some value to you, it only means the team focused on the right featureset.
Personally I'm grateful if an AIR client is available, because that means I can use it on Linux, my OS.
Its an interesting problem though, I actually find a lot of value in comments, especially when the topics aren't too sensational and the people aren't entrenched in their camps. I actually come to HackerNews and Reddit specifically for comments but not every story gets there.
Runs on Windows, Mac, Linux.