Wednesday, 1 June 2011

Sakai OAE native mobile app

First of all, I would like to introduce myself, I am Mayte Giménez a student of Computer Science and Fine Arts from Spain. I am doing my specialization in languages and artificial intelligence. I have been working with Sakai for the last 3 years as scholar with David Roldán (recently named fellow, big kudos for him!), and Sakai gave me this big opportunity to develop a mobile application for Sakai OAE.

Before I will start talking about the project, I would like to say how impress I am about the big work the community have done with this branch of Sakai. The architecture is really strong and all technologies used are awesome.

So, let's talk about the GSoC project!
During this summer, I will develop, with the big help of Carl Hall, a mobile application for Sakai OAE. After research our different options, we are going to develop a native application for the main mobile platforms: Android and iOS. So I will be switching from one environment to the other every week.
Since Sakai OAE services returns JSON we can take advantage from native application, specially with the Android background services. (I still have to investigate with iOS, any help?)

I have created some mock ups about how the application should look like. These are my two proposals:

Mockup 1:

  • Login window
  • If login is correct we arrive to my dashboard, where we can select where to go. If the user selects "My membership" he will get a list of places where he can access and when he selects one site he will see the information about this site.
  • If the user selects "My profile" he will see his profile and he could edit it.

  • Mockup 2:

    • Login window
    • If login is correct we arrive to my dashboard, where the user will see some tabs with all the basics of sakai oae. First tab will be the profile, and he will be able to edit his profile. If the user selects "My membership" tab he will get a list of places where he can access and when he selects one site he will see the information about this site.
    • If the user is at "My profile", and he press a button (in Android: menu button, in iOs I should investigate which one will be better) he will see all the options of his profile and he could change the view.

    I would love to have some feed back about these. So please comment! :)

    Quite big for a short introduction, isn’t it? Well I won’t bore you much more.

    I have began with the configuration screen on the android environment, so I will post soon about it.

    Thanks for reading. Please, comment. And we see us soon.


  1. This is just a question really: how much additional work is it to write simultaneously for two native platforms, rather than to design for the mobile web, as with 37 Signals (which should be open sourcing its mobile framework "real soon"):

    I ask because it seems to me that while the basic social networking functionality will be the most important, I can easily imagine great desire for more advanced functionality (assignment creation and submission, for example, tests and quizzes, etc.), which will no doubt be hard to support on two platforms.

    That aside, I think you're on the right track in terms of your design, but you might want to use icons for some of the tabs on the profile. I quite like the native android twitter client as a good example of how to do some of this.

  2. Actually, I notice the CLE mobile app is taking the web-based approach (using phonegap).

  3. Hi Bruce,
    First thanks for commenting.
    I had this conversation hundred of times, and I don't think there is a good or a bad answer. I am going to give you my reasons:
    - Performance: we can have our app running all the time. As student I would like to get notifications when something new is publish, so we will need background mode.
    - Offline mode: not in everywhere they have a good network connection. So if I am doing my assingment I would like to see all even I don't have internet connection.
    - Finability: how to find our sakai oae application. Easy. In the market/app store.
    - Device attributes: Ok,maybe this reason is a bit weird. But my campus is really big, and I get lost on the first weeks every year. So if the classroom is tag I could use my mobile gps/position to arrive. So basically we will have access to native funcionality of the devices.

    Furthermore, sakai OAE it is already great. The iu team is working really hard, so we could always access to sakai oae using a mobile web browser and still will look really nice.
    So let's take effort on doing a really good mobile experience. Unfortunately sakai cle mobile version is not so advance. I have worked solving bugs in the pda-version of sakai cle, and I could tell it is not the same situation.

    Maintenance shouldn't be a problem. These are going to be rest-based application, so web services will change when sakai oae changes. And if have these two application that covers big part of the market, we could take advantage of the iOS/Android capabilities.

    Maybe hybrid application will be good too.
    And I am sure that we could talk a lot more about this. (I do a lot with all my colleges :))

    Thanks for your time. And Bruce, what do you think about the mock ups? :)

  4. Great post and thanks for this explanation of your thinking Mai, it makes a lot of sense to me. Easily worth a blog post itself!

  5. As I said, mockups look good, but don't use text for the tabs; see the native android twitter client for a model.

  6. Thanks Bruce!
    Great idea, icons on tabs will be great.

  7. Hello,
    Elements of mobile development The development consists of a number of different elements that combine to create software solutions and app.

    mobile application development

  8. Hi,
    I would be keen to keep in touch about the work you're doing. We ( are looking to do some mobile work for Sakai OAE in the next year too. I think what you've outlined is quite interesting and that really leverages the tech behind OAE to great effect.


  9. As followup, also strongly suggest you take a close look at the Google+ mobile client(s) for possible comparison/inspiration. I really like the activity stream, for example, and that can effectively flip easily between three of them (based on location, defauilt, and "incoming"). I could imagine this working pretty well with the notion of classes.

  10. Hello,
    The Article on Sakai OAE native mobile app is nice.It give detail information about it thanks for sharing the information about App Development. Xamarin Consulting