February 2011 Dublin GTUG

Another successful GTUG meeting last night – we had about 35 people coming out to play.

There was something for everyone in the session of talks last night. First off, Seamus Rooney of the Clarity Centre in UCD gave a talk on Google Power Meter (GPM), what it is, how it’s used and his experience getting it set up with the CurrentCost meter system. GPM provides a nice set of tools/widgets for users to monitor their energy consumption over time and it seems pretty straightforward to configure. It’s interesting that Google has the potential to build up a huge database of (largely residential) energy consumption patterns from all over the world – some very valuable data there. [Link to Seamus’s slides].

Next up, there were two talks by Camara, an education focused charity which uses Google Apps for Education in its deployments. Eoghan Crosby was first out – he’s the main technical guy in Camara – and he gave a talk on how they have integrated Salesforce and Google Apps to enable the charity itself to run as a very lean operation. Following that, Steven Daly talked about some of the issues they encounter when trying to deploy Google Apps for Education within the Irish school system – a very interesting talk which dealt with many of the softer issues which can hinder technology adoption. Steven and Eoghan are always looking for technically minded volunteers and any GTUGgers that think this might be a good cause can get in touch with them via their website. [Eoghan’s talk] [Steven’s talk].

The final talk of the evening was given by John Dalton on his experience installing Gingerbread with Cyanogenmod on a HTC Desire. John was completely enthused by this release of Android – he talked through his experience installing the distribution on the phone and demonstrated some of the new features that got him excited. John gave a fantastic talk, completely off the cuff and we hope he’ll be taking to the mic again soon! [Notes on installing Cyanogenmod].

Next GTUG on March 29th.




January 2011 Dublin GTUG meet

The January 2011 Dublin GTUG was far and away the biggest event we’ve had to date. Eoin counted something around 70 people in attendance (I didn’t count, but would have guessed more). The session had a very clear Android focus; it was very clear from the response that this is a very hot topic amongst the developer community here in Dublin right now.

The session comprised of 4 talks, each addressing different aspects of Android.

First off, we were very lucky to have the inimitable Mark Murphy giving a talk on anti-patterns in Android – common mistakes that Android developers make, why they are mistakes and how they can rectify them. Mark gave a great talk which covered very many different anti-patterns, ranging from poor management of services in Android to designing UIs based on mobile apps for other platforms. Many of the anti-patterns arose from poor understanding of the management of processes and services in Android, resulting in inefficient use of resources and/or delivering a poor user experience. The GTUG audience really liked Mark’s talk as it conveyed a lot of non-obvious, useful and valuable information in an easy to digest and entertaining manner. (Big thanks to Mark on behalf of the group for reaching out to the group and for delivering his excellent talk despite being quite tired after a lengthy transatlantic trip!). [A variant of Mark’s slides is here].

After Mark, Dan Murphy gave a short talk on his experience developing an app and putting it on the Market. Dan focused on sharing his experience pricing his app, how many downloads he was seeing, how much revenue it was generating, etc. While every app is different and the success of an app is obviously related to both the quality and utility of the app and how much marketing effort is spent on it, Dan did give some very useful benchmarks on what to expect with regards to downloads, price points and expected revenues for niche applications without much promotion. [Link to Dan’s slides].

Steven Strachan from GeoDealio followed Dan with a talk on location in mobile applications. Steve talked about how devices have evolved and how the early, bulky devices used in research labs in the late 90s/early 00s have now become commonplace. He then went on to describe how location is still something that is evolving; many app developers assume advanced mobile platforms can give location information, which they can, but the app developer needs to take care when interpreting this information, particularly relating to its accuracy. For many city use cases or applications in buildings, location information can be quite inaccurate which can be quite problematic for many applications. Steve noted that AR applications are receiving quite a bit of attention, but only deliver a useful user experience if the location information on which they operate is very accurate. [Link to Steve’s slides]

The last talk of the night was given by Marco Forte. Marco deserves a special mention as he’s only in fifth year in secondary school and was willing to stand up and talk in front of the GTUG audience. Marco talked about his experience with AppInventor – how he had used it to build a Dublin Bus timetable application and put it in the Market. He talked more generally about how AppInventor works, what types of applications it is good for and what limitations it has. He then showed how it is possible to make a simple twitter app using AppInventor, download the apk and deploy on a device. All in all, Marco gave a great talk, especially considering his level of experience – watch out for this kid! [Link to Marco’s slides].

As it’s clear that the demand for Android focused events is high, we’re working on organizing a longer Android hacking/development session, probably over a weekend in April. We need to work through logistics and make sure everything is feasible, but we’re reasonably positive we can make it happen. More details on the Google group and on the twitter feed.

Next month’s session is on Feb 22nd – still working on agenda, but it looks like we’ll have some talks on Google Apps in Education and something on Google Power Meter.

December 2010 GTUG Android Hackathon

