Widgets revolutionizing app development
Connecting state and local government leaders
A sea change is now occurring in the world of software, with the number of small disposable applications, or widgets, being developed by casual users.
They're small and easy to create. They multiply like rabbits.
The best become immensely popular very quickly and are forgotten
just as fast. And they are changing the face of application
development.
A sea change is now occurring in the world of software, with the
number of small, disposable applications ' or widgets '
being developed by casual users.
"The application development model is changing. It is opening up
to a broader audience. Exponentially more people will be building
applications," said Todd Fast, a chief Java architect at Sun
Microsystems. Fast spoke today at the JavaOne conference, held last
week in San Francisco.
As a result of this sea change, Fast said, software engineers in
the future may spend less time writing end-user applications and
focus more of their efforts on building platforms that can be used
by less experienced programmers or even nonprogrammers to build
their own widgets.
For enterprises such as government agencies, such a shift may
also change the way they use applications, with users taking a more
active role in creating the programs they need.
Traditionally, most software developers have thought of
developing an application as a time-intensive project done usually
for another party. However, social sites such as Facebook have been
breeding a new generation of programmers, most of whom do not write
code for a living. Rather, they create small programs to address
some specific need. The programs tend to be small, built quickly,
easily deployed and not designed for long-term use, Fast said.
The Web has experienced explosive growth of these new types of
applications. In particular, social-networking sites such as
Facebook and MySpace have set up frameworks that allow users to
write, share and use third-party widgets, resulting in thousands of
small, simple applications, the best of which are used by
millions.
"You interact with your friends through technologies rather than
go to see them ' this creates a pull for new applications,"
Fast said.
One example Fast cited was a simple game on Facebook called
'Zombie' that was created by a single programmer. The
program allows Facebook users to 'bite' their friends,
turning them into zombies. At its height, it had over 250,000
users, though its popularity has wanednow to only 67,000 users.
Fast termed such applications disposable or situational
applications. They may only have a brief life span, and they are
fairly easy to create. "Unless they are enduringly useful, they
wither. When something new comes along, [people] throw those away,"
he said. But this is no big deal, he added, because such
applications tend to be easy to create in the first place.
And yet, even in a brief life span, such widgets tend to have a
profound impact. Another Facebook program, a slide show application
called Slide, has been installed 95 million times and now has more
than five million active users. It has an annual monthly viewership
of more than 134 million, an audience larger than most television
shows enjoy these days, Fast noted.
In total, Facebook alone has 24,000 third-party applications
that have been installed 864 million times.
"Facebook and other social platforms are major drivers in
application development," Fast said.
Fast said this changes the field of application development.
"Nothing I ever wrote has ever had 5 million users," he said. He
noted the marked contrast between the styles of development:
Enterprise software developments tend to be highly organized,
relying on complicated integrated developer environments, formal
code review, versioning control software and well-thought-out
architectures, but these disposable applications tend to be built
off-the-cuff using scripting languages such as JavaScript and PHP
with graphical user interfaces supplied by companies like Yahoo and
Google. Fast said these widgets rely on platforms such as the Web
in addition to Facebook, Wiki software, Yahoo Pipes and other,
more-specific platforms built on top of the Web. Such platforms
take care of many of the basic low-level implementation details,
freeing their users to concentrate more on the unique features of
their own programs. "The more tools casual users can use, the more
programs they will produce," Fast said.
And this is where more seasoned engineers may be spending their
efforts in the future ' building more effective platforms for
nonprogrammers. "We will build the platforms that will enable
everyone else to build, to increase the richness of the Web, to do
far more than what has been done before," he said.