The document provides an overview of using GermaniumWeb for 3D mapping and visualization. It discusses setting up the development environment, common tasks like loading buildings and placing markers, and how GermaniumWeb works within a typical web environment. It also describes modeling options like importing KML buildings and using COLLADA, and deploying custom built models by hosting files on the web server and using relative paths.
Non Conventional Android Programming Enguest9bcef2f
Learn as you can developing software for mobile devices using only html, css and javascript and how you can use Spring Framework in software for mobile devices
Introdução a desenvolvimento híbrido para dispositivos móveis (Iphone, android) utilizando Ionic Framework (Angular, Cordova, Bootstrap). Tem exemplos de implementação.
This is an extended version of the talk I gave at Web European Conference in Milan. It covers basic web application security threats and simple tweaks to our applications that help dealing with them.
Passo a Passo para criar uma aplicação Móvel HíbridaJuliano Martins
Passo a Passo para criar uma aplicação Móvel Híbrida para IPhone e Android com o framework Ionic (Angular + Cordova) consumindo um WebService do Wordpress para listagem de postagem de um blog.
Non Conventional Android Programming Enguest9bcef2f
Learn as you can developing software for mobile devices using only html, css and javascript and how you can use Spring Framework in software for mobile devices
Introdução a desenvolvimento híbrido para dispositivos móveis (Iphone, android) utilizando Ionic Framework (Angular, Cordova, Bootstrap). Tem exemplos de implementação.
This is an extended version of the talk I gave at Web European Conference in Milan. It covers basic web application security threats and simple tweaks to our applications that help dealing with them.
Passo a Passo para criar uma aplicação Móvel HíbridaJuliano Martins
Passo a Passo para criar uma aplicação Móvel Híbrida para IPhone e Android com o framework Ionic (Angular + Cordova) consumindo um WebService do Wordpress para listagem de postagem de um blog.
Customer Journey Maps - a small business case study - Alan RaeAlan Rae
How customer journey maps apply to a small business using examples from our horticultural businesses, plants4presents.co.uk,ladybirdplantcare.co.uk, fletchingGlasshouses.co.uk and theintelligentGarden.com
Topic of this short talk: team / group dynamics. The point is that you need to be aware of any dynamics happening in your team / group.
Contents of the presentation:
Slide 1: Intro video (ants)
Slide 2: Teamwork
Teamwork is the corner stone of any successful undertaking.
Teamwork is an individual skill.
The purpose of this talk is to make you aware of the importance of team dynamics.
We will look at some examples, and how we can explore team dynamics.
Slide 3: How does a high-performing team look like?
Diverse members
Diversity of viewpoints, opinions
Open and clear communication
Managing conflict
Clear objectives
Trust
Participative leadership
Positive atmosphere
Engagement
Slide 4: Putting a group of people together does not make a team.
Slide 5: Model of group/team development: Tuckman (1965)
Note: the different phases of growing as a team are necessary to become “performing”
Slide 6: Belbin team roles (1981)
9 team roles: an effective team has members that cover the 9 key roles in managing the team
Slide 7: Communication inside the team is a key indicator of whether they are performing or not. The quality of communication in the team will also directly affect the communication with the stakeholders.
Slide 8: One bad apple can cause rot in the entire cart by altering the behaviour of everyone.
examples: the passive-aggressive group eroder, the blunt/rude dominant, the controller, the slacker, the anti-establishment guy, the divide-and-conquer schemer, the arrogant fat head
Slide 9: Groupthink, a term coined by social psychologist Irving Janis (1972), occurs when a group makes faulty decisions because group pressures lead to a deterioration of “mental efficiency, reality testing, and moral judgment”.
Groups affected by groupthink ignore alternatives and tend to take irrational actions that dehumanise other groups. A group is especially vulnerable to groupthink when its members are similar in background, when the group is insulated from outside opinions, and when there are no clear rules for decision making.
Cf. https://en.wikipedia.org/wiki/Groupthink
Slide 10: How to explore team dynamics?
Listen to the way team members are communicating
Observe behaviours: can you recognise certain team roles? Who has an introvert personality, who’s extrovert?
Observe how conflict is managed
Slide 11: Don't be a Scrum Zombie (Thanks to Henrik Kniberg)
Slide 12: How to explore team dynamics? Team building, a classic scrum.
Slide 13, 14, 15: How to explore team dynamics? Team drawer
A team building exercise.
Cf. https://technology1unplugged.wordpress.com/2015/09/14/agile-belgium-agile-games-night-iii-at-commagroup-cronos-10092015/ (team drawing exercise)
Slide 16: Improv theatre exercises
Slide 17: Quote by Henry Ford: “Coming together is a beginning, keeping together is progress, working together is success.”
Slide 18: Be aware of the dynamics in your team!
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
Are you a backend Java developer that's being pushed into front-end development? Are you frustrated with all the JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the landscape of UI development, including web standards, frameworks, and what’s on the horizon (e.g., micro frontends).
The debug process constitutes an important part in an app's development cycle. Knowing the (right) tools and techniques means you can optimizes time and therefore costs. In this session we will see a number of techniques to optimize debugging of iOS applications exploiting the power of Xcode, LLDB and other support tools.
Customer Journey Maps - a small business case study - Alan RaeAlan Rae
How customer journey maps apply to a small business using examples from our horticultural businesses, plants4presents.co.uk,ladybirdplantcare.co.uk, fletchingGlasshouses.co.uk and theintelligentGarden.com
Topic of this short talk: team / group dynamics. The point is that you need to be aware of any dynamics happening in your team / group.
Contents of the presentation:
Slide 1: Intro video (ants)
Slide 2: Teamwork
Teamwork is the corner stone of any successful undertaking.
Teamwork is an individual skill.
The purpose of this talk is to make you aware of the importance of team dynamics.
We will look at some examples, and how we can explore team dynamics.
Slide 3: How does a high-performing team look like?
Diverse members
Diversity of viewpoints, opinions
Open and clear communication
Managing conflict
Clear objectives
Trust
Participative leadership
Positive atmosphere
Engagement
Slide 4: Putting a group of people together does not make a team.
Slide 5: Model of group/team development: Tuckman (1965)
Note: the different phases of growing as a team are necessary to become “performing”
Slide 6: Belbin team roles (1981)
9 team roles: an effective team has members that cover the 9 key roles in managing the team
Slide 7: Communication inside the team is a key indicator of whether they are performing or not. The quality of communication in the team will also directly affect the communication with the stakeholders.
Slide 8: One bad apple can cause rot in the entire cart by altering the behaviour of everyone.
examples: the passive-aggressive group eroder, the blunt/rude dominant, the controller, the slacker, the anti-establishment guy, the divide-and-conquer schemer, the arrogant fat head
Slide 9: Groupthink, a term coined by social psychologist Irving Janis (1972), occurs when a group makes faulty decisions because group pressures lead to a deterioration of “mental efficiency, reality testing, and moral judgment”.
Groups affected by groupthink ignore alternatives and tend to take irrational actions that dehumanise other groups. A group is especially vulnerable to groupthink when its members are similar in background, when the group is insulated from outside opinions, and when there are no clear rules for decision making.
Cf. https://en.wikipedia.org/wiki/Groupthink
Slide 10: How to explore team dynamics?
Listen to the way team members are communicating
Observe behaviours: can you recognise certain team roles? Who has an introvert personality, who’s extrovert?
Observe how conflict is managed
Slide 11: Don't be a Scrum Zombie (Thanks to Henrik Kniberg)
Slide 12: How to explore team dynamics? Team building, a classic scrum.
Slide 13, 14, 15: How to explore team dynamics? Team drawer
A team building exercise.
Cf. https://technology1unplugged.wordpress.com/2015/09/14/agile-belgium-agile-games-night-iii-at-commagroup-cronos-10092015/ (team drawing exercise)
Slide 16: Improv theatre exercises
Slide 17: Quote by Henry Ford: “Coming together is a beginning, keeping together is progress, working together is success.”
Slide 18: Be aware of the dynamics in your team!
Front End Development for Back End Java Developers - Jfokus 2020Matt Raible
Are you a backend Java developer that's being pushed into front-end development? Are you frustrated with all the JavaScript frameworks and build tools you have to learn to be a good UI developer? If so, this session is for you! We'll explore the landscape of UI development, including web standards, frameworks, and what’s on the horizon (e.g., micro frontends).
The debug process constitutes an important part in an app's development cycle. Knowing the (right) tools and techniques means you can optimizes time and therefore costs. In this session we will see a number of techniques to optimize debugging of iOS applications exploiting the power of Xcode, LLDB and other support tools.
Building Single Page Application (SPA) with Symfony2 and AngularJSAntonio Peric-Mazar
Forget about classic website where UX is not so important. We are living in time where usability is one of the important thing if you are building some business client oriented web service. How to connect Symfony2 as backend and AngularJS as frontend solution? What are best practices? What are disadvantageous? How to take best from both worlds? These are topics I will cover in my talk with real examples.
AngularJS training - Day 1 - Basics: Why, What and basic features of AngularJSmurtazahaveliwala
First part of AngularJS Training.
Covers details of AngularJs community and answers
- Why AngularJS ?
- What is AngularJS ?
- Getting started
- Basic Application layout and anatomies
- Data-binding, Existing Directives, Filters, Controllers
- Hosting on local (NodeJS) HTTPServer
Code samples available at
https://github.com/murtazahaveliwala/technext-angularjs-demo/tree/master/demos/static/angular-apps
Technical Tips: Visual Regression Testing and Environment Comparison with Bac...Building Blocks
As a Front End Web Developer, experimenting with new tools to add to your workflow (and going down the rabbit hole with them!) is all part and parcel of refining your craft. Chris Eccles, Technical Manager at Building Blocks has been doing just this and has some invaluable insight into CSS Visual Regression using Backstop.JS.
CSS Visual Regression testing is the process of running automated visual test comparisons on pages or elements in your projects. Using Backstop.JS, Chris has discovered that this tool is intuitive, allowing quick configuration to allow you to get up and rolling quickly.
Backstop.JS serves your tests via a webpage which gives you the visual feedback needed for targeting bugs caused from CSS related issues. These comparisons can uncover bugs you’d otherwise not learn about until it’s too late. A very useful tool to have in your Front End arsenal, wouldn’t you agree?
Chris has been sharing his insights with the BB team and wanted to share with our blog readers also. So, sit back and enjoy the ride through the wonderful world of Backstop.JS.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
UiPath Test Automation using UiPath Test Suite series, part 5DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 5. In this session, we will cover CI/CD with devops.
Topics covered:
CI/CD with in UiPath
End-to-end overview of CI/CD pipeline with Azure devops
Speaker:
Lyndsey Byblow, Test Suite Sales Engineer @ UiPath, Inc.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
44. 3D Coordinate System - Orientation To work in degrees instead of radians: varright_angle = Germanium.DegreeToRadian(90);
45. The Eye - Setting the position http://www.germanium3d.com/cxa2010/links - Code Samples “Let’s meet up here!”
46. The Eye - Gliding 2 types – Look at/from somewhereor Look at something,e.g. a level, placemark - GlideTargetTo(),GlideEyeTo() - GlideEyeToFit()
47. The Eye - Gliding Specify parameters in an associative array germ.GetEye().GlideEyeTo( { position: [10, 0, 10], targetDistance: 5, duration: 10, // 10 seconds } ); Full list of parameters in API documentation, under Eye > Specifying glide parameters
48. The Eye - Gliding http://www.germanium3d.com/cxa2010/links - Code Samples
79. Putting it all together Placemark Geometry StyleSet point linestring polygon BalloonStyle LabelStyle GeometryStyle diamond, arrow, icon line polygon
87. How it Works index.html JSAPI www.example.com api.germanium3d.com Web Developer + GermaniumWebFirefox plugin Firefox User
88. A typical web environment Webserver:JBoss/Apache/Tomcat/IIS scripts:PHP/Python/Perl/Ruby Appserver:JBoss/WebSphere/IIS logic: Java servlets/JSP/ASP.NET Database:MySQL/MS SQL index.html JSAPI Static files:.xlcl (Germanium buildings) Feeds:Project Nimbus/ Google Data APIs www.example.com api.germanium3d.com (GermaniumWeb API server) Data formats:JSON, XML data.example.com (data server) Browser:IE/Firefox/Chrome/Opera Plugins:GermaniumWeb/Flash/Silverlight/Java Client-side scripts:VBScript, JavaScript + jQuery/MooTools/YUI User
89.
90.
91. Setting up the server environment index.html www.example.com / - Apache - MySQL - PHP webserver database scripting language -Apache - MySQL - PHP JBoss e.g. WAMP, LAMP, XAMPP
93. Common webapp operations Store local state, e.g. cookies Provide user-specific interactions, e.g. sessions Query live data from the server Save user data to the server Perform all of the above asynchronously
GermaniumWeb is not a 3D engine like WebGL, O3D, Unity3DIt is an mapping engine like Google Earth or Bing Maps 3D, but specialized for interiorsThat means you don’t have to learn advanced 3D graphics and deal with triangles and shaders, learn complex 3D coordinate systems.You do get easy access to rich functionality such as placemarks and the eye/camera.
… of an app. Let’s take a look at the conceptual steps to getting GermaniumWeb into your webpage.
When the HTML has been loaded, call the Init() function.TheInit() function puts GermWeb into the prepared div, and asks the API to call the OnInitOk function when ready. The OnInitOk function receives the WebControl, which is the master plugin object.
Ask the WebControl object to download & load a building.
Mouse guide:LMB: pan laterallyMMB: orbitRMB: zoom
That was the introduction to GermaniumWeb
The other things you’ll learn today are
how to manipulate buildings and the eye
how to use placemarks to mark an important part of the building
Then we’ll briefly go through other features not covered by this training
And cover issues to be aware of while developing your webapp
So let’s start with buildings.
Germanium models the world as collections of buildings, blocks, and levels. Buildings (or rather, building complexes) are made of blocks. Blocks are made of levels, stacked vertically. This is very intuitive and fits with our common understanding of ‘a building’.For short, we refer to them as ‘BBL’ objects.
Note that buildings are modeled beforehand, and just loaded into the app at runtime. At runtime, you merely manipulate the loaded model, e.g. turning on/off levels , move the eye to take a closer look at level 2, etc.We will cover building modeling in the app development issues later.
So that was the view of the BBL through a webpage interface. So how do you as a developer get access to the BBL to program its behaviour?BBLid – Unique within its parent’s scope, so to specify a level, you need its building, block, and level bblid. Specified by modeler, e.g. using Building ComposerFor Generic office and the other buildings on our website, you can find out the bblids using their viewer appsFor other buildings, can use the code snippet on our interactive sampler on our website.Introduce API Documentation when showing Level. Show how to get there on website.Introduce callback functions.Samples: Load a buildingHide a levelHide other levels
So now that we know how to show Level 2, and hide the levels above it, we want to show our user something on Level 2, e.g. a meeting area. In other words, we want to bring Germanium’s eye over to the room.
First up, is the Eye itself.The eye consists of several parameters:positionorientationtarget distancetarget position - which can be derived, or set directlyGermanium allows you to set the target position because you usually want to tell the eye to look at something rather than where to go.Right now we’re only concerned with the target position, because we want to look at the meeting area. This position is specified in Germanium’s
… 3D Coordinate System.
Arrows point in the positive direction.
How do you remember which direction to rotate?
Personally I find it easier to remember the thumbscrew rule. After all, I carry my fingers around with me everywhere, not a diagram
Germanium’s coordinate system works in radians. If you’re like me, and you prefer to think in degrees, there’s a convenient function to convert it for you.
Just accept the 3D coordinates for now, I’ll explain later how to get them.In this sample, you can see several things going on, so let’s take a closer look at them one by one.Samples:Set a target positionGlide to a target position
Setting the position directly is bad as it makes users lose their orientation. Far better to animatedly bring your users from where they are to what you want to show them. To do this, we use the glide functions. If you’re familiar with Google Earth, they call this feature “fly-to”.
The glide functions make use of the JavaScript feature called associative arrays, which is just a fancy way of saying key-value pairs.
Samples:Glide to a levelGlide to a level with orientation
Break from 1100-1120 or 1500-1520
Previously the coordinates were just provided. Here’s how to get them. So, you can see the position you want, so how do you get the 3D coordinates of that point?
Germanium does tell you when the user clicks, and where in the window s/he clicked. With the help of Compute3DIntersection(), you can convert this to 3D coordinates.Let’s take a look the 2 parts one by one. First up are events.
Events are very similar to theCreateInstance and Load callbacks we’ve already seen. Both events and callbacks tell you when something has happened.
Events not only tell you when something has happened, they give you more information about the event, e.g. mouse button, window coordinates, etc.This click + Compute3DIntersection combination is very useful, as we’ll see later in the placemarks.Samples:1. Get clicked position
Placemarks allow you to annotate the building and mark out places of significance.
Placemark – name, description, contentGeometry - the fundamental shape of the placemark, e.g. when you’re concerned with ‘Where Am I?’ you’re thinking of a 3D coordinate position. Whether it looks like a diamond, arrow, or icon, is unimportant at this time.GeometryStyleapplies a visual look to the geometry. Similar to HTML and CSS.
Can control color and shape of the diamond.
Can control color and shape of the arrow.
Icons are useful when you want the placemark to look the same size no matter how far away you are.Can use practically any image on the web.
Can apply line patterns.Can animate.
Specify vertices, Germanium will fill in the polygon. Can also extrude.
Samples:All placemark samplesFor more code examples, http://www.germanium3d.com/code/LinePolygonConcepts
Hands-on Session from 1200-1220 or 1600-1620
Auto-rotationSolid background color, SkyboxOrthographic viewFirst Person NavigationClip Planes
This section is for people who don’t already have a web development environment.
…tasks you will probably have to perform for the competition.It’s also possible that your webapp will be very simple, don’t need live data or to save data, you can skip all this and just run a single machine.
If you do need a server environment and don’t already have one, here’s what we recommend.
When you develop a real web or mobile application, you will very likely need to perform some common tasks or operations. I’ll just be listing some of the most common ones, so if you don’t already know how to do them, you can prepare for the competition by trying them out.
#2 – GMail = 100% user-specific. Google My Maps = partially user-specific.#5 – Desired behaviour rather than an operation.
This step is Germanium-specific, for those of you who want to Bring Your Own Building
How to place geopositioned data on SoC:http://www.germanium3d.com/forum/viewtopic.php?f=2&t=399
Allowed to do this before competition
We also have a real-time modeling guide on our website, which gives pointers on how to optimize your building model.
So after modeling, you need to deploy the building file on a server. Or if you want to make a local copy of our sample buildings on your own server.