QMole – Linux Apps on iPhone

 

I am happy to announce the technology preview of QMole for the AppleTM IPadTM.  Have you noticed that many stock applications which are free on Linux require payment on the IPhoneTM  and IPad TM? Don’t want to re-implement Linux software on IOSTM ?  QMole is the answer. QMole is a new desktop system allowing the free operation of software ported from the world of Linux on the IPad. The technology enables retaining a touch screen operation of stock GTK Linux applications without requiring their redesign or reimplementation. Unlike remote desktop solutions that require a network connection, QMole requires none. All “Linux” applications execute locally on iPad TM, just like native IOS TM applications. Curious?

photo

 

IPython Notebook on IPhone

Embeddable Common Lisp on IPhone

Node.js Java Script on iOS

QMole Linux Desktop Manual

 

Proposed Use-Cases

  1. A complement to Cydia’s alternative to Apple’s App Store TM
  2. A Linux vendor publishing their applications  on the IPad TM
  3. An organisation deploying legacy software to the IPad TM without re-developing for IOSTM
  4. Bring the JVM suite of languages to IPad TM — that is Java, Scala & Clojure
  5. Bring Adobe Flash  to the IPad TM

The IPadTM commands a vast user base and therefore represents a significant market.  QMole aims to open this market to Linux applications and the JVM…

QMole Features

  • X11 Linux graphics support 
  • A tiling window manager
  • Transparency support
  • Virtual desktop support
  • A graphical file manager
  • A “stock” desktop application bundle:
    1. A web browser
    2. E-mail
    3. Command line terminal
    4. Code editors
    5. Integrated development environment (IDE)
    6. Calculator
    7. PDF viewer & editor
    8. Notebook application

QMole and its applications are built directly on-IPad, not created with a cross compile tool chain from Linux or Mac OSXTM, and have been chosen specifically to facilitate low-resource, embedded device use. The list of applications has been carefully tuned with the following objectives in mind:

    • Demonstrate potential — show full desktop applications, like web browsers, IDEs etc. 
    • Make the platform useful in its basic form by supporting common work flows 
    • Create enough development infrastructure to allow others to create more applications

Thusly…

  • An eco-system for porting ever more applications…

  Access to programming languages directly on-IPad includes the following:

