Wednesday, July 17, 2013

App Dev Empire review

Some time ago I found App Dev Empire - a course promising to teach you how to create Android apps and, what is more important, make big money on them. At first glance, it looked highly suspicious to me. There were only positive testimonials in the comments section and numerous sites giving it raving reviews (just type "app dev empire review" into Google). Anyway, I decided that $47 is not that much after all and even if I didn't make a fortune, I could at least describe my experience on the blog. Also, I was secretly hoping that if I didn't like the course at all, they would give me the money back based on the 60-day money back guarantee with no questions asked, which they promise. Here's the whole story.

The App Dev Empire site looks great and almost makes you beg to let you pay to finally take a peek at the course. The promotional video is very professional and makes you think that if the actual content is half as good you might have found a gold mine. What is more, it claims to be able to teach you all necessary stuff without any prior programming skills. Seems unreal? Well, let's see...


So I finally clicked the "Buy" button, having that strange feeling in my gut that I was doing something incredibly stupid, but at the same time whispering to myself "come to me my precioussss"... When the transaction was complete, I was so excited to see my latest purchase that I almost fell off my chair. Unfortunately, here it was when a streak of disappointments began, slowly putting out all the enthusiasm that had been built up so tenderly before.

The first thing that you see is an upsell screen telling you that although the course itself is great as is, you might be interested in acquiring some additional source code helping you to understand it better and have a base for further experimentation. All that for only $47. Having just paid the exact same amount and not being prepared to put my hand in the pocket again, I politely refused the offer and proceeded to the long awaited members area.

I found and played the first video dying to see what it had to offer and heard the familiar soft voice of the guy from the promotional material. Time flew while I cherished every single word that I heard, instructing me how to organize my environment and tools. It seemed like minutes when the video was over. Or perhaps it was minutes. I checked it to be sure and in fact it lasted only 4:24. Well, I thought to myself, there are 11 more from which I can still learn highly valuable information helping me to become a successful app developer. Each one of them putting me a step closer to the final goal.

Then another thing happened. I saw the second video and it was only 2:19. No, there is no spelling mistake: two minutes and nineteen seconds. I got seriously worried that the beautiful game they sketched so vividly would never get done or perhaps appear magically with the soft voice guy saying something like: "We've omitted parts of the code to let you work on them yourself. If you have problems with it, you can buy the source code pack for only $47". Fortunately, I was wrong this time.

The whole course turned out to be a little more than 5h long. Actually, I wouldn't use the word "course". It's more of a screencast in which you see the creation of a simple game. I quite liked the idea that you see everything that is done, from installing the environment, through downloading and processing of graphics and sound resources, up to coding. Unfortunately, it also makes the videos unbearably boring. You just watch the code being written with a speed of an 80-year old who just found out how to use a keyboard. Wouldn't it be easier to just paste the code and then review it?! Sorry, I always get frustrated when I see someone type so slow. But I do have to admit - the game eventually gets created and works.

After watching the last video, I asked myself the question: "What did I learn from all this?". The problem was, I couldn't really tell. It wasn't a programming course, because they assumed you already knew how to get around in the programming environment and handle the code (sometimes quite complicated). They didn't show me any good libraries to automate the game creation process and make it easier and less time consuming. In fact, they used the most basic Android tools: drawing on a Canvas, playing sounds with a MediaPlayer and handling all logic (collisions, animations, etc.) by themselves.

What got my attention was that the code didn't meet any Java coding standard. Variable names started with capital letters or had underscores. Sometimes I wasn't quite sure if a name was referring to a class, a method or a variable. It made me wonder if the guy who actually wrote it had any Java experience. You just don't make such things... ever. Sometimes in the video you could see files with names written in cyrillic which only confirmed my thesis that the author was a freelancer from the eastern conglomerate. And when the soft voice guy pronounced "onTouchListener" as "onToughListener" he lost all the respect in my eyes.

I could probably give some more examples of the lack of quality like the fact that using image resources found with Google is probably illegal and that the game doesn't handle situations when there is an incoming call or the screen size changes. I have to admit, though, that making a playable game in such little time is quite impressive. Especially, taking into account the speed of typing and that some of the video material shows you how to install the programming environment. At the end of the course you should have a ship flying in the right direction, obstacles forming a kind of a tunnel and coins that you have to collect. Everything looking quite pleasant to the eye, including menus and backgrounds.

