The Lean Startup and Nutty Squirrel

When I first came aboard at Microsoft, the Director of Evangelism, Bob Familiar, handed me a book and said “read it”. Not really, but he gave me the book and told me about how we can utilize the books story to help developers build apps. The book was called The Lean Startup by Eric Ries.leanstartup

When I first was handed the book a few things rushed into my mind. The first being what does Microsoft know about “Lean Startup” and the second was why does this apply to building apps? Bob further explained about the principles in the book and it all made sense. After reading the book, not only can I talk about the major principles but I apply them to my projects.

The Lean Startup is an approach not only developers of apps can take advantage of, but anyone that has an idea or wants to be an entrepreneur. It is continuing on your idea by innovating, measuring, learning and adapting. The author, Eric Ries, goes into detail about experiences he had with his company along with examples of other companies.

The biggest takeaway I am using from the book is the Minimum Viable Product. This hits home with developers immediately. What is the minimum feature set and functionality that you can put into a product that will make it viable to the consumer?

When I host events for developers and students, especially game development events, they all come in thinking they will build the next Halo 4. That is just not the case. There is a thing called Time, Money and Resources that just make that impossible. However, the MVP approach can help a bit with that.

I do use Halo as an example. I tell the audience that there is no harm in having a goal of creating it, but start with the MVP and get that out to the consumer. Maybe it is one level and 2 enemies. Maybe there are no power ups or weapon selection but there are scores and leaderboards. Work on that. Get that in the hands of consumers and test the waters. Measure from the feedback. Did anyone download it? Reviews? Etc. Then learn and adapt accordingly.

Another thing that I am a big believer is if you are going to “talk the talk, you need to walk the walk”. So that is the approach I am taking with my development. What functions and features can I put into a product to make it viable for the consumer without sacrificing quality?Screenshot.242603.100000 In my first release of Nutty Squirrel, I just included 2 levels and high score. I wanted to get the game out there pretty quick to see if there was any interest in a silly squirrel who chases acorns as a game. Well in close to 2 weeks I hit 700 downloads. Might not sound like a lot but to me that was a success. So I worked on a few more levels for a total of 4. I now have a level selector and added a few more features as well. When I submitted it to the store on Tuesday I had over 1000 on version 1. As of today I am at 1093 and still growing.

I know Nutty Squirrel is not Halo or any of the companies mentioned in the book. However, if I waited until my final vision was complete (a total of 12 levels) it would not be in the store and gaining traction. Developers and students get that. They see what is attainable by creating a Minimum Viable Product.
Another example I give the developers and students are my experiences in the digital agency world. Before I joined Microsoft I was a technical director in digital agencies for close to 15 years. With agencies more often than not you are working on a fix bid cost for a project. There are 2 major problems with fixed bid projects. The first being the “fixed” part about it. It is difficult to go back and get extra dollars for the project after the client has committed a dollar amount. And the second is the bid. Most times you are “bidding” on something that is not defined nor even known about. Both of these items end up working against each other in the end. You most likely come out of the project over budget and under fulfilled.

Example: Client wants a new website that focuses on a new product launch. We can use recipes and a promotion to help drive awareness and activation. At first glance we provide a few key features and some high level designs and user experience along with a price. Then negotiations happen. Most of the time price comes down but due date and feature request stays the same. What ends up happening at the end of the project is we need to scale back on what we can deliver. Instead of 1000 recipes, we can deliver only 200. Stock images have to be used due to timing and money. Searching, SEO, Social functions and some other items needs to be scaled back as well. What ends up happening is the site is launched, few bugs but not at 100% of what we “could” have done. Reason is there was no Minimum Viable Approach. If we took the same project and used MVP maybe recipes just would be the focus. Images and Metadata along with rich snippets would be the focus. Get a great recipe section out and then work on promotions etc. for the next release.

Easy to say now, but if we all think in the way to determine what would be the minimum amount of functionality would be to create a viable and quality product that consumers would engage in then more products and projects could be a bit more successful. And on top of that, to adjust or to change direction would also be a bit easier because you are still at a minimum feature set.

If you have not heard or want to learn more about The Lean Startup, please pick up a book or go to one of the seminars. It opened my eyes from a product development standpoint and is hitting home with my audience.

Windows 8 App Developer Workshop Farmington CT

Screenshot (3)Attend a free hands-on workshop this weekend, October 12th 2013! This one is perfect for beginning developers and experienced coders alike. Get individual guidance on designing, building, marketing and publishing your app. Who knows? Your app could entertain, educate or even change the world!

The App Development Workshops provide you Windows 8 and Windows Phone starter kits based on well-known open data API’s such as Twitter, Meetup, Instagram, Edmunds and many more.

By attending a workshop you will:

1. Code Windows 8 and Windows Phone 8 apps by leveraging our API starter kits
2. Publish your apps to the Windows and Windows Phone stores
3. Market your app online and through social media to drive downloads

Workshop Agenda

Hour 1 Presentation: Getting started with the Windows App Starter Kits

Hours 2 & 3 Code your app following our Hands-On Lab Workbooks and get expert, personal help with your project

Hour 4 Presentation: Marketing Apps 101

Refreshments will be served

MeetupSign up over at Meetup.

 

View the resources need for this event.

 

jQuery Accordion with 8 Lines of Code

Ok.  Maybe more than 8 lines of code but very little.  I have been working with another agency (that will rename nameless) on a mobile web site for a client of ours.  The agency provided the HTML/CSS/Images and Script for our technology team to implement.  We hook up all the back end and call it a day.

The section that came into question was an ‘accordion’ style UI for a set of FAQ’s and other content.  When I first loaded up their pages, everything worked fine.  Upon further inspection of their code I noticed a lot of JavaScript libraries that were not needed.  They included jQuery AND Prototype along with some effects and accordion scripts.  (Prototype alone is almost 100kb in file size and the other scripts were 42kb.  That still does not include the 70kb for jQuery)  I thought to myself, this is a mobile site…why have extra scripts if not needed.  To make matters even more funny, we are supporting Mobile Safari (iOS), Mobile Chrome (Android) and the BlackBerry Browser (RIM), it does not work in BlackBerry at all.  Forget enabling or disabling JavaScript it just does not work.  Even the elements are hidden.

So it got me thinking about the old saying, “if you want something done right you have to do it yourself”.  So I did.

I removed all the libraries except for jQuery and made all of the elements visible by default.  Basically if a user does not have JavaScript enabled then they can see everything.

Here is my HTML

Styles and other HTML can be wrapped around it. You can change the paragraph tags to div’s if needed but that is the structure you need more or less.

Now for the JavaScript.

Make sure you embed jQuery (I did from Google)

Then hide all open content containers:

If the element does not have the ‘current’ class then we need to first remove the ‘old’ ‘current’, close the ‘old’ ‘current’ and open and set the new ‘current’.

Done.

Here is the final:

Depending on how you format the code and what you count as a ‘line’ it can be about 8 lines 🙂

Updated GitHub Repository

Demo here – View in Mobile Browser.  Desktop browser will work as well.  Works on iOS, Android, BlackBerry.