It’s easy, really, to have a successful web app these days. Just follow these easy steps* and you too will be on your way to fame and fortune:
- Think of one function that doesn’t already have a web interface. Anything. How about a web inventory of your socks?
- Register a hip ccTLD from another country in combination with a subdomain. http://m.ysock.it, for instance?
- Write your app using Ruby on Rails
- Have a clean, efficient design, don’t forget huge text input boxes
- Don’t forget Ajax! You’ll need lots of script.aculo.us effects all over. Drag and drop icons of socks to a laundry bin perhaps?
- Weeks, nay, months before your app launches, offer a teaser page that allows folks to enter their e-mail address to be notified when the app launches. Don’t forget to remind them that you won’t tell their info, cause you’re a nice company ;)
- Weeks before your app ships, pick a few e-mails from the list and invite them to beta test. If they provide useful feedback, give them a discount when you launch
- Offer a tiered subscription model, but it is imperative that the first tier be a free trial. For free you can track 20 socks (10 pair), but pay just $4 a month and track 100 socks (50 pair), $7 a month will let you inventory 1000 socks (500 pair)... what a great value!
*Dramatization: Individual results may vary.
Ajax is making great strides in bringing desktop-like, low latency apps to the browser. What if we take it all the way and bring Ajax to the desktop? Nay, make it the desktop. The next logical step for Ajax, the Web, and computing is the so-called “Web OS.”
The Web OS would be an extremely stripped down kernel (i.e., Linux) simply running a web browser (i.e., Firefox) in full screen mode.
The traditional “start page” is becomes your desktop. The web page would be customized much like your Start or Apple menu to load pre-defined shortcuts (i.e., Webmail, or even another browser). You could even run things like word processors or spreadsheets, without the fear of being without your data when you travel.
Think about it: all of your “desktop’s” settings are stored on a central server (ahem, Google), making data accessible from anywhere. If you are using a machine without the OS, a web browser would suffice to access the same data in the same way (ala VNC.)
From a development standpoint, it gets even better. You no longer have to worry about users performing (or not performing) software updates because updates to the code are seen in real time. Versions are thrown out the window because everyone is using the latest version (no more “Have you updated to 2.0 yet?”) Simple bug fixes can be performed with no hassle in shipping another product.
So who wants to start?
10/2/2005: Update: It’s here.
I’ve made this mistake myself on many occasions but it recently dawned on me: comparing Ruby on Rails with PHP is impossible, because PHP is not an application framework but a scripting language. If you want to compare anything to PHP, compare it to Ruby.
With Rails you have Active Record, Action View and all these other cool technologies and with PHP you have mysql_connect() and echo. With PHP, you have to write code for all the heavy lifting yourself. Rails does it for you.
That was a big draw for me coming from PHP where for each app you have to write another form-verification script or try to integrate a previous one with your new app. This stuff tends to get tedius after awhile and draws you away from more important stuff like, you know, UI design, usability, thinking about your data, and actually creating the app.