Introducing madmin: An admin console for generating mock services with RESTful URIs.

January 29th, 2013 by Todd Anderson

Introduction

madmin is a node application that provides a means to construct RESTful URIs that are immediately accessible on the server. While URIs can be defined using the command line – using such CLI tools such as cURLmadmin also provides an admin console as a GUI to aide in defining the URI and JSON response data structure.

The github repo for madmin can be found at https://github.com/infrared5/madmin

Why?

madmin was born out of the intent to minimize time spent by front-end development teams building applications against a living spec for service requirements.

> The Problem

We found that our front-end developers were curating two service layers implementing a common interface during development of an application:

  • [Fake] One that does not communicate with a remote resource and provides _fake_ data.

    Used during development without worry of remote endpoint being available (either from being undefined or no network) and can be modified to provide different responses in testing application response.

  • [Live] One that does communicate with a remote resource, sometimes utilizing libraries that abstract the communication.

    Used for integration tests and QA on staging before pushing application to production.

This would allow the service layer dependency to easily be switched out during development and deployment while providing a common API for other components of the application to interact with.

Though these service layers are developed against the same interface providing a common API, the curation of both in tandem during development can be exhaustive timewise as specifications and requirements change. When we multiplied that curation time across the numerous applications being developed, it became clearer that the fake service layer needed to be eliminated from development – especially seeing as it is not part of the release or unit tests at all.

> The Solution

Instead of defining the service layer as a dependency between these two implementations, if we could define the endpoints that the service layer communicates with then we could eliminate the need to have a fake service layer.

Just as the service references are changed from staging to production, why couldn’t we provide a living service endpoint with URIs that are being discussed and hashed out between teams. As well, why can’t we deploy that service locally and eliminate the need for a network resource to boot – we could continue our front-end development while relaxing on some remote un-connected island!

That is what madmin sets out to do.

> The By-Product

Though the initial intent was to eliminate the curation of an unnecessary service layer from front-end development, by defining RESTful URIs using madmin we were actually providing useful documentation of the service layer and opened up comminication between the back-end and front-end teams with regards to requirements and data structure.

Opening channels for communication is always a plus, and the fact that it provided self-documentation just seemed like a winner!

:: What It is Not

madmin is not meant to replace writing proper unit tests for client-side applications that communicate with a remote service nor is it mean to stand in for integration testing.

How

The madmin application works by updating a target JSON source file that describes the RESTful URIs. This file is modified using a RESTful API of the madmin server application, itself. You can check out the schema for the source JSON file that defines the API at https://github.com/infrared5/madmin/blob/master/doc/madmin-api-schema.json.

While it is possible to interact with the madmin server-side applicaiton using the command line – with such CLI tools such as cURL – a client-side applicaiton is available that provides ease of use and self-documentation.

> Usage

Full instructions on how to clone and install dependencies for madmin can be found at the repository for the madmin project: https://github.com/infrared5/madmin.

Once installed, you can start the madmin server from the command line with the following options:

$> node index.js [port] [json]

The following example shows it’s usage and the default values:

The json source file provided will be read from and modified as you add URIs in madmin. The most common and easiest way to add URIs is to use the client-side console application available at http://localhost:<port> after starting the madmin node server.

> Client-Side Console

Once the server is started, you can access the GUI console for madmin at either: http://localhost:<port>/ or http://localhost:<port>/admin, with the <port> value wither being the default (8124) or the one specified using the --port command line option.

With an empty JSON API resource file, you will be presented with a console that provides an “add new” button only:
Empty madmin console

Upon adding a new route, you are presented with an empty editable console with various parameters:
Empty new route in console.

The following is a breakdown of each section from this route console UI:

– Method –

The Method dropdown allows you to select the desired REST method to associate with the URI defined in the Path field:
Route Method panel

– Path –

The Path field defines the URI to add to the REST service:
Path panel

The Summary field allows for entering a description for the URI. When input focus is lost on the Path field, the listing of Parameters is updated and allows for providing descriptions for each variable:
Route with multiple parameters

– Response –

The Response field allows for defining the JSON returned from the URI. As well, you can choose which response to provide:
Route Response panel

