Saturday, August 21, 2010

NZ Google Barcamp 2010 #nzgbc

Arranged by Mike Riversdale, the NZ Google Barcamp 2010 brought together a bunch of people from throughout New Zealand to engage in discussions with a focus on Google. Here's a synopsis of my notes from some of the sessions I attended.

Location Based Services

  • There was a good discussion re GPS / Location apps that would be great for Primary School kids.  Some of the key areas discussed (which are definitely not limited to only being suitable for kids) were:

    • Augmented reality and being able to visualise what a street looked like in 1910.

      • History Pin has already collected some good content from the past.

      • This is adding a time dimension to location.

  • Simile (MIT) is focused on developing robust, open source tools that empower users to access, manage, visualize and reuse digital assets.

  • There is a lot of excellent information available in Layar for augmenting the real world with what you can’t see.

  • A location-based augmented reality example is being able to wander down a street, point your phone at a building and get information about the architect and what else they've created.

    • DBpedia is doing some excellent work in this space.  As per there website it is a community effort to extract structured information from Wikipedia and to make this information available on the Web. DBpedia allows you to ask sophisticated queries against Wikipedia, and to link other data sets on the Web to Wikipedia data.

  • Scavenger hunts, Geocaching and Virtual reality gaming such as grabbing objects in a virtual environment are examples of fun that can be had with location.

  • With services such as “Fix my street” that collect location based information, getting this information to the right party, getting them to action it, following up on it and the entire feedback loop is a key consideration.

  • There is a lot of data on the web, and if it has an open license it will drive additional services to be built based on the data.

    • c.f. Base data vs adding value added services on top of the data.

Google Earth

  • Watched a very cool Google Earth video that http://planetinaction.com have done. Wow.

    • Followed by an A-team van driving around San Francisco.

    • Excellent for showcasing cruises, locations etc.

    • There are a number of demos available at the website above.

  • Google SketchUp is excellent for creating 3d models.

  • You can create your own Google 3d fly-through tour with http://planetinaction.com/places.htm

  • Building Maker is a 3D modelling tool for adding buildings to Google Earth.

  • Google is really wanting to make a model of our real world over time (for Google Earth at least).

    • This then raised a data ownership concern.  If individuals are able to add information to Google Earth and Google owns the data then should we be concerned?  It will be interesting to see whether OpenStreetMap ventures into this space.

  • Imagine using Google Street view for seeing what's on sale in a store. If the data was up-to-date the quality is there.

  • A Google Earth Application framework can be found at http://planetinaction.com/gearthframework/

Android development (the Sprite Software story)

  • Online backup/restore for Android.

    • Spritebackup

    • Backs up SMS, Contacts, Call Logs, Photos, Videos, Settings, …

    • Box.net and Dropbox releases

  • If you can get your software adopted as part of an OEM this is typically significantly more lucrative than selling it via an app store.

  • Android 2.2 backup is system settings and apps bought from store restored. That is all currently, but APIs available for apps to backup.

  • Sprite Software also have products to locate and protect your phone if it is stolen.

Education

  • I was probably 1 of about 2 people in the room that weren't teachers.

  • Google Apps is being used by a number of schools for both students and staff (with several others very interested in it).

    • Keep teacher account separate from admin account.

    • The key Google Apps components that appear to be being used are Email, Chat, Sites and Docs.

  • Can decide what you want students to have access to (inc. Enabling offline Gmail).

  • A key consideration is enabling access to additional applications as students advance in Years.

  • When students leave, being able to terminate their accounts easily is good without needing to do each student individually (e.g. by Year).

  • Allowing students to archive their information or move it to another Google account prior to losing their account is also ideal.  These features are available.

  • Google Apps Sync for Microsoft Outlook works well.

  • The Google Apps Updates site / RSS feed is an excellent resource for finding out about new features and changes.

  • Google Surveys are a great way to survey students.

  • Flexibility of permissions is important.  Teachers would like to see all, ability for students to share with class etc.

Google Web Toolkit (GWT)

  • Google Web Toolkit appears to essentially be an alternative to jQuery for building application-intensive websites. It is very powerful once you get your head around it.

  • Biggest problems with GWT were with Chrome (of all browsers); initially at least.

  • Inner classes are good to use; typically better optimised.

  • The event model GWT uses is like nothing else so takes a bit to get used to.

  • Components and Widgets are really easy to write.

  • Fast and stable.

  • Make it clear to people you are building an application, not a webpage. (c.f. state etc.)

  • GWT RPC can't be cancelled. Needs to be considered.

  • For any Java class you can say to use a Java GWT class instead.

Tuesday, August 17, 2010

Pros and Cons of Software as a Service (SaaS) with a focus on the cons

There is a lot about Software as a Service (SaaS) that I love, but it is important to ensure that if you are looking at a SaaS solution to also consider what some of the cons are.

I recently posted these as a comment over on Ben's "Software Delivery Approaches – Debunking the Myths" post and thought it worthy to reiterate the key points.

The key Pros (from my perspective) Ben articulated with SaaS were as follows:
  1. Ability to provision almost instantly.
  2. Pushes infrastructure, service, and support costs to the vendor.
  3. Upgrades are automatically applied to all users – all customers work with the same application.

Cons of ASP and SaaS options (which will have differing levels of risk based on who the vendor is):
  1. If the vendor goes out of business, then you may have a significant problem with little or no warning.
  2. Depending on where the data is hosted you may be subject to different laws.
  3. From an information/data security perspective you are placing trust in another organisation. On the flip-side for many organisations, this may however be better than what they would have anyway.
  4. With SaaS you are moreso at the mercy of the vendor’s roadmap changing with little or no notice. Whilst this can be a positive in terms of functionality delivered, I’ve seen this one go the other way whereby a vendor “changed the rules” and as a result this raised a number of audit/risk challenges.
  5. Depending on your timezone, scheduled downtime (if required) may not be at an optimal time.
  6. Potential for increased latency depending on the location of the service. This may however end up being closer to your customers so may in fact be a positive.
  7. Integration may be confined to API limits that are not suitable.

Thursday, August 5, 2010

Product Development: The value of asking "Why?"

I attended an excellent presentation from Daniel Szuc last night at the UX Auckland meetup.  There was lots of excellent content and one of the slides he presented was a good reminder about asking the simple questions when embarking on the delivery of a new product:
  • What does this product do?
  • What do you love about the product? (Would you buy it?)
  • What does the product team love about the product?  (Passionate?)
  • Could you sell the product? (if asked to)
By asking these questions up front you may avoid progressing with delivering a product that provides no or little value.  Up front it is easier and cheaper to either redesign or abandon as required.