User login


You are here

Common questions about developing educational apps

Julian J. Rimoli's picture

This afternoon, I had an extremely pleasant Google hangout with Daniel Suo, and Professors Zhigang Suo and Teng Li . Our main focus was on brainstorming ideas on how to improve the user experience on iMechanica. After an hour or so our conversation drifted towards educational topics including novel ways of incorporating technology in STEM education.

I recently developed an educational app for the iPad , and during this conversation I was encouraged to make this post as a way of sharing my experience in developing an educational app. Without getting philosophical about it, let me just go straight to some of the most common questions I get about the app. For sure you will have many more questions, so please feel free to ask in the comments section below! 

What is the app about?

It is an educational app in the area of structural mechanics. The app focuses on the mechanics of truss structures. There are two modes: a “freestyle” mode in which you can just design and test structures, and a “challenges” mode in which you have to overcome different challenges, of increasing complexity, while minimizing the weight of your structure. The whole idea of the app, in either mode, is to learn through trial and error.

What is different from other apps?

The mechanics and the numerics in the app are the real deal. My reasoning is the following: if a student is building intuition by watching simulations of different scenarios over and over again, we better make sure those simulations are as accurate as possible. The app handles geometric nonlinearities, the material response is elastic-perfect plastic, and failure could happen trough critical stretch under tension and buckling under compression. The app uses an explicit Newmark time integrator so simulations continue to run even after failure. In summary, it looks and feels like a game, but it is much more than that.

How long did it take to develop?

It is hard to put a time on it as it was really developed as a hobby during my free time. Sometimes I was coding while watching a movie, sometimes before going to bed. I would say it took roughly 4 months working exclusively on free spots during my weekends. That includes the design of the app, making all the bitmaps, coding, and submitting it to the app store. I must point out that I have some serious experience in developing commercial software including graphical user interfaces.

Why iPad and not Android?

There is a simple reason: one code works on all versions of iPad, including iPad 1, 2, 3, Retina, Air and Mini. Android is much more fragmented so it would require a lot of work in generating all bitmaps for all possible screen sizes. It is doable but not as a hobby carried out by a single individual. Android would be my next step though.

What is novel about tablets in education?

I have done several educational programs for PCs in the past. Clearly, educational programs are not a new idea. I also debug Truss Me on an emulator on my mac, so it runs on a computer. The bottom line is that the mouse kills all the fun! In my view, what really makes a tablet attractive for education is the intuitiveness provided by a touch interface. Simply put, interactions are much easier and fun when using a touch screen.

How can this app be used for education?

I think this kind of tools are a good suplement to traditional education. I still use the whiteboard for my lectures. At the same time, I try to make good use of technology. I think that by having the app, students could learn some concepts intuitively, on their own, while playing the challenges and trying to get maximum scores. Also, the freestyle mode would allow them to explore new concepts. In my view, learning by trial and error is the key. From a teacher’s perspective, the app makes it very easy to illustrate the behavior of a structure in real time. I use the app to illustrate concepts during my statics lectures. For example I have prepared a simple video on how to design the structure of a spacecraft for a safe landing:



I have developed this app as a way of reaching out to students of all ages and making them interested in mechanics. I also use the app to illustrate concepts during my lectures. I made this tool but I am still trying to figure out what is the best way to use it. I hope someone in iMechanica can bring new ideas to the table! I would be happy to answer any other questions you may have.


Teng Li's picture

Hi Julian,

Enjoyed much the Google hangout as you did! Thanks.

I installed Truss Me! after reading your introduction post in iMechanica and further info . While I'm still trying to crack the "challenges" at free time, I definitely enjoy playing the App. The user interface is elegant and neat, playing is intuitive, not to mention the rigorous mechanics under the rug, which I've been seeking in various other apps without luck. I'm further amazed after learning that you single-handed made this happen. Not knowing much of coding for an Apple App myself, I can tell that the talents needed go beyond mechanics and programming. Well done, Julian! 

Thanks for sharing further info about the Truss Me! app, which well answers some of my questions. I often teach an undergraduate core course in mechanics of materials in spring semesters, in whch we do touch upon buckling instability and failure. I'd be interested to leverage "Truss Me!" to enrich the teaching of these subject in the coming spring. I like the spacecraft landing design video you put together here. May I ask a few more questions along this line?


  • While watching the demo video with students is already inspiring and fun, it would be better for them to try out the app by themselves. Have you tried this in your class? If so, can you share your experience? Not every student uses iPad, and it is less practical to ask every student using iPad to purchase the app. What's your thought/strategy here?
  • I like the intuitive interface of Truss Me! on a touch screen. It is not necessary to have much mechanics background to enjoy the app. But if one is interested in using the app to do more serious truss design in the freestyle mode, it will be helpful to give user more quantitative control of the parameters, e.g., truss cross-section area, length, material properties, etc. This way, the app becomes not only entertaining, but also more scientific. I understand this needs more coding, so maybe you can consider to develop a Truss Me! Pro version in the future. Just my 2 cents.


