Archive

Archive for the ‘Projects’ Category

Ruby on Rails

May 14th, 2009

I just started using Rails for a new project… My brother and some friends have been raving about it and how much time it would save us over our old-school PHP approach. I was never really skeptical of their claims, but the thought of learning something new for an important project is definitely scary.

However, I am now a believer in this RoR stuff. In just 4 short days, the basic framework of our new site is up and running! This timeframe even includes learning the entire framework (not to mention the Ruby language) from scratch. I’ll admit it was quite confusing at first, but once you ignore the scaffolding stuff (mostly for marketing and cool “make a blog in 15 minutes” demos) its really a piece of cake.

so yea, RoR ftw (until the next cool framework comes out :-)

Gee Projects, RoR , , ,

Buiding an iPhone Photo Sharing App on Google App Engine

March 18th, 2009

I did a “lightning talk” today at a local meetup for developers interested in cloud computing and Google’s App Engine specifically.  The demo covered the basics of how Rotzy (which is built entirely on AppEngine) works and what it does etc… but I also tried to fit in as many tips and tricks for using App Engine as I could.  Seemed like at least a few devs found it useful which is great!

Here are some of the (poorly made) slides I used while explaining some of the App Engine specific stuff.  Hopefully some more people will find it useful too.  Also, definitely check out Rotzy for the iPhone… it was built in our spare time and we are excited that it is growing steadily with a great community of users :-)

Gee Projects, Python, Tips, rotzy , , ,

Google Maps API Alternative: the Static Maps API

February 10th, 2009

If you are looking into adding some map functionality to your app or web site, remember to also consider the Static Maps API for a non-interactive version of Google’s maps. This static API takes a list of parameters such as the map center, width & height, any markers or path data… and returns a static IMAGE instead of using javascript to render your map.

You won’t be able to interact with the map… but the main advantage here is speed.  The javascript needed to run the regular Google Maps API is quite heavy.  It doesn’t run well on mobile browsers and can take a few extra seconds to finish loading on regular desktop browsers as well.  So, if all you need is a nice looking map, the static API is a great choice.

For example, it seems to load a good 10x faster than the regular Google Maps API when loaded into a UIWebView controller on the iPhone.  Even on a wifi connection, the javascript API takes a good 5-10 seconds to show up, whereas the static image API loads almost instantly.  For mobile devices, speed currently trumps functionality in many cases such as this one.  The user won’t be able to pan and zoom, but they won’t complain if the map loads fast :-)

We are using the static maps API in our Rotzy iPhone app and will just give users the option of clicking on it and bringing up the native Google Maps application if they really want to pan and zoom.

Here’s an example of how easy it is to generate a map by simply passing paramters to the API url:

# Note that this URL wraps at the '\' character.
# For clarity, we don't write the actual API key in use.
#
http://maps.google.com/staticmap?center=40.714728,-73.998672\
&zoom=14&size=512x512&maptype=mobile\
&markers=40.702147,-74.015794,blues%7C40.711614,-74.012318,\
greeng%7C40.718217,-73.998284,redc\
&key=MAPS_API_KEY&sensor=false

The code above will generate a map that looks like this:

staticmap

Read more and get the full documentation here.

Gee API, Projects, Tips , , ,

Solecial.com – Social Shoe Shopping

January 31st, 2009

Solecial.com is a site that my friend and I created to help people find and buy shoes online.

solecial screenshotThe basic idea is that you can search across multiple vendors to see who has a particular shoe in stock, in your size, at the lowest price… but the social aspect also helps you discover more shoes by seeing what others like/have/dislike.  You can also create your own lists of shoes that you have or want, etc and send that to your friends.

The site then uses this data to help shoppers visually see whats hot and whats not.  Each shoe page also has other data such as price history, user uploaded photos, and user comments to help you decide if its the right pair for you.

solecial screenshot2We are in the middle of implementing Facebook Connect to really open up the social aspect of the site, but right now its still mostly driven by the comparison shopping engine while we continue to collect data from our users via a simple thumbs up and thumbs down button for each shoe.

An interesting techincal note… this site is now hosted on Amazon’s EC2 and S3 cloud services, and so far it works great!  Much faster than our old dedicated servers actually.

Gee Projects

Remobo: a Computer Network for your Social Network

January 20th, 2009

Remobo LogoI thought I’d get things started on this blog by writing a bit about my current main project.  I’m a co-founder at AWIT Systems Inc. and we’ve created an application called Remobo.  The project itself has been going on for a few years now, but we are finally gaining some traction with a growing user base and have an idea of how we are going to monetize this thing.

What does Remobo do?

Remobo ScreenshotTo put it simply, Remobo simply creates a VPN between you and your friends, family, coworkers, etc.  This allows you to do things like share files privately, pay games across the Internet, remote control your home computer form work… basically anything you could do if you and your buddy were physically on the same LAN.

However, we like to think that Remobo is much more than just a VPN.  It provides a layer of connectivity beyond what your traditional social networks provide and anyone can just download it and be up and running in seconds since there’s virtually no configuration needed.  So we have changed our naming slightly and call it an IPN (instant private network).

On the tech side of things…

We use a P2P based architecture and the whole thing is written in C++ using libraries such as boost and wxWidgets.  Currently, its available for both PC and MAC OS X and we hope to have Linux available soon (it runs, but its not production ready yet).

So that’s the project I spend most of my time on… hopefully this is the year we make a breakthrough in the market and start earning some long awaited revenue.  In the future, I’ll post some of the technical issues and design choices we have encountered along the way.  We have a C++ guru on board at Remobo, so I’ll have to ask him to chime in sometime too :-)   I’ve mostly been coding the GUI and application side of things.

Gee C++, Projects, Remobo , , ,