Archive for the ‘Hackathon’ Category

Let The Corona Blitz Begin!

Posted: August 17, 2013 in Corona SDK, Hackathon

Hello World,

I love hackathons. These short, intense bursts of rapid application development can certainly test your “metal”. But more importantly, I like participating in these event because they really test my skills as an application developer. Well, the latest of these kind of events is the CoronaBlitz – A Semi-Regular Mini Coding Challenge. This semi-regular event is organized by Andrew Potozniak, an indie developer and founder of TozSoftware.

So What Is The CoronaBlitz?

This is a coding challenge in which you have 4 hours to develop a mobile app using the Corona SDK and any 3rd party tools that may help you along the way. There is no prize money. There are no trip giveaways. Those of us participating do so for the love of coding and learning (and maybe a bit of SWAG and recognition for our work). Unlike many other hackathons this event does not require you to show up at a specific venue. All the coding is done on your own time in a location of your choosing (your office, living room, bed!?). Each coding challenge happens over the course of several days but the organizer trusts that you will spend only 4 hours total coding your app – in one sitting or broken up over the course of the event (is there such a thing as a “Code” among coders?) Each blitz event will have a theme that you should adhere to. This theme for this blitz is Collection.

Time To Enter The Fray

The current blitz started on August 16th and lasts until August 25th and I plan on spreading out my 4 hours over the course of the 9 days. My goal is not to simply “hack” together something within that time but rather to create a working app that can be used as a teaching tool for those wishing to learn the Corona SDK. This means that I will be doing short (30 – 45 minutes) coding sessions focused on one or more specific functionalities or tasks. Afterwards I will post details of my progress here on this blog. In between each of the coding sessions I will plan my next step and gather the resources (images, audio, libraries, etc) I may need to accomplish the next task. In the end I hope to have put together a video tutorial showing you how I built the app and explaining some of the features I have included.

The Discovery Of An Idea

It was very difficult for me to discover the app I will be creating for this blitz. I say “discover” because that’s the best way for me to find with ideas for new projects. I keep my mind open at all times for bits of inspiration from everyday life to the movies I watch to the other apps I see to the many people I interact with. I never know when and where the inspiration may reveal itself. So I keep a log of ideas and inspirations on my cell phone.

It took a few days before the idea for this app revealed itself. I still remember and love playing games like PacMan, Space Invaders, and Asteroids. As I was think about the theme one day I saw a picture of Space Invaders while browsing the net. Couple that with the fact that I am a huge Star Trek fan, I started thinking about the Borg Collective. So why not create a game that combines the simplicity of Space Invaders with the concept of the Borg thereby adhering (as best as I can) to the theme “Collection”. This was born.

“The Return of the Space Invaders: The Collective!”

First I had to come up with a story. The story will help me define the game concept and how it should be played.

The Space Invaders Are Back with a vengeance! Although they look the same they have formed into a collective that acts, behave, and thinks alike. They also learned how to “collect” and assimilate other life forms into their collective thus making their army stronger. You must fight off the attacks of the Space Invaders and prevent them from collecting too many of our citizens for their evil purposes.

Well there you have it. The beginning of a game. So what do I need as far as resources for the game? First I need images. Let me say that I am not a designer. I don’t know how to use Photoshop. However I can do wonders with clip art. I have been using Fireworks for several years (Corel Draw before that). I have a collection of millions of images on CDs and hard drives. So I need to find existing images that I can alter to suit my purposes. I plan on using the same Space Invader alien images from the 70s.

Space Invader Aliens

That will give it a retro look and feel. The background and other images will have a more contemporary look. I will use images of a tank to replace the missile defence. Instead of buildings standing between the aliens and the tanks I will have floating shields. The concept is that earth defenses have advanced enough to create and activate invisible (almost) defense shields that help defend against the attacks. Of course since the alien weapons can not penetrate the defense shields neither can our weapons (Star Trek logic). So the shields will randomly rotate with gaps in-between allowing us to fire through (and the also the aliens). Below the tank will be little people randomly walking back and forth. These are the people you must defend against assimilation. Should one of the alien’s weapons hit a citizen that citizen will be added to the collective with the aliens above. Every addition to their collective increases the level of difficulty. Just as in the original game the aliens will always be advancing downward. Your weapons can only destroy the aliens (sorry, you can’t save any assimilated citizens). Should the alien force breach the shielding, all the citizens will be assimilated and the game is over. Should an alien weapon hit the tank then you have been destroyed, the defensive shields will fail, and all the citizens will be assimilated. You get only one life (just like in real life). Should you destroy all the aliens then you win and get points for all the remaining citizens you were able to save.

I bought some clip art from one of my stock image sources – DepositPhotos.com. I was then able to isolate and save the images as individual files. Then I created a sprite sheet for most of the images (not the background image) using Texture Packer. I found this to be the best and easiest to use sprite sheet generator on the market. Since this is a coding challenge I do not count the work I did to gather and process the images towards the four hours given to us in the Corona Blitz.

I am now ready to start coding. My first set of tasks will be to create the Corona SDk app, setup the application folders, add the various helper libraries I use in many of my projects, create the splash screen, and the instructional screen. This should take less than an hour. Once I am finished I will post details and screenshots about my experience and what was done.

See you in a couple of days!

CIAO

Hello World,

It’s been a very busy few months for me. New Projects! New Languages! More Hackathons! Yes, you heard that right, Hackathons.

“Hi, My Name Is Theo and I’m A Serial Hackathoner”

In case you’re wondering, “just what is a Hackathon?” I’ll give it to you short and sweet straight from the one resource that knows all (wink):