Julian J. Rimoli's picture

Hi Teng,

Thank you very much for your kind words, I really appreciate them! I am glad you are enjoying Truss Me!

I started making the app as an instruction tool for myself, to demonstrate difficult concepts during lectures. By the end of last spring semester the simulation engine was ready and the app was working but it was not very user friendly. At that time, the app was only “freestyle” with limited editing capabilities. The video could be taken as a simple demonstration on how the app could be used by an instructor during lectures, and this was the way I originally conceived Truss Me!.

Based on inquiries by students at that time, I realized that the app would have much more value in their hands so I went ahead and polished the interface and added the "challenges" section. Now that the app is ready for others to use, my hope is that students will find it both enjoyable and instructive. In summary, I agree with you: the app could be very useful in the hands of an instructor, but it could be much more powerful in the hands of students!

Regarding your second point, it is something I gave a lot of thought. Since the engine is serious mechanics, it could really be used to do real designs. Believe it or not, I found myself learning a lot about designing trusses while thinking on examples for my students and playing around with the app. The caveat in my mind was that adding features to modify material properties and cross sectional areas would make the interface more intricate. I must say I like your idea of making a pro version oriented to more serious calculations, and it should not take me much time to do so… I just added this to my “to do” list! Thanks!


Zhigang Suo's picture

Dear Julian:  I have downloaded your iPad App, and have just started to play.  You have done a wonderful job.  I will give you specific feedback later after I have played it for a while. 

Dear Julian and Teng:  Thank you for initiating this discussion on a timely topic:  how does mechanics play in this mobile, touchy world.

More than a half century ago, some mechanicians saw that computers were coming, and started to computerize mechanics.  They started a revolution that transformed how mechanics is used, and even how new mechanics is created.  But so far, the computational mechanics is used almost exclusively by professionals, if not entirely limited to trained mechanicians.

Note, the use of mechanics has gone much beyond engineering design.  Zhen Chen  forwarded me this video.  It shows an example of how Hollywood uses computational mechanics.

Now we can safely assume that more and more people in the world will have mobile, touchy screens.  Will this capability start a new revolution in mechanics?  

Will some form of mechanics be useful to everyone?  I am not just thinking of students in mechanics classes.  Will some computational mechanics be useful to ordinary people in their daily tasks?  Will mechanics be available to everyone to create his or her individual entertainment? 

I'd like to hear your thoughts.

Julian J. Rimoli's picture

Dear Zhigang:

Thank you very much for your compliments. I hope you enjoy “Truss Me!” and look forward to hearing your comments.

I do not think I am any good at making predictions, but I believe it is a good exercise to think aloud on what we imagine the future of something will look like. So I will go ahead and share my thoughts on the second point you raised.

The world as we experience is accurately described by the laws of classical mechanics. As computational power increases, computer graphics and computational mechanics are converging towards the ability of performing real time simulations (and accurate graphic representations) of every day events. We can only think on all the benefits of building a physically accurate, real-time, virtual reality environment.

This is already affecting the gaming industry, and I think it will soon affect engineering, architecture, design, and ultimately everybody’s lives. I can only imagine the effects we could have on everyday tasks, if we manage to combine these real-time physically accurate virtual environments with Google Glass-like products to facilitate the augmented reality experience, and Microsoft Kinetics-like devices to simplify the human-machine interface.

Zhigang Suo's picture

Together with geometry and optics, mechanics is among the most robust links between the real and the virtual.  The form of mechanics evolves as the virtual world changes.

When the virtual world expanded from the oral tradition to paper and then books, Newtonian mechanics emerged.

When the virtual world further expanded to computers, computational mechanics emerged.

When the virtual world became everyone connected to mobile, touchy screens, new form of mechanics might also emerge.

Some changes are already happening.  We stop going to libraries; we find papers online.  Some of us nearly stop printing; we read on screens.  For centuries, journals and books have enabled the collabration of minds across distance and time, through words, pictures and equations.  We now have videos.  Julian has created a simulation-based video game, distributed as iPad App.

It might be useful to reflect upon these and other changes in the virtual world.  It might also be useful to speculate how such changes in the virtual world will provide new opportunities to mechanics.  

For instance, for some time we have been relying on ever-increasing computer power, and have focussed on creating more and more sophisticated computational tools.  But a virtual world has emerged, where much faster computation is needed.  What detail in mechanics can we sacrifice to accdelerate computation?  

