First of all, we apologize for ending the competition.
We introduced the competition about three months ago, in hopes of making Sketchware more enjoyable for the users.
We observed some amazing outcomes from the users; the projects from the third competition were outstanding.
However, there were also many disappointments from the users.
There were countless numbers of fake applications and illegal applications submitted that made us frown.
Out of 3,000 to 4,000 submissions, only a handful amount of applications were actually qualified to be judged.
From these observations, we came to an unfortunate conclusion to close down the competition.
Thank you to those who participated, and we hope to provide you guys with better events in the future.
Tutorial Section
First of all, sorry for discontinuing the official Sketchware tutorial videos.
We didn't have enough manpower to continue creating the videos.
There are already so many awesome Sketchware tutorial videos being created by many users of Sketchware, and we thought it would be a win-win situation for the users to expose the tutorial videos to the newcomers.
Therefore, we have implemented a feature where the users can register their YouTube videos, along with the sample projects. This way, the content creators will have the opportunity to expose their videos to the newcomers.
We are hoping to expand this feature to share the ad revenue generated from the sample project download screen with the content creators in the future.
If you believe that your videos can help other users, please apply! You need at least one video to get started; however, we are going to limit the videos to 5, since too many videos could lead to violation of Google's TOS.
Collection Sharing
Many users were upset when the sharing projects section disappeared.
Although we can't re-implement the project sharing feature, we have implemented a feature where you can share collections.
For now, only widget collections are shareable. We tried our best to implement block collection sharing as well, but there are too many edge cases to handle.
In the next update, we hope to add a feature where the users will be able to save and share "MoreBlocks."
In addition, we are going to improve the functionalities of "MoreBlock" by making it possible to add resource files into the parameter of the blocks.
Many users wanted to monetize their creations when they distributed it to different channels, and we listened.
Using oAuth 2.0 to link your AdMob account, adding and testing AdMob in Sketchware projects are now easier than ever.
Publishing to Google Play Store
We felt that a way to distribute must be easier too. Users with Google Play Developer accounts will be able to connect their account to Sketchware, managing publishing and updating directly from Sketchware.
Add Source Directly Block
Due to a high demand for Add Source Directly (ASD) block, we decided to add it back in the upcoming update.
However, some conditions exist.
Like mentioned before in this post, there are too many risks that we have to handle for us to keep moving forward with ASD block on our plate.
ASD block should be only used for personal use, meaning Sketchware will not officially support it.
The user will be responsible for any compilation errors that happens due to using ASD block.
There could be compatibility issue for ASD blocks when Sketchware updates and adds new features, and we will not be responsible for it.
Also, ASD block will not be accessible in features like Template and Plugins in the future.
Ultimately, the responsibility of compilation error due to using ASD block solely lies on the creator who chooses to use it.
Support for Target SDK 26
Apps created on Sketchware will now have Target SDK 26, since Google Play will require that new apps target at least Android 8.0 (API level 26) from August 1, 2018, and that app updates target Android 8.0 from November 1, 2018. Read more here.
Minor change for enabling Firebase library
Support for Target SDK 26 affects Firebase, requiring AppCompat as a dependency. Thus, enabling Firebase library will also enable AppCompat library.
Runtime Permission Check Added
Using Sketchware, users can now create malicious applications abusing permissions like CAMERA, CALL, READ/WRITE EXTERNAL STORAGE. Therefore, any applications that use these permissions will now request user's permission when the app is opened.
Change In-App Purchase Item
Sketchware license will now be sold as a publisher subscription, which allows you to access to AdMob and publishing features of the app.
Replaced Tutorial with Docs
We are replacing the tutorials with Documentations. Sketchware is a growing community, and a lot of people have interest in contributing to its growth. If you are interested in contributing to the documentation, please visit our repo.
Hello, many people have questioned why Add Source Directly Block was removed in the newest update, Sketchware version 3.0.0.
Sketchware currently has a plan of implementing Android Archive Package (AAR) in the future updates, which will make creating your own block possible. This will not only let you create new blocks using our interface, but also allow you to use any Java libraries out there. For example, you would be able to create blocks that implements Physics Engine Library. It could open so many new doors for advanced users as well as the new users, but there is one problem.
Without removing add source directly block, we find this milestone to be very difficult to achieve. We need to ensure stability in the architecture of Sketchware for this functionality to be implemented, but add source directly block makes this impossible. So we are asking you guys a huge favor to remain patient until we bring AAR into Sketchware, and really help us bring back the beauty of block programming back to Sketchware.
Sketchware was designed for block programming.
Add Source Directly was first introduced as a feature, because code injection using String block was really popular in 2017. This was our mistake, and we want to apologize for making such a rash decision of adding the block.
The founders of Sketchware saw a problem in the complicated methods of app development, and hoped that WYSIWYG editor and Block programming could be the solution to that problem. In the early stages of Sketchware, it was really mindblowing to see what the users came up with, using the blocks.
However, looking at the projects in the shared projects category today, even the founders have no idea how the project works, and felt like the beauty of block programming was lost. More than 90% of the shared projects include an add source directly block that the viewers have no idea of how it works.
For those who are active in Slack will know that the users who ask questions often run into a compilation problem that they do not know how to solve because of merely copying and pasting.
Ultimately, if you are dependent on Add Source Directly block, you are misusing Sketchware.
Here are some questions and feedback we received, and here are our replies.
Q: Why did you remove ASD? It's more comfortable and faster to do it in the block-style way, because it has a highest level abstraction than typically coding in Java.
A: Yes, that’s what AAR is exactly going to do. Are we taking away the ability to put your own Java code in Sketchware? At the moment, yes, but in the big picture? We are not. AAR will make it possible to make programming in Sketchware even more abstract, because you will be able create your own blocks using actual Java code rather than using Java code itself.
Q: I like programming in Sketchware because it's really annoying to type all java syntax as usually on PC.
A: That’s what we’re attacking at the moment, because ASD block is not the right way to do this! As you’ve noticed, ASD block doesn’t even provide syntax highlighting. Most importantly, it doesn't ensure compilation and safety on runtime.
Q: We could come up with removing ASD in case there will be more ways to make an apps more customizable.
A: Does ASD block let you add new permissions and external libraries outside of Sketchware, such as AdMob, Glide, FlexBoxLayout, and more? Nope. Does it let you add new permissions in the manifest? Nope. Is it really easy to create widgets with ASD blocks and aimlessly add views, thus causing infinitely more time debugging and programming? Yes. From these points, is ASD block really the right interface to make Sketchware applications more customizable? Nope.
Q: Don't remove ASD and respect and appreciate your users.
A: Are we disrespecting and not appreciating our users? Nonsense. Sketchware is useless without growing users, and we appreciate them. Why are we thinking about replacing ASD blocks in the first place if ASD block is all mighty and can create all kinds of applications? Would we really take out a feature that EVERYONE is using? No. The truth is, everyone is not using ASD blocks, and it’s one of the primary reasons why users are leaving Sketchware. You, first need to respect and appreciate other users before asking us to do something that we’re already doing.
Q: You are supposed to add manifest editing and adding libraries and add java files editing possibilities too. but you are taking back your some good part too rather than giving some extra.
Thank you for supporting my point. ASD block won’t cut it.
What we’re going to provide down the road is AAR, which will solve the problems above and create a symbiotic environment users where advanced users can create, use, and provide a WYSIWYG-styled widget and block coding interface for the mass. Everybody benefits. Hope this explains why the removal was necessary. Please support us in our decision and future goals.
This was probably a big feature that everyone was waiting for. Although Sketchware is really easy to use with the drag and dropping functionality, one wrong drag and drop could really hurt you if you forgot to save.
Also, an accidental deletion of widgets and blocks often happened.
So we introduce to you, redo and undo functionality for both widgets and blocks.
Save Frequently used Widgets and Blocks
When we were creating more complicated projects, we often found the need to re-create the same screens again. For example, a project that requires Firebase Auth would need a login page. Because these are often follow the same styling rules, we wanted to save the hassle of re-creating similar widgets over and over again.
Now, you will be able to save a custom widget that you can recycle all across the projects. For example, if I created a like button that I want to re-use, I would click on the save button on the property tab to save the widget.
Saving Widget
Saved Widget
Blocks work similarly:
Saving Blocks
Saved Blocks
Property Tab
We've completely renovated the property tab, such that you will save yourself a click by editing on the spot. For new users, we thought learning new property was a high learning curve, so we made it more user-friendly. From this tab, you will be able to change properties and access the associated events as well.
Separation of Event and Component tabs
Whenever working on large projects, we found the user interface to be very clustered and complex. In version 2.x, the events and the components were placed in the same tab even though they hade very different functionalities.
In this version, we decided to separate these two topics separately to make development experience less clustered.
In addition, we've categorized events into 5 different types of events: Activity, View, Component, Drawer, and MoreBlock.
My Collection
Just like widgets and blocks, you probably find yourself reusing the same assets over and over--such as images, sounds, fonts, etc. We wanted to apply the same principle to the assets. Now, you will have a "Collection" box where you can save frequently used assets, as well as widgets and blocks. These are shared assets that you can access from all the projects.
Right Drawer
We tried our best to remove unnecessary context menus and popups to make user experience as smooth as possible. You will notice small animations here and there. By using a right drawer, it will give us more options to put new functionalities in there.
Ability to Edit Resource Files
You can now edit existing resource files, such as images, fonts, and sounds to different files without having to erase them and reimport them. This feature will be very useful if you have a boilerplate for other projects.
Bulk Image Import
Now, you can import images in a bulk without having to import one by one. The imported images will follow a naming principle you assign them. For example, if you import two images and name the bulk abcd, the images will be named abcd_1 and abcd_2.
Language Settings / Sharing Platform
We have users from all across the world, so we wanted to create a space where users can share their translated strings.xml file.
Here, users will be able to share, download, and apply different language files onto Sketchware. If you speak more than one language, please help Sketchware become localized in different countries!
New Components
Camera, Firebase Storage, and File components will be added.
... And more!
There are more to cover, and not enough space, so here is a few screenshot from the new version. Hope you enjoy them!
Deprecated - Add Source Directly Block
Add Source Directly won't be available anymore starting this update. Existing projects with add source directly blocks will still compile, but you won't be able to add new add source directly blocks. You guys may find this very saddening, but please try to see this issue from our perspective.
Sketchware was designed for block programming.
The founders of Sketchware saw a problem in the complicated methods of app development, and hoped that WYSIWYG editor and Block programming could be the solution to that problem. In the early stages of Sketchware, it was really mindblowing to see what the users came up with, using the blocks.
However, looking at the projects in the shared projects category today, even the founders have no idea how the project works, and felt like the beauty of block programming was lost. More than 90% of the shared projects include an add source directly block that the viewers have no idea of how it works.
For those who are active in Slack will know that the users who ask questions often run into a compilation problem that they do not know how to solve because of merely copying and pasting.
We want to make Sketchware more scalable.
Sketchware currently has a plan of implementing Android Archive Package (AAR) in the future updates, which will make creating your own block possible. This will not only let you create new blocks using our interface, but also allow you to use any Java libraries out there. For example, you would be able to create blocks that implements Physics Engine Library. It could open so many new doors for advanced users as well as the new users, but there is one problem.
Without removing add source directly block, we find this milestone to be very difficult to achieve. We need to ensure stability in the architecture of Sketchware for this functionality to be implemented, but add source directly block makes this impossible. So we are asking you guys a huge favor to remain patient until we bring AAR into Sketchware, and really help us bring back the beauty of block programming back to Sketchware.
Tutorial Tab Under Construction
Tutorials will be temporarily closed for maintenance. We found the tutorials to be very tedious, because the user doesn't have the ability to fast forward, preview, or review. We are hoping to make the tutorials really "step-by-step" this time, allowing users to learn visually from observings the actions rather than performing each actions by themselves.
That's it! We are hoping to release the update really soon. Thank you for reading this long update log. :-)