[cgiapp] Dancer, URIs, and Web Apps
Bill Stephenson
bills at ezinvoice.com
Fri Mar 5 13:54:38 EST 2010
On Mar 4, 2010, at 9:36 PM, P Kishor wrote:
> 5. clean URIs (routes) without screwing around with bazillion settings
To me, this seems to be more of a current programming fad than a real
user issue. I've never had a single user complain that long or ugly
URIs bothered them.
If hiding URLs from users is a design goal it also seems like it is
easily solved by using AJAX to update content.
Web Apps
I've been reading Apple's guidelines for "Web Apps". They describe how
HTML5 has added client side features for web apps and Apple's support
for them in their Safari web browser running on both Mac and Windows,
and their "iDevices".
When a user starts a web app from their "Home" screen on an iPhone the
app controls the entire screen, just like a native app, so no URLs are
displayed to the user at all, ever.
I think this is relevant to all of us because all content updating must
be done with AJAX on web apps optimized for Apple's iDevices. If the
user clicks a standard web link it opens the URL in a new Safari
browser window and leaves your application. This is a feature.
This is important to us all because because almost all the mobile
device makers announced last week that they will be creating a common
standard for developers to create platform independent apps to run on
these devices. It seems likely that they will adapt the same open
standards that Apple is supporting on the iPhone platform.
All web app developers would do well to start implementing the
techniques needed to take advantage of the features and accommodate the
requirements of these devices and optimize their content for display on
them.
Personally, I think the CGI Application Framework project goals might
do well to include how the framework can integrate tighter with the
client side features available now and those coming in HTML5. This
would obviously require making the inclusion of javascript in output
something that is easier to do.
HTML::Prototype is a good example of what I mean. Helper tags for
JavaScript are needed to really take advantage of all the upcoming
potential for web app developers. The client side data storage features
in HTML5 go a long way past cookies. Among other things, this will add
some offline feature capabilities to our repertoire.
Here's some info from Apple on client side data storage, but this info
is not necessarily Apple specific:
http://developer.apple.com/safari/library/documentation/iPhone/
Conceptual/SafariJSDatabaseGuide/Introduction/Introduction.html
It won't be long before we can't ignore these mobile devices. Google
boldly stated this week that "In three years desktops will be
irrelevant". That's because everyone will be using web apps. Apple is
certainly moving that direction with the MacBook Air, iPhone/iTouch,
and now the iPad, and of course there are "Netbooks".
The great thing is, CGI-App developers are likely doing 95% of
everything they need to do to create an iPhone web app now and those
apps should run in most all other mobile devices soon.
Right now, if you incorporate the Apple guidelines for web apps when
you start a new project, and that doesn't take much, all you have to do
is create a new set of "Views" for your MVC app and your done, your web
app runs native on an iPhone/iTouch/iPad.
Here's a link to those guidelines:
http://developer.apple.com/safari/library/referencelibrary/
GettingStarted/GS_iPhoneWebApp/
That's more than I've said here than in the past five years. I do hope
some of you find it useful.
Kindest Regards,
--
Bill Stephenson
More information about the cgiapp
mailing list