April 24th, 2013
One thing I love about open source development is the ‘alpha’ release.
Last week was an exciting week of alphas for OpenGeo, both OpenLayers 3.0 and GeoGit had their first releases and launched new websites. The two websites are admittedly not very sophisticated—I made the geogit.org with GitHub’s page generator and Andreas pulled together ol3js.org with Bootstrap—but awesome websites can come later. The point of these alpha releases is to get something out in the world and widen the open source process to new users and potential contributors.
Alpha releases are rarely seen in proprietary software development since software in an alpha state is generally quite buggy. To quote Wikipedia: ”alpha software can be unstable and could cause crashes or data loss.” At this point many would turn away and run as far from the software as possible but to me it’s an awesome thing, an understood pact between the developers and the users that says: “hey, we’re not perfect, and we know our software is far from perfect, but if you understand the risks we’d be really excited to show it to you.”
The process opens up a dialog of equals—not the typical consumer relationship, but a collaborative one. The user of alpha software actually has a responsibility to communicate when (not if) things go wrong and to tell the developers how it crashes, what important option isn’t there, how the installation fails, or even how the website is confusing. In this way, responsibility can grow from being an alpha user to include helping with documentation, improving the website, debugging problems, contributing patches, and eventually building major new features as a core developer. Indeed the point of the alpha release is to put a stake in the ground and open the process to gain feedback from others, allowing users and developers to build the future together. Everyone is expected to be a true participant, in the fullest sense of the word, with responsibilities as well as privileges as opposed to just a passive consumer.
We encourage you to check out both the OpenLayers 3.0 and GeoGit alpha releases and let the teams know what you think. OpenLayers in particular has a very solid core but is looking for practical input from real users. We think the projects show a lot of potential, and we’re excited for your feedback, encouragement, and even contributions. Don’t hesitate to jump in and join us as we build the geospatial future together.
February 15th, 2013
Over the last few months we’ve had the pleasure of creating an HTML5 application using OpenLayers and Sencha Touch. This application is specifically designed to run on Motorola Xyboard 8.2 inch tablets running Android 3.2, but we may extend support for other tablets in the future. Our initial setup included the latest version OpenLayers and rendered points using a vector layer with a canvas renderer. However, this resulted in map display performance, and touch selection issues on Android 3.
We decided to explore additional options for touch selection. Our goal was to increase performance so that when the user hit a point icon it registered the first time, every time. To meet this goal we implemented the following:
- Using an invisible (almost transparent) stroke around the points to provide a larger hit target. This approach only slightly improved things and made it hard for the user to hit the right point when they overlapped.
- Using separate markers (DOM elements) instead of a canvas. We created a new markers renderer so we could reuse the existing vector layer configuration. Touch selection improved, but since each icon was a separate DOM element the map became unresponsive to dragging.
- Leveraging the headless renderer concept. In this approach the POI overlay is rendered by a WMS, but the vector data is also available locally and used for feature selection. Whenever a touch event is received, hit points are determined by comparing their coordinate with the touch location. Then the selected feature is rendered client side with a different symbol to mark it as selected. This greatly improved touch selection and map dragging and was ultimately was the solution selected.
We also tried several approaches to improve the map’s drag responsiveness and visual feedback:
- Using accumulated drag deltas. This approach limits how often the map updates during a drag operation. This improved responsiveness, but resulted in distracting visual feedback during dragging.
- Using 3d transforms to enable GPU support. Most mobile devices have advanced graphics processing capabilities, allowing for rich graphics in mobile gaming. By off-loading the work to the GPU we observed significant performance improvements. In a follow up project we were able to further refine this approach and add smooth animated zooming to OpenLayers.
- Keep references to image tiles for reuse. While working on a separate project we created a TileManager for smart tile queuing and caching. On mobile devices setting the source of an image is an expensive operation. For example, even if the tiles shown on the map were on previously viewed locations, dragging almost always creates a new tile. With the TileManger, tiles get cached so image sources only need to be set the first time a location is viewed. The project was delivered with an early version of the TileManager.
With the exception of headless renderer all mentioned improvements have been contributed back to the project and are now available in OpenLayers. Headless renderer was left out since it is so specific to the application, but it is available as a pull request. This application turned out to be a great opportunity to further OpenLayers mobile features, and we look forward to working on them more in the future.
November 6th, 2012
OpenLayers recently launched a crowd-funding campaign for their 3.0 release. I want to share a bit about why OpenLayers is important to me, and why OpenGeo has supported OpenLayers and will continue to invest in it. If you’re interested in helping, visit the OpenLayers 3.0 campaign for more information and ways to support.
When OpenLayers arrived six years ago it was a revelation; it took the awesome tile-based AJAX-ified magic of Google Maps and made it available to the entire geospatial world. The community was active and growing fast; they were rolling out new formats and innovations daily. Back then, OpenLayers truly pushed the limits of what was possible in the browser, establishing a new standard for the geospatial world.
Read the rest of this entry »
January 3rd, 2012
The OpenGeo Suite team has migrated all of our source code over to Git from Subversion, and we are now hosting the code on GitHub. This follows the trend of lots of open source software projects toward a distributed version control system.
Switching from Subversion to Git has all sorts of benefits for the development team, as well for anyone interested in playing with the code. There are numerous sites that detail the advantages of Git (we particularly like this one), but it will allow us to more easily incorporate features for our clients, manage multiple release streams, and work simultaneously without breaking development for everyone else. As the client base of the OpenGeo Suite grows (and as more and more people download the free Community Edition) this change has been a long time in coming.
You can also visit OpenGeo’s main GitHub repository as well as the main repositories for GeoExplorer, GXP, and more. Please fork the code and play around. If you have patches, feel free to send us a pull request. While we can’t guarantee that all patches will be accepted, we value every suggestion we receive.
If you have thoughts about our svn to git conversion, we’d love to hear about in the comments section. Though please, no x-is-better-than-y wars. Each one of us is correct!
September 30th, 2011
Congratulations to the OpenLayers development team on the release of OpenLayers 2.11!
This release is a big one, closing over 380 outstanding tickets and providing significant performance improvements. The biggest win is the mobile support enhancements. OpenLayers now allows features to be dragged and zoomed with touch gestures on mobile devices. Handlers for pinching and zooming have also been added to the library.
Other key highlights are the plethora of performance enhancements and the additional support for accessing Bing Maps tiles. The release notes go into detail about all of the new features and you can see them in action on the OpenLayers demo site—to really get a feel for the improvements open the demo in a mobile browser.
OpenGeo is committed to the OpenLayers project and we’re eager to support it however we can. A good deal of the development was done by OpenGeo team members Tim Schuab, Andreas Hocevar and Bart van den Eijnden in February of 2011 as a part of the code sprint hosted by Camptocamp and Swisstopo. That week in Switzerland proved to be a critical step forward in pushing mobile enhancements and the 2.11 release to completion. A full recap of the sprint is accesible from Tim’s post on the OpenLayers blog.
Thanks again to the OpenLayers team, the supporters of the code sprint and everyone who has contributed to this new release!
May 26th, 2011
Another week, another wing added to the OpenGeo Gallery. As always, we showcase applications from around the world built using some or all of the the software components we help to develop: PostGIS, GeoServer, GeoWebCache, OpenLayers, and GeoExt. These range from small-scale applications to national deployments. See for yourself.
We start out down under with the Australian Antarctic Data Navigator, showing observational data from the Australian Antarctic Division using a GeoExt client and served through GeoServer and GeoWebCache. Next up, our friends at the Ordnance Survey in the UK have built an interesting WMS Map Builder using OpenLayers that serves from their horde of national data. Somewhat closer to our home office, the State of Oklahoma has its own broadband map, similar to the National Broadband Map that we’ve highlighted here in the past. Finally, the World Health Organization hosts the International Travel and Health Map, a lightweight application that shows health risks on a per-country basis.
We’re nowhere near done yet—thanks to everyone who has sent in your applications. We may still be missing yours, though.
Enter the OpenGeo Gallery
May 18th, 2011
The OpenGeo Gallery keeps on growing, with more and more exciting real-world applications showcasing the software we help develop: PostGIS, GeoServer, GeoWebCache, OpenLayers, and GeoExt.
This week, we present some high profile sites. Most notably, we have the World Bank Open Data site, a portal to access all public statistical and demographic data served by the World Bank, whose viewer contains an integrated OpenLayers client. We also have Protected Planet, a United Nations-related mapping website that uses PostGIS and GeoServer to provide information and media on protected areas across the world. Additionally, we have have added OpenStreetMap in a Box, an easy-to-install portable installation of OpenStreeMap data utilizing OpenLayers. Finally, our friends at AppGeo contributed their MapGeo Parcel Viewer, which leverages the entire OpenGeo Suite to provide local governments, businesses, and the public easy access to local maps and detailed property information.
Keep those entries coming! We want the OpenGeo Gallery to be the premier destination for showcasing the best live, real-world, open source geospatial applications. Help out by telling us about your application.
See the OpenGeo Gallery
May 13th, 2011
Last week we introduced the OpenGeo Gallery, a place where we showcase live applications that make use of GeoServer, OpenLayers, and other software that OpenGeo develops and supports.
This week, we have added a few more entries, many with a government or NGO focus. Starting close to home, we have NYCityMap, New York City’s official online map portal. Aiming further south, there is GeoPortal Gulf Response, which tracks information related to the 2010 oil spill in the Gulf of Mexico. Finally, and not at all south, we have the Norwegian National Mapping Authority’s official online Norway Map (Norgeskart).
We invite you to enter the Gallery and wander around. We’ll be showcasing more applications in the weeks to come. In the meantime, if you want your application hosted in our Gallery, please let us know and we’ll be happy to add it!
May 3rd, 2011
Of all the questions we are commonly asked, who is using your software? ranks pretty highly.
While we publish numerous case studies about clients who have built applications directly with us, there are many more organizations that have built amazing projects using software that underlies the OpenGeo Suite, namely PostGIS, GeoServer, GeoWebCache, OpenLayers, and GeoExt.
In hopes of better publicizing these projects, we have created the OpenGeo Gallery to showcase the best applications built using software that we support. Whether you are interested in all examples together in one place or just some highlighted examples, the OpenGeo Gallery highlights some great organizations making use of cutting-edge technology.
As time goes on, we hope to add to the Gallery and showcase some of those applications here on the blog. If you know of an application using the OpenGeo Suite or any of its components and wish to have us publicize it on our website, please contact us and we will be happy to add your work to our growing collection.
View the OpenGeo Gallery
September 13th, 2010
At the FOSS4G conference in Barcelona this past week we announced the availability of new OpenGeo training materials online, all of which are licensed under the Creative Commons Share-Alike With Attribution license. Introductory workshops on the PostGIS spatial database, OpenLayers web mapping library, and the GeoServer map and feature server are all available online at http://workshops.opengeo.org.
Watch this space and the usual geo news outlets as OpenGeo continues adding new workshops and advanced materials as we develop and present them.