Uncompiled Thoughts

By Steven Wei

Top 5 iPad apps I’d pay good money for

Note: this is just my personal list of apps I would actually be willing to pay for if someone built them. Some of these ideas may already exist in some form on the iPhone, but I think they would work much better with the iPad’s large touchscreen.

  1. A recipe manager

    I do a lot of cooking, and frequently like to experiment with new recipes. Currently I need to either print out the recipes (which makes organizing and searching through them later a pain in the ass), or bring my laptop over to the kitchen (which doesn’t work so well since I don’t have much room in there). I would absolutely love an app that lets me organize my recipes, read through them while I am cooking, and look up useful instructional videos.

  2. A UI/UX mockup app

    Think Basalmiq Mockups meets pen and paper. I currently do my mockups on pen and paper because it’s so easy, but I also want to be able to save, sort, and easily share my mockups with others. I also want to be able to draw something, save it as a widget, and re-use it or make modifications to it later. I’ve tried out Basalmiq a few times and while I think it’s really neat, getting your widgets set up, positioned, and configured takes way more time than I’m willing to spend. But an app that combines freehand drawing with prebuilt widgets, saving, and sharing? Killer.

  3. A universal remote replacement

    This probably needs a hardware attachment to deal with the IR transmitter. So: someone make an IR transmitter for the iPad, then write a universal remote app for it. And I don’t want to see standard looking buttons ported from a regular remote, take advantage of the touchscreen interface and give me a new, better way to control my media center/TV. Perhaps give me a TV guide overlay that I can use instead of channel surfing.

  4. An augmented reality treasure/scavenger hunt game

    Show me a nice big, interactive treasure map that starts out empty, and then let me fill it out as I travel to different locations and explore my city. Use the display to show me the ‘treasure’ at the destination spots, include some interesting puzzles, and let me collect cool badges. Think SCVNGR meets Gowalla.

  5. Multiplayer Pictionary

    Think iSketch on a big touchscreen. I know there are a few iPhone versions of the game out there, but a bigger touchscreen makes this much more fun: you have much more room to display scores, the timer, the word guesses, the color pallette/brushes, and your opponents. Add a persistent multiplayer lobby and game mechanics that follow iSketch, and I’ll definitely be addicted.

  6. Bonus: An iPad controlled helicopter

    Ok, so this one’s a little silly. But take this, and give me a nice iPad interface: front mounted camera display, a radar/map overlay, and some cool speed/altitude gauges. Bonus points for turning in into a real life dogfighting game!

Note that none of these apps are based on traditional computing use cases. The people that are comparing the iPad to their existing computers are missing the point entirely. It’s not meant to replace your computer. Frankly, if I’m writing, coding, or gaming, I’m quite happy with my keyboard, mouse, and giant monitors thank you very much.

No, the iPad isn’t going to revolutionize computing. It’s going to revolutionize the dozens of other shitty interfaces we deal with on a daily basis.

Yelp sued for extortion: should have found a better business model

Living in Los Angeles, Yelp has been a great tool for me. I have used it constantly over the past few years to discover new restaurants and find great recommendations. But rumors of Yelp’s somewhat shady business practices have started surfacing over the past year.

These rumors have now turned into a class action lawsuit, filed in Los Angeles federal court, on behalf of a veterinary hospital. The hospital contacted Yelp asking them to remove a negative review, and claims that Yelp representatives demanded a fee of $300 per month to hide or delete the review. Judging by the number of previous reports of this type of behavior, this lawsuit could snowball into a massive problem for Yelp.

When these rumors first surfaced, I have to admit, I was rather surprised. Not at the allegations themselves, but the fact that Yelp selected a business model that put itself in this position in the first place.

Any user generated review site has an inherent credibility problem: any public user can sign up and easily post a fake review. I’ve seen this done repeatedly, and I’ve also been asked to do it occasionally (I didn’t bother). If your site is focused around user generated reviews of businesses, you need to be doing your best to ensure the credibility of those reviews. If users don’t trust your reviews, they aren’t going to bother showing up at your site anymore.

This is why it makes absolutely no sense to me that Yelp selected a business model that inherently compromises the integrity of their site. It seems like they could have found a dozen other ways to make money. Charging business owners $300 per month for featured listings that make the bad reviews go away wink wink nudge nudge seems like the wrong way to go. They are already fighting an uphill battle to gain credibility in the eyes of users, why make it even more difficult?

At this point, it doesn’t matter so much whether the allegations are true or not. This type of negative PR is anathema to a review site, and could easily drive their userbase to other competitors. Especially now that location based services have taken off and there are dozens of other companies doing very similar things.

Maybe they should have taken the $500 million from Google while they still had the chance…

HTML5 is not about the death of Flash, but the return of browser innovation

