Grio Inks a Vook Deal

by

Grio has been selected by Vook to develop an end-to-end technology that bring the worlds of video and books together on the Internet, through multiple applications, devices and platforms.

Feel My Pain: NSXMLParser Problems Upgrading to the iPhone 3.0 SDK

by

I set out a couple of weeks ago to port the Killer Deals
application from the iPhone 2.2.1 SDK to 3.0. “No problem”, I thought; the
application doesn’t veer far from the standard APIs and controls, and it is a
relatively straightforward application, implementation-wise.

As I was making my updates (some minor method and property
name changes here and there), I stumbled upon a show stopper: The NSXMLParser
was no longer parsing my XML data. After scratching my head for a few hours, I
finally figured out the problem.

Scrum is like 20th Century Politics (Part 2 of 3)

by

Part 1

Having toiled for years under the yoke of a brutal waterfallocracy, one bitter developer learns of management’s decision to adopt scrum and sees…a revolution.

Born is the Marxist, leader and friend to the common bit farmer.

The revolutionary swoons at scrum’s commitment to the “self-organizing team”. He visualizes an enervated bourgeois middle management, an empowered development base that directs company affairs, and an opportunity to play video games at work.

Think Services Turns to Grio to Enhance its Flagship Products

by

Grio proudly announced the signing of its consulting agreement with Think Services, a division of United Business Media. As part of this collaboration, Grio will assist by designing and introducing an agile software development methodology that fits Think Services' needs. In addition, Grio will be a key player in helping to build the company's next generation of products.

Dealing with JSON on iPhone

by

You can easily use the JSON (JavaScript Object Notation) data format in client-server communications when writing an iPhone app. This blog is not suggesting that JSON is a more superior format for data exchange than its counterparts such as XML. In fact, we have many projects that don’t use JSON. However, handling JSON is relatively straight forward in ObjectiveC.

Unfortunately, Apple iPhone SDK (as of this writing, the latest is iPhone 2.2.1) doesn’t come with a built-in JSON parser. But I found out a good one called json-framework. It is both a generator and a parser. As a generator, json-framework can create JSON data from an NSDictionary. As a parser, you can pass to json-framework an NSString that consists of JSON data and it will return a NSDictionary that encapsulates the parsed data.

Broadcasting Information: How to use the iPhone Notification Center

by

There are times when building an iPhone application that you
need to inform other parts of the program to do something, without regard to
what or where those parts are. The NSNotificationCenter (aka “notification
center”) is the way to go in these cases. Using notifications supports ‘loose
coupling’, which is a good thing in software design.

A notification center object provides a mechanism for
broadcasting information (“notifications”) within a task. An
NSNotificationCenter object is basically a notification dispatch table. For
those familiar with Windows programming, this pattern is similar to the Windows
Message Loop architecture.

Scrum is like 20th Century Politics (Part 1 of 3)

by

Scrum is a bit like 20th century politics. You have your burn-down crazed fascists, your ground-up “power to the coding plebe” reds, greedy ladder climbers hiding under the guise of scrumocracy, and on very rare occasions… responsible elected representation.

Fascism

Let’s deal with the fascists first. Your average scrum doctrinaire falls back on phrases like “command and control” to describe the tired, archaic waterfallists. They should poke their own chests with that finger. I’m going to stick my neck out here and suggest that a large percentage of businesses practicing scrum err on the side of a Gestapo-like control. Why? Well let me answer you with a question: What do you think got your Product Owner or Director of Engineering their job in the first place?

KillerDeals 1.0.1 hits the shelves

by

Last Thursday KillerDeals v1.0.1 hit the shelves in the iPhone AppStore. It was only a minor update to fix a few bugs that appeared post release. So we got right to work hammering out a quick fix and Apple approved the update in no time flat. This was good news.

The necessity for the "emergency" update got us all really talking about the future of this application and where we want to head in the future. Here's a short list of the plans that will be rolling out over the next few releases:

  1. Create a KillerDeals web service – Currently our application communicates directly with the ODAT web sites, retrieves the content, parses it, and redisplays it in its current format. Although this is a completely acceptable approach, we are at the mercy of Backcountry. If their developers change the website format or content, our app is too tightly coupled to handle this change and thus we would need to release another application version through the iPhone store. But if we moved the retreval and parsing code to a Grio owned server, we can make changes on the "fly" without ever having to release an update through Apple. Much faster response time to content related issues.
  2. Push notifications -This app was meant to incorporate Apple's Push Notification system. Apple has been promising this technology for quite some time and iPhone 3.0 will finally deliver it. We all very excited about this. We have some very unique ideas about how Push alerts should be configured but you'll just have to wait to check out our innovative approach.
  3. More sites -  Recently added to the ODAT family are Brociety.com and Chainlove.com. Expect to see these sites in KillerDeals sooner than you might think. But with 6 stores the tabs might get a little crowded. So we'll just have to see what our crafty Grio developers come up with.
  4. More information – KillerDeals is lacking a few bits of crutial information in its current state. Items and time remaining are key indicators for the ODAT sites. Expect to this this data ticking down the seconds in an upcoming version of KillerDeals

In summary, I guess you can expect KillerDeals just to get better with every release. Remember we are exicted to here from our users so drop us a note or leave us a blog comment. We'll be waiting.

Launching EC2 On Demand: Video Transcoding

by

At Grio, we use EC2 to power almost all of our server needs. Amazon hosting provides a convenient means of housing a web server and database server, a wiki, and our client development environment. It’s a cost efficient solution for companies like ours, in that we can avoid the hassle or purchasing and maintaining hardware. The strategy allows us to add servers only when we need them and remove them when they are no longer needed. Since Amazon’s pricing structure is based on the duration of server’s up-time, we want to make sure that we only use a server when necessary.

Keeping it Clean: Creating a Profanity Filter with Flex

by

I was recently tasked with writing a profanity filter for the chat module of an AIR application. I did some research and alas, there were no Flex examples to be found. I thought I’d share my implementation with you.

The filter needed to replace naughty words with asterisks: so profanities such as ‘f— you’ would appear as ‘**** you’. The filter also required the ability to use localized word ‘blacklists’.