Instead of having the usual talks-focused meeting, we decided to have a bit of a hacking session for the December meet. The reasons for this were twofold: we felt that there would not be enough folks around during this timeframe for a good talk-based meet; also, we wanted to dip the toe in the water with regards to organizing more active sessions, as these are a key part of GTUGs after all.

The plan was to spend about a day working on simple Android apps – from 12pm to 8pm on December 29th – with an expectation that one or two simple apps might be developed.

About 10 people turned up for the event – a mix of experienced and less experienced folks, with more emphasis on the latter. We spent the first hour talking about what kind of apps we should try to build, which acted as an interesting brain storming session in and of itself. 6 ideas were bandied about and we decided on the following two:

  • a UCD Navigatior app – an app which acts mainly as a map specific to UCD (which incorporates information on the location of UCD buildings) and could easily be extended to a directory app. The main motivation for this was that I often have problems directing people to me when they come to UCD – this app could solve that problem;
  • a Safety Camera Locator app – this app would be a car focused app which would indicate the location of the new safety cameras to the driver and alert the driver if they were approaching one. The app would help raise awareness of safety amongst drivers

The first app solves a specific problem which I was having and could be easily modified to work for any campus environment; the second was of more general interest and we felt would see significant downloads.

Having trashed out the apps, we broke into a couple of teams to work on them. The breakdown of work was a bit ad hoc and varied depending on the level of experience of the folks involved. Quite a bit of time was spent getting the environments working – Eclipse, ADT, emulator, eGit, Git repo, etc. We really felt that this should have been set up a priori and that folks should have been able to pull down an Android app and compile it prior to coming out to play.

I was working on the UCD Navigation app – we managed to get a simple app working which has a splash screen, presents a menu and performs some basic mapping. The mapping was based on OSMDroid and we really only got this working at the last minute (we had some non-obvious problem in which we were running an emulator which had no SD card – OSMDroid didn’t give us any intelligent error to inform us that this was a problem). We didn’t get the locations embedded in the map, nor the planned speech interface working; however, some of the basic pieces are there and I for one would like to move it forward a little.

The team working on the Safety Camera app made even less progress than we did, unfortunately. The guys on the team spent even longer fighting with devtools and only just got the mapping stuff working at the end – they did not manage to do get anything done with regards to flagging the specific zones in which cameras are and/or collating speed information. This team would also like to move this forward as they think it’s an interesting, useful and fun app.

Overall, we were quite satisfied with our first Dublin GTUG hacking session. The turnout was respectable, certainly given the time of year and the outputs were reasonable, although not spectacular. We did suffer from the usual problem of taking considerable time to get toolsets configured – we need to address this by doing more upfront preparation and issuing explicit instructions on how to get the tools working, folks then need to come somewhat prepared.

We will definitely do this again quite soon in the new year. One day is short, but sufficient to get something working if people come prepared. However, I think that running it over a weekend and having a second day to play with would make a lot of sense in terms of making it much more likely to have interesting and useful outputs.

Acknowledgement: Thanks to Eoin Bailey for providing input to this article. Eoin has his own report on the event here.

November 2010 Dublin GTUG meet

Last night, we had the November 2010 Dublin GTUG meet. This is a short report on the meet.

As the GTUG has been evolving, we’ve been keen to try to get the sessions more focused on one technology, rather than having quite a mixed bag – this makes it easier for a potential attendee to decide if they are interested or not in the session. Last night was really the first session operating in this mode – the session was specifically focused on the Google App Marketplace.

The session comprised of two longer talks – one given by Claudio Cherubino of Google Developer Relations and one given by Morgan Lynch of Yendo.com. The two talks complemented each other very nicely: Claudio opened the proceedings by discussing Apps Marketplace in general and Morgan gave some specific experience using App Marketplace from a business and application developer perspective.

Claudio started by describing what App Marketplace actually is, how it relates to Google Apps and the usage of the Google Apps platform. He then described the process of developing an app for the Marketplace, what the integration points are, what technologies underpin the App Marketplace and how it works in general. He then gave some more specific example of how easy it is to develop a web-based voicemail app based on Twilio, how the workflow operates and gave some snippets of PHP code to show how to obtain the user’s login identifiers (via OpenID) and authorization to access their data (based on OAuth). Finally, Claudio talked a little about the new Billing API which will be offered via Checkout and will make the job of handling payment for App Marketplace apps much simpler. All in all, the demo application that he showed was put together with about 100 lines of code – it was remarkably powerful for the little work required to develop it, which really shows up the power of the platform.

Morgan Lynch from Yendo then gave his story. Yendo is a small business focused on providing cloud based accounting applications; Morgan had some experience in this space and thought that the offerings out there were typically quite antiquated and there was an opportunity to develop a slick cloud based application which could be offered as a SaaS proposition. Yendo originally developed their solution as a standalone web based offering, however, when App Marketplace was announced they decided to integrate with it. Morgan reported that the integration – with their .Net based application – was a very simple process indeed, taking only a matter of days. Further, the Marketplace has global reach and it enabled Morgan to get access to customers in very diverse, remote places – something that would most likely not have happened without the Marketplace channel. Marketplace gave Morgan access to a large amount of users and his targets for users on the system increased dramatically as a result.

