Open Source & Free  

Getting from Good to Great

Getting from Good to Great

Header Image

Thanks for all the great feedback on my last post, I got some wonderful app suggestions from some of you and some interesting questions. Overall, there were more than 100 comments and emails so I apologize if I took too long to answer some of you. I already mentioned the focus of these coming courses is to let you create apps in a more practical form: “cook book” style.
But while I talked a bit about the narrative and the course I didn’t explain exactly how or why this will work effectively.

One of the core capabilities of Codename One is control over every pixel in the screen. It’s a huge benefit and also a double edged sword…​

When wielded properly you can leverage this ability to create custom, fluid UI’s that seamlessly match the native OS style and form. But with great power comes great responsibility and we can end up with apps that…​ I’m sure you can complete that sentence…​ We’ve all seen those apps and I don’t want you to be there.

Recently I explained how we can create a gorgeous side menu design with very few steps. That’s one of the things I picked up from the bootcamp. Everyone had issues with something that should be as simple as a side menu. But that’s just the tip of the iceberg when you are building a full fledged app. That’s exactly what I aim to fix with this new material.

Feedback

After my last post I received a lot of questions & suggestions that I’d like to address:

Do I need to Know Anything?

You need to know Java to a reasonable degree. You don’t need prior knowledge in Codename One though. I’d love to add an “introduction to Java” course to the mix but that might be stepping outside of my personal comfort zone.

Will you use Youtube?

One of the questions focused on youtube mostly because of their excellent subtitle support which makes the videos more accessible to foreign language speakers and the hearing impaired.

I’ll use the teachable platform which allows me to structure course material and provide solutions, presentations etc. as part of the course. In some of the presentations I also include a transcript of the video with the slides, this should help fill in the gaps. I’m not sure if I’ll be able to walk the way back and do that for the older videos but since it’s already done for a lot of the videos it shouldn’t be a problem.

What sort of material will be covered?

We will launch with the restaurant and the “app builder” as part of the initial launch material. This is some of the material I developed for the bootcamp “remastered” to a more refined flow.

A major focus of the material is refining the look of the application, working with themes and design. But this is just a tip of the iceberg as the material covers everything that you need to bring an app to production. From security, to application architecture, native interfaces, sql, ORM, backend VPS setup and everything in between.

Notice I’ve made a specific distinction for “launch material”, for the next two years at least we will add a new module every month. Guaranteed!

Shouldn’t Codename One be Good Looking by Default?

This isn’t exactly a question that was asked but it was an underlying current.

The answer is yes. We are are working on improving the default look for applications so if you create a hello world and start adding components without knowing much you should get something that looks decent.

This material would still be valuable even as we improve the basic look, everything that I teach would be just as applicable in the future as it is now. I’ll also update materials with newer details as features and enhancements make their way out.

Real Apps

I’ve mentioned the importance of “real world” apps in my last post and asked for some feedback to get a sense of what sort of apps you are building. You really came through with a lot of great suggestions!

I worked on them a bit to unify some of the ideas that are similar and came up with a set of initial suggestions:

  • Taxi hailing app (Uber clone)

  • Instant messaging app (whatsapp clone)

  • Social media app (instagram/facebook style)

  • Side scrolling game (mario style)

  • Point of sale app (charging and invoicing)

  • Image editor app (finger paint style app)

  • Kids puzzle game

  • Client Server business management app with database synchronization

  • Client Server business management app with Parse backend

  • Music player app

  • Video player app

  • Camera app – photos with overlay images on top

If you can think of other ideas for such apps that you would like to see please use the comments section below for ideas.

I’ve narrowed this list down to the top 4 most requested apps and I’ve made a voting form you can use to select the apps that you think I should add first to the course click here to select the app.

Before I sign Off

Today we entered the code freeze and released a release candidate of Codename One 3.7 plugins. That means you should be able to update the plugins for all major IDE’s and get the latest version of Codename One. Please bang on it a bit and let us know if there are major regressions.

So What’s Next?

In the next piece I’ll explain the details of how the whole thing will work and why I chose to go with exactly 3 courses…​

As always I really appreciate the comments and feedback, if you have thoughts or questions please let me know. And please don’t forget to vote!