In reality it will return a 200 status with the selected JSON from either Success or Error. We often supply errors on a 200 and parse the response. This was an easy way for the team to coordinate the successful and error responses that come in JSON from the request.

Viewing Route URIs and Responses

When saved, the new route will be added to the supplies source JSON file and the client-side madmin console will change to the listing of URIs defined:
Saved Route to madmin

As well, the path and its proper response will be available immediately and available to develop against.

With Error selected from the Response field:
Defined Error Response

With Success selected from the Response field:
Defined Success Response

As mentioned previously, the source JSON file provided when launching the madmin server is updated while working on the URIs. If left to the default – or otherwise accessible from the server directory – you can point your web browser to that JSON resource file and check for validity:
Updated JSON route URIs

— note —

The default admin console location can be found at the http://localhost:<port>/admin location. As such, /admin is a reserved route and can not be defined as a valid URI in madmin.

It is on the TODO list to define a custom URI for the admin portal of madmin in order to allow the currently reserved /admin.

Requirements

> Server-Side

madmin server-side application has been tested against Node.js version >=0.8.4

> Client-Side

madmin client-side application utilizes some ES5 objects and properties – ie, Object.create and Array.prototype.indexOf – and does not load in an additional polyfills to provide support for non-modern browsers.

The madmin client-side application should work properly in the following:

  • Chrome 12+
  • Safari 4+
  • IE 9+
  • Opera 12+

Grunt Integration

The madmin repository has build files for grunt with support for <=0.3.x (grunt.js) and ~0.4.0 (Gruntfile.js) and tasks for linting and testing both the server-side and client-side code utilizing Jasmine.

To run the grunt build tasks simply run the following from the command line in the directory where you cloned the madmin repository:

Depending on your install version of grunt the proper build file should be run. To learn more about grunt and how to install, please visit the grunt project page.

Conclusion

We saw a need here at Infrared5 to cut out front-end development time in curating multiple service layer implementations in order to support development efforts when resources – including server-side and network – were unavailable. The madmin application is our effort in reducing that time and extra effort and code that never saw the light of staging or production.

While doing so, we hope madmin can open up the communication channels between server-side and client-side teams in discussion service requirements and JSON data structure, all while having a living document of the endpoint URIs.

Hopefully you will find it as useful as we have!

, ,

Top 10 Prominent Boston Area Game Developer Groups and Organizations That You Should Pay Attention To

December 14th, 2012 by Elliott Mitchell

Top 10 Prominent Boston Area Game Developer Groups and Organizations That You Should Pay Attention To:

Scott Macmillan (co-founder Boston Indies), Darius Kazemi (co-organizer Boston Post Mortem) and Alex Schwartz (co-founder Boston Unity Group) preparing for a Boston Post Mortem presentation July 2011. (Photo- Elliott Mitchell co-founder Boston Unity Group)

The Boston area game developer scene has a generous and open community that nurtures indies, startups, students and AAA game studios alike. The evidence of this is more than abundant. On almost any given day one can find a game industry event ranging from casual meet-ups, demo nights and intense panel discussions. As I am an indie game developer and technical director, I will focus more closely on groups that are indie game developer related. One thing can be assured, all of these groups are prominent, worthwhile and you should check them out if you haven’t already done so!

1 ) International Game Developers Association (IDGA) – Boston Post Mortem (BPM)

The Boston based chapter of the IDGA was founded in 1997 by Kent Quirk, Steve Meretzk & Rick Goodman at John Harvard’s Brewhouse. Boston Post Mortem is internationally renowned as an example of how to grow and nurture a game developer community. BPM is the seminal game developer organization in the Boston area. Currently held at The Skellig in Waltham, MA, BPM is a monthly IDGA chapter meeting focused around industry related topics. BPM hosts expert speakers, industry panels, great networking opportunities and grog.

Frequency: Monthly
Membership Required: No, but IDGA membership is encouraged
Admission to Meetings: Usually free
Web: http://www.bostonpostmortem.org/
Twitter: @BosPostMortem

2 ) Boston Indies (BI)