My previous post on the Flash controversy brought up some interesting comments that I thought warranted further discussion. A number of bloggers have shared their opinions as well. Incidentally, this conversation has been going on for months on the web, the iPad announcement just seems to have reignited it.

Adobe CTO Kevin Lynch posted:

We are now on the verge of delivering Flash Player 10.1 for smartphones with all but one of the top manufacturers. This includes Google’s Android, RIM’s Blackberry, Nokia, Palm Pre and many others across form factors including not only smartphones but also tablets, netbooks, and internet-connected TVs. Flash in the browser provides a competitive advantage to these devices because it will enable their customers to browse the whole Web. This is being accomplished via the Open Screen Project, where we are working with over 50 partners to make this a reality across a wide array of devices. For example, the recent Nexus One from Google will rock with a great experience in the browser with Flash Player 10.1.

That sounds pretty neat, but I’ll believe it when I see it. Adobe has had years to deliver a solid experience on Linux and Mac OS X and hasn’t managed to successfully achieve that. Cross platform compatibility is only growing more important as the web moves from desktops towards phones, tablets, and netbooks: more devices and platforms that Adobe will have to maintain support for. I wonder how well they can pull it off on mobile phones with even more limited CPUs, memory, and battery life. After all, Flash has never been particularly great at memory management. Or CPU consumption.

Frankly, I wouldn’t want a Flash experience on my smartphone if the consequence is drastically reduced battery life. (Although contrary to Apple, I would like the option to choose for myself. I would simply choose to turn Flash off). In the end, I need my phone to work as a phone, which means being on all the time.

Longer term, some point to HTML as eventually supplanting the need for Flash, particularly with the more recent developments coming in HTML with version 5. I don’t see this as one replacing the other, certainly not today nor even in the foreseeable future.

Adobe supports HTML and its evolution and we look forward to adding more capabilities to our software around HTML as it evolves. If HTML could reliably do everything Flash does that would certainly save us a lot of effort, but that does not appear to be coming to pass. Even in the case of video, where Flash is enabling over 75% of video on the Web today, the coming HTML video implementations cannot agree on a common format across browsers, so users and content creators would be thrown back to the dark ages of video on the Web with incompatibility issues.

Really? The dark ages of the web were driven by Internet Explorer’s inability to properly implement basic HTML and CSS standards, and the fact that their browser had such a massive market share due to being shipped by default on desktop operating systems. Developers were forced to add special support for IE6, but none of them were particularly happy about doing so.

But at this point in time, are things still the same? Does it still make sense to judge the pace of browser innovation and standards adoption with the same perspective as when Microsoft had a death grip on the browser market?

I would argue that the pace of browser innovation has accelerated, and will continue to accelerate, with Mozilla, Apple, and Google driving that innovation. Something that Microsoft was not particularly interested in doing.

  • The mobile web is continuing to grow, and is predicted to overtake desktop browsing in the next few years. And the leaders in that space aren’t running IE.
  • Internet Explorer’s browser share on the desktop is continuing to decline, while other browsers continue to grow. (Admittedly slower than I would prefer.)
  • With the rise of modern browsers and mobile operating systems, the average time between user browser upgrades has been significantly decreased due to automatic updates. I upgrade Firefox all the time (rather, it upgrades itself completely painlessly without any real effort on my part). This supposed advantage of the Flash plugin is now native to the browser itself.

To me, this is what is really exciting about the web right now. The excitement over HTML5 is not about whether it can or will replace Flash. Flash is obviously an entrenched platform that drove innovation during a period where browser innovation was completely stagnant (post IE/Netscape, pre Firefox/Chrome/Safari) and isn’t going away anytime soon.

The excitement is due to the fact that browser innovation is occuring again, in a standards compliant fashion, driven by companies like Apple, Google, and Mozilla. It marks a distinct contrast compared to several years ago when Microsoft’s dominance basically halted all browser innovation, creating an environment where Flash was required in order to display video/rich media on the web.

These days, people are building some really neat apps based on Javascript/HTML, and I expect to see many more, as browser adoption continues to grow and the tools get better:

http://mugtug.com/sketchpad/
http://280slides.com/Editor/
http://www.effectgames.com/effect/games/crystalgalaxy/

No one is saying that the shift to HTML5 will happen overnight, and no one is saying that Flash will become irrelevant overnight. But HTML5 will iterate more rapidly now that Webkit is a major priority for both Apple and Google, the compatibility issues with video codecs will be sorted out over time, browsers will continue to add new, innovative features, and developers will continue to build useful tools and really neat websites around those features.

I’m glad that Flash was around to push innovation when the status quo was IE6 and the browser space was stagnant. But times have shifted, we are inching past the era of crippled browsers that made Flash necessary in the first place, and innovation is happening elsewhere.

