Back to the (federated social semantic mobile future) desktop for eGovernment?

This is a proposed workshop for Capitol Camp 2011. This talk will ideally be a collaborative discussion with everyone in the room on the strengths and weaknesses of desktop, mobile, and web apps relative to different e-Government contexts, both in the short-term (2 years) and long-term (20 years). We'll see how close we can get to that ideal in a civil omni-partisan (all perspectives) way -- despite many strong opinions and vested technical interests about our favorite platforms. What are networked desktop advantages and disadvantages (relative to web apps) related to decentralization, redundancy, resiliency, archiving, federation, portability, privacy, auditability, ease-of-implementation, debugability, evolvability, internationalization, and scalability? What would it take to have a well-supported commonly used Java-based client that provided a secure environment for downloading eGovernment applets to run on local data? I may attempt to annotate our discussion as it progresses in real-time using IBIS-related software.

Some notes for the workshop to give you an idea where I'd like to go with it

Back to the (federated social semantic mobile future) desktop for eGovernment?

Are desktop apps, in Monty Python terms, a "dead parrot" or are they "just sleeping"? Are web apps going to rule the eGovernment space (maybe with some simple mobile apps that go with them)? Or is there still a vibrant niche for downloadable federated peer-to-peer and peer-to-relay-server desktop-based rich-client eGovernment apps for use by citizens (especially Java-based ones)? At what point does it make sense to put advanced functionality into a desktop app instead of a web app?

The web is obviously here to stay for the foreseeable future, and web technologies continue to improve rapidly, so this is not intended to be an either/or thing. Mobile apps also fall in the middle between desktop and web, and so they could be discussed in passing too. Essentially, can desktop apps become more like mobile apps in their "federation" through networks? Is that happening already? CouchDB in particular is an example of federated master-to-master databases with applications that can run both locally and on a server.

I'll especially try to make the case that Java on the desktop has a bright future supporting a "social semantic desktop".

I hope to learn a lot from the responses, even if they were to be mostly critical or the consensus was that desktop apps were indeed a "dead parrot". :-)

This talk is in relation to open source software I've been developing on-and-off here related to a transactional semantic triple store:

And it also stems from helping my wife with her Rakontu project on both the web and desktop sides:

And it stems from general ideas about supporting complex structured arguments (like done with IBIS, Compendium, Cohere, SEAS, and Angler).

I would like to raise issues (without necessarily answering them) like:
* The problem of managing complexity is central to information systems -- irreducible complexity you can just push around vs. complexity we make for ourselves. How do we decide which is which?
* When is the last time you downloaded and installed desktop software? Why did you do it? Do other people you know still install software?
* Do you use plugins in your web browser? Why? What is the real difference between a browser plugin and a desktop application?
* What is a desktop computer and does it include laptops and smartphones?
* How did Google implement Picassa and Google Earth?
* People still download games like Minecraft, CAD programs like LEGO Digital Designer, development tools like Eclipse, email clients like Thunderbird, and feed reader apps like TweetDeck. Why?
* Desktop exploits versus cloud and web exploits; if you live in a cloud or the web, then isn't that where your worst vulnerability is (cross-site scripting attacks, browser exploits, etc.)?
* What is the difference between shared standards, shared implementations, modular implementations, and shared servers?
* Are we overestimating many of our users? Can they even tell the difference between a link and an app? If they need help, what does it matter what software (web or desktop) they use? Are web interfaces too complicated in the end anyway?
* What are the implications of Moore's law and the specs of a desktop or mobile computer in ten to twenty years and the implications for things like having the legislative record stored or searched locally?
* What are the implications of a conversational future with Apple's Siri or IBM's Watson? An AI on your desktop? Isaac Asimov writing about both globe-spanning Multivac and mobile robots -- was it irony or prescient?
* Do we need to live with (or even prefer) intermittent connectivity?
* What is the difference between publishing to the web versus interacting through the web?
* Is it true that if it does not have a URL it is broken? If so, how can we have URLs in desktop apps?
* Where do you store your private key in public key cryptography when you use a web app? What does that imply about the rest of your dependencies?
* What are the privacy implications of remote searches (example, a search on "AIDS" on a government server vs downloading the entire public health database and searching locally)?
* What is meant by a Social Semantic Desktop idea? What is meant by Federation?
* What are the current accessibility issues for advanced applications (in particular, beyond problematical incomplete libraries, the issue of application access versus data access)?
* What are networked desktop advantages (and disadvantages) related to decentralization, redundancy, resiliency, archiving, federation, portability, privacy, audit-ability, ease-of-implementation, debug-ability, evolve-ability, internationalization, and scalability?
* What are the implications of CouchDB NoSQL database backend and other distributed transactional ideas like the Pointrel system I've worked towards myself as far as empowering peer-to-peer distributed systems?
* What would it take to have a commonly used Java-based eGovernment client that provided a secure environment for downloading eGovernment applets to run on local data?
* What sort of desktop (or mobile) apps might NYS citizens want to interact with eGovernment if technology was no barrier?
* How should desktop, mobile, and web software and databases interact?

Maybe I can even try to diagram the comments in real-time in a desktop-based IBIS system like Compendium while others try it in the web-based Cohere? :-)

Further reading

Monty Python on The (Dead) Parrot Sketch :-)

"The Linux desktop is dead. Long live the Linux desktop"
"I’ve also noticed that Google is making both Chrome OS and the Chrome Web browser ever more independent of being online. Besides local storage for applications, Google has just added local C and C++ applications–you know, conventional desktop programs–with Native Client to Chrome 14. I think a lot of users would be happy with an operating system with a Web-browser interface that would work just fine off or online, and wouldn’t require them to learn a new interface, ala Metro."

"The Desktop PC is Not Dead, D*mn It!",2817,2390630,00.asp

"Who does that server really serve?"

The Skills of Xanadu by Theodore Sturgeon (a vision of decentralized eGovernment from the 1950s using mobile computing):

Chaordic processes:

Meshwork, Hierarchy, and Interfaces (Manuel de Landa):

Stigmergic collaboration:

Issue-Based Information System (IBIS)

Cohere Software (IBIS-like) for the web: (has crashed my FireFox on the Mac, but runs under Safari for 10.6).

Compendium Software (IBIS-like) for the desktop:

Monty Python on The Argument Clinic :-)

"The argumentative theory of reasoning"

"Michael Sandel: The lost art of democratic debate"

"Scott Page on Diversity and Pluralism"

--Paul Fernhout

The biggest challenge of the 21st century is the irony of technologies of abundance in the hands of those thinking in terms of scarcity.