31 Comments

  • Dalvik says:

    Do we get an “I voted” badge on our account 😉

    +1 for the Uber demo.
    Downloading 3.7 RC right now!

  • Shai Almog says:

    Based on the first few votes, the Uber clone looks like it will win in a landslide…

  • Kolawole Tajudeen says:

    Point of sale app sounds great

  • Andrew Ughonu says:

    Social media app (instagram/facebook style) will juust do it. Thanks

  • salah Alhaddabi says:

    Dear Shai, in general if you can have one business app and one social app will be great. Your listed apps also look great and thanks a lot for your interaction with your customers as i have never seen this being done anywhere with other development platforms. Thanks a lot!!!

  • Dalvik says:

    I second that!

  • Shai Almog says:

    Thanks. Would love to do that but it’s probably something that will have to wait for a while.

  • Shai Almog says:

    Based on current voting it’s 3rd by a narrow margin behind whatsapp style app. I initially expected this to be a tighter race but Uber style app is so far ahead I doubt this will change. But I’ve been surprised by these things before.

  • Shai Almog says:

    Thanks!
    Companies that originate from open source projects tend to have a relatively open culture.

  • Francesco Galgani says:

    I voted for the social app 🙂
    Are the new courses free or with fee?

  • 3lix says:

    I think there are lot of materials covering social style app even though it is spread across the documentation, blog, stackoverflow, google groups etc…
    But there aren’t any materials detailing an Uber style app.
    +1 Uber (style)

  • Shai Almog says:

    This is the current status of the votes, Uber style has a solid lead but it’s narrowing from a 80%. I still think it will come on top…
    [https://uploads.disquscdn.c…](https://uploads.disquscdn.com/images/b3b0f9baa73d1e33f16d02e5edffd19a1b4916f0aedfa83183ff9622f392a991.png)

  • Shai Almog says:

    Agreed, it is indeed a missing piece.

  • Roman H. says:

    One more for Client Server business management, I am just investigating now to build up a mobile reporting prototype. @Shai regarding the data processing please focus on JSON and CVS and let the companies backend guys to build their own API to handle their conversion from SQL to CVS / JSON. It will strip you multiple DB engine handling while you can focus on chart and graph implementation.

  • John Barrett says:

    Thanks Shai. These look great! I’m very interested in the Client server business apps. I look forward to learning more about all of these, though!

  • Shai Almog says:

    We focus only on the things necessary in the client. In the online course the server code is designed as a simple instruction tool and not meant to replace proper training in server development tools. The main reason we have it is for small shops/teams that need to do everything. I think having decent understanding of what the server guys do is important for mobile developers just like it’s important for us to understand what a UI designer does and his process.

    Notice we have SQL on the device itself (sqlite) and we use it for some storage and processing.

  • Shai Almog says:

    The material launches with 2 applications which are the restaurant app and builder app. Technically both are client server app and I spend a lot of time discussing the communication, responsibility, webservices etc.

    In the final segments I cover it all the way to the deployment of the server in the VPS.

  • Riper3-3 says:

    Hello! I think an awesome app would be something to do with IoT, connecting to something like an arduino with Bluetooth, and then sending it relevant data. This would probably have to work with only one type of IoT device… or the possibilities would be too many.

  • Shai Almog says:

    Thanks.
    I love these demos when I go to shows as it’s really cool to see something physical working. But for an online course they are a huge problem as you can’t possibly get hardware out to people.

    I thought about getting a BluetoothLE app but even there the hardware is a bit problematic and I’m not exactly sure what I’ll do.

    This is indeed interesting especially for me as a guy with heavy background in robotics I just love this stuff and would love to build something cool with mindstorms and my kids. But it might be a bit too much.

    Anyway, if more people ask for it I’m game. We had a lot of interest over bluetooth and IoT recently but it was all over the place so it’s hard for me to know for sure what will work and for whom.

  • Sibasish Mohanty says:

    Hi Shai,Gr8 line of apps you suggested. I will go with the uber app as the main thing in that is map interface.And if possible can you plz give a demo chat app on firebase? And Will the uber clone will on Mapbox or Gmap?

  • Andrew Nyago says:

    some of us from less accessible places would appreciate if some time is given for us to get access to the hardware…

  • Shai Almog says:

    Thanks. That’s pretty much the winner so far. We will use Google Maps as that is the integration we already have.
    We don’t currently support firebase. We have two chat demos already in the tutorials section.

  • John Barrett says:

    Sounds great! Thank you sir…

  • nasznjoka says:

    Sports feed apps. Real time broadcasting of sports events like live score

  • Shai Almog says:

    Thanks. I’m not really familiar with that field (not big on sports), what would that include technically?
    RSS? Audio/video streaming?
    Are there public sources I can use without violating rights? One of the problems with sports is digital rights and I don’t want to step into that mess. An RSS newsreader and streaming is interesting but I’ll need good sources/concepts for that.

  • adhiguna mahendra says:

    Definitely. Uber Style Taxi hailing app with complex backend logic! if you can develop this kind of app, you can build anything! me and my team developed realtime Transport Management Platform [www.sealtrax.com](http://www.sealtrax.com) using native Android. It’s pain. Codenameone should make our job easier.

  • Shai Almog says:

    That’s pretty much decided by the numbers already so it will be an Uber clone. I’m not going to do complex backend logic. I’ll keep it relatively simple in the backend. I think a lot of startups fail because they try to “build to scale” before they learn to walk…

    My goal is to show how off the shelf stuff can be used to make something like that, but obviously on the server side once you start to scale you would also scale that architecture.

  • Amuche Chimezie says:

    Please can you share any major detailed link on the social style app that can be useful to me? I seem to be lost somehow on my project.

  • Amuche Chimezie says:

    Open Source please?

  • Amuche Chimezie says:

    Can we please consider a touch on the Social media app a little? 🙂

  • Shai Almog says:

    The second app after the Uber app might be a social media app based on the current voting.

Leave a Reply