The existing killer application of mechanics is engineering design.  What will be the new killer applications of mechanics? 

Pablo Zavattieri's picture

Thanks so much for sharing this nice app. Excellent job! I was playing with my daughter (who is in middle school) and it was very enlightening to hear her explaining how she was selecting the length and cross section of the bars to avoid buckling in the Moon lander challenge. That was great!

 Many of us like to program and some like to publish modeling tools for analysis and educational purposes in places such as  (I personaly have a few tools there which are free for anybody to use). I wonder if you can give some quick pointers on how you got started with this type of programming (specially for ipads). Not a tutorial, but some quick references to get us started.

Also, as I am getting ready to teach a mechanics class for sophomores (which typically takes place in a classroom with 50-100 students), do you have any suggestion or example on how I could use this ipad app in class? I am always looking for ways to engage students and make my class more interactive. Your input would be very valuable. 

Thanks so much


Julian J. Rimoli's picture


Thank you very much for your kind words! I have organized my response in categories so it is easier for readers to jump to their particular interests.

Beyond college education

I am glad your daughter is enjoying the app and learning with it! I think one of the powerful aspects of the app is that it can be used (as you are doing) to teach kids in middle and high school, without having to resort to a “dumbed-down” version.

Development environments for iPad

Regarding the issue of developing apps for tablets, I think the way to approach it depends a lot on the following question: is the developer the only one going to use the app (for example for instruction) or is him/her planning to release it to the general public. This question is critical as the tool you may need to use could depend on the answer to this question.

I have done several demonstration apps for my classes, for example an app for showing students how a field is interpolated using isoparametric elements, and how the interpolation stops being conforming if an element has a certain ill-posed shape. For that purpose, I have used development environments designed exclusively for the iPad, for example Pythonista or Codea . The coding language for Pythonista is obviously python , and for Codea they use lua . Both are scripting languages very easy to learn, and you would be impressed with the quality of the programs you could write using them. Prototyping is very quick and you could get you app ready within the same day.

On the other hand, if the idea is to release an app for the general public, you have to be much more careful and then you have to learn the specific environment for the hardware you are targeting. For iOS devices (e.g. iPad or iPhone) you need to learn objective C , and for Android devices the development language is Java . Java is easier to learn but as I said Android is very fragmented regarding the screen sizes so you would require all bitmaps for your GUI to be done in multiple sizes. For iPad the same resolution works for all devices including those with retina display, but objective C is not as standard as Java. In either case, please bear in mind that developing the GUI is going to take far more time than developing the engine of the app itself.

Towards more interactive lectures

The last issue you raise is related to the first point made by Teng. I think that in-class demonstrations are one possible way to use the app but that does not make the class more interactive (probably more fun, but not more interactive!). I think the ideal scenario would involve hands-on activities performed by the students. This is when we must get creative and explore a little bit beyond our comfort zone. As a way of example, let me share one idea I have in mind for my own class.

I believe it is safe to assume that at least one out of 3 students should have an iPad, so in this case I would divide them into groups of 2, 3 or 4 individuals, depending on iPad availability. Then I would provide each group a challenge, for example ask them to design a crane, or a bridge, or a spacecraft, or anything you may think of, within certain constraints (supports, load to carry, etc.). The resulting structure should accomplish the mission (e.g. carry the load, land safely, etc.) without breaking its structural members. Once the designs are ready, scores would be assigned to each group based on the weight of their design.

Up to this stage, all we did is reinforce their intuitive/creative thinking. Through trial and error they would try to optimize the structure to accomplish the mission. Hopefully, at the end of this process they would have a good grasp of what is going on, e.g., what parts of the structure are under tension and what parts under compression, how bars under compression fail as opposed to those under tension, etc. The next step would be to formalize the intuition obtained through observation and trial and error. Towards this end, I would ask each group to prepare a report explaining why they designed the structure the way they did within the context of theoretical concepts learnt in class. Each group could even prepare 5-minute presentation of their project for the entire class.

I am sure there must be many other ways of using educational apps in a more interactive classroom environment. Let’s hope other mechanicians bring their ideas into the discussion!

Carl T. Herakovich's picture

Carl T. Herakovich, University of Virginia

While not an APP, I recently published an E-book entitled "elastic solids" that I feel could be used at the introductory level, including STEM.  The book was published through Kindle.  I found it very difficult to work with equations in an E-book.  Indeed, the final version has a few misplaced subscript.  Never-the-less, I do believe that having such subjects available in E-books is a low cost approach to STEM education.

Julian J. Rimoli's picture

Dear Carl,

Congratulations on your E-book! Could you please provide a link?

