shift+control

76design's blog

Archive for the 'Conferences' Category

FITC ’08 – Synchronizing Desktop Data with AIR and SQLite

Posted by Steve Lounsbury on April 21st, 2008 Comments Comments Off

Live blogging presentation by Sean Voisen

To develop with AIR you need to know AS3. AIR has a built in SQLite database and you can use it to store data on the client.

You can synchronize data with the client so that you can use that data while offline. This leads to faster startup times, making things easily exportable and makes working with large datasets easier.

There are a few sync strategies:

  • Manual Sync
    • good for small amounts of data, requires a button to be pushed, easy to implement, but user can forget to do it.
  • Background sync
    • user doesn’t need to know about it, uses a timer, server can push data to the client (AIR tech: Livecycle data services)

Question you need to answer: who is the master, the client or server? You need to know who to trust when data collide.

Design of your code is important, aka Design Patterns (yeah man!)

Design Pattern: Brett Rampata, Adobe XD: gives the user a nice heads up view and can use both manual and background sync, shows connection availability.

Update: Link to Brett Rampata’s design pattern from above.

Demo of Paypal Desktop AIR App.

Demo of Paypal Desktop AIR App. 2.5 months of development time (one dev, one designer)

SQLite

  • embedded database, stored in a single flat file, supports views, transactions and triggers
  • Adobe added some types to the SQLite db to support AIR app development

AIR and SQLite

  • supports synchronous and asynchronous connections.
  • synchronous will stop the app while the query returns data.
  • asynchronous will run in the background and uses an event listener to let you know when everything is done (nice and clean).
  • supports prepared statements and named parameters in queries, and you shouldn’t use string concatenation (nice!)
  • better performance over and above string concatenation because AS compiler will cache query and optimize for you.
  • supports results paging.

Connection detection in AIR

  • AIR will let you know when you have an internet connection available.
  • Event will only tell you when things have changed, not if you are connected or not. You have to figure out if the change event means you are connected (ping some site, etc).
  • Can use the service monitoring library which will let you know if a URL is available.

Action Script Programming strategies

  • Use a DAO to abstract your SQL from your app. They are singletons (only allow one object to exist at a time) which handle the DB interfacing.
  • Use “CREATE TABLE IF NOT EXISTS” so that you aren’t destroying your tables on each startup.

Demo “Library” App Available on Sean’s site

Resources:

coenraets.org
peterelst.org
probertson.com
xd.adobe.com

Attending FITC 2008

Posted by Brett Tackaberry on April 20th, 2008 Comments Comments Off

For the past couple years, and this year included, 76design has sent a small contingent down to Toronto for FITC. FITC is a design and technology festival and the only one of its kind. We’ve been attending for a number of years now and always found it to be an inspirational and engaging conference. Last year we documented a few of the sessions and this year we’ll do the same.

BarCampOttawa4 – The Morning

Posted by Steve Lounsbury on November 17th, 2007 Comments Comments Off

BarCampOttawa4 is going on today at BitHeads.

International DemoCamp

This was an interesting idea but it didn’t quite get off the ground due to technical issues. The idea was to link the Ottawa camp with BarCampLeeds in the UK using a screencasting tool and skype for audio. Unfortunately we couldn’t get the screencasting portion working and were limited to hearing the presenter and crowd at Leeds give a shout out over the pond. Hopefully the next time the kinks will be worked out, because this is a pretty cool idea.

Building a Facebook Business – Alec Saunders

  • Everyone knows that facebook has taken off. Its a great success story.
  • Most of the people joining facebook now are age 25+ in the workforce.
  • Evolution of the internet Browse -> Search -> Share
  • Most apps either share relationships, resources or knowledge
  • iotum developed the first facebook conference calling application
  • Facebook market research applications
    • polls (test your business case via polls)
    • ads and pages (market your app to exactly the target market you’re after)
    • appsaholic (watch other applications that are in your market and see what they are doing right)
    • Ad campaigns (pay for installs)
  • Virality is key, don’t underestimate it.
  • Google indexes facebook application pages now, so you get free first page results for relevant keywords. Alec’s facebook app page got a pagerank of 8, for free!
  • 4info – sms provider
  • Facebook vs Open Social
    • Getting into facebook early was hard because the platform was changing so often and its still changing to some extent.
    • Open Social is similar to that right now, the platform isn’t mature and its hard to achieve exactly what Open Social promises (deploying one app to multiple social networks).