Boston Indies is, as the name would indicate, a Boston based group for indie game developers. BI was founded in 2009 by Scott Macmillan and Jim Buck as an indie game developer alternative to the large Boston Post Mortem group.  Boston Indies featured indie developer presentations, BYOB and chipping in for pizza. Meet-ups were hosted at the Betahouse co-working space at MIT in Cambridge, MA. BI quickly grew larger and moved locations to The Asgard and settling most recently at the Bocoup Loft in South Boston. At BI meetups, indie developers present on relevant topics, hold game demo nights and network. Boston Indies is notable because it spawned the very successful Boston Festival of Indie Games in the fall of 2012.

Frequency: Monthly
Membership Required: No
Admission to Meetings: Free
Web: www.bostonindies.com
Twitter: @BostonIndies

3 ) The Boston Unity Group (BUG)

Founded in 2012 by Alex Schwartz and Elliott Mitchell, The Boston Unity User Group (BUG) is a bi-monthly gathering of Unity developers in the Boston area. Born from the inspiration and traditions of Boston Post Mortem and Boston Indies, BUG events are Unity game development related meetups where members ranging from professionals to hobbyist unite to learn from presentations, demo their projects, network and continue to build bridges in the Boston area game development community and beyond. BUG is renowned by local and international developers, as well as by Unity Technologies, as one of the first and largest Unity user groups in the world. Meetings have been frequently held at the Microsoft New England Research Center, Meadhall and the Asgard in Cambridge, MA.

Frequency:  Bi-Monthly
Membership Required:  Meetup.com registration required
Admission to Meetings:  Free
Web:  http://www.meetup.com/B-U-G-Boston-Unity-Group/
Twitter:  @BosUnityGroup

4 ) Women In Games (WIG)

Founded by Courtney Stanton in 2010, Women in Games Boston is the official Boston chapter of the International Game Developers Association’s Women in Games Special Interest Group. Renown industry speakers present on relevant game development topics but what differentiates WIG is the it’s predominately female perspective and unique industry support. WIG meets monthly at The Asgard in Cambridge. Developers from AAA, indie studios and students regularly attend. WIG is an event open to women and their allies to attend.

Frequency: Monthly
Membership Required: No
Admission to Meetings: Free
Web: http://wigboston.wordpress.com/
Twitter: @WIGboston

5 ) Boston HTML5 Game Development Group

The Boston HTML5 Game Developer Group was founded in 2010 by Pascal Rettig. On the group’s meetup webpage, the description reads  “A gathering of the minds on tips, tricks and best practices for using HTML5 as a platform for developing highly-interactive in-browser applications (with a focus on Game Development)”. The HTML5 game development Group in Boston boasts an impressive roster of members and speakers. Attended and led by prominent industry leaders and innovators, the Boston HTML5 Game Developer Group is a monthly meetup held at Bocoup Loft in Boston, MA.

Membership Required: Meetup membership encouraged
Admission to Meetings: Free
Web: http://www.meetup.com/Boston-HTML5-Game-Development/
Twitter: #Boston #HTML5

6 ) MIT Enterprise Forum of Cambridge  - New England Games Community Circle (NEGamesSIG)

Originally founded in 2007 by Michael Cavaretta as The New England Game SIG, newly renamed New England Games Community Cirle  is a group rooted in greater MIT Enterprise Forum of Cambridge. NEGCC focuses on being a hub for dynamic games and interactive entertainment industries throughout New England.  NEGCC events are predictably very good and well attended with their professional panel discussions featuring a mix of innovative leaders from across the business of games. Events regularly are held in various locations around Cambridge, MA including the MIT Stata Center and the Microsoft New England Research Center.

Frequency: Regularly dispersed throughout the year
Membership Required: Not Always / Membership encouraged with worthwhile benefits.
Admission to Meetings: Depends on event and if you’re a member
Web: http://gamescircle.org/
Twitter: #NEGCC #NEGamesSIG

7 ) The Massachusetts Digital Games Institute (MassDiGI)

The Massachusetts Digital Games Institute was founded in 2010 by Timothy Loew and Robert E. Johnson, Ph. D.  This is a unique group focused on building pathways between academia and industry, while nurturing entrepreneurship and economic development within the game industry across Massachusetts. MassDiGI holds game industry related events not only in the Boston area but across the entire Commonwealth. MassDiGI also runs some larger events and programs like the MassDiGI Game Challenge, where prominent industry experts mentor competing game development teams. Mass DiGI also holds a Summer of Innovation Program where students are mentored by industry experts while they form teams and develop marketable games over the summer. Mass DiGI is headquartered at Becker College in Worcester, MA.

