My core research interest is in raising the abstraction level of
                mobile
                software development through design and implementation of
                programming
                languages.I am also very enthusiastic about the use of mobile
                phone
                technology in the developing world.
                
                I am currently interested in the following research areas:
                
                  - Programming language engineering (I strive to address
                    limitations
                    of programming "which
                    force the programmer to think like the computer rather than
                    having the
                    computer think more like the programmer")
                   
                
                
                  - Mobile and pervasive computing
 
                
                
                  - Context-aware, reactive systems and context-driven
                    interactions
                   
                
                
                
                
                You can find more about my
                
publications here. My PhD
                research was
                about 
programming
                  language abstractions for reactive
                  context-aware applications.
                
                I am a member of the Software and Enterprise Engineering
                Research Group
                of Makerere University. Previously, I was a member of the 
Software
                  Languages Lab at the Vrije
                  Universiteit Brussel.
                
                
                
                  - AirQo
                        project:
                      The low-cost and participatory air pollution monitoring
                      (AirQo) project aims to respond to the
                    degrading air quality challenge, which is an emerging health
                    threat in
                    Africa. We designed and developed AirQo devices, capable of
                    measuring
                    particulate matter and other major pollutants as well as
                    environmental
                    factors such as temperature, humidity and location. AirQo
                    monitors have
                    been deployed both at static locations and motor bikes
                    (locally known
                    as boda-boda) in Kampala city. Deploying the AirQo devices
                    on a
                    boda-boda allows data collection from various areas that the
                    bodas
                    moves to. We believe that the results from this exercise
                    will also
                    provide insights into the air pollution exposure by the
                    boda-boda
                    riders as well as passengers. We are working closely with
                    the
                    boda-riders in Kampala suburbs. The bodas in Kampala are
                    re-known to
                    move almost everywhere and thus provides more spatial
                    coverage that the
                    static/fixed AirQo devices.
                    
                   
                
                
                  - Socomot
                        project: Socomot
                      promises to deliver smart decision-making to farmers
                      through real-time
                      soil conditions monitoring. Specifically this project
                    aims to: (1)
                    scale-up the development and deployment of smart devices for
                    collecting
                    data about soil conditions. (2) develop a software platform
                    enriched
                    with big data analytics for soil conditions to facilitate
                    smart and
                    evidence-based decision-making for farmers. (3) create and
                    provide
                    personalized information services about soil conditions that
                    can enable
                    optimized returns on agro-inputs and effective utilization
                    of
                    resources. 
                    
                   
                
                
                  - BRIGHT
                        project: The
                      BRIGHT project aims at contributing towards sustainable
                      socio-economic
                      growth in
                    Uganda through capacity building in Information and
                    Communication Technology for Development (ICT4D) research.
                    Ten (10) PhD
                    students within the areas of digital innovation, software
                    engineering
                    and entrepreneurship will be trained through a research
                    partnership
                    between Makerere University and Mbarara University of
                    Science and
                    Technology, University of Gothenburg and Chalmers University
                    of
                    Technology of Sweden. The objectives of the BRIGHT project
                    are
                    three-fold: (1) To increase the number of staff with PhD
                    training in
                    ICT in Uganda (2) To increase the number ICT innovations and
                    entrepreneurs to facilitate social-economic growth in Uganda
                    (3) To
                    improve the culture of developing ICT solutions that are
                    designed for
                    scalability and sustainability yet tailored to the local
                    context. The
                    project is supported by Sida. 
                    
                   
                
                
                
                
                  
                  During my PhD research I developed 
iScheme, 
a
                  prototype implementation of 
ambient-oriented
                    programming concepts that runs on
                  iPhone devices. After successfully 
Bringing
Scheme
                    to the iPhone
                  platform, our next goal was to go beyond scripting iPhone
                  devices in
                  Scheme. I developed a distribution layer for the iPhone
                  development
                  with built-in support for peer-to-peer service discovery,
                  asynchronous
                  remote messaging and preliminary support for failure handling
                  (timeout-based). A more extended description of 
iScheme
                  is 
available
                    here.. Representative AmbiScrabble game and PolyGlot
                  chat
                  applications developed in iScheme are also 
available
                    here.
                  
                  
                  
                  
                  Main iScheme Publication: 
                  
                  
                    - E. Bainomugisha,
                      J.
                      Vallejos, E. Gonzalez Boix, P. Costanza, T. D'Hondt, and
                      W. De Meuter
                      (2012). “Bringing
Scheme
                        Programming to the iPhone – Experience”. In Journal
                        of Software: Practice and
                        Experience,
                      Volume: 42, N° in volume: 3, pp: 331 - 356, eds: R. Nigel
                      Horspool,
                      Andy J. Wellings, published by: John Wiley & Sons,
                      Ltd., ISBN-ISSN:
                      0038-0644.
                     
                  
                 
                
                Flute
                  is an experimental programming language that I designed to
                  ease the
                  development  of reactive context-aware mobile
                  applications. The
                  language is implemented as a meta-interpreter in 
iScheme
                  (described above). Thanks to 
iScheme's
                  support for a language symbiosis between Scheme and
                  Objective-C
                  language, it is possible for 
Flute
                  programs to access context sensor APIs (such
                  as GPS and accelerometer sensors) that available on iOS
                  devices. I have
                  created a dedicated page for the 
Flute
                    language here...
                  
                  Main Flute publication: 
                  
                  
                    - E. Bainomugisha,
                      J.
                      Vallejos, C. De Roover, A. Lombide Carreton, and W. De
                      Meuter (2012). “Interruptible
Context-dependent
                        Executions: A Fresh Look at Programming Context-aware
                        Applications”. In Proceedings
of
                        the ACM international symposium on New ideas, new
                        paradigms, and
                        reflections on programming and software (Onward! ’12),
                      Tucson,
                      Arizona, USA, pp:  67 - 84, published by: ACM,
                      ISBN-ISSN:
                      978-1-4503-1562-3.