User group
A User Group, or LabVIEW User Group (LUG), is a local group of LabVIEW enthusiasts that come together to share common interests or goals. The user groups within the NI Community are segmented into different categories such as Local User Groups, Product User Groups, Special Interest Groups, and Partner Groups. Within each of these groups, you may collaborate with others on best practices, plan in-person meetups, or discuss any topic of your choice. [1]
Organizing a User Group
User groups are typically created out of a shared need to seek advice and share ideas among a community of individuals that are working on similar problems OR applications. It is recommended that such a group align on goals for the organization, such as the following:
- Share ideas and practices to improve the quality, performance, scalability and readability of LabVIEW code
- Provide a forum to solicit advice from peers regarding how best to solve technical and procedural challenges when developing LabVIEW code
- Drive standardization on stylings, code organization and tooling for the purpose of enabling greater reuse and collaboration
See the LabVIEW Community Forum: User Group List to find one near you.
User Group Content
This is a collection of content that can be used to organize and run a LabVIEW user group.
Fundamental Programming Constructs
These materials focus on the G syntax and language-specific constructs
| Presentation Title | Abstract | Author | Demo Resources | SME Requirements |
|---|---|---|---|---|
| Using Object-Oriented Programming LabVIEW | This session will introduce object-oriented programming as a tool that can dramatically increase the reusability and scalability of your software. Instead of going through a purely academic exploration of the concept, this session attempts to map concepts that should be familiar to any experienced LabVIEW programming towards helping explain how you can evolve your daily programming tasks without starting all over. | Elijah Kerry | Presentation and Demo Materials | Yes - experience implementing class-based software architectures |
Team Based Development
These presentations are intended to review best practices for code design and development processes. They are generally more advanced and benefit a presenter who has multiple years of experience with the relevant tools and technologies.
| Presentation Title | Abstract | Author | Demo Resources | SME Requirements |
|---|---|---|---|---|
| Moving from SVN to Git with LabVIEW | Git tends to be the standard versioning system used in software development. DevOps platform like Gitlab and Github rely on it. Git could be a necessary transition to implement CI/CD.
From my experience and with data collected earlier this year, it seems that SVN is still used by many people in our LabVIEW world. I want to share my journey from a former SVN user to a happy Git one and help developers to go further than just a "backup" tool. Real experience and no command-line inside. |
Olivier Jourdan | YouTube Recording | Yes - familiarity with SCM, Git and SVN. Qualified presenters include: Olivier Jourdan, Fabiola De la Cueva and Emilie Kia |
| Team Based Development with LabVIEW | This session will provide an overview of best practices and tooling that should be used to streamline LabVIEW development by a team of developers | Elijah Kerry | GitHub Repo for slides and demo materials | Yes - CLA-level knowledge of how to manage and coordinate development activities across a team |
Software Architectures and Code Design Patterns
These presentations are intended to review best practices for code design and development processes. They are generally more advanced and benefit a presenter who has multiple years of experience with the relevant tools and technologies.
| Presentation Title | Abstract | Author | Demo Resources | SME Requirements |
|---|---|---|---|---|
| Using Plugin Frameworks for Extensibility | This session will show how to improve the reusability and extensibility of LabVIEW code through the use of dynamically loaded plugins | Elijah Kerry | Example source code | Yes - CLD-level knowledge of how to dynamically load and communicate with sub processes |
Tips and Tricks
| Presentation Title | Abstract | Author | Demo Resources | SME Requirements |
|---|---|---|---|---|
| What to Expect When You're Expecting an Error | Connecting error wires across nodes on a block diagram is one of the most common, brainless tasks performed by a LabVIEW programmer. Unfortunately, this often means that VI behavior in an error condition is a second thought, if it's even thought about at all. This presentation will cover best practices in regards to the generation and propagation of errors on LabVIEW block diagrams. You should come out of this presentation with the ability to write VIs that are not only functionally correct in an error condition, but also precisely convey their exact error behavior in an error condition. | Darren Nattinger | Slides | Yes - CLA-level knowledge of how to manage and coordinate development activities across a team |
| I Find Your Lack of LabVIEW Programming Speed Disturbing | In just an hour of LabVIEW programming, you interact with the LabVIEW IDE hundreds, perhaps thousands, of times. Chances are, you could be executing many editor gestures more efficiently. Explore how to change your workflow to perform the most common LabVIEW programming tasks as quickly as possible. | Darren Nattinger | Slides |
References
- ↑ LabVIEW Forums: User Groups https://forums.ni.com/t5/User-Groups/ct-p/user-groups