Frequency: Slightly Random
Membership Required: No Membership
Admission to Meetings: Mostly free / Some events and programs cost money
Web: http://www.massdigi.org/
Twitter: @mass_digi

8 ) Mass Technology Leadership Council – Digital Games Cluster (MassTLC)

MassTLC is a large organization that encompasses much more than games. The MassTLC Digital Games Cluster is led by the likes of Tom Hopcroft and Christine Nolan, among others, who work diligently to raise awareness about the region’s game industry and build support for a breadth of Massachusetts game developers.  MassTLC holds regular events benefit startups, midsized companies and large corporations across Massachusetts. With a focus on economic development, MassTLC helps those those looking to network, find mentors, funding and other resources vital to a game studio of any scale. One of my favorite MassTLC events is the MassTLC PAX East – Made in MA Party. The Party serves to highlight hundreds of Massachusetts game developers to the media as well as out of state industry folks on the evening before the the massive PAX East game developer conference begins. MassTLC Events are frequently held at the Microsoft New England Research Center.

Frequency: Regularly / Slightly Random
Membership Required: Not Always / Membership encouraged with worthwhile benefits.
Admission to Meetings: Depends on event and if you’re a member
Web: http://www.masstlc.org/?page=DigitalGames
Twitter: @MassTLC

9 ) Boston Game Jams

Founded in 2011 by Darren Torpey, Boston Game Jams is a unique group. Modeled after the Nordic Game Jam, IGDA Global Game Jam and others less  known game jams, Boston Game Jams is an ongoing series of ad-hoc game jams held in the Boston area. As Darren States on the Boston Game Jam’s website, “It is not a formal organization of any kind, but rather it’s more of a grassroots community that is growing out of a shared desire to learn and create games together in an open, fun, and highly collaborative environment.” Boston Game Jams is a great venue for people of all skill levels to come together and collaboratively create games around given themes within a very short period of time. Participants range from professionals to novices. Boston Game Jams have historically been held at the innovative Singapore-MIT GAMBIT Game Lab which has recently morphed into the new MIT Game Lab.

Frequency: Random
Membership Required: No
Admission to Meetings: Free / Food Donations Welcome
Web: http://bostongamejams.com/
Twitter: @bostongamejams

10 ) Boston Autodesk Animation User Group Association (BostonAAUGA)

BostonAAUGA is an official Autodesk User Group. Founded in 2008, BostonAAUGA joined forces in June 2012 with the The Boston Maya User Group (bMug) which was founded in 2010 by Tereza Flaxman. United into one 3D powerhouse, BostonAAUGA and mBug serve as a forum for 3D artists and animators seeking professional training, community engagement and networking opportunities. BostonAAUGA hosts outstanding industry speakers and panelists. It should be noted that not all of their events are game industry specific hence their number 10 slot ranking. BostonAAUGA is regularly hosted at Neoscape in Boston, MA.

Membership Required: No Membership
Admission to Meetings: Free

Web: http://www.aaugaboston.com/

Twitter: @BostonAAUGA

Get out there!

—-

Elliott Mitchell
Technical Director @ Infrared5.com
Indie Game Developer
Twitter: @mrt3d

, , , , , , , ,

To plug in, or not to plug in: that is the question! 

May 17th, 2012 by Elliott Mitchell

In recent years, we have seen a tremendous amount of attention to what can only be described as a debate between browser based plugins and their more standards based equivalent technologies, HTML & Javascript. Granted, even plugin providers can argue that they have open standards, but HTML definitely has its roots originating by a standards processes like W3C which is widely accepted by the web community. While we don’t want to go down the route of arguing for either side, it’s quite interesting to consider some of the available information freely circulating on the web.

Let’s start off first by examining some of the requirements of a plugin based deployment. If a webpage requires a plugin, often the end user will be prompted to install or update before they can proceed. This prompt is often met with resistance by users who either don’t know what the plugins are, have a slow Internet connection or receive security warnings about installing the plugin. While there are steps to install browser based plugins and these may present difficulties for some, most online statistics show that this hasn’t really affected adoption rates.

