Going mobileAs we reach the end of this long series of posts on moving code to the cloud – and a look at ways to use the functionality from a wide variety of applications, many of them on mobile devices – I felt it was worth putting together a quick summary post to reinforce the overall message (which may have been a bit lost in the sheer volume of information).

Firstly, here are the posts in this series, including those looking at the original creation of the "desktop" application functionality:

Creating the core desktop functionality

Moving it to the cloud

Using the web-service from various clients

Here are the client application projects I've posted for Android, iOS & WinRT.

Perhaps it's time to say a few words about the experience I had with each of these environments…

  • Unity3D was great and would certainly allow you to create a 3D app that could be used in any of the other environments (with the possible exception of WinRT for now, at least). I'd definitely consider this again to create a cross-platform 3D app.
  • Android surprised me: I really liked the language (Java), the chosen 3D framework (Rajawali) and the development tool (Eclipse).
  • WebGL & Three.js proved to be both easy to use and extremely powerful. Definitely an area to watch as WebGL gets more browser support, especially on mobile platforms.
  • iOS was very strange for me, but didn't prove to be so awful to develop for: while I found the Objective-C syntax to be quite jarring and the Xcode tool to be both confusing and somewhat unstable, the capabilities of the platform and its primary language were quite mature: you can do quite a lot with relatively few lines of (admittedly pretty weird-looking 😉 code. I found iSGL3D reasonably good, although I was ultimately disappointed with the results I was personally able to get from it.
  • WinRT was fairly familiar – given my history with .NET – although the lack of a higher-level framework (with a simple sphere primitive, for instance) meant I struggled more with this than I'd have thought. I hope/expect that to be addressed by somebody at some point: while SharpDX allowed me to at least use C# to create a Metro-style Direct3D app, I really would have benefited from a higher abstraction layer to code against.

And to conclude…

This series was really intended to demonstrate that there are significant benefits in making core algorithms cloud-based, not only from an architectural perspective, but from the broad range of applications it enables you to provide to your customers in the long term. And also that this technology really isn't hard: most of the client apps took a day or two to develop and none took more than a week.

I've chosen to deal with graphical data in this series of posts – mainly to make them more visually interesting – but it's arguably even more compelling to broaden the reach of associated, non-graphical design data using this kind of approach.

Hopefully some of you have followed along with these posts, and derive at least some benefit from seeing similar code working in a variety of languages on a variety of technology stacks. It's certainly been a fun one to work on: diving so deeply into the respective technologies has at times been challenging but highly educational. 🙂

photo credit: blakespot via photo pin cc

Update:

For a further visualization of this data in an augmented reality application, see these posts:

5 responses to “Cloud & mobile series summary”

  1. Dale Bartlett Avatar

    Thanks very much Kean. Your efforts have taken the mystery out of the "cloud" process, which is always the hardest part.

  2. Cornel Gherasim Avatar
    Cornel Gherasim

    Hello Kean,

    Thank you for all your efforts about the mobile stuff and the cloud integration, it was all interesting and fun. I would like also to bring to your attention something else, which could finally become one of your future projects 🙂 I was wondering if you already know about an input device called "The Leap" (leapmotion.com).

    In case you don't know it, this is some gesture control device, like Kinect, but cheaper (70$) and with a much higher precision and resolution (remember Minority Report style computer interface?) It is able to precisely interpret gestures in an eight cubic feet volume above the device itself, and it's supposed to be provided with an API. I think it would be interesting to explore it a little bit from a CAD user prospective and to do a little comparison between the two technologies (The Leap and Kinetics). What do you think about ?

    Thanks for reading this,

    Constantin

  3. Kean Walmsley Avatar

    Hello Constantin,

    It's certainly on my radar: I've registered for a developer's kit, but we'll see if I ever receive one.

    Cheers,

    Kean

  4. Hi Kean,

    I've finally gotten around to reading the summary and I'm pretty impressed by the breadth/depth of the coverage you've achieved.

    I'm sure I'm not alone when I say it'll be pretty handy to have these posts as a resource in future.

    Great work!

    (I'm doubly impressed that it was my question about 3D Printing which initially formed the basis for all this) 😀

  5. Kean Walmsley Avatar

    Hi Alex,

    Yes, your tweet ended up forming the basis for the longest running series of posts this blog has seen (especially if you include the variable density fill-related ones).

    I probably would have ended up doing the cloud/mobile series anyway with something a bit less graphical, but the Apollonian code was really (in my opinion) a perfect fit.

    Thanks for the inspiration! 🙂

    Kean

Leave a Reply

Your email address will not be published. Required fields are marked *