Thursday May 30 I attended the dev:mobile conference in Göteborg. It is held at Folkets Hus and focuses on everything related to mobile software. This articles summarizes my notes from the presentations as well as my personal thoughts.
Keynote – Panel reflection about the future of mobile platforms from a developers perspective
The keynote was moderated by
Patrik Malmquist (who is from the same company as I) and the speakers were Dag Köning, Erik Hellman, Conny Svensson The future of mobile platforms
Apple and Samsung are dominating the market and are making it hard for other companies to compete.
Androids advantage is that it is used on a diversity of devices.
Apples strategy is to focus on building products and are not interested in openness.
Google is driven by advertisement and is focusing on integrating ads into their services.
Microsoft is more of a software company and has for a long time had a multi-platform strategy.
Up until now most applications have been consumer oriented.
Some of the newcomers are
Firefox OS, Tizen, Jolla, Ubuntu. Blackberry is also starting to penetrate a larger market. Many of these systems are targeting different user groups and are not at the moment intended for high-end, premium experiences.
Firefox OS is the contender to stand out the most since it is based on
HTML5 and will use it for native apps. Generate native code or HTML5?
One problem when using technologies that bridge systems is that the
GUI’s usually end up feeling out of place. Generated code adds an extra layer.
Going HTML5 changes the segmentation to the browsers.
It is getting more usual for organizations to develop more enterprise applications.
Many of these applications are focused on removing the static workstation and making employees more mobile.
Enterprise appstores are also starting to break through.
In the future
It is necessary to focus more on services to make code reusable and clients more maintainable.
This also requires better
API’s as well as more open source solutions.
The keynote this year didn’t really blow me away, it feels like we are kind of stuck right now in a phase where mobile solutions are still maturing. So more or less I felt a lack of innovation or surprise. I would have liked to hear a bit more about the newcomers, especially Firefox OS since that was the one that the speakers were most interested in. I would have also liked to hear more about web based mobile solutions, not hybrids (that I personally find hard accepting). But I guess this is going to be an overlooked subject for some time to come. At least until we start to see more implementations and better support of Web Workers, Web Sockets and the new (work in progress) Network and Device API’s. I might be wrong on this, but I really think that the web based technologies are more future friendly than native or hybrid apps. Maybe I will have better luck next year, let’s at least hope that something exciting will happen in the meantime until then.
Introduction to RoboVM – Java on iOS
The speaker for this presentation was
Niklas Therning, founder of RoboVM and co-founder of Trillian AB RoboVM enables Java and other
JVM languages to be run on iOS. There were legal restrictions for creating this kind of implementation, but they were removed in 2010.
JIT compilation is available on iOS.
JNI is allowed but not with dynamic libraries. RoboVM is a compiler and runtime.
Static JNI can be used
Bro (swedish for bridge), call native code without JNI. It supports structs, enum and callbacks.
Java to Objective-C bridge.
Cocoa Touch binding.
RoboVM plugin is available for Eclipse.
Optimized release builds, debugging, complete Cocoa Touch bindings, interface builder integration and toolchain for Windows/Linux
I really like solutions like this that allow a developer to use the language he/she is comfortable with and then run it on multiple platforms. It’s too bad that it still needs some work to create production worthy code, but I think that it has a lot of potential when it does.
Lessons learned from delivering large hybrid apps!
The speakers for this presentation was
Patrik Malmquist, Johan Holm and Joakim Jonsson, Sigma.
Advantages of doing a hybrid are high code reuse and being able to bypass Apples review process, thus allowing to do updates faster.
All content was loaded as scenes and then changed with partial updates.
The biggest problems are when users go offline for different reasons, which cause layout and functionality to break.
Content should be pre downloaded and cached in the local filesystem.
Pre loading caused issues when the amount of media content grew.
DOM caused problems, so they instead converted markup to JSON data stores. Which were then split in chunks that could be managed. Upgrades of different frameworks and plugins create conflicts.
A good debugging strategy is needed.
Things that need to be improved are threads, memory handling and debugging.
Tips and tricks
Use asyncronous calls
Visualize the DOM as an
I/O system Define a memory strategy
Use hardware accelerated
CSS3 properties Use
Define log strategies for both web and native.
I think that the presentation was quite good. They introduced some concepts that are worth looking into, but I also wish that they would have showed some more examples of these, such as DOM as an I/O system. I would also have liked to hear more about if they’ve had considerations on developing a fully web based solution or when (since many techologies are in development right now) it would appropriate to do that.
From Presto to Blink
The speaker for this presentation was Peter Wallman, SVP Mobile,
Opera has always had the goal of being available on all platforms and have therefore managed to create lightweight and optimized solutions to comply with the different constraints.
Opera Mini is one of these solutions that handled script execution and caching of images server side and thereby decreasing the load on the client.
Has served up to 250 million users.
Opera has now chosen to exchange their Presto engine for the open source solutions
Chromium and Blink (the recent fork from Webkit).
The presentation was very good as a history lesson about Opera. But other than that it wasn’t very educational or informative when it comes to different technologies. What I can say though is that Opera is impressive in how it has strived to be available on all platforms. This is something that reminds me a lot about the mobile first ideology in that you are faced with constraints, which when solved create a solution that is beneficial for the other platforms with better conditions. I hope that Opera will continue to create small and optimized solutions and push the web into an even brighter future.
Low Latency Messaging for Mobile Apps – Or When HTTP and Push Messages Are Simply Not Enough
The speaker for this presentation was
Henrik Sjöstrand, CTO Mobility, IBM Nordic.
The underlying protocols used for communicating over the net have changed over time and now
HTTP has started to show it’s limitations. HTTP is chatty and lacks reliabilty in that it sends messages without caring if they are received.
MQTT rivals HTTP greatly with both speed and data size, even when using encryption. MQTT has three levels of
QoS depending on the needs of the service or the messages importance.
First of I think Henrik Sjöstrand was an excellent speaker and the presentation in itself was the most interesting for the whole day. As I learned the protocol has exsisted for about 14 years, but for me this was big news. I was greatly impressed by the performance of MQTT and how it outmatched HTTP. I also like what it delivered in regards to reliability and security (not that I am an expert in these areas). It was also nice to see that there existed so many complete software solutions, many of which were open source. You can find out about them at
mqtt.org or start out developing with the Eclipse plugin. Going back to the subject of mobility I believe MQTT will be of great use to create better user experiences since both the amount of data will be decreased as well as improving the requests in overall. This will be useful considering the different data plans that are out there as well as the varying quality of mobile networks.