To address this, I thought it would be helpful to take a peek at the current trajectory of plugin usage, plugin alternatives like HTML5, and browser usage as to better inform developers to decide whether or not to create plugin dependent content for the web browser. Let’s first take a look at desktop web browser plugin usage between September 2008 and January 2012 as measured by statowl.com:

Flash – 95.74%
Java Support 75.63%
SilverLight Support 67.37%
Quicktime Support 53.99%
Window Media Player Support 53.12%

Unity – ?% (numbers not available, estimated at 120 million installs as of May 2012)

Flash has been holding strong and is steadily installed on a more than 95% of all desktop computers. Flash is fortunate that two years after it’s launch, deals were made with all the major browsers to ship with Flash pre-installed. Pre-installs, YouTube, Facebook and 15 years on the market have made Flash the giant it is. Flash updates require user permission and a browser reboot.

Java Support updates for browsers have been holding steady for the past four years between 75% and 80%. Some of these updates can be hundreds of megabytes to download as system updates. At least on Windows systems, Java Support updates sometime require a system reboot. Apple has depreciated Java as of the release of OSX 10.6 Update 3 and is hinting of not supporting it in the future, at which time Java would rely on manual installation.

Interestingly enough, Microsoft Silverlight’s plugin install base has been steadily rising over the past four years from under 20% to almost 70% of browsers. Silverlight requires a browser reboot as well.

Both Windows Media support and Apple’s Quicktime support have seen installs drop steadily over the past four years, down from between 70% – 75% to a little more than 50%. It is worth pointing out that both these plugins are limited in their functionality when compared to the previously discussed plugins and Unity, mentioned below. Quicktime updates for OSX are handled through system updates. Windows Media Player updates are handled by Windows Systems updates. Both Windows and OSX require rebooting after updates.

Unity web player plugin has been on the rise over the past four years, although numbers are difficult to come by. The unofficial word from Unity is it has approximately 120 million installs. This is impressive due to Unity emerging from relative obscurity four years ago. Unity provides advanced capabilities and rich experiences. Unity MMO’s, like Battlestar Galactica, have over 10 million users. Social game portals like Facebook, Brass Monkey and Kongregate are seeing a rise in Unity content. Unity now targets the Flash player to leverage Flash’s install base. *The Unity plugin doesn’t require rebooting anything (See below).

So what about rich content on the desktop browser without a plugin? There are currently two options for that. The first option is HTML5 on supported browsers. HTML5 is very promising and open source but not every browser fully supports it. HTML5 runs best on Marathon & Chrome at the moment. Take a peek at html5test.com to see how desktop browsers score on supporting HTLM5 features.

The second option for a plugin free rich media content experience in the browser is Unity running natively in Chrome. That’s a great move for Chrome and Unity. How pervasive is Chrome? Check out these desktop browser statistics from around the world ranging between May 2011 to April 2012 according to StatCounter:

IE 34.07% – Steadily Decreasing
Chrome 31.23% – Steadily Increasing
Firefox 24.8% – Slightly Decreasing
Safari 7.3% – Very Slightly increasing
Opera 1.7% – Holding steady

Chrome installs are on the rise and IE is falling. At this time, Chrome’s rapid adoption rates are great for both Unity and HTML5. A big question is when will Unity run natively in IE, Firefox and/or Safari?

We’ve now covered the adoption statistics of many popular browser based plugins and the support for HTML5 provided by the top browsers. There may not really be a debate at all. It appears that there are plenty of uses for each technology at this point. It is my opinion that if the web content is spectacularly engaging, innovative and has inherent viral social marketing hooks integrated, you can proceed on either side of the divide.

, , , , , , , , , , , , , , , ,

GDC12 – Game Developer Conference 2012: a Post-Mortem

March 30th, 2012 by Elliott Mitchell

GDC12- AaaaaAAaaaAAAaaAAAAaAAAAA!!! (Force = Mass x Acceleration) by Dejoban Games and Owlchemy Labs, played by Oleg Pridiuk (Unity Technologies) as Ichiro Lambe (Dejobaan Games) and Deniz Opal (Cerebral Fix) watch - Photo Elliott Mitchell (Infrared5)