Besides video lessons, App Dev Empire offers 6 pdf reports. I didn't expect much from them after finishing the course, but they turned out to be not that bad. They describe the most popular app categories as well as monetization and marketing techniques. You shouldn't expect too much from them, since they are usually two to three pages long and use a couple of sentences to explain each point, but they do mention some useful sites and techniques (although you'll have to make some further research on them yourself). To me they seemed too general - almost like typing "android monetizing techniques" in Google and checking out the results.

There's another section on the App Dev Empire site called bonus material, but its content only says: "This additional bonus training module will be released 17 June 2013". It's mid July 2013 when I'm writing this, so I'm not quite sure if it will ever appear.

As you may easily guess, I wasn't quite satisfied with the course and I decided to make use of the money back guarantee. It required some effort, since the support email address on the site didn't work (I kept getting undelivered email notifications). I eventually managed to do it via ClickBank, which is a bigger platform App Dev Empire is sold through. You can find detailed instructions on how to get a refund in this YouTube video. By now, all the cash has already been transfered to my PayPal account and, quite surprisingly, I still have access to the course. Not that I want to go through it another time, but it was helpful while writing this review. Perhaps some day they'll upload the promised bonus material as well...

To sum up, App Dev Empire is not a great product. I'd give it a score of 3.5/10. I liked the form of video lessons and some material from the reports, but in general, it offered less value than an average Android book (which would probably be cheaper anyway). If you're willing to commit 6h of your time and $47, I'd still say to try it - especially with the money back guarantee. Just don't expect to become a millionaire afterwards or to learn how to program if you're a total beginner. You have to at least understand someone else's code and get around in Photoshop or some similar piece of software to be able to follow the lessons.

I hope this review will help you make the right decision. Especially that there are plenty of them showing the course in a totally different way. Feel free to share your own experiences, if you have any.

Friday, June 28, 2013

Android indie developer interview: Krishna Teja from Mad Logic Games

Here's the first interview I've done for my blog. I want to do more of them in the future inviting interesting people and asking them questions about their work. I hope you find it educating. Enjoy your reading!


Bartek: Please, tell us something about yourself. Who are you? Where do you live? What do you do in life?

Krishna: Thanks for inviting me. My name is Krishna Teja, the founder of Mad Logic Games, and my vision is to make it the world's best game development studio. I am a 19 year old student studying Computer Science at VNR Vigyana Jyothi Institute of Engineering and Technology, Hyderabad. I am just getting started with my Android programming career. As an independent Android developer I published 5 games on Play Store and currently making more. My aim is to turn my Android development hobby into a professional company.

Bartek: So, how did it all start? Why did you decide to make Android games and not for example iPhone games or some other kind of apps? I know that you used to make money through Internet marketing. What was wrong with it?

Krishna: I develop my games using a cross platform engine, so I can compile them for Android, iOS and Windows too. My games are already ready for iPhone and iPad but the only problem is I need a Mac and an iPhone/iPod to publish my games to the iTunes App Store. I don't have them yet since they are too costly and I don't have the money right now to buy them. Once I earn enough money, I will immediately publish my apps to the Apple App Store. I've spent all the money I made through Internet Marketing to buy my development PC and the Game Development tool called GameMaker: Studio.

Bartek: Can you tell me some more about it? Why did you choose this tool? What are your experiences with it? What language do you use to program?

Krishna: I have a paid license for GameMaker: Studio Master. Though it's costly, it's an amazing tool which allows you to create games very quickly and is very easy to learn. You can make games without any coding, just use the built-in drag and drop features. Also, once you develop the game you can deploy it to various platforms like Android, iOS, Windows, Mac, Ubuntu, Tizen, web (HTML 5) with a click of a button. Because of all these features I carefully chose this tool and feel it's been totally worth my investment.

Bartek: What other tools did you consider? Can you write Android native code?

Krishna: Yes, I can write Android apps in Java. A year back I started programming with Java and used a third party open source library called LibGDX. LibGDX is Free and Open source and can be used to create games for Android, iOS and HTML 5 too. But, it was very hard for me to make even a simple game. So I started searching for other tools and found GameMaker Studio.

Bartek: What language do you use to write games in it? What features do you think it has that makes it better than other tools?

Krishna: For beginners, you don't need to know any programming. GameMaker offers a Drag and Drop user interface which can be used to develop games. For advanced users, if you need to include any complex functions you can do that too using the special Game Maker Language. It's easy to learn and includes a lot of documentation. I personally use both Drag and Drop and GML language to write my games. I think it's better than any other tool because of its easy to use Drag and Drop interface.

Bartek: How much time did it take you to learn how to use GameMaker?

Krishna: A week to learn the interface and the basic functions. I was able to make games within minutes! GameMaker offers plenty of tutorials which are easy to follow.

Bartek: How much is the GameMaker version that you have?

Krishna: I have the GameMaker: Studio Master Collection license which costs $499.99. For those who want to get started you can use the Free version to build the game for PC and later buy Android license to publish it to Play Store.

Bartek: Where do you take your game ideas from?

Krishna: I come up with game ideas myself. I think of all the possible things I can do with GameMaker without much programming/graphics involved and then come up with some simple games. I show it to my friends and ask them if they like it. If I get positive feedback, I start developing the game.

Bartek: What about game resources? Where do you get you graphics, sounds, and music from?

Krishna: Graphics are mostly done by me. But my friend helps me too. Sounds and music are taken from others and are commercially free to use. I use Adode Photoshop and Illustrator to make graphics. My favourite site to get sounds and music is freesound.org.

Bartek: Do you also use some other programming tools? Source control (SVN, git?) or something like that?

Krishna: No, since I am the only one who programs I don't use any source control tools. This is what I do to quickly convert my idea into game:

  • Write down all the ideas you get onto a piece of paper/notepad.
  • Think of a theme and story for your game.
  • Check if the game can be programmed easily.
  • Now start developing a prototype for the game. (Simple game showing what you want to make without any graphics)
  • Split the programming into parts.
  • Try to program all the complex parts first.
  • Finally, assemble them and start applying nice graphics to it.


Bartek: How long does it take you to write a game?

Krishna: My first game took me a month, because I was still learning and didn't know about some functions. Other games took me about 2 weeks to develop.

Bartek: How many hours a day are we talking about?

Krishna: About 3 hours a day.

Bartek: How much are you making on your games now? Which one has been the biggest success and which one has been the biggest failure so far and why?

Krishna: I am making an average of $3.5 a day (a little more than $100 a month). My biggest success was my first game: Box Game. Biggest failure? Scary Prank Game, but I can't say failure because I published it recently and it needs some time to get downloads. Also Scary Prank Game was a rehashed version of Box Game.

Bartek: How do you monetize your apps? Do you have any advice on it?

Krishna: All my games are free. They don't have any In App Purchases (for now). I only use banner and interstitial ads in my games. Many of you will have different opinions regarding monetization. But my advice to indie developers who don't have any initial investment/budget for marketing is to make a game free and add ads or in app purchases. I personally feel that for Android ads work better than IAPs because of the demographic of the users. For iOS people are more likely to pay so use IAPs.

Bartek: What ad network(s) do you use?

Krishna: I only use AdMob right now. I will be adding Millennial Media Ads very soon.

Bartek: Interesting, why did you choose Millennial Media Ads? I have to say it's the first time I hear about it .

Krishna: Actually I didn't choose it. :P GameMaker only supports AdMob, AdColony and Millennial Media so I had no choice. I talked to their support team and they said they would be supporting PlayHeaven soon. So I am waiting for it.

Bartek: That explains much. So, what are your plans for the future? Are you making a new game now? Can you reveal some of the secret?

Krishna: Build more games for Android. After I start earning a steady income, I will buy a Mac and iDevices and port my games to the iTunes App Store. Yes, I am making a new game now. I will publish it next week if everything goes well. There are no secrets, whatever I do I post it to my blog. All you have to do is work hard to reach your goals.

Bartek: What's your favourite Android game?

Krishna: Tough question haha. Some of my favourites are Temple Run, Plants vs Zombies, Subway Surfers.

Bartek: What android device(s) do you own?

Krishna: I own a very low end phone LG P350. It can't run any new games. I use my friend's tablet to play and test games.

Bartek: Do you read some interesting blogs on Android development? Do you know any interesting sites that you could recommend?

Krishna: I follow www.nenoff.com, www.ziggysgames.com and yours, all other blogs are dead, no one actively posts. I also follow the forum http://forums.makingmoneywithandroid.com/ which has some nice informaton regarding monetization.

Bartek: What advice would you give to other developers (beginners and more advanced ones) - something that would have helped you the most if you had known it earlier?

Krishna: First decide what you want to make, a game or an app? Search for some development tools to make it. Choose the right tool. For 2D games I use GameMaker (paid) but you can also select free tools like AndEngine, PhoneGap, LibGDX. For 3D choose Unity 3D. Try to learn everything regarding the tool using freely available tutorials and youtube videos. Then start building a simple game first. Don't try to develop the next Angry Birds! Start small, you can later try complex stuff. First develop a simple game and publish it to Play Store. Wait for feedback/reviews, it will definitely inspire you to build more games.

Bartek: Great piece of advice! If someone wants to find out more about you and your games, where should they go?

Krishna: You will find all the information regarding my development journey at my blog: http://madlogicdev.wordpress.com and all my apps can be found here: https://play.google.com/store/apps/developer?id=Mad+Logic+Games
You can talk to me directly at krishnatejanew [at] gmail.com.

Thank you for the interview.

Bartek: It was my pleasure. Good luck with your games.


So, did you like it? Do you want me to do more interviews in the future? Let me know!

If you have something interesting to say and are willing to share your knowledge, feel free to contact me as well. I'll be glad to hear your story.

Thursday, June 20, 2013

Android static code analysis tools

If you think you know Java well, you are probably wrong. And even if you are a true pro, you certainly still make mistakes - yes even those silly ones. To make it more daunting, Android is not just plain old Java. It enforces the use of mechanisms that are not easy to understand at all: multithreading, generic types, memory management, and various design patterns. Do you still think you're good enough on your own? Watch the videos below (or at least skim them).



The guy in gray hair is Joshua Bloch - the former Chief Java Architect at Google (he quit in 2012 after 8 years there) and the author of  Java Collections framework. As you can probably guess, he's a pretty smart guy. He also has a good sense of humor, which isn't very common in the IT world. If you'd like to rake your brains some more, check out his book: Java Puzzlers: Traps, Pitfalls, and Corner Cases.

But back to the point. Knowing the syntax of a programming language is not the same as being a good programmer. I remember reading Effective Java (again by Joshua Bloch) and getting surprised every chapter at how little I knew about high quality code. I worship this book for showing me that I had (and most certainly still have) a lot to learn and that Java is much more complex than it appears to be at the first glance. After reading it three times back to back and getting a couple years of experience I feel much more comfortable now in the world of classes, variables, and methods. However, the conclusion you should be getting from this rant is that no matter how skilled or smart you are, you will always be creating bugs.

So, is there anything we, programmers, can do to prevent at least some of the mistakes we make? The answer is yes and we can achieve it using static code analysis.

For all those who are not familiar with this term, do you remember when Eclipse suggested that you get rid of a variable because you were not using it anywhere or when you used the assignment operator for comparison when you actually meant to write ==? That's, more or less, it, but there are much more powerful tools that can take it to the next level. Let's see what they are.

Lint

This tool is already there for you without the need to install anything. It has been introduced in ADT 16 and has been a part of your Eclipse ever since. What can it do? It works with Android specific functionality, checking such things as:
  • missing translations, e.g. when you have a text resource in one language but not in another
  • layout performance problems, e.g. when you nest views unnecessarily
  • unused resources, e.g. when you have images in your res folder that you never refer to
  • accessibility and internationalization problems, e.g. when you hardcode strings
  • icon problems, e.g. when you failed to provide icons for all screen densities or they have wrong sizes
  • manifest errors
Lint is always there for you, running in the background. However, it does not scan the whole project unless you tell it to by pressing the checkbox icon in the toolbar. Make sure you do it from time to time and don't just ignore the messages that appear in the Lint Warnings view. Each of them provides a lengthy explanation of what's wrong with your code and even if you still don't get it - ask Google.


It's one of my favourite tools. You can easily install an Eclipse plugin by going to the Eclipse Marketplace (Help/Eclipse Marketplace...). Then right click your project and choose Find Bugs/Find Bugs...

I guarantee that you'll be surprised at what you find. They scanned the latest Java JDK itself and discovered quite a lot of things that should have been done differently. If the Oracle's employees have been so sloppy, I wonder how your projects do...

Here's what bug patterns FindBugs looks for:
  • difficult language features
  • misunderstood API methods
  • misunderstood invariants when code is modified during maintenance
  • garden variety mistakes: typos, use of the wrong boolean operator
P.S. They use FindBugs regularly at Google to keep their code quality high.


Google CodePro Analytix

You can again get it from the Eclipse Marketplace. It provides similar functionality as FindBugs, but also:
  • finds duplicated code
  • generates JUnit test for you
  • computes code metrics
  • computes test code coverage
  • draws dependency analysis diagrams
I discovered CodePro quite recently and I must say it's very powerful and helps me a lot.


It used to be a tool checking if the code meets the specified coding standards. It has evolved since then and has become a very powerful ally in the battle with bugs. You must certainly get to know it, because it has been the industry constant for a good couple of years. Extremely easy to install through Eclipse Marketplace.


Yet another code analyzer. Very powerful, one of the best known by programmers and downloadable as an Eclipse plugin.






Other tools

If, for some reason, the tools mentioned above are not enough for you or you just want to experiment with more of them, make sure to take a look at the list of tools for static analysis at Wikipedia. It contains useful utilities for languages other that Java as well.


Use it!

I hope I don't have to repeat myself and tell you one more time that using static code analysis is a must. You don't have to install all of the tools mentioned, but choose at least one that you like and run it whenever you add some new functionality. Don't ignore the warnings! There will be false positives from time to time, but treat them with caution and look for a detailed description online whenever you don't quite understand what's wrong. I guarantee, that you'll find bugs you haven't event thought of and that you'll learn a lot by correcting them.


If you feel like sharing your experience, let me know what tools you like the most and what unexpected errors you were able to find. Don't be ashamed of your code. Remember that even smart people make dumb mistakes.



Sunday, June 9, 2013

Unity free for mobile indie developers

If you want to start making Android games, the guys from Unity just got you a huge present. They released their cross-platform engine for free. Well, at least if you're making less than $100,000 a year with your apps, which I suppose you do. Watch the announcement yourself or read it on the official blog.


If you haven't heard about Unity yet, you should check out the Wikipedia article about it and see some games created with this tool: Bad Piggies, Temple Run 2, Slender: The Arrival. Also, here's their official YouTube channel (go to the Made With Unity section for some amazing stuff) and Facebook profile with news, announcements, and deals.

Mike Kasprzak, an indie game developer whose blog I follow, wrote a nice article some time ago about modern middlewares, featuring Unity as one of the most interesting tools. After that, he continued his reasearch and described his experiences in another post. Apart from that, Mike is a really cool guy. I suggest checking out his game Smiles which got plenty of awards. I used to watch the indieconversation YouTube channel where he talks with other developers about... well basically all aspects of indie game development. It doesn't focus on Android, but it's fun to watch and gives you some insight into the lives of a bunch of geeky individuals.

For all those who want to learn Unity, here's a great forum thread which mentions probably all possible resources there are. Let me know if you create something cool... or even if you fail miserably. If you've already made a game with Unity and want to show off to others, feel free to comment and post a link to it.

Saturday, May 25, 2013

Five surprising facts about myself

In my hello world post I said that I was just another Android hobby programmer out there. Well, that may not be entirely true. Perhaps I'm still far from being a genious coder, but there are definitely things that make me unique, as there certainly are for you. Sometimes I feel like there are so many people smarter and better than me that my success seems extremely unlikely. That's why I decided to make the following list and perhaps make you realize what makes you one of a kind as well.

Fact 1

I don't own an Android device. It's not a spelling mistake. I've actually created all my apps using only the emulator, my brother's tablet which he would lend me for testing purposes and later also my girlfriend's phone. I'm not very proud of it. In fact I recommend you test what you write on as many different physical devices as you can. What I'm trying to say is that you don't need much to start your Android adventure and make your first app. Perhaps your excuse for not trying out a good idea is quite different, but keep in mind that most obstacles can usually be overcome this way or another and it's all in your head whether you take action or keep dreaming.

Fact 2

My apps got me a full time job as an Android developer. It wasn't and still isn't my main goal, but it definitely boosted my self esteem. In fact, I must have beaten some people during the interview process and my apps must have proved good enough to actually get me hired. The job itself might not be perfect, but I'm definitely learning a lot this way. I virtually doubled my Android knowledge during those two months and there's still much studying ahead of me. Also, did I mention that I work from home and that my salary doubled compared to my previous job? Pretty nice, isn't it? I'm intentionally omitting some not so positive stuff here, like the amount of time that I had to work at first or my boss's not so friendly character. Nonetheless, I'm happy to be able to have this experience and to show you that being a hobby Android developer may have other advantages than just earning money on apps.

Fact 3

I'm Polish, but I've been living in Milan (Italy) since January. It's been quite a change for me to move to another country, learn the language, and deal with everyday situations. I can't say I feel at home now, but it definitely gets easier after some time when you learn your way around and get to know a couple of people. Anyway, after staying for four months in a friend's apartment (she left for Peru to finish up her thesis), I finally have my own place. Although it's not very big, it's quite cosy and I have to say that I quite like it. Now I'm waiting for my first paycheck to buy some crucial stuff and make it less shabby. Hopefully, it will come soon. As to my future plans, I'm not sure if I'm going to stay here long. The city is extremely expensive to live in and there isn't much it can give back in return. I might go back to Poland after some time, but there's still so much world to see, that I'm tempted to take another detour. Where do you think I should go?

Fact 4

Recently I stopped to think about all the various stuff that I had a chance to do in my life and I was amazed at how diverse it was. Let's start from the beginning. During my university I was and intern making Java SE and Symbian GPS navigation software. Then I got a full time job as a C++ programmer, writing stuff for large retail stores, so that they didn't get lost in what they sold, to whom and for how much. Occasionally, I had a chance to use Python for internal scripts and even ASP.NET for an online store prototype. After that I switched to Java EE, JSF and some web centered technologies. Suddenly HTML, CSS, JavaScript and related things became my everyday life. In the meantime, I did a couple of small projects in Python for a friend's company, not to get too rusty. I also started learning Android because my work seemed more and more boring. Eventually, I decided to quit and try some freelancing. I was hoping I could make my Android apps get me at least a minimum amount of money to be able to survive. A friend asked me to help him with an online store in PHP and I thought it was a good idea. Well, neither of my hopes really worked out. I did some short term PHP projects, I built a website for my friend who is an architect, I learned some more Android and released a couple new apps, until I ended up where I am now. Pretty crazy, isn't it?

Fact 5

I have a ton of random skills and I've done a handful unusual things. I can juggle pretty well, and I'm not just saying that I can do the basic shower - I can do the inverse one as well as Mills mess, Rubenstein's revenge and some other not so basic tricks. I slackline, although I'm not one of those guys who do backflips and handstands while they are on the line. I'm not a bad swimmer. In fact, I used to work as a swimming instructor at a camp in New York. I also did some lifeguarding. I know the basics of POI and I hope that I can learn to be better at it when I find a bit of free time. I enjoy sailing and windsurfing whenever I have a chance to do it. I'm a huge frisbee fan and I was a member of the local ultimate team for some time. I love photography and I take my camera with me whenever I travel or something interesting happens. At some point in my life I had a job in gokarts, gardening, giving private lessons (mostly math and physics), being a camp counsellor, a construction site worker, and a computer technician. I honestly hope that I can at least double this list in the next ten years. What I hate is routine and doing the same things over and over again.


Surprised? I hope at least a little. Have you done anything interesting lately?

Friday, May 3, 2013

5 reasons why you should sign up for Coursera


Coursera is an education company that partners with the top universities and organizations in the world to offer courses online for anyone to take, for free. I did 5 of them in the past (Artificial Intelligence, Model Thinking, Game Theory, Algorithms and Cryptography) and I'm doing another two right now (Gamification and Interactive Programming in Python). If you don't know it yet, go give it a try. I promise you will love it. And here's why:

1. It's free

It's crazy, but you really don't have to pay for it. You can sign up and follow any course you want. They do have a paid "Signature Track", but it's totally optional. It gives you an official certificate when you finish a course, if you're interested.

2. 300+ courses to choose

There's no way you don't find anything interesting there. There's over 20 categories ranging from computer science, through mathematics, statistics, economy and finance, to more humanistic subjects such as art, social sciences, or education.

3. Top universities and professors

Have you ever dreamed of studying at Stanford, Princeton, Rice or Duke? Now it's possible. All the greatest minds and teaching talents are there for you. Now you have no excuses that the classes are boring. They are far from it.

4. Great content quality

The courses use video lectures, online quizzes, peer reviewed written assignments and other online tools created for the sole purpose of teaching you particular skills. Believe me, the overall quality is great. You have deadlines concerning watching the lessons and completing online excercises, but otherwise you're free to choose your own study place and time.

5. 3.2 million users can't be wrong

It's not a spelling mistake. More people have signed up for Coursera classes so far then the whole population of Rome. Do you think they had a reason for this? Of course they did! It's a great oportunity to get additional knowledge in subjects that have always interested you - no matter what they are. Even if you don't speak English very well, there are subtitles in Spanish, French, Italian, and Chinese. The courses don't usually require much prior knowledge, so you can begin with a basic acquaintance with the subject. If you are still unwilling to spend your free time on spontaneous education, remember that you can get a certificate and brag about it in your CV (that's what I did and it really interested most of my interviewers).


To get a closer look at Coursera, you can watch this short video:


If you still need convincing, listen to Daphne Koller, one of the founders, as she expains the idea in more detail:




Ready to sign up? Go to Coursera and let me know if I was right.


P.S. I'm not a Coursera affiliate nor have any business connection with it. I honestly think it's a great education platform and if I sounded a little overexcited it's only because I believe everyone can benefit a great deal from it.

Saturday, April 27, 2013

LeadBolt Experiment


Inspired by an article about various ad types offered by LeadBolt, I decided to give it a shot myself. Although I like AdMob - its ease of use and reliability, it definitely doesn't give you much choice over advertising methods. Displaying a small static banner nowadays is like having a commercial on TV showing an image along with some promotional pitch. Would you get interested by it? Probably not. Why limit yourself to just banners then when there's a whole world of possibilities out there? What are they - you may ask. Well, keep reading and you'll find out.

Interstitials

They are full screen overlays appearing on top of your app. They come in various themes (the one on the left is called Music), so you can make them blend in with your content much better and provide a seamless experience for the user.

Banners

You probably know them best. They come in various sizes, so if someone is using a tablet or another device with a large screen, you can make use of it. Your opitions are: 320x50, 468x60, 300x250, 640x100, 728x90. If you only want to improve your AdMob functionality without changing too much - that's something for you.

Alerts

You can see and example one on the left. They usually ask if you want to download a free app. It's much more tempting than just a banner in the bottom. Especially because it takes your attention and requires an action to close it. Anyway, why wouldn't you try a free game if you're probably playing something similar right now?

Audio Adds

"You just found a secret passage. Shake your phone to unlock your prize." Wouldn't you shake your phone after hearing this, even if it was just out of mere curiosity?

App Walls

Give you an opportunity to download games and apps. They come in two versions: dark and light. Again, very engaging and definitely appealing to the user.

Notifications

Do you want the user to be notified about new opportunities and promotions repeatedly at intervals controlled by you? It works even if your app is not open.

Icons

Install an icon on the device's main screen, opening an app wall which offers free games and programs. The user doesn't have to open your app.

Other overlays

There's much more LeadBolt has to offer: entry and exit overlays, rich media, text ads and other types of ads. If the only network you're using is AdMob then you should definitely check it out as an alternative. I think you know why now.








Ad Showcase


If you're interested in seeing all kinds of ads in action, you can download my free app Ad Showcase. It lets you see what you can achieve with LeadBolt. I wrote it because I wanted to learn how to use the API, but later I decided to release it on Google Play to let others experiment with it as well and perhaps decide what advertising techniques they want to use themselves. I hope you'll enjoy it.


Reviews and opinions

If you're interested in more reading about LeadBolt, its advantages and drawbacks, I recommend the following sites:

Try it yourself

If you now feel like LeadBolt is worth checking out, you can use my reference link to sign up for free or just click the image on the left. I will definitely try to use some of the ad types described above in my existing apps, because I believe there's a great potential in them and they might work much better than simple AdMob banners. If you already have some experience with LeadBolt, please share it with me and other readers, so we avoid common mistakes and make the best out of it. I promise to describe my results as soon as they appear, so you can learn from them as well.

Take care, create great apps and have fun in the process. Until next time.