News

Widgets Revolutionizing App Development

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 for Sun Microsystems. Fast spoke today at the JavaOne conference, held this week in San Francisco.

As a result of this sea change, software engineers in the future may spend less time writing end user applications themselves and focus more of their efforts on building platforms that can be used by less experienced programmers, or even non-programmers, to build their own widgets, Fast predicted.

For enterprises such as government agencies, such a shift may change the way they use applications as well, with end 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 usually done for another party. However, social sites like 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 an "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 gave was a simple game on Facebook called Zombie, 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 now its popularity has waned to only 67,000 users.

Fast called such applications disposable or situational applications. They may only have brief lifespans, though 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 argued, since such applications tend to be easy to create in the first place.

And yet, even in their brief lifespan, such widgets tend to have a profound impact. Another Facebook program, a slideshow application Slide, has been installed 95 million times, and now has over 5 million active users. It has an annual monthly viewership of over 134 million users, an audience larger than most television shows enjoy these days, Fast noted.

In total, Facebook alone has 24,000 third-party applications, which have been installed 864 million times.

"Facebook and other social platforms are major drivers in application development," Fast said.

Fast argues that this changes the very 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: Whereas 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, these disposable applications tend to be built off the cuff using scripting languages like JavaScript and PHP, and graphical user interfaces supplied by companies like Yahoo and Google.

Fast noted that crucial to the success of these widgets are platforms, such as the Web, as well as more specific platforms built on top of the Web like Facebook, Wiki software and Yahoo Pipes. Such platforms take care of many of the basic low-level implementation details, freeing up 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 non-programmers. "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.

About the Author

Joab Jackson is the chief technology editor of Government Computing News (GCN.com).

comments powered by Disqus

Featured

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events