FlightGear Newsletter May 2014: Difference between revisions

Jump to navigation Jump to search
Prepare for publishing
(Prepare for publishing)
Line 2: Line 2:
{{TOC_right|limit=2}}
{{TOC_right|limit=2}}


{{Newsletter being written}}


== Development news ==
== Development news ==
Note to all contributors: Please also copy your newsletter additions to the changelog for the upcoming release: [[Next Changelog]].
=== Random Buildings ===


=== Project Rembrandt ===
=== Project Rembrandt ===
Line 13: Line 9:


=== Porting the Garmin GPSMap 196 to Canvas ===
=== Porting the Garmin GPSMap 196 to Canvas ===
[[File:Gpsmap196-svg-instruments.png|thumb|Protoyping the G196 instrument display using wikimedia/commons SVG images and the unmodified Canvas SVG parser as per [http://forum.flightgear.org/viewtopic.php?f=71&t=23047#p209470]]]
The Garmin 196 is currently in the process of being ported to [[Canvas]] and [[MapStructure]] by F-JJTH.  
The Garmin 196 is currently in the process of being ported to [[Canvas]] and [[MapStructure]] by F-JJTH.  


Given the generic nature of Philosopher's [[MapStructure]] framework,it only took us 60 seconds to integrate with MapStructure using just 10 lines of [[Nasal]] code - it's a fully working moving map - scale is obviously still off in those screen shots, but it's a matter of setting another style (which can also be used to change color and most symbols)
Given the generic nature of Philosopher's [[MapStructure]] framework,it only took us 60 seconds to integrate with MapStructure using just 10 lines of [[Nasal]] code - it's a fully working moving map - scale is obviously still off in those screen shots, but it's a matter of setting another style (which can also be used to change color and most symbols)


[[File:Gpsmap196-MapStructure.png|thumb|F-JJTH's GPSMap196 in the process of being ported to [[Canvas]] using Philosopher's MapStructure framework for mapping (LOD/scaling not applied here, but available) - see [http://forum.flightgear.org/viewtopic.php?f=71&t=23047] ]]
<gallery mode=packed widths="250px" heights="250px">
 
Gpsmap196-svg-instruments.png|Protoyping the G196 instrument display using wikimedia/commons SVG images and the unmodified Canvas SVG parser as per [http://forum.flightgear.org/viewtopic.php?f=71&t=23047#p209470]
[[File:Gpsmap196-MapStructure-with-styling-applied.png|thumb|MapStructure layers integrated in GPSMap196 with some custom styling applied]]
Gpsmap196-MapStructure.png|F-JJTH's GPSMap196 in the process of being ported to [[Canvas]] using Philosopher's MapStructure framework for mapping (LOD/scaling not applied here, but available) - see [http://forum.flightgear.org/viewtopic.php?f=71&t=23047]
 
Gpsmap196-MapStructure-with-styling-applied.png|MapStructure layers integrated in GPSMap196 with some custom styling applied
[[File:Gpsmap196-mapstructure-layers-ratio.png|thumb|GPSMap196 with [[MapStructure]] layers (currently exhibiting some scaling/LOD issues due to hard-coded assumptions in some of the layers)]]
Gpsmap196-mapstructure-layers-ratio.png|GPSMap196 with [[MapStructure]] layers (currently exhibiting some scaling/LOD issues due to hard-coded assumptions in some of the layers)
</gallery>


This is exactly the reason, why we've been working towards an aircraft and GUI agnostic abstraction layer using MVC design concepts - so that reusing and integrating such stuff is really straightforward, without people having to come up with their own custom maps and layers from scratch.
This is exactly the reason, why we've been working towards an aircraft and GUI agnostic abstraction layer using MVC design concepts - so that reusing and integrating such stuff is really straightforward, without people having to come up with their own custom maps and layers from scratch.
Line 31: Line 26:
Also see [[Garmin GPSMap 196]].
Also see [[Garmin GPSMap 196]].


To learn more, please follow the thread on the forum: http://forum.flightgear.org/viewtopic.php?f=71&t=23047
To learn more, please follow the [http://forum.flightgear.org/viewtopic.php?f=71&t=23047 forum thread]


=== Canvas Performance ===
=== Canvas Performance ===


Recently, it's been 2 years since [[Canvas]], our 2D rendering API, got integrated. And even today, there are people claiming that aircraft using Nasal and Canvas are generally slow and don't provide sufficient performance, suggesting not to adopt Canvas yet, so here are some comments about that, to help put some context around such statements:
Recently, it has been two years since [[Canvas]], our 2D rendering API, got integrated. And even today, there are people claiming that aircraft using Nasal and Canvas are generally slow and don't provide sufficient performance, suggesting not to adopt Canvas yet, so here are some comments about that, to help put some context around such statements:


Canvas is a new technology in FlightGear, and it not just a single technology, it's built on top of other technologies, like the [[Property Tree]], ShivaVG/OpenVG, OSG and OpenGL. As you may have noticed, we didn't even mention [[Nasal]] yet - that's because Nasal scripting, strictly speaking, isn't even required to use [[Canvas]] - the whole thing can be used without touching any Nasal - just by using the property tree, the built-in httpd or even the [[Telnet usage|telnet]] interface.
Canvas is a new technology in FlightGear, and it not just a single technology, it's built on top of other technologies, like the [[Property Tree]], ShivaVG/OpenVG, OSG and OpenGL. As you may have noticed, we didn't even mention [[Nasal]] yet - that's because Nasal scripting, strictly speaking, isn't even required to use [[Canvas]] - the whole thing can be used without touching any Nasal - just by using the property tree, the built-in httpd or even the [[Telnet usage|telnet]] interface.
Line 110: Line 105:


=== A Canvas-based Map dialog ===
=== A Canvas-based Map dialog ===
<!--
 
{{WIP}}
-->
As part of increasingly adopting our [[Canvas]] 2D rendering framework and in order to help [[Unifying the 2D rendering backend via canvas]], the canvas-based [[Map]] dialog is currently being overhauled by Philosopher and Hooray, who are hoping to finalize this in time for 3.2 - the hard-coded [[Map]] dialog will obviously remain functional for at least one full release cycle until it can be phased out by a pure [[Nasal]]/[[Canvas]] based solution using the new [[MapStructure]] framework. Currently, this is all still just available in the [[Canvas-hackers|canvas-hackers team clone on gitorious]] - but we're hoping to implement the main missing features within the next few weeks.
As part of increasingly adopting our [[Canvas]] 2D rendering framework and in order to help [[Unifying the 2D rendering backend via canvas]], the canvas-based [[Map]] dialog is currently being overhauled by Philosopher and Hooray, who are hoping to finalize this in time for 3.2 - the hard-coded [[Map]] dialog will obviously remain functional for at least one full release cycle until it can be phased out by a pure [[Nasal]]/[[Canvas]] based solution using the new [[MapStructure]] framework. Currently, this is all still just available in the [[Canvas-hackers|canvas-hackers team clone on gitorious]] - but we're hoping to implement the main missing features within the next few weeks.


Line 136: Line 129:
Map-canvas-dialog-storms-overlay.png|Gijs' original wxr (storms) layer ported to Philosopher's MapStructure framework (still experimental)
Map-canvas-dialog-storms-overlay.png|Gijs' original wxr (storms) layer ported to Philosopher's MapStructure framework (still experimental)
</gallery>
</gallery>
=== Canvas System ===


=== Missions & Adventures ===
=== Missions & Adventures ===
[[File:Tmabanner.png]]
[[File:Tmabanner.png]]


FGTAM - FlightGear Tutorials, Missions & Adventures has received an assorted set of icons created by Michat in order to support with standard vectorial graphics the broad range of options that this collaborative code effort and technology can offer to the FG Project.  
FGTAM - FlightGear Tutorials, Missions & Adventures has received an assorted set of icons created by Michat in order to support with standard vectorial graphics the broad range of options that this collaborative code effort and technology can offer to the FG Project.  


[[File:Jettraffic.png]]
[[File:Jettraffic.png]]
Line 154: Line 142:
[[File:Pickuppoint.png]]
[[File:Pickuppoint.png]]
[[File:Precisionlandingpoint.png]]
[[File:Precisionlandingpoint.png]]


Here are shown some examples of icons that have been created.
Here are shown some examples of icons that have been created.


{{forum|79|Tutorials, Missions & Adventures}}
{{forum|79|Tutorials, Missions & Adventures}}
=== High Level Architecture ===
=== Usability Improvements ===


=== Getting your own ideas into FlightGear without having to be a programmer ===
=== Getting your own ideas into FlightGear without having to be a programmer ===
We've been seeing an increasing number of discussions on the forum started by people who are obviously eager to become potential contributors, either by adding new features to FlightGear, or by improving other aspects of FlightGear as a whole (community, infrastructure, usability, end-user support, accessibility, funding etc). Unfortunately, this has caused some friction over time, because people were expecting their involvement to work differently, especially those primarily making suggestions and providing feedback through discussions are obviously getting fed up with the community of contributors not responding directly to such feedback.
We've been seeing an increasing number of discussions on the forum started by people who are obviously eager to become potential contributors, either by adding new features to FlightGear, or by improving other aspects of FlightGear as a whole (community, infrastructure, usability, end-user support, accessibility, funding etc). Unfortunately, this has caused some friction over time, because people were expecting their involvement to work differently, especially those primarily making suggestions and providing feedback through discussions are obviously getting fed up with the community of contributors not responding directly to such feedback.
Now, we do appreciate any community involvement obviously, but people who are serious about actually bringing certain changes to FlightGear will find that just making suggestions will typically not work too well, and that just participating in lengthy community discussions is usually fruitless. We've had some extremely heated discussions over the years, some debating interesting ideas - and many ending up being dozens of pages in size, containing hundreds of postings. Often, these contain lots of good ideas and suggestions, but sooner or later these suggestions become emotional and are no longer constructive - yet, we're dealing with them constantly, which is taking up resources, i.e. time and energy. In an open source project like FlightGear, which is entirely volunteer driven, time is the most precious resource we have to contribute. It is like a "currency" for the project, and whenever something (or someone) is taking up lots of time without anything materializing, this is draining resources from other areas, no matter if it's end-user support or development in some shape or form.
Now, we do appreciate any community involvement obviously, but people who are serious about actually bringing certain changes to FlightGear will find that just making suggestions will typically not work too well, and that just participating in lengthy community discussions is usually fruitless. We've had some extremely heated discussions over the years, some debating interesting ideas - and many ending up being dozens of pages in size, containing hundreds of postings. Often, these contain lots of good ideas and suggestions, but sooner or later these suggestions become emotional and are no longer constructive - yet, we're dealing with them constantly, which is taking up resources, i.e. time and energy. In an open source project like FlightGear, which is entirely volunteer driven, time is the most precious resource we have to contribute. It is like a "currency" for the project, and whenever something (or someone) is taking up lots of time without anything materializing, this is draining resources from other areas, no matter if it's end-user support or development in some shape or form.
We are now trying to document how "bootstrapping" a feature or project works conceptually, i.e. implementing new features for Flightgear - to provide a perspective that enables people to better understand how to bring changes to FlightGear without having to do all the work on their own. Note that this doesn't mean that this is the only way to accomplish something, but this is a tested and proven way - which we didn't come up with, but which is just a convention that happens to "just work", which is an important aspect for a non-organized project like FlightGear, where development itself also primarily "just happens".
We are now trying to document how "bootstrapping" a feature or project works conceptually, i.e. implementing new features for Flightgear - to provide a perspective that enables people to better understand how to bring changes to FlightGear without having to do all the work on their own. Note that this doesn't mean that this is the only way to accomplish something, but this is a tested and proven way - which we didn't come up with, but which is just a convention that happens to "just work", which is an important aspect for a non-organized project like FlightGear, where development itself also primarily "just happens".


Continue reading at [[Implementing new features for FlightGear]]...
Continue reading at [[Implementing new features for FlightGear]]...
=== Getting involved as a programmer ===
=== Getting involved as a programmer ===
Unfortunately, most of the active FG developers are currently very overstretched in terms of the areas that they have ownership of, which is affecting how much can actually be done.  Fundamentally we need more core devs.
Unfortunately, most of the active FG developers are currently very overstretched in terms of the areas that they have ownership of, which is affecting how much can actually be done.  Fundamentally we need more core devs.
Line 183: Line 167:
Of course, you're also free to work on whatever you want -- FlightGear as a community-driven doesn't tell people what to do, but welcomes any contributions from anybody, as long as they have acceptable quality and are free to be licensed under the GNU GPL. So if you have something you would like to contribute back to FlightGear, please get in touch! (Preferably using Gitorious for larger merge requests, and the forums or (core-) developer's mailing list to inform the developers of what you want to contribute back.) Changes contributed 6-8 weeks before a release will usually appear in the next release, so your changes can be spread across the world.
Of course, you're also free to work on whatever you want -- FlightGear as a community-driven doesn't tell people what to do, but welcomes any contributions from anybody, as long as they have acceptable quality and are free to be licensed under the GNU GPL. So if you have something you would like to contribute back to FlightGear, please get in touch! (Preferably using Gitorious for larger merge requests, and the forums or (core-) developer's mailing list to inform the developers of what you want to contribute back.) Changes contributed 6-8 weeks before a release will usually appear in the next release, so your changes can be spread across the world.


== Release ChangeLog ==
This section lists changes committed this month that will be available in the next release, these will be copied to the release changelog shortly before a release (for each month), so that we hopefully get a comprehensive list of new features.
== Interview with a contributor (NAME) ==
''In each edition we have an interview with a contributor. Suggestions for possible questions are available on [[interview questions]], you are invited to come up with new questions and interview ideas obviously! Anyone is free to write an interview (with him-/herself or others) for next month's newsletter! If you'd like to help interview a contributor or get interviewed, please do consider adding yourself to the [[list of interview volunteers]]! To keep this going and less awkward, we are currently trying to come up with the convention that former interviewees become next month's interviewers.''
* How long have you been involved in FlightGear?
* What are your major interests in FlightGear?
* What project are you working on right now?
* What do you plan on doing in the future?
* Are you happy with the way the FlightGear project is going?
* What do you enjoy most about developing for FlightGear?
* Are there any "hidden features" you have worked on in FlightGear that new users may miss?
* What advice can you give to new developers who want to get started on their first aircraft/new feature/Nasal script?
More questions are being collected here: [[Interview questions]].
Stay tuned for next month's interview, featuring FlightGear contributor XXXXXXXX
== Nasal for newbies ==
== New software tools and projects ==
== FlightGear addons and mods ==
== In the hangar ==
=== New aircraft ===
=== Updated aircraft ===
=== Liveries ===
== Scenery corner ==
=== Airports ===
== Aircraft of the month ==
== Airport of the month ==
== Screenshot of the month ==
== Suggested flights ==
== Aircraft reviews ==


== Wiki updates ==
== Wiki updates ==
Line 242: Line 184:
|}
|}


== Community news ==
=== FlightGear on YouTube ===
=== New tutorials and screencasts ===
=== Forum news ===
=== Multiplayer ===
=== Virtual airlines ===
=== FlightGear events ===
== Useful links ==
== And finally ... ==
== And finally ... ==
=== Contributing ===
=== Contributing ===


{{Volunteer Intro|mode=showlogo}}
{{Volunteer Intro|mode=showlogo}}
<!--
TODO: this needs to be added to  Template:Volunteer Intro
One of the regular thoughts expressed on the FlightGear forums is "I'd like to contribute but I don't know how to program, and I don't have the time". Unfortunately, there is a common mis-conception that contributing requires programming and lots of free time. In fact, there are a huge range of ways to contribute to the project without needing to write code or spending days working on something.
For ideas on starting to contribute to FlightGear, you may want to check out: [[Volunteer]].
To learn more about how the project works, please see [http://flightgear.org/forums/viewtopic.php?f=42&t=15267#p149971 this short essay] written by Thorsten, for a more detailed article see [[How the FlightGear project works]].
-->


=== Call for volunteers ===
=== Call for volunteers ===
Line 270: Line 193:
* The [[Target4Today]] team is looking for volunteers to help improving FlightGear's combat support
* The [[Target4Today]] team is looking for volunteers to help improving FlightGear's combat support


=== Did you know ===
[[Category:FlightGear Newsletter|2014 05]]
 
[[Category:FlightGear Newsletter]]
<!-- this needs to be changed after each release, so that newsletters show up in the proper category -->
 
[[Category:Changes after 3.00]]
[[Category:Changes after 3.00]]

Navigation menu