This year’s Game Developer Conference (GDC) 2012 was networking, networking and more networking.

Within a one mile proximity of the San Francisco Moscone Center, hordes of game developers and artists could be seen in the streets, cafes, bars, mall food courts, and hotel lobbies and heard talking shop, showing off their games, catching up with friends, debating the ethics of cloning social games from indies, shopping to find publishers, contractors and jobs. It was an intense meeting of the minds of people who make games in the streets of San Francisco.

Google Huddle chats, Google Groups email, shared Google Calendars and Twitter were all utilized very effectively to make the most of GDC. Multitudes of varied networking opportunities streamed in real-time through my iPhone 24/7. The level of my success at GDC was determined by how much networking I could possibly handle. With the help of my friends and the social/mobile networks,  success was at my fingertips.

In addition to the obsessive networking, there were many other valuable aspects of GDC. I’ll briefly highlight a few:

Jeff Ward’s Pre-GDC Board Game Night

GDC12- Elliott Mitchell (Infrared5), John Romero (Loot Drop), Brenda Garno Brathwaite (Loot Drop) & Elizabeth Sampat (Loot Drop) playing games at Jeff Ward's (Fire Hose Games) 3rd Annual Pre-GDC Board Game Night - Photo Drew Sikora

Jeff Ward (Fire Hose Games) knows how to get an amazing collection of game designers and developers together for a night playing board games. This was one of my favorite events of GDC. When else would I ever be able to play board games with John Romero (Loot Drop) and Brenda Garno Brathwaite (Loot Drop) while enjoying hors d’oeuvre and spirits? The crowd was a rich blend of artists, game developers, game designers, indies, students and superstars. There were so many new and classic games to play. I personally played Family Business and a really fun indie game prototype about operating a successful co-operative restaurant. Walking around after playing my games, I observed a host of other cool games being played and pitched. I’ll definitely be back for this event next year.

Independent Games Summit and Main Conference Sessions

GDC12 Ryan Creighton (Untold Entertainment) presenting Ponycorns: Catching Lightning in a Jar- Photo Elliott Mitchell (Infrared5)

Many session topics were super interesting but it wasn’t possible to attend all of them. Luckily, those with a GDC All-Access pass have access to the GDC Vault filled with recorded sessions. Here are a few sessions I saw which I found useful and interesting:

*Perhaps a Time of Miracles Was at Hand: The Business & Development of #Sworcery (Nathan Vella – Capy Games)

*The Pursuit of Indie Happiness: Making Great Games without Going Crazy (Aaron Isaksen – Indie Fund LLC)

*Ponycorns: Catching Lightning in a Jar (Ryan Creighton – Untold Entertainment)

*Light Probe Interpolation Using Tetrahedral Tessellations (Robert Cupisz – Unity Technologies)

Independent Game Festival Contestants on the Expo Floor

I played a bunch of the Independent Games Festival contestants’ games on the Expo floor

GDC12 - Alex Schwartz (Owlchemy Labs) playing Johann Sebastian Joust (Die Gute Fabrik) - Photo Elliott Mitchell (Infrared5)

before the festival winners are announced. There was a whole lot of innovation on display from this group. I particularly loved Johann Sebastian Joust (Die Gute Fabrik), a game without graphics, and Dear Esther (thechineseroom) which is stunning eye candy. Check out all the games here.

12th Annual Game Developer Choice Awards

I was super stoked to see two indies win big!

Superbrothers: Sword & Sorcery EP (Capy Games/Superbrothers) took the Best Handheld/Mobile Game award.

Johann Sebastian Joust (Die Gute Fabrik) won the Innovation Award.  Johann Sebastian Joust is worthy of it’s own blog post in the future.

EXPO FLOOR

* Unity booth – Cool tech from Unity and development venders partners showing off their wares
* Google Booth – Go Home Dinosaurs (Fire Hose Games) on Google Chrome
* Autodesk Booth (Maya and Mudbox)
* Indie Game Festival area ( All of it)

GDC12 - Chris Allen (Brass Monkey) and Andrew Kostuik (Brass Monkey) at the Unity Booth - Photo by Elliott Mitchell (Infrared5)

GDC PLAY

