Ian Bull

Ian is an Eclipse committer and the Principal Architect for Yoxos Enterprise. Ian co-leads the Eclipse p2 project, serves on the Eclipse RT PMC, the Eclipse Planning Council and the Eclipse Architecture Council. His interests include software architecture, component oriented design, release engineering, human-computer interaction and just about everything related to software engineering. Ian holds a Bachelor and Master's degree from the University of Waterloo and a PhD from the University of Victoria.

Twitter LinkedIn Google+ GitHub 

Apr 23rd, 2015

J2V8 2.2 New and Noteworthy

I’m happy to announce the availability of J2V8 2.2 (2.2.1 actually). This release adds two important features: 1) Typed Arrays and 2) 64 Bit Windows support. Typed Arrays In Javascript, most arrays are untyped. That is, you can create an array and add anything to it. A  few years ago, the Javascript community realized the need [...]

Leave a Comment
Apr 20th, 2015

Debugging Tabris.js


In this tutorial we will show you how to debug a Tabris.js application running on your Android phone using the Over the Air debug protocol. To get started you will need: A Tabris.js account The Tabris.js developer app deployed on your Android phone Eclipse and Eclipse Chrome Dev tools plugin 1. Create a Tabris.js Account Tabris.js is [...]

Leave a Comment
Apr 20th, 2015

Reproducible Builds with Docker


Wiki’s and Readme files are the most common ways to document a build. While documenting a build is better than not documenting it, Wikis and Readme files have two flaws when used to describe a process: 1) they require humans to read them, and 2) they evolve. Of course the fact that Wikis evolve is [...]

Mar 27th, 2015

Tabris.js Navigation Drawer


Tabris.js provides cross-platform access to native gestures and controls through Javascript. In recent articles we have explored images, swipe to dismiss, user input and even parallax scrolling. Today we will explore another native control, The Navigation Drawer. The Navigation Drawer is a control that can be accessed using a bezel swipe from the left, or tapping [...]

Leave a Comment
Mar 9th, 2015

EclipseSource at EclipseCon 2015


The EclipseSource team has landed in San Francisco and many of us are hard at work finalizing our presentations. It looks like a busy week as we are giving 5 talks, 3 tutorials and organizing the Modeling Symposium, but don’t worry, we’ve already found a few seats in Knuckles to call home for the next few days. [...]

Leave a Comment
Apr 23rd, 2015

Announcing J2V8 2.0

Screen Shot 2015-02-25 at 9.56.47 AM

Last year I announced J2V8, a new JavaScript engine for Java that wraps V8 with a set of Java Bindings. We have been using this technology to power Tabris.js on Android — giving us much better performance than Rhino could. While J2V8 was very stable, it wasn’t very easy to consume. Today I’m happy to [...]

Feb 9th, 2015

Looking for help with a Hackathon at EclipseCon 2015


If you are an Eclipse committer and planning on attending EclipseCon 2015, we need your help! We are organizing a hackathon to be held during EclipseCon. The goal of the hackathon is to help new contributors make their first commit to an Eclipse project. It’s a great way to help grow your community and bring [...]

Leave a Comment
Feb 10th, 2015

Mobile App Development in JavaScript — Three Minute Tutorial


If you have three minutes and access to an iOS or Android device, you can develop your first cross platform, native, mobile application with JavaScript, using Tabris.js. 1. Request an invite to Tabris.js Ok, this might take a few minutes, but if you request an invite and ping me on twitter to let me know, I’ll [...]

Leave a Comment
Apr 23rd, 2015

Highly Efficient Java & JavaScript Integration

Screen Shot 2014-11-14 at 2.41.40 PM

Over the past 4 months I’ve been working on integrating Java and JavaScript in a highly efficient manner. Rhino and Nashorn are two common JavaScript runtimes, but these did not meet our requirements in a number of areas: Neither support ‘Primitives‘. All interactions with these platforms require wrapper classes such as Integer, Double or Boolean. [...]