Categories
development flutter

Flutter meetup @ Gynzy

On Thursday, April 11th, Gynzy hosted a Flutter Holland meetup at our office in ‘s-Hertogenbosch. One of my colleagues delivered an insightful presentation titled “Not Your Average Flutter Migration: Moving From a Complex Web App to a Multi-Platform Flutter App.

To conclude the presentation, we showcased an interactive quiz that I hosted, demonstrating the interactivity within our Flutter app. The quiz performed flawlessly for the developer audience in attendance.

Arie hosting interactive quiz

Preview the Quiz

Categories
development flutter

Gynzy open question tool

As an extension to our interactive quiz tool, we introduced an Open Question feature for students to respond to open-ended questions from the teacher.

Here’s how it works:

  • Teachers launch an Open Question session directly from the Gynzy board.
  • Students answer on their own devices, like Chromebook or iPads.
  • Responses appear live on the whiteboard, providing real-time feedback.

Personal contributions

Collaborating with my colleagues, I:

  • added the open question functionality to the Gynzy student app, building upon the foundation laid by the interactive quiz.
  • Developed the Open Question teacher tool as a web component, enabling teachers to manage their open-ended questions on the Gynzy board.

Used frameworks: Flutter, Lit Element, Ember

For more information (in Dutch) visit:
https://www.gynzy.com/nl-nl/blog/activeer-je-klas-met-de-open-vraag-tool

Categories
development flutter

Gynzy interactive quiz released

Today we released the interactive quiz, an important addition to Gynzy.

The key features are:

  1. Teachers can craft their own quiz questions, including text and images.
  2. Students can join the quiz on their own devices (via the Gynzy app or a web browser). This app is developed in Flutter.
  3. Teachers can start interactive sessions in the Gynzy board, invite students and manage them.

Personal Contributions

During this project, I served as the Scrum Master and also contributed as a Developer. Our team included two external developers from abroad, and I guided them throughout the development process. My specific contributions included:

  • Collaborated with a colleague to define the application architecture, including the communication protocol.
  • Contributed to the web component tool for teachers, allowing them to manage quizzes, create new ones, and initiate interactive sessions.
  • And helped developing the interactive section within the Gynzy board, enabling teachers to start interactive sessions and invite students.

For more information (in Dutch) visit:
https://www.gynzy.com/nl-nl/blog/klassenquiz

Categories
development

Gynzy Class Schedule

In order to support teachers with creating a creating an overview of the daily routine, the class schedule tool has been added to the board. With this tool the teacher is able to create a schedule that consists of activities that are easily recognisable by students due to the use of pictograms.

Features:

  1. Activities can easily be moved, shortened or lengthened using drag and drop.
  2. Both single and composite classes are supported.
  3. Text labels can be added to a scheduled activities.
  4. It’s possible to search for activities by name and tag.
Categories
Uncategorized

Gynzy embed tools

We’re working on a feature to embed some of our Gynzy tools on your website.
I created this post to test our embedded tools (see example below).

Update: Sorry, these tools aren’t online anymore.

Unfortunately it’s not possible to insert iFrames in a WordPress post by default.
That’s why I used this plugin: https://wordpress.org/plugins/iframe/

When the plugin is activated, use this shortcode to insert the Gynzy tool:



Categories
actionscript

AS3 clickTag & IE popup blocker

Recently, we at Gynzy had to implement clickTag scripts in Actionscript 3 banners. As you might know, AS 3 banners don’t work well in Internet Explorer. You’ll get a pop-up blocked warning when using navigateToURL().

After some googling I found a clickTag script at
blog.advalidation.com/2011/06/as3-clicktag.html
It uses ExternalInterface.call('window.open', url, '_blank'); when the user agent of the banner is MSIE. This script worked almost perfect, it only had two requirements:
1) AllowScriptAccess needs to be true either by setting it to “always” or by setting it to “sameDomain” and loading the flash from the same domain as the hosting page.
2) The .swf file has to be embedded in html.

If the requirements are not met, actionscript will throw an error without opening the requested url (only in Internet Explorer of course). I tried to work around this problem by catching the error and use navigateToURL in case ExternalInterface.call fails. See my script below:

Categories
actionscript

AS3 Object shuffle or randomize

After I published my AS3 Vector shuffle or randomize post, Philip Bulley commented: “…I tried casting a Vector.int to Vector.*, but the vector becomes null within the shuffle method”. I never had to randomize a Vector.<int> but when I tried I discovered Philip was right, the result was null.

I solved this problem by changing my shuffleVector function into a more generic shuffleObject function. It solves all casting problems and you can use the shuffleObject function to randomize Objects, Array and Vectors. So if you want to randomize or shuffle an Object, Array or Vector, please use this function below instead of my previous shuffleVector function.

Categories
actionscript

TextSnapshot.getTextRunInfo: where is corner0x?

For a new Gynzy tool, I’m trying to detect coordinates of selected words in a static textfield. It’s not to difficult using the TextSnapshot object. The getTextRunInfo method returns an array of objects in which each object contains information about a specific character, including corner0x, corner0y, corner1x, corner1y, corner2x, corner2y, corner3x, and corner3y (the corners of the bounding box of the character).

It was a bit of a puzzle how to use these values, because Adobe didn’t document where corner 0, 1, 2 or 3 is situated. That’s why I’m publishing this list:

  • corner0x & corner0y : bottom left corner
  • corner1x & corner1y : bottom right corner
  • corner2x & corner2y : top right corner
  • corner3x & corner3y : top left corner

If you want to know what’s possible working with static textfields, have a look at this project: flashpages.

Categories
dagelijks leven

SD kaart “kapot”, foto’s gered!

Een paar weken geleden ging mijn Transcend 16 GB sdhc card ineens “kapot”. Tijdens het maken van foto’s met mijn Canon 450D gaf het fototoestel ineens een foutmelding en was de kaart niet meer bruikbaar. De kaart werd ook niet meer herkend als ik hem in een kaartlezer stopte. Ik heb het geprobeerd op zowel OSX als Windows pc’s met interne en diverse externe cardreaders, maar er gebeurde helemaal niets als ik de kaart in de houder plaatste. Op de externe cardreader ging ook geen lampje branden, wat wel gebeurt bij andere, normaal werkende geheugen-kaarten. Omdat de kaart niet herkend werd kon ik ook geen recovery software proberen, zoals bv PhotoRec.

Categories
actionscript

AS3 Vector shuffle or randomize

Update: my Vector shuffle function will not work with Vector.<int>. Please read AS3 Object shuffle or randomize for an improved and more generic shuffleObject function.

In almost all tools we develop for Gynzy and bord.nl the questions are randomized. When searching the net for a generic function to shuffle Actionscript Vectors, I couldn’t find any. That’s why I wrote this article and a shuffleVector function.