Hi

So I’ve decided to start blogging. Yes, yes, I know I am several years late on this one.

Apparently some people think I have thoughts worth sharing. We’ll see if they’re right (probably not).

The best way for Adobe to save Flash is by killing it

Having done several years of Flash development and having worked with many Flash developers, the recent controversy between Apple and Adobe over Flash on the iPad is very amusing to me. First, there are a few arguments that I want to address directly:

But Flash is the only way to deploy a consistent cross platform solution!

Shenanigans. Balderdash. I’ve deployed Flash apps to both OS X and Linux environments. Let me tell you, it’s not pretty. The OS X Flash implementation is a second class citizen compared to the Windows Flash implementation, and the Linux Flash implementation is a third class citizen. I completely understand why this is the case (obviously as a company it makes sense to allocate more development resources towards your largest userbase). But the problem remains, and the OS X/Linux Flash players are nowhere near the same level of performance and stability as the Windows version. Given the allocation of resources distributed towards each player implementation, I doubt they will ever be.

(Programmer digression) For example, my ‘favorite’ OS X Flash player limitation is the fact that it will always return HTTP status codes of 0 whenever you make an URL request. Want to follow 302 redirects like any sane application interacting over HTTP needs to do? Sorry, you’ve got to roll your own! My ‘favorite’ Linux flash player feature? Well, if you want to call ‘crashing’ a feature… How long did it take for Adobe to release a 64 bit Flash plugin for Linux? Who here remembers mucking with nspluginwrapper to get Flash running?

But Apple is just pushing their own closed platform!

Is everyone forgetting that when the iPhone was first released, Apple was championing web apps as the way to write third party apps for the iPhone? For a year after the iPhone’s release, all we had were web apps. Apple added support for native applications and the app store *after* the massive uproar of consumer and developer demand. They obviously struck a hidden gold mine with the App Store and might be reluctant to give it up now, but we’ve all got better native apps because of it.

It’s funny to me how a few years ago we were all slamming Apple for not allowing native iPhone apps and forcing us to build web apps, and now we’re slamming them for forcing us to build native apps *instead* of web apps! Oh how quickly we forget…

Ok, so what’s the solution then smart guy?

In my opinion, the best way for Adobe to save Flash (the development and authoring environment) is by killing Flash (the plugin), and targeting a HTML5 runtime directly.

Flash CS4 is one of the best authoring environments for designers and illustrators to easily create and animate rich, graphical media on the web. No, it is *the* best. Being able to easily import vector artwork from Illustrator, drag and drop PNGs around, resize things and manipulate them in a WYSIWYG editor, without mucking around in the world of HTML/CSS/Javascript? Yeah, I can see the appeal to that. Want to be able to render, resize, and animate dynamically drawn vector content? Flash is great for that. And it’s not terribly difficult to learn either.

But as a developer, the closed nature of the Flash plugin has been a problem for me and many others in the past. Run into a problem with the plugin that you can’t solve? Good luck! File a bug report, and if you’re lucky someone might get around to fixing it in six months. And there are a lot of bug reports.

People develop for Flash because they want to build rich GUIs that are not so easy to do via Javascript/HTML. But the HTML5 canvas capabilities, WebGL, CSS3, these are things that will purportedly render the Flash plugin unnecessary and eventually obselete. The video tag takes care of the rest. We’ve seen that these standards move slowly but they will eventually be adopted by everyone else, and the scope of problems that you need Flash to solve will continue to shrink. If Adobe does not want to be left behind, they should adapt their authoring environment to deploy via HTML5/Javascript and remove the need to run a separate, closed source plugin.

After all, no amount of web standards will change the fact that someone needs to make great tools to design and program towards those standards. And Adobe makes great tools (and makes a lot of money selling those tools). The new feature of Flash CS5 being able to export a Flash program to native iPhone code? Absolutely fucking brilliant. All of a sudden the massive collection of Flash games out on the web can be rebuilt for the iPhone. If they can pull that off, surely they can do it for the web, and all the great Flash content out there can simply be rebuilt for HTML5. Publish settings: Flash binary? Uncheck. HTML5 target? Check. Hell, I bet they could do the same thing for Flex.

To me, this seems like the best of both worlds. Adobe gets to continue selling their tools, designers and illustrators get to continue using their favorite authoring environment, and programmers can build for an open platform instead of a closed one. Incidentally, if Adobe doesn’t do this, I’m sure someone else will. HTML5 is going to define the next generation of web apps. Steve Jobs seems to think so. So does Google.

So, Adobe, embrace the upcoming open web standards, and build a world class development environment that helps define how the next generation of developers program for the web, or hang on to the sinking ship that is the Flash plugin until it becomes obselete. The choice is obvious to me.