Common Lisp (ECL) 
C, C++ (gcc, g++, clang, clang++)
Java (JamVM)
Clojure 
Lua
Scheme (Gambit)
OCaml
Python
Perl
A+ APL (a cousin of KDB's Q array language) 

Feature Gallery

 


.

QMole Desktop

QMole Desktop

QMole Desktop

The QMole desktop features a program launcher toolbar ( bottom ) and virtual desktops switcher toolbar ( top ). Kbd+ and Kbd- are options to accommodate the IPad soft keyboard in the real-estate of QMole’s screen layout.

 


.

Unix Terminals in Tiling Window Mode

Unix Terminals in Tiling Window Mode

Unix Terminals in Tiling Window Mode

Note that terminal category applications appear on the Terminal virtual desktop by default and multiple terminals are tiled. Also note the use of transparency — the desktop wallpaper is partially visible in the background.

 


.

Web Browser

Web Browsing to Google

Web Browsing to Google

Perhaps the most “stock” desktop application of all besides e-mail — a web browser — shown here running under QMole. youtube  Web browsing demo video on YouTube  http://youtu.be/bEZ0JSCGZJE

 


.

File Manager

File Manager

File Manager

QMole includes a stock file manager like WindowsTM and Linux. File associations can be used to open files with specific programs. Browsing the IPad file systems works just the same as it does on Linux. youtube  PDF Authoring, Virtual Desktop &  File Manager Video on YouTube:  http://youtu.be/Dck8bpsu6V8 youtube  IPad Soft Keyboard Demo Video on YouTube:  http://youtu.be/V9SWeewZm4Y

 


.

PDF Viewer & Editor

PDF Viewing & Editing

PDF Viewing & Editing

PDF documents may be viewed as well as authored. This application doubles as a note taking platform.

 


.

QMole E-Mail

E-Mail

E-Mail

QMole includes a stock e-mail client supporting all the common e-mail protocols for traditional access to IMAP and POP3 mailboxes.

 


.

A Potpourri of Programming Languages

Common Lisp (ECL) 
C, C++ (gcc, g++, clang, clang++)
Java (JamVM)
Clojure 
Lua
Scheme (Gambit)
OCaml
Python
Perl
A+ APL (a cousin of KDB's Q array language) 
Programming Languages

Programming Languages

Java & Clojure

Java & Clojure

Supported programming languages range from mainstream to the obscure… The typical Linux build chain, configure, make, cmake all work. youtube The Developer’s Corner Demo Video on YouTube http://youtu.be/XNkFiT0qn5U

 


.

Debugger Support

CGDB

CGDB

Source level debugging is essential when developing software. To date, developers working with XCode on Max OSX TM tend to work with IOS TM simulators when developing their applications. Simulators are never perfect.  This is why QMole allows developers to debug interactively directly on the device.

 


.

Built-In IDE Support

Emacs in IPad

Emacs on IPad is documented separately here https://chriskohlhepp.wordpress.com/emacs-ocaml-on-ipad/. The above link also demonstrates elements of https://chriskohlhepp.wordpress.com/emacs-ide-frametools/  Note that Emacs is built with GTK3 support. This version of GTK runs natively on the IPad.

Geany

Geany

Also supported is the lightweight C++ IDE http://www.geany.org.

Click here for QMole’s Integrated Screen-Shot Facility

.

Shutterbug Built-In Screenshots

Shutterbug

Shutterbug

QMole can take its own screen-shots, separate from the  IPad camera roll, and allows the user to select desktop snippets.


.

Gnome Paint

Gnome Paint

Gnome Paint

QMole supports elements of Gnome & GTK. While full Gnome might be too heavyweight for embedded use, elements of Gnome & GTK are very practical given the increasing computing power of mobile devices.

Proof

uname-a

uname-a

The above screen-shot is intended to demonstrate proof that QMole indeed runs on an IPad system. The uname kernel utility reveals we are running Darwin kernel version 11 on an ARM CPU. This is indeed an IPad.

Conclusion

Gnome paint is hardly worthy of news. However, a full Linux Gnome application running on an IPad promises to be a world-first. In combination with a build-tool-chain and support for every common programming language known, QMole has the potential of turning the IPad into an open source platform of free software. Free that is, as in beer!

Roadmap

These are the tasks remaining before a successful release of QMole:

  • Create a package management system
  • Create a build system with dependency tracking and continuous integration
  • Create a repository to enable direct installation onto the IPad via Cydia
  • Test on IPad 2 and IPad 3
  • A client app with QMole’s own icon would assist branding  & name recognition

Gnosis elevates the human condition!

linkedin

Screen Shot 2014-04-23 at 12.11.20 AM

Screen Shot 2014-04-29 at 7.36.08 AM

Screen Shot 2014-04-23 at 12.11.58 AM Screen Shot 2014-04-23 at 12.12.24 AM Screen Shot 2014-04-23 at 12.13.38 AM   Screen Shot 2014-04-29 at 7.29.23 AM

 

Schultz

26 responses to “QMole – Linux Apps on iPhone

  1. mark faz

    nice, Chris. Where can I get a copy? Hope you’re well…

  2. Mike

    Just wanted to say what a great idea, I’ll be watching with interest!

  3. That looks amazing. I can think of a thousand uses for this. For example, if I was on a corporate subnet I could ssh into servers to check information. I could also write a script to gather information from servers onto the iPad.

    Sounds like the start of something great.

  4. Frank Edwards

    Personally I like the look of the “stock apps” and prefer them over the GTK stuff any day. (Heck, the text version of w3m or links is better than some of the GTK stuff out there.)

    Now if the KDE L&F was available, that would be a different situation. 🙂

    (Cross-posted from LinkedIn.)

    • Thank you for your feedback. And yes, I agree that IOS generally looks more appealing that GTK. That said, this effort was not an undertaking in aesthetics — rather more an effort in demonstrating the feasibility of running stock Linux apps on IOS. One observation might be that GTK can be themed. Predictably, someone has indeed applied an IOS theme to GTK. See http://gnome-look.org/content/show.php/iLinux-theme?content=157303. So it might be instrumental in terms of user acceptance to make such a theme the default while allowing people to chose their own.

      Theming might also be useful in that most GTK apps have controls that are aimed at operation via mouse, i.e. a pointing device smaller than a finger. I run the VNC protocol over the X11 protocol which essentially gives me the touch screen control layer for free, but at times running GTK apps this way feels not as smooth as running native IOS apps and the answer to that might well be theming.

      Regards

      Chris Kohlhepp

  5. Karl-Heinz Mali

    Is it possible to run a Java SE Swing applications with QMole on an IPad?

    • I have not tested this particular aspect of Java but my initial inclination would be that this depends entirely on the JVM and Classpath implementation. QMole’s rendering would accommodate Swing in the same fashion as any other Linux application – it would be agnostic to the windowing toolkit used. The Java implementation on the IPad is JamVM 1.51 with GNU Classpath. It appears that GNU classpath (version 0.95) does support Swing – see: http://developer.classpath.org/doc/overview-summary.html

  6. Ian

    This would finally make my iPad useful! This sounds much easier than trying to install a whole new OS.

  7. Anon

    This is one of the coolest things I’ve seen on ipad and has serious potential. But please trust me when I say that you should find a designer. A great brand can help accelerate your project’s success.

    Please continue this project! This is awesome.

  8. Anon

    So how can we try it out?

  9. I’m no tech genius but this sounds like a remarkable idea. I’m a software engineering freshman student, it will definitely be nice to have Linux on my iPad to practice the shell.

  10. Christopher Hahn

    Wow that’s an awesome project! How long do you think it will take to finish it?

  11. J H

    Extremely interested in this, do you have a github for it or is there anything you could use help with to expedite it’s release?

  12. This is fantastic! I am very interested. Any updates on release? And, do I assume it will require a jailbroken iPad?

  13. ReaderX

    Was this an April Fool joke? It seems too good to be true.

  14. We started the QMole Google group to invite community participation in this project. Please join us at https://groups.google.com/forum/#!forum/knightsofqmole

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s