Archive for the 'Gleemy' Category

TechNation reviews Gleemy

TechNation have written a concise story on Gleemy which you can read here. Thanks!

Although only a month old, TechNation is a regular source of my daily startup news intake. Their Australian focus is especially refreshing; the start up and innovation community is lively in Australia, and this site covers it.

If you’re looking for a few good articles to read, I recommend starting with these:

Back in business

After taking a short hiatus to focus on our day jobs and other projects, we’re super jazzed to be returning to Gleemy.

We’ve started working on a number of features and improvements to the site, including more Slide Show customizations and better file upload.

We’re also excitedly working on the next customizable app scheduled for Gleemy. It’s a step up from Slide Shows. With it you’ll be able to make more personal, rich, and interactive mobile applications - all from our web based authoring tools.

…back to the code!

OpenCoffee with an Amazon Web Services Evangelist

I met Amazon’s Web Services Evangelist Mike Culver at this week’s OpenCofee meetup. Mike visited as part of his tour of Australia and New Zealand.

Mike talked to us about Amazon Web Services and took questions from the group.

I gave Mike feedback on my experience with EC2. In the early days we used EC2 for hosting Gleemy, and it was great. We could start and stop a few Linux boxes as needed and we only paid for the time we used. For a small startup, that’s good news. When Flexiscale launched however, we couldn’t help but switch to it. I explained why to Mike:

  • The biggest point of pain with EC2 is the risk of losing data. When an EC2 instance terminates or crashes, the disk is erased and any data you haven’t stored elsewhere is lost. Typically, you’d need to use a redundant server or periodically backup your data to S3. On Flexiscale, your virtual hard disk is stored on a SAN. This means your data persists after your instance goes down. Moreover, if a disk on the SAN goes down, it can be swapped for a new one without the need to power down your instance (and without you even knowing about it.) Mike told us this is a common complaint, and to expect EC2 to change accordingly sometime soon.
  • Each time you start an EC2 instance, you are given a different public IP address. You need to use a system like dyndns for maintaining a domain name. Flexiscale gives you a static IP address which you don’t have to worry about changing.
  • On Flexiscale, you can vary the parameters of your virtual host (memory configuration, hard disk size, OS) and pay accordingly. With EC2, you choose from one of 3 pre-configured instances.

Keep in mind, EC2 absolutely excels with distributed computing applications. Read their blog for some pretty amazing stories.

3 new Gleemy features

Eugene and I have been slogging away shipping new features and bug fixes almost every week this year. The plan is to progress from private BETA to a public BETA release pretty soon.

In this post, I want to show off 3 new features.

1. New mobile Slide Show app

The J2ME Slide Show application is built in to each Slide Show made by our users.

Here’s what’s new:

  • When you view a picture that doesn’t match the orientation of your phone, an arrow appears to indicate which way you should turn your handset to see it the right way up. Previously, the picture would display the right way up always, but the sides of the picture would be cut off - not good when there’s text involved.
Landscape image with arrow indicator Landscape image with arrow indicator
Good Not good
  • The ‘Share’ feature works better. You can now send a link to your Slide Show to multiple contacts on a single screen. Sending the SMS no longer blocks the UI, but shows a funky progress animation instead.

2. New Application Profile Page

There are two parts to Gleemy - making and finding Slide Shows (and soon, other types of apps) on your PC; and downloading apps to your phone.

The Application Profile page has been improved. Here’s a screenshot:

App Profile Page

On the left is an emulator which you can fully interact with, to preview the application before downloading. On the right is a QR code which will take you to the mobile download page for the app. I’m delighted to see QR codes finally present in Gleemy, given how much I’ve been raving on about them lately!

3. New mobile portal (http://m.gleemy.com)

Screenshot of mobile portal m.gleemy.com Even though Gleemy is in private BETA, you don’t need to sign up to visit the mobile portal and download Slide Shows made by the community. The site has been improved behind the scenes with more compliant XHTML. We’ve tried to make the ads (served by AdMob) as unobtrusive as possible. Device detection is currently provided by the DetectRight web services API.

…and tons more minor improvements like higher quality thumbnails and images, faster download times, and more! Not interesting enough to describe, but still good features to have implemented.

If you haven’t signed up already, why not try using Gleemy? We now have capacity for more accounts. Simply head to gleemy.com and request an invite.

Device detection with DetectRight

Recently, I read about DetectRight over at Jason Delport’s Mobile Observations. DetectRight is a web service for device detection; their API allows you to supply HTTP headers (or a user agent string), and query which device your mobile visitor is using.

Device detection is something we tried to tackle early on. Our first approach was to use the open source effort WURFL. Our use of WURFL didn’t last long when we noticed data for a few popular handsets was either incomplete or just wrong. (Note: this was almost a year ago, so things may have improved.)

In the end, we chose to prompt the user to select their device from a list when downloading. It’s an extra step, but it still allows us to deliver applications optimized for whichever handset you use.

Our evaluation of DetectRight is underway, and I thought I’d share our experiences.

DetectRight offers both php and SOAP APIs. Since Gleemy is written with Java on the server side, we started with the SOAP API.

To consume a web service with Java, you start by generating a client stub from the WSDL file describing the web service.

The Java API for Web Services sounded like a good place to start, but alas no luck. (What does “[ERROR] undefined simple or complex type 'SOAP-ENC:Array'” mean?)

WSDL2Java (part of the Apache Web Services project) turned out to be a lot friendlier. Running:

java -cp axis.jar;commons-discovery.jar;commons-logging.jar;jaxrpc.jar;saaj.jar;wsdl4j.jar org.apache.axis.wsdl.WSDL2Java http://www.mpwservices.net/MPWServices/soap.php?wsdl

produces a Java callable interface to the DetectRight web service, in the form of 5 java files. Awesome. Here are a few good methods from the stub:

public Hashtable getProfile(

String licence,

String manufacturer,

String model,

String schemaName

)

public Hashtable getProfileFromUA(

String licence,

String HTTPUserAgent,

String HTTPAccept

)

public Hashtable getProfileFromHeaders(

String licence,

Hashtable serverVars

)

This enables you to do things like:

profile = getProfile(myLicenseKey, userAgentString, null);

where profile is a hash table containing all known properties of the client device. Each call is marshaled across the Internet to the DetectRight servers.

You can print the profile like this:

private static void dumpHashtable(Hashtable h)
{
String[] keys = h.getKeys();
String[] values = h.getValues();
int i;


System.out.println(keys.length + " keys, " + values.length + " values");
for (i = 0; i < keys.length; i++)
{
System.out.println(keys[i] + ": " + values[i]);
}
}

I tested with popular user agents we’ve seen, and every time the API worked as expected.

We’re still playing with it. As part of any evaluation, you need to consider things like cost (DetectRight is a commercial service), license terms, level of service and so on.