FacebookCampToronto2

Posted by Steve Lounsbury on October 11th, 2007 Comments 3 Comments

After starting work more than 6 months ago, this is my first post on shift+control. To introduce myself, I’m Steve Lounsbury and I’m a web developer here at 76design. Prior to that I was a freelance developer and engineering student at Carleton University. The past 6 months have been awesome, a whirlwind tour of how we do things around here. That means that I’ve been super busy and not getting a lot of sleep — but I’ve been learning a lot! One of the things I’ve focussed my efforts on is keeping up with the world of social networking, social media and general (for lack of a less nauseating buzzword) Web 2.0 stuff. So, when the chance came up to check out FacebookCampToronto2, I had to jump on it.

It was a quick trip, leave Ottawa at 4:00pm, back the next day at 9:30am, but the time was well worth it. Here are the interesting talks that I’ll expand on a bit more:

  • Ami Vora (Facebook.com) – High level presentation on platform and best-practices
  • Roy Pereira – How Many ways can you Market your Application Inside Facebook?
  • Jesse Hirsh – Top Applications and Why They Work
  • Greg Thomson – Monetizing your Facebook Application

Before I start into the talks, here are two stats that I thought were pretty interesting:

  • Facebook has gained 10,000,000 users since August (WOW)
  • 84 of the 5500 applications on Facebook account for 90% of the usage.

High level presentation on platform and best-practices

It was cool to see Facebook make their presence known at the event. Ami Vora did a great presentation that was not only a good overview of the platform but also an interesting look at Facebook in general. She gave some points of advice to keep in mind when developing a Facebook app:

  • Provide engaging content.
  • Facebook is social, make your app social.
  • Fresh content is key, give the users something to keep coming back for.
  • Develop and iterate (get something out fast, get quick feedback from your users, make changes with that feedback in mind and iterate again)
  • Keep privacy in mind, your users will appreciate it

Ami looked at the Photos application as an example of an application that uses the Facebook platform to provide users with engaging content. By tagging who is in the photo, the content is automatically routed to the exact people who care about it — the friends of the people in the photo.

How many ways can you market your application inside Facebook?

This talk touched on most (if not all) the ways you can market your app inside Facebook. Here is the list according to my notes:

  • Ads (banners, fliers, sponsored groups, inside another app, in the profile box) — mostly have to pay for these and there are more creative ways to approach it.
  • Application directory — boring “phonebook” style listing and its hard to differentiate yourself.
  • Application page — you need to make this interesting, could be the difference between someone adding the app or not.
  • Profile Page
  • Your own profile — drop the application url into the website section of your contact info.
  • Your status message
  • Message attachments — when you write a message on someone’s wall, your application has the option to allow someone to attach something to that message (apparently its an underused feature)
  • The share button
  • Invite requests — make sure you have a fun message in there to peak interest.
  • Notifications — good way to get a user’s attention.
  • External email notifications — annoying, but your app can still do it.
  • Minifeed — this is such prime ad space for your app.

Top Applications on Facebook

Great overview on what your app needs to do in order to make it big. The biggest point being to recognize that Facebook is a social platform and you need to make sure you are using every ounce of that capability. Unfortunately I didn’t take amazing notes during this talk as I was too busy paying attention. Great talk and it was worth the trip just for this one.

Monetizing a Facebook app

Greg Thomson started the hugely successful My Aquarium. In his talk he shared some pretty valuable information about what works best when monetizing Facebook apps. Essentially it boiled down to two ways: Pay per click ads through Google Ads or Appsaholic, and giving your user’s incentives to go fill out surveys or do other things that make you cash. The example he gave was giving a user coins for filling out a survey, which they can then use to send a fish to their friend (oh and making him 1.50 in the process for driving the user to the survey).

Greg also hinted at some of the dollar figures you can expect from a Facebook app. He goes by the rule of about $3 per active daily user (not per app install).

Overall, a rewarding event

I had fun at FacebookCampToronto2. It really opened my eyes to some of the opportunities out there on the Facebook platform. I had no idea the kind of money people are making on it (no wonder 76design has been asked to do a few Facebook apps!)

Some of the presentations are available here: http://refreshpartners.com/facebookcamptoronto2.php