Open Source & Free  

How does it Work?

How does it Work?

Header Image

You know that feeling before going on stage to talk or perform. It’s a knot in your stomach but also an exhilarating sense of excitement about what’s to come…​ I’ve got that fidgety feeling of “can’t wait to get it out” and yet I feel there is so much more to do.

Thanks for all the comments, questions, suggestions & votes for the last couple of posts. Those always help tremendously!
One of our bootcamp participants mentioned the length of my videos in the bootcamp and my response at the time was that I can’t possibly make the videos shorter as it would be far more work…​

Turns out that this isn’t the case. It was just the problematic tools I was using. Once I got the flow of video making, splitting the videos to shorter more concise videos became easier. Newer videos within the course are much shorter but include roughly the same amount of information. That information density makes them more understandable and easier to go thru so I’m very excited about this.

Three Courses

I didn’t really explain too much about how this is going to work. I mentioned a few times that there will be 3 courses but didn’t go into details…​

The goal is to create something that’s more manageable for you and for us. An important part of taking a course is completing it and this is often difficult. However, if it’s three courses you can set a goal to finish one each month and it would be far more attainable.

Segmenting the material allows more structure and ideally more people reaching that coveted 100% complete stage!

The courses will be:

  • Java for Mobile Devices – This is the “learn Codename One” course. It covers the basics that all Codename One developers should know

  • Deep Dive into Mobile – This course goes into all of the complex features of Codename One and builds a non-trivial application. In fact it builds the restaurant app

  • Build Real World Full Stack Mobile Apps in Java – is the pinnacle of this trio. It continues where the deep dive ended and builds the full restaurant app builder application. It covers the server side and goes into deep details on everything. I’ll add at least 8 additional apps to this course over the next two years making it even more compelling than it is now

What about the Apps?

We will produce at least one new module for the courses every month for the next two years.


That means at least 24 additional modules beyond what we have on launch.

Once every 3 months (once a quarter) we’ll build a complete application as a module. Based on the current vote results it seems that the first app will be an Uber clone. In the module I’ll implement the app and teach you how to build such an app. This means we’ll implement 8 additional apps in total over the next two years (in additional to the 2 already in the course) and I’ll teach you how to build each one of those apps.

I think this update commitment is crucial to keep the material fresh and up to date.

Speaking about this, thanks again for taking the time and voting!

This is the current set of results:

App preference results
Figure 1. App preference results

This isn’t final yet and I’ll redo a survey after launch for the 3rd app onwards so the question is whose number 2 after Uber clone?

That’s still open…​

What will be Covered?

These are pretty huge courses that literally cover everything you need to bring apps to production from idea to UI design all the way to deploying your cloud server to a VPS.

I don’t like cutting corners so I try to cover as much as possible. Since the courses will be updated over the years and add additional application types I’m very confident that this scope will further expand with samples and subjects as we move forward.

What if I’m a Beginner? Can I take all 3 courses?

This depends on stamina, they are designed in sequence and the material gets harder on a curve. The first course should be easy, the second moderate and the third is harder…​
There probably won’t be blood sweat and tears (hopefully) but the final course isn’t easy.

The final course is designed to teach practical real world development techniques and that might be difficult for some. It’s an advanced course that will hopefully prepare you for real world workloads, problems & shortcuts.

Would I get Assistance in Completing the Course?

As usual you will get all the regular help in the forum, stackoverflow etc. Since this is an official course from Codename One we can answer the questions there.

Furthermore, the course itself also includes discussion per module which you can also use. It has the advantage of being a part of the course and that way you can help future students using the course by asking the relevant questions.

Will this Material be Exclusively in the Course?

Yes. This is material that’s built specifically for these courses. Some of the materials were featured in the bootcamp or based on materials that appeared there but most of the material is either completely new or reworked. It won’t be available anywhere else for the next two years.

Is there any time commitment like we had in the bootcamp?