Lots of cool tech at the 1st Annual GDC Play. Our sister company, Brass Monkey, impressed onlookers with their Brass Monkey Controller for mobile devices and Play Brass Monkey web portal for both 2d and 3d games.

UNITY FTW!

Last but not least, the most useful and pleasurable highlight of GDC was face time with the Unity Technology engineers and management. Sure, I’m on email, Skype, Twitter and Facebook with these guys but nothing is like face to face time with this crew. Time and access to Unity’s founders, engineers, evangelists and management is worth the price of GDC admission. Can’t wait until Unite 2012 in Amsterdam and GDC13 next March!

, , , , , , , , , , ,

HTML5 vs. Flash Games Infographic via onemorelevel

February 9th, 2012 by Mike Oldham

HTML5 vs Flash Games
Created by: One More Level

, , ,

Welcome to the new Infrared5 HTML5 site!

February 1st, 2012 by Kelly Wallick

Not only have we upgraded from Flash to HTML5 but we’ve re-designed the entire site. From a cool new dynamic background (hint: try clicking around to see the site’s Easter egg) to updated bios and work sections. We’ve been expanding our company, our clients and even our office so it’s only appropriate that our website should join in as well!

Designed and developed by our team internally the new site has been a labor of love and we couldn’t be happier with the outcome. Take a look around and check out all the neat features and new content. Head over to twitter and let us know what you think or drop us a line on our new contact page. We’re thankful to all the people who have helped us grow over the years and look forward to all the new and exciting work ahead!

ps…Keep an eye out in the next few months for our updated mobile site as well :)

, , ,

The Evolution of Infrared5

June 21st, 2011 by Keith Peters

I joined Infrared5 back in November 2007. Those were very different times. We were a hard core Flash shop, focusing on Red5 Server based applications and Papervision3D. The iPhone had been out for less than six months and only Apple could write apps for it. The iPod Touch was just a few weeks old. Nobody had heard of Android. Tablets were just a failed venture by Microsoft that most people had forgotten about a few years before. Nobody was particularly excited about HTML (5 or otherwise) or JavaScript. If there was any perceived threat to Flash at the time, it might have been Silverlight, but nobody was particularly worried about that.

Now, the landscape is very different. I’m not going to say Flash is dead. I don’t think it is. I don’t even think that it is dying, per se. What is happening though, is that there are so many other cool and interesting things out there now, that Flash has lost its place in the spotlight for many developers. Also, I think that Flash initially had a very low learning curve and very little barrier to entry. A lot of Flash developers grew up as Flash did, learned real programming, object orientation, design patterns, best practices, etc., and were then able to branch out to other languages and platforms.

I have to say, that Infrared5 has not only rolled with the changes very well, but has completely embraced the change. I think virtually all of our front end developers are now seasoned iOS developers. Several have embraced Android development as well. We have Windows Phone 7 knowledge (mostly me), and our 3D platform has moved from Papervision to Unity. We’re doing HTML5 stuff as well as Flash and Flex sites, iPad apps, kiosk applications. Many of our projects even span multiple platforms – a Flex 4 app with an HTML5 public facing site, Flash or Unity 3D games with a companion iPhone app via Brass Monkey.

The company’s tag line is “Yeah, we can build that.” I’d say we’ve lived up to that.

In closing, I ran across this quote the other day that I really loved. It comes from a free on line book, “Learn Python the Hard Way”, by Zed A. Shaw, which you can find here: http://learnpythonthehardway.org/ . In the last section called “Advice From An Old Programmer”, he says:

“What I discovered after this journey of learning is that the languages did not matter, it’s what you do with them. Actually, I always knew that, but I’d get distracted by the languages and forget it periodically. Now I never forget it, and neither should you.

Which programming language you learn and use does not matter. Do not get sucked into the religion surrounding programming languages as that will only blind you to their true purpose of being your tool for doing interesting things.

Programming as an intellectual activity is the only art form that allows you to create interactive art. You can create projects that other people can play with, and you can talk to them indirectly. No other art form is quite this interactive. Movies flow to the audience in one direction. Paintings do not move. Code goes both ways.”

The full quote is here: http://learnpythonthehardway.org/book/advice.html

, , , , , , ,