Friday, March 25, 2011

Government 2.0 Architectural Patterns

Having co-authored a book for O'Reilly titled "Web 2.0 Architectures", which largely focuses on patterns of things deemed to be "web 2.0", I have turned my mind towards specializing many of these towards government.

The scope for this work would be IT systems that provide services to citizens.  There are several concepts that seem to be no-brainers when you look at them at a high level. However, there may be red tape or other legislative or legal reasons why they cannot be simplified.

A white paper is in order, however here are some preliminary thoughts:

1. Please don't ask me for information you already have!  Governments should avoid asking their users for information they already have.  Practical:  I fill out income tax forms every year in which I have to enter data that is used to calculate my personal taxes.  The reality is that my government already has most if not all of this information.  My employer has to file my income with them, charities already have filed copies of receipts and the government knows exactly how much money they have deducted already for federal and provincial taxes.  Why am I being asked to enter that information into a form again?  Perhaps figuring out a confidential way to send me my completed tax return and then allow me to file "adjustments" would be more efficient from a user perspective?

2. Open Data.  The Government of Canada has recently made several sets of data open for the people who paid for the data (citizens) to access.  (http://www.data.gc.ca/default.asp?lang=En&n=F9B7A1E3-1).  I applaud this move and now we have a responsibility to help them specialize the way data is published at the next level.

3. Allowing multiple channels of communication to be reconciled.  The Canadian government again had a great program for electronic passport applications and renewals, which reconciled electronic forms data and "in person" interviews.  More government departments need to be savvy and adopt this sort of system.

4. Use of Social Media!  I've seen some government departments shun social media.  Sometimes this is based on a fear or perception that the conversations will be antagonistic towards their department.  Guess what?  It is far better to be part of a conversation than to be defined by it.  Get over your fears and get involved with social media.  Use it as a tool to figure out where the common practices are that annoy end users and how to best fix them.  Find out what is working well and what is not.  Find out what the public does not know and use social media to help convey solutions to us.  Use social media to get citizen input and ideas.  Vancouver City council has done this! (http://talkgreenvancouver.ca/).  This involves letting go of ego and recognizing that good ideas can come from anyone.

5. Electronic records.  The Ministry of Health in BC has started moving to EMR (Electronic Medical Records).  This is a huge step in the right direction.  I trust this far more than having all my records sitting in a single doctor's office in paper format.  

6. Use SOA!  Services to citizens are core.  If you can take services and allow 3rd parties to provide them, this could make all our lives simpler.  With this comes great responsibility for things such as ensuring records are not breached or files compromised, however I believe this can be done in a manner that serves the greater public interest.  The use of services could be applied to many contexts including Government to Government, Government to Citizen and Government to Industry (Business).

7. Protect my data!   Please take steps to protect my personal data from hackers or accidental leaks.  Adobe makes a great product called "Rights Management" (part of the LiveCycle ES platform), which can mitigate the impact of disasters, even after they have occurred.   

8.  Use technology to become more open and transparent.  Allow the decisions made, data available and rationale being closed voting to be publicly accessible.  This would be easy to implement by using a Robert's Rules XML schema to mark up data that would allow anyone to find out who attended meetings, who voted on various topics, and categories and more.  The public would love it more than finding out later or worse, being critical based on false beliefs.  Transparency should be a cornerstone.  Isn't this what democracy is all about anyways?

9.  Accessibility by Joe Average.  Typically, access to senators, heads of state and other high ranking public officials has been perceived as impossible for the average person.  Using the collaboration tools available via the Internet, governments can easily allow citizens to have better access to information and individuals charged with the fiduciary duties of public office or as public servants.   Products like Adobe Acrobat Connect could be used to have a citizens briefing once a week to allow individuals a platform to engage with government on various topics.  Obviously this wouldn't work in a general setting (e.g.: Obama allows any citizen to discuss any topic), however scoping this to narrow issues such as local municipal politic issues could have a huge impact.

Anyways, these are some initial ideas I had.  If you think they are bunk or have others, please leave a comment.


Tuesday, March 22, 2011

WebVisions Hands on Mobile Android Code Camp!

If you are in Portland, OR on May 25-27, you must come to the Oregon Convention Center for the WebVisions Event. WebVisions is a nationally recognized conference that explores the future of Web design, technology and business strategy.

I have been invited to give a hands on development course that will lead people through the process of building a mobile application that deploys to the Android and BBos platforms.

Title: Hands-on AIR 4 Android Development

Desc: This hands-on Boot Camp is for developers to build an applications targeting the Google Android O/S.  Adobe Sr. Technical Evangelist Duane Nickull will prepare attendees ahead of time to complete this course using their own laptops.  Attendees will learn the basics of AIR 4 Android/BlackBerry O/S such as:    

- basic application architecture
- creating a new application project and how to use the emulator    
- invoking services and binding result formats including some best practices    
- switching between multiple views    
- invoking system actions via intents    
- touch screen gesture control         
- packaging the output as *.APKs to publish to the marketplace

Due to the short time of this session, all attendees will be given source code samples and resources to take away for self paced learning.