There were some interesting questions posed to both Claudio and Morgan. Some of the questions were:

  • how international is Marketplace – not very, it’s still English, but they are aware that this is an issue
  • what types of users does Yendo get through Marketplace – mainly v small organizations, often sole traders (and often in jobs that you wouldn’t expect to be signed up to Google Apps)
  • what kind of scrutiny does Google give apps sold through Marketplace – v little, they rely on the users of the apps to perform their own due diligence and they have some commenting mechanisms which should show up poor quality apps quite quickly

The only other order of business was to decide if there will be a meeting in December to do some coding. A show of hands convinced us that there is enough interest to give this a go – so this will be organized and details will be circulated. Everyone must get their thinking caps on for cool, but simple, apps to develop!

List of Tech Groups in Ireland

I couldn’t find a list of tech groups in Ireland. EI does have a calendar of events, which is great, but I just wanted a list of groups, rather than a list of events.

I started to pull together some of the info on this page – all pointers and contributions welcome.


GAE, App Marketplace, Python and Java

I spent some part of the weekend working on an app which was hosted on Google App Engine (GAE) and hooks into the Google App Marketplace – I learnt a bit about how these systems work together and thought I’d share.

There are some issues with the choice of development languages for an App Marketplace app hosted on GAE – GAE supports Python and Java and App Marketplace currently offers supports for Ruby, Java, C# and PHP. In principle, it is possible for App Marketplace to work with other languages, as it is really just a set of web APIs; however, it could be a bit of work to assemble the right set of libraries to make this work properly.

I did spend a bit of time before looking at using the Python variant of GAE (GAE/P) to develop an app which runs on the Marketplace. However, I found that there are some known problems with Single Sign On for App Marketplace using the Python in AppEngine. For this reason, we chose to use Java in GAE (GAE/J) for the solution.

In my naivety, I had assumed that the GAE/J would be very similar to GAE/P and hence my experience with the latter would make it relatively easy to get a GAE/J app up and running quickly. To my horror, I found that GAE/J is based on Java servlets and is a big world of pain when compared with the ease of GAE/P.

We did make some progress on the concept, but we found that there was a small outfit based in Mountain View doing essentially the same thing – didn’t do the homework properly. We shifted emphasis to produce what is really quite a nice concept – it’s no longer focused on the Marketplace, so we’re going to ditch the Java variant and start again with Python.

Key takeaways for me from this episode:

  • GAE/J is very much more complex than GAE/P – you’d need good reasons to use the former;
  • if you have designs on an App Marketplace hosted app and you haven’t rolled a line of code yet and time is not of the utmost urgency, I’d advise hanging on until there is proper GAE/P support for Marketplace – it shouldn’t be so long

If you’re interested in Marketplace, are hanging around Dublin and free on Nov 30th 2010, you could pop in to the local GTUG for more info on it.

Update: I’m told Google has fixed up this problem in AppEngine 1.4.0, so GAE/P now plays nice with Marketplace. Haven’t tested it as yet, but I’m assuming they know what they’re talking about.

October 2010 Dublin GTUG

Another interesting night at the Dublin GTUG. We had a very full house last night, what with about 50 folks in attendance – we made an effort to reach out more to students and there was an excellent response.

The evening started with Nick Johnson giving an overview of how Google built App Engine – what problem it was intended to solve, ie making it easy to scale web apps, and what solutions Google arrived at. Nick talked about the different components of App Engine and talked about the how the Datastore works in a bit of detail. There were quite a few questions from the crowd, ranging from issues pertaining to video serving via App Engine (me!), to costs of App Engine, to standardization of App Engine interfaces and Google support of App Engine going forward. A very interesting discussion indeed. Slides here.

Following the break, there were two short talks. The first one, in a series we’re calling Frontline Dispatches – where folks share their war stories – focused on the use of the Maps JS API v2/v3 in the hittheroad.ie application. Fintan Fairmichael talked about how they had used Maps to support their routing application, problems they had, eg issues with street name autocompletion, work involved in moving from v2 to v3 of the API, etc. Slides here.

The second of the short talks was in the Student Showcase series, in which a student showcases their work. Note that the work does not have to be complete (although we do feel that it is important to have something to demo!). Mark Ahern from UCD Computer Science showed his work to date on realizing a web-accessible EC2-hosted Android emulator for remote testing of apps. Slides to be supplied.

I’m told the usual suspects went off to the Schoolhouse for a swift half, but I couldn’t make it on this occasion.

We’re hoping to have a talk on App Marketplace next month – stay tuned to the group for more info.