hackathon (also known as a hack dayhackfest or codefest) is an event in which computer programmers and others involved in software development, including graphic designers, interface designers and project managers, collaborate intensively on software projects.Wikipedia

So there you are … no “black hat” hacking into organizations in order to steal tons of information. In fact it’s quite the opposite. Many large companies run, organize, and sponsor these Hackathons such as:

Microsoft, Facebook, Google, and YES even The White House!

So why am I confessing this here on my blog? During the past (almost) two years I have participated in 7 different Hackathons. Some were as short as 8 hours. Others were as long as 48 hours. During these events I learn a lot about the effectiveness of the languages, libraries, and tools I use and my skills as a software developer. Even the choices I make before and during the event say a lot about the kind of developer I am. I believe that every software developer should participate in a Hackathon or two. I have been asked so many questions by many so many people about my desire to participate in so many of these events. So here my answers to just a couple of those questions:

“What tools do you use when you participate in a Hackathon?”

In my first Hackathon (The BeMyApp AppOlympics in 2012) I used a HTML 5/CSS/Javascript platform called appMobi. It enabled me to quickly create mobile apps that can be deployed on mobile and tablet devices leveraging my Javascript (jQuery, Knockout.js, and more) skills. My team won 1st place in that event and then went on to win the global grand prize. After that I continued to use appMobi in 4 more Hackathons. Some I won. Others I lost – always learning more about myself as a coder and always improving. After a loosing a major Hackathon in Las Vegas I went back to the drawing board and started re-evaluating my toolset. I discovered that my weakest skill is in CSS. So I searched for a tool that would enable me to easily create highly responsive UIs with very little to no CSS coding. I found several but I stumbled upon one that I embraced and use to this very day – The Corona SDK and Lua!

Corona SDK

I dove head long into learning Corona and Lua and entered my first Hackathon using the Corona SDK. It was the TechCruch DisruptNYC.

TechCruch NYC 2013

Not only did it enable me to quickly create a mobile app, I had time to create a second app using Appery.IO (HTML 5/Javascript based). The two work together as one.

Appery.IO

I won the 1st prize of the VISA challenge at that Hackathon. From then on I knew the power and efficiency of the Corona SDK and Lua. Now I include Corona in all my evaluations when new software development projects come along and yes … even Hackathons.

“Got any more Hackathons you plan on entering?”

Well, of course. I am always looking for Hackathons. I liken them to the cooking competition shows on cable TV (I wish someone would create that kind of show for coders). You never know what opportunities will arise from participating in such an event. There are two events in June 2013 I will be joining. One is in our backyard (Rockville, MD) and the other in Washington, DC with the big boys – AngelHack. There is another online Hackathon that runs from May until July that is Corona specific. I am really excited about that on because it involves the Dilbert comic strip characters. Lastly, I can’t wait to get back to Vegas for another chance to win at MoDev’s CEA Hackathon.

AngelHack

Well, that’s it for now. I’ll try to keep you updated on my activities. I hope that I can meet some of you at one of these Hackathons. I have met so many great people already.

CIAO!

Hello World,

Less than two days from now (it’s Jan. 3rd, 2013) I will be taking a trip to the city that *really* never sleeps … Las Vegas, NV!! Recently, I won an All Expenses Paid trip to attend the Consumer Electronics Show (CES) and the AT&T Developer Summit in Las Vegas. While there I will be enjoying ALL that Vegas has to offer including participating in my 5th Hackathon, the CEA/MoDev Hackathon, held at CES and sponsored by the Travel Channel. You can get more information here – http://www.meetup.com/modevdc/events/94385142/comments/142895202/?itemTypeToken=COMMENT&a=ed1_17&reply=1&_af_eid=94385142&_af=event

What’s a Hackathon you say? It’s a competition where developers, designers, and other I.T. students and professionals gather together to network and create software applications within a specific amount of time. I find these events to be a lot of fun and very challenging (I love a challenge). You get to meet a lot of really smart people and learn about various technologies. It also tests your knowledge and skills and reveals how well you perform under such trying conditions. In the end you can end up with a potentially commercial application. At worst you will learn what to do and what not to do when challenged with such a difficult deadline. All in all … you will either love it or hate it.

Yes, I competed in 4 previous Hackathons – one in New York City and three in Virginia. My team and I won prizes in 3 out of 4 of these events including taking the global grand prize in the 2012 AppOlympics in held in New York City! So what plans do I have for the upcoming Hackathon in Vegas? While I can’t tell you what we will be creating at the Hackathon (’cause then I would have to wipe your memory – wink) I will give you a summary of the technologies we will be using:

Intended OS/Platform:   iPhone and iPad using HTML5, CSSS3, and Javascript for Mobile

Development Tools/Platform:

appMobi XDK – testing and deployment,

WebStorm – source code editing,

Adobe Fireworks – graphics design

Javascript Language/Libraries:

jQuery libraries OR jqMobi libraries (I still can’t decide which I will use),

Sprite3D.js – 3D visualizations and animation

CSS Libraries:

Twitter Bootstrap – easy element styling,

jQuery OR jqMobi (I still can’t decide which I will use)

Cloud Services:

appMobi XDK – app deployment and push notification

 Kii Cloud – cloud data storage, access to Facebook, and access to Twitter

I can tell you that it will be a travel related app and that we have dozens of pages of hand-drawn sketches describing our app (Rule #1: No coding before the Hackathon begins). After 4 successful Hackathons I have found that this combination of tools and technologies enable us to quickly create a working application prototype. However I am always open to suggestions and I am always willing to learn more (such as Angular.js and Sencha).

So stay tuned to this site as I submit updates about my experiences at the AT&T Developer Summit, CES, and the CES Hackathon. What about my free time? Well somethings have to stay in Vegas.

Ciao