designcode.io
Advanced Prototyping with ProtoPie - Advanced Prototyping in ProtoPie - Design+Code
Create high-fidelity prototypes with variables, formula, conditions and sensors
#course
Meng To, from Design + Code, recorded a course on ProtoPie. For free! https://designcode.io/protopie-course
Meng To, from Design + Code, recorded a course on ProtoPie. For free! https://designcode.io/protopie-course
π€2π1
Medium
Crafting ProtoPieβs New Brand
How we embarked on a transformative journey to redefine who we are and aspire to be.
#news
Brand designer ProtoPie explains why and how they came up with the new logo
https://blog.protopie.io/crafting-protopies-new-brand-3498224d10b8
Brand designer ProtoPie explains why and how they came up with the new logo
https://blog.protopie.io/crafting-protopies-new-brand-3498224d10b8
π€2π1
#tutorial
A good tutorial on how to make a prototype of a sound level meter in ProtoPie
βοΈ Result
A good tutorial on how to make a prototype of a sound level meter in ProtoPie
Please open Telegram to view this post
VIEW IN TELEGRAM
ProtoPie Cloud
Noise meter | ProtoPie Cloud
A prototype of sound meter created using ProtoPie. It uses the sound sensor on your smartphone to pick up surrounding noise
π3
ProtoPie Cloud
Piano πΉ | ProtoPie Cloud
Toss a coin to your Prototyper https://www.buymeacoffee.com/anafemest
Contact with me:
[email protected]
https://t.iss.one/anafemest
Added autoplay melody - ost from the movie Requiem for a Dream, authored by Paul Oakenfold (because it's a simple melodyβ¦
Contact with me:
[email protected]
https://t.iss.one/anafemest
Added autoplay melody - ost from the movie Requiem for a Dream, authored by Paul Oakenfold (because it's a simple melodyβ¦
Here's a piano for you. πΉ
I don't know why, maybe you'll find something interesting there. I started it a long time ago, now.
βοΈ Piano
I don't know why, maybe you'll find something interesting there. I started it a long time ago, now.
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯3
ProtoPie Cloud
Full search case | ProtoPie Cloud
hire me:
[email protected]
t.iss.one/anafemest
[email protected]
t.iss.one/anafemest
I did a full search
Those. The author's name or book title can be entered partially or completely.
Of the minuses:
- Case-sensitive search (most likely this can solve this problem, but Iβm too lazy)
- It scales quite inconveniently. (you need to somehow optimize the transmission of long text from the component)
βοΈ Search case
Those. The author's name or book title can be entered partially or completely.
Of the minuses:
- Case-sensitive search (most likely this can solve this problem, but Iβm too lazy)
- It scales quite inconveniently. (you need to somehow optimize the transmission of long text from the component)
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯2π€―2
ProtoPie Cloud
Date&Time mask | ProtoPie Cloud
https://www.facebook.com/groups/ProtoPieUsers/permalink/2574469862671727/
hire me:
[email protected]
t.iss.one/anafemest
hire me:
[email protected]
t.iss.one/anafemest
It may be useful to someone. π€
Field for entering date with mask dd / mm / yyyy and time hh : mm
https://cloud.protopie.io/p/6f1ee25a0c
P.S. it also has a built-in check for months with less than 31 days and for leap years
P.S.S. But work on the UIX of these checks yourself =)
Field for entering date with mask dd / mm / yyyy and time hh : mm
https://cloud.protopie.io/p/6f1ee25a0c
P.S. it also has a built-in check for months with less than 31 days and for leap years
P.S.S. But work on the UIX of these checks yourself =)
π3
ProtoPie Cloud
Accordion List | ProtoPie Cloud
https://www.facebook.com/groups/ProtoPieUsers/permalink/2614116545373725/
hire me:
[email protected]
t.iss.one/anafemest
hire me:
[email protected]
t.iss.one/anafemest
I made a universal component for the "Accordion" type menu.
Itβs difficult to explain how it works, but I can explain how to use it =)
There can be any number of elements in the list, the main thing is to indicate to each element its id - what order it is in and the height to which it should open. The height of each block may be different.
P.S. It seems like I ran tests - I didnβt find any bugs, but if you find something, be sure to write))
P.P.S. In general, it seems to me that such an element is poorly suited for mobile interfaces, but I see it quite often, but the challenge for an elegant implementation turned out to be interesting.
βοΈ Example
Itβs difficult to explain how it works, but I can explain how to use it =)
There can be any number of elements in the list, the main thing is to indicate to each element its id - what order it is in and the height to which it should open. The height of each block may be different.
P.S. It seems like I ran tests - I didnβt find any bugs, but if you find something, be sure to write))
P.P.S. In general, it seems to me that such an element is poorly suited for mobile interfaces, but I see it quite often, but the challenge for an elegant implementation turned out to be interesting.
Please open Telegram to view this post
VIEW IN TELEGRAM
π3
ProtoPie Cloud
iOS Camera | ProtoPie Cloud
https://www.facebook.com/groups/ProtoPieUsers/permalink/2312552672196782/
https://www.facebook.com/groups/ProtoPieUsers/permalink/2238382729613777/
hire me:
[email protected]
t.iss.one/anafemest
https://www.facebook.com/groups/ProtoPieUsers/permalink/2238382729613777/
hire me:
[email protected]
t.iss.one/anafemest
#faq
I made a small demo of theπ· Camera application from an iPhone.
https://cloud.protopie.io/p/347867661f (itβs better to open from a device, in a browser itβs not much use)
Actually the very first question that everyone asks is
In this example, I cheated a little and used 2 camera components at the same time. One - simulates a video finder, the second with 0 transparency in the container where the gallery should be - will simulate a photograph taken.
For various Instagram-like applications, you can use one component. We simply stop the component and work with it as with a regular image. But the resulting image from the camera cannot yet be transferred to another scene.
There were also some bugs. It is better to scale the camera component using Factor as a percentage. If you scale across pixels, then when the camera component is needed again it will break the proportion of the resulting image.
I made a small demo of the
https://cloud.protopie.io/p/347867661f (itβs better to open from a device, in a browser itβs not much use)
Actually the very first question that everyone asks is
How to use the camera image?
In this example, I cheated a little and used 2 camera components at the same time. One - simulates a video finder, the second with 0 transparency in the container where the gallery should be - will simulate a photograph taken.
For various Instagram-like applications, you can use one component. We simply stop the component and work with it as with a regular image. But the resulting image from the camera cannot yet be transferred to another scene.
There were also some bugs. It is better to scale the camera component using Factor as a percentage. If you scale across pixels, then when the camera component is needed again it will break the proportion of the resulting image.
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯3
ProtoPie Cloud
On/Off component | ProtoPie Cloud
https://www.facebook.com/groups/ProtoPieUsers/permalink/2597716673680379/
hire me:
[email protected]
t.iss.one/anafemest
hire me:
[email protected]
t.iss.one/anafemest
#faq
A tired question, but it still comes up often...
A: For these purposes,βοΈ Send with the Current Scene parameter is used. The fact is that the βCurrent Sceneβ parameter means exactly the screen on which all the components are located. By transmitting a message to the current scene, that message can be heard both on the screen itself and in every component located on that screen. By understanding this concept, using components becomes much more enjoyable.
βοΈ Example with Checkboxes
βοΈ Example with counting likes
βοΈ Example with a switch
A tired question, but it still comes up often...
Q: How can I send a message from a component that will be heard by another component?
Q: How can I send a message to all components at once?
A: For these purposes,
Please open Telegram to view this post
VIEW IN TELEGRAM
π1π1
ProtoPie Cloud
TouchDown_with_scrolling | ProtoPie Cloud
https://www.facebook.com/groups/ProtoPieUsers/permalink/2776678899117488/
hire me:
[email protected]
t.iss.one/anafemest
hire me:
[email protected]
t.iss.one/anafemest
#faq
βοΈ https://cloud.protopie.io/p/823390a22a
Q: How can I make sure that when scrolling a list of elements, the Touch Down trigger on these elements does not fire?A: I usually create a safe timer in such cases to trigger the trigger. And I reset it when I start scrolling.
Please open Telegram to view this post
VIEW IN TELEGRAM
π€1π1
ProtoPie Cloud
Longtap and drag | ProtoPie Cloud
https://www.facebook.com/groups/ProtoPieUsers/permalink/2772845039500874/
hire me:
[email protected]
t.iss.one/anafemest
hire me:
[email protected]
t.iss.one/anafemest
#faq
A: After the long tap, you need to start tracking the coordinates of the press using the $touchX and $touchY variables. Then you can check whether the click coordinates fall within the required frames.
βοΈ https://cloud.protopie.io/p/8fece30fc2
Q: How can I track the action after a long tap without lifting my finger from the screen?
A: After the long tap, you need to start tracking the coordinates of the press using the $touchX and $touchY variables. Then you can check whether the click coordinates fall within the required frames.
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯1
ProtoPie Cloud
Sliders | ProtoPie Cloud
Toss a coin to your Prototyper https://www.buymeacoffee.com/anafemest
Contact with me:
[email protected]
https://t.iss.one/anafemest
https://dribbble.com/shots/10718626-Universal-ProtoPie-Slider-Component-Freebie
Custom slider component.
Features:
1. Youβ¦
Contact with me:
[email protected]
https://t.iss.one/anafemest
https://dribbble.com/shots/10718626-Universal-ProtoPie-Slider-Component-Freebie
Custom slider component.
Features:
1. Youβ¦
#component
I have a universal slider component. I pulled it out as a separate file and decided to share it with you =)
Features:
1. You can set the minimum value of the slider (min_value variable)
2. You can set the maximum value of the slider (max_value variable)
3. You can set the current value on the slider, displayed only when viewing. (current_value variable)
4. You can change the width of the slider, this will not break it in any way
5. You can set the value metric (metrics variable)
6. When you click on the slider, the value will be set to the place where the click was made
7. When you click on the upper right part of the container, the value is added, and when you click on the upper left part of the container, the value decreases.
you can like on dribble, I couldnβt figure out why =)
I have a universal slider component. I pulled it out as a separate file and decided to share it with you =)
Features:
1. You can set the minimum value of the slider (min_value variable)
2. You can set the maximum value of the slider (max_value variable)
3. You can set the current value on the slider, displayed only when viewing. (current_value variable)
4. You can change the width of the slider, this will not break it in any way
5. You can set the value metric (metrics variable)
6. When you click on the slider, the value will be set to the place where the click was made
7. When you click on the upper right part of the container, the value is added, and when you click on the upper left part of the container, the value decreases.
you can like on dribble, I couldnβt figure out why =)
π1
Music prototyping? Why not)
I took my piano https://t.iss.one/protopie_en/22
Added autoplay of the melody - an OST from the movie Requiem for a Dream, by Paul Oakenfold (because itβs a simple melody that can be played on one octave)
Autoplay works if you press the z button (in the browser) or do a double there on the purple part of the piano.
Prototyping music usingβοΈ Send and βοΈ Recieve for repeating parts is fun) And thanks to the latest update, you can set the speed of the melody by changing the overall Start Delay (in the prototype the speed variable)
I took my piano https://t.iss.one/protopie_en/22
Added autoplay of the melody - an OST from the movie Requiem for a Dream, by Paul Oakenfold (because itβs a simple melody that can be played on one octave)
Autoplay works if you press the z button (in the browser) or do a double there on the purple part of the piano.
Prototyping music using
Please open Telegram to view this post
VIEW IN TELEGRAM
π₯3
Medium
Software & Hardware Integrated Prototyping for Beginners
A step-by-step guide to getting started with Arduino & ProtoPie.
Tony Kim once again shows how to make friends with Arduino and ProtoPie.
If suddenly it turns out that you donβt have an Arduino at hand, then you can simply play the game using the keyboard (arrow keys and spacebar).
By the way, if the topic is interesting, you can also read his article 3 years ago.
What to do in quarantine if not collect your robots?)
If suddenly it turns out that you donβt have an Arduino at hand, then you can simply play the game using the keyboard (arrow keys and spacebar).
By the way, if the topic is interesting, you can also read his article 3 years ago.
What to do in quarantine if not collect your robots?)
π₯1
#faq
A: Move the Origin-point of the slider to the center of this circle, and use the Drag trigger to do Rotate. And Fill - with a mask.
A: Why do you need such a slider?
A: Well, if you need it, then itβs better to make the object that is being dragged invisible, and attach a visible one to it, but in a limited spectrum.
A: Well... I asked myself... Trigonometry. We need to find the angle by which to rotate the slider. We know the coordinates of the center of the circle and the point where we clicked. The easiest way is to use the tangent (the ratio of the opposite side to the adjacent one) and to obtain the angle - the arctangent (atan). Well, to convert radians to degrees we use the degrees function
Q: How to make a circular slider?
A: Move the Origin-point of the slider to the center of this circle, and use the Drag trigger to do Rotate. And Fill - with a mask.
Q: What if you need a semicircle slider?
A: Why do you need such a slider?
A: Well, if you need it, then itβs better to make the object that is being dragged invisible, and attach a visible one to it, but in a limited spectrum.
Q: How can I make sure that when I tap on a circular slider, it will be positioned at the point where I tapped?
A: Well... I asked myself... Trigonometry. We need to find the angle by which to rotate the slider. We know the coordinates of the center of the circle and the point where we clicked. The easiest way is to use the tangent (the ratio of the opposite side to the adjacent one) and to obtain the angle - the arctangent (atan). Well, to convert radians to degrees we use the degrees function
degrees(atan((Y1-$touchY)/(X1-$touchX)))
π1π€―1
I get asked questions about treading from time to time (at work, in chat, on social networks), so I decided to make a hashtag with answers to questions #faq
A: You need to use theβΉ Stop response.
>βΉ Stop can also interrupt other actions:
β’βοΈ Move
β’βοΈ Scale
β’π Rotate
β’βͺοΈ 3D Rotate
β’π Opacity
β’π Color
β’β»οΈ Reorder
β’π² Radius
β’π³ Border
β’βΊ Shadow
β’π§ Background Blur
β’βοΈ Scroll
β’π§βπ« Assign
β’βοΈ Text
However, in order to stop
πΌ Video, π΅ Audio, βοΈ Lottie playback, use the βΆοΈ Playback action with the Pause parameter.
Another seemingly exception is
π³ Vibration. To stop vibration, it must be associated with some object. For example, with a π Shape that βοΈ Move 10px to the right every second. Then, using the π― Detect trigger, we track changes in the X coordinate of the figure and perform π³ Vibration action. Well, to stop the π³ Vibration, it is enough to stop the movement of the figure with the βΉ Stop action.
βοΈ Example
Q: How can I interrupt a movement before it is completed?
A: You need to use the
>
β’
β’
β’
β’
β’
β’
β’
β’
β’
β’
β’
β’
β’
β’
However, in order to stop
Another seemingly exception is
Please open Telegram to view this post
VIEW IN TELEGRAM
ProtoPie Cloud
Stop response | ProtoPie Cloud
Donate: https://paypal.me/grebenshcikov
Problem: https://www.facebook.com/groups/ProtoPieUsers/permalink/2105002302951821/
https://t.iss.one/protopie_en
Hire me:
[email protected]
https://t.iss.one/anafemest
Problem: https://www.facebook.com/groups/ProtoPieUsers/permalink/2105002302951821/
https://t.iss.one/protopie_en
Hire me:
[email protected]
https://t.iss.one/anafemest
π3π1
#faq
A: Here you need to play with arithmetic and new functions for the formulas that were introduced in 3.10
β’ Theπ Media parameter
β’ Arithmetic of time. When dividing the seconds obtained from the
β’ You can use the format function to trim milliseconds:
π― Detectπ« πΌ Video 1 - Time
π π§βπ« Assignπ« π‘ time
β¬οΈ
β
β’ To get minutes - the integer part when dividing, we will use the
π― Detectπ« π‘ time
π π§βπ« Assignπ« π‘ min
β¬οΈ
β π‘
β’ To get seconds - the remainder of the division, we will use the arithmetic operation
π― Detectπ« π‘ time
π π§βπ« Assignπ« π‘ min
β¬οΈ
β¬οΈ
π π§βπ« Assignπ« π‘ sec
β¬οΈ
β
β’ Now it remains to display the data in the text fieldβοΈ Text1:
π― Detectπ« π‘ time
π π§βπ« Assignπ« π‘ min
β¬οΈ
β¬οΈ
π π§βπ« Assignπ« π‘ sec
β¬οΈ
β¬οΈ
π βοΈ Textπ« βοΈ Text1 - Formula
β¬οΈ
β
βοΈ Example
P.S. And to make it even more fun, you can make a mm:ss timer without using variables, and immediately
π― Detectπ« πΌ Video 1 - Time
π π§βπ« Assignπ« π‘ time
Q: How to make a video timer to display time in mm:ss format
A: Here you need to play with arithmetic and new functions for the formulas that were introduced in 3.10
β’ The
.currentTime
outputs data in seconds and milliseconds, ie. the value could be, for example, 123.75. If we translate manually into minutes and seconds, we get 2 minutes and 3 seconds. (and 0.75 seconds is simply not taken into account).β’ Arithmetic of time. When dividing the seconds obtained from the
.currentTime
parameter by 60 , the integer part will show how many minutes the media is playing, and the remainder of the division will show how many seconds in a particular minute.β’ You can use the format function to trim milliseconds:
format(Video.currentTime,"#")
Using the function in the example above, we will get the result 123 in the variableπ‘ time;
β’ To get minutes - the integer part when dividing, we will use the
floor
function, and to always get a two-digit number (for example, if we have only 2 minutes, then we need the variable to be equal to 02), we will use the lpad
function:lpad(floor(time/60),2,"0")
The main thing to remember is that the
min variable must be a string, not a number. Here, the lpad function adds the character "0" to the left of the result until the length becomes 2. In our case, it turns out min="02 "
β’ To get seconds - the remainder of the division, we will use the arithmetic operation
%
, and also add "0" on the left if necessary with the lpad
function ( sec is a string variable). Add calculation of seconds to the same trigger:lpad(floor(time/60),2,"0")
lpad(time%60,2,"0")
in our case it turns out sec = "03";
β’ Now it remains to display the data in the text field
lpad(floor(time/60),2,"0")
lpad(time%60,2,"0")
min + ":" + sec
We take the value ofπ‘ min variable, add a colon and the value ofπ‘ sec variable. It turns out 02:03 .
P.S. And to make it even more fun, you can make a mm:ss timer without using variables, and immediately
lpad(floor((format(`Video`.currentTime,"#"))/60),2,"0")+":"+lpad((format(`Video`.currentTime,"#"))%60,2,"0")
Please open Telegram to view this post
VIEW IN TELEGRAM
ProtoPie Cloud
MM:SS Video Timer | ProtoPie Cloud
https://www.facebook.com/groups/ProtoPieUsers/permalink/2115515805233804/
hire me:
[email protected]
t.iss.one/anafemest
hire me:
[email protected]
t.iss.one/anafemest
π₯3π€―1