No. This is a standard course and you can take it at your leasure. Access to the course isn’t time limited.
Teachable (who we use for our new course materials) used the term perpetual which I personally find “problematic” as I’m pretty sure access will not survive the Sun going supernova.

Having said that, we plan to keep the course online as long as possible and ideally as long as it’s useful. We also guarantee new materials will be added to the courses over the next 2 years at least!

Is there a Certification Process?

Not at this time. We’d like to add Codename One certification but this is a pretty difficult process to go thru (on our side).

However, the best way to market your skills is by showcasing an attractive application. Showing and deploying such an application is a core goal of this course.

Coming Soon

At first I thought we should launch the new courses with the 3.7 release next week. However, one might overshadow the other so we’ll publish the courses Monday and release Codename One 3.7 on Tuesday. Keep an eye on this…​

Two weeks after registration closed for the bootcamp we still got a lot of emails from people claiming they didn’t know the bootcamp was available or sold out. I felt I sent too many emails but people still missed it and were very disappointed. I hope we don’t get something like this with the coming launch so please keep an eye on the blog next week.

Thanks again for all the great feedback, comments & votes. They are all highly appreciated especially when they are mixed with constructive criticism. Please keep it coming and let me know what you think.


  • Francesco Galgani says:

    Thank you!

  • Jérémy MARQUER says:

    Happy to see that CN1 is on the good way and you are really listening to customers 🙂

    I would like to inform you one major difficulty I had, when I start working with codenameone : project architecture.
    As you know, few years ago, principle of CN1 was StateMachine class, in which we could find ALL the code. It was pretty difficult to organize my code. I’ve tried to apply a pseudo MVC architecture to my project but it was a bit difficult with this “StateMachine” class. So I’ve decided to handcoded all my form (and erase all from GuiBuilder). In addition, you have changed the manner form was build with the new gui builder. We have now one class for one form. What I didn’t like much was that everything was in a form class : UI construction as well as event management. I can now tell you my architecture :
    – “controller” for pure calcul
    – “dao” for database access
    – “model”
    – “service” for interfacing dao
    – “view” with all my form, dialog and components
    – “viewController” which contains all the event management and controllers invocation

    About view and viewController : each classes in viewController have a maching view (Form, Dialog or Container). Every main classes of my view are manage by a class : “ComponentManager”. Same as for viewController : “ComponentControllerManager”. All of my views and controller’s view are singleton and could be recreate by manager.

    I tell you that because I noticed all demos aren’t so much organize which must, in my opinion, not be the case for bigger application. I didn’t say my method is the best, but I wanted to let you know.

    Maybe it could be a good idea to have an architecture course 🙂
    Just a word about 3.7 : I’ve installed successfully on Eclipse Luna (which was impossible with 3.6). New gui builder doesn’t seems to work. I think it should be better on Eclipse Neon.

  • Dalvik says:

    Can’t wait 😉

  • Shai Almog says:

    I actually spend a lot of time talking about architecture in the courses. I cover both client and server architecture & how to tie them all together. I go into details such as cases where architectural decisions I take in the server impact security or the UX of the final app. It’s not an architecture course as it’s very pragmatic though.

    The old GUI builder which we are no longer using used an architecture that made a lot of sense on J2ME devices where every class file we added impacted size/performance and we tried to save on creating new class files. The new GUI builder is far more conventional in that sense and with the 3.7 release coming Tuesday it’s getting a MAJOR facelift…

  • Manuel Tijerino says:

    Please let me know when these courses come out, would be very useful, thanks.

  • Shai Almog says:

    I’ll send out an email so if you got my last couple of emails over the past few days this shouldn’t be a problem.

    It’s launching on Monday and on Tuesday we have 3.7 which is shaping up as a pretty amazing release…

  • james agada says:

    waiting of the course.

  • Lukman Javalove Idealist Jaji says:

    Do you already know how much the course will cost?

  • Shai Almog says:

    We’ll offer multiple options

Leave a Reply