I agree that E-books are a great way of making knowledge low cost and more broadly available. I have also noticed what you mention about writing equations for the iOS platform as well. Earlier versions of iBooks Author (Apple’s solution for E-books) did not even support equations. They corrected this issue in their latest version, allowing writers to input formulas in latex. I have recently started porting all of my class notes to iBooks Author. Let's see how that experiment goes.

What I find amazing about the new world of E-Books and Apps is that through online distribution platforms we now have access to a worldwide audience without need for middlemen (this is not strictly true, but close enough with Apple's distribution platform!)

Carl T. Herakovich's picture

Carl T. Herakovich, University of Virginia

The E-book "Elastic Solids"  is a Kindle book. It can be found at Amazon.  Just Google:

Herakovich - Elastic Solids.  I tried to paste the link but it wouldn't take.



Julian J. Rimoli's picture

Dear Carl,

Thank you very much for providing the information. I just found it so here is the link for anyone interested.




arash_yavari's picture

Dear Julian:

Congratulations! This app is fantastic.

Personally, I'm not very optimistic when it comes to using "technology" in education, and especially, in teaching basic courses. In fundamental classes (structural mechanics is certainly one), I like to see the traditional teaching approach (I'm glad to hear you use a whiteboard). For example, I'm completely against using PowerPoint, etc. Also having too many "easy to use" analysis softwares can be dangerous in the sense that young people may think they don't need to learn mechanics because computers can "do" everything for them. Having said all this, I think your app can be a very useful teaching tool and I have already discussed it with some colleagues in my department. I think it can help one develop intuition in structural response/design and also motivate students to learn the underlying theory that this app uses.


Julian J. Rimoli's picture

Dear Arash,

Thank you very much for your thoughtful comments. Generally speaking I would say I am always enthusiastic about the use of any technology, tool or methodology that would facilitate the learning process of my students. Having said so, I also think that as new technologies arrive, there is always the risk of abusing them.

I do not believe that old and new tools compete. I rather prefer to think that they complement each other. I think we should use our best judgment as educators to identify what technologies, tools or methodologies are best for what part of the material we are trying to cover, and put them together the best way we can.

I am still trying to figure out in which way a tool like the one I just developed could serve best our students. A couple of ideas I have in mind have been laid out in my responses to Teng and Pablo, mostly along the lines you propose. They can be summarized as follows: I believe engineering students should have strong mechanics foundations and solid mathematical skills to back those foundations. At the same time, engineers should have intuition and creativity, for example to design new structures or come up with out of the box solutions to new problems. I think the latter is the most difficult to convey through lectures and a few homework assignments, and that is where technology could really make a difference.

N. Sukumar's picture

Very nice, Julian:  looks like it is `taking off.'  I think such apps can supplement traditional modes of teaching and education.  Besides the many benefits that have been mentioned, if exposed to such tools early-on, it could also spark students who are early in their engineering education to realize the opportunities and possibilities that simulation-based design provide.  Many students better grasp material and also appreciate a topic through examples, and there is a lot to be said about seeing a simulation tool at work!

Julian J. Rimoli's picture

Thanks, Suku! I completely agree with your comment, and there is not much on my end to be added (I just with there was a “like” button! in iMechanica).

Dear Julian,

Let me say, I'm another one of your Truss Me followers, as this is an impressive app! Given the tech hungry student body, I was delighted to see how one can integrate mechanics into the educational setting of a classroom. I'm planning on using the app in the fall in my core engineering statics and structural course.

One challenge that I face in implementing it across the entire classroom is that not all students have access to an iPad or the iPad interface. You mentioned that it can also be run on a Mac emulator? If that's the case, is this something students could have access to?

It would be great to assign some homeworks and design challenges to be carried out on Truss Me.

Once again, really well done, and I'm looking forward to using it in the classroom! 

Julian J. Rimoli's picture

Hi! Thank you very much for your kind comments. I am so glad you are planning to use the app in your classes at Brown! I am teaching statics this semester so I am in the process of designing some activities for the students. I am collaborating with Chiara Daraio since she is going to do the same in her mechanics of materials class at ETH Zurich. I will post the assignment once it is ready so you can provide your perspective.

The biggest limitation for the app right now is that it is only available for the iPad. I am trying to correct this issue by making an iPhone version available, which is almost done. Hopefully during the summer I could get Truss Me! to work on Android as well. That should provide a very broad base as most students have smartphones nowadays. I do use an emulator on the Mac to test the app, but it is only available to registered apple developers, and only works if you have the source code.

Again, thanks for your kind words. I will keep you updated on the class activities and on the deployment to new platforms.

Subscribe to Comments for "Common questions about developing educational apps"

Recent comments

More comments


Subscribe to Syndicate