Jump to content

Recommended Posts

  • 2 months later...

I too would love to see a roadmap plan for the next 12 months. The efforts have been going into special projects that not many people will probably have a use for and the bread-and-butter has been left at a usable but not great state. For example, the IDE could do with love. The fact that the visual components don't surface basics like font size/colour etc and requires work arounds and non-intuitive knowledge suggests low hanging fruit for improvements. The ide has lots of bugs and irritating issues. for example events on buttons will often be reoved or doubled up. e.g., OnSubmitClick for button can be set once but if double click on it again often it breaks.

Would the team consider open sourcing the IDE? Or maybe looking at a completly different model. I am invested in using SMS but I did so in the hope of meaningful improvements. Jarto I believe you are only active owner and I really appreciate your efforts but you are one person and this project could be so much more with greater input from more people.


Link to post
Share on other sites
  • Moderators

I agree. I would like to see more openness around the whole of the product.

A development roadmap for sure, the success of a product depends on whether it evolves in line with the needs of its users.

But I would also love to see the company's marketing and and long-term positioning, a bit of a vision of the current owners.

Link to post
Share on other sites
  • Administrators

Well, I believe that open sourcing is not a silver bullet that will magically bring new resources to the project. If there are people who are interested in participating, I'll be more than happy to actually offer them contract work.

Before I joined this project, SMS was in an eternal "coming soon" -stage. A new update was just around the corner but days turned into weeks and weeks to months and years. I didn't like that as a customer. So when I've been running this development, I've not wanted to make promises that I can't keep. Before this my family owned and ran a very succesfull software company that developed the best and most used School Administration software in Finland. We did constant development making new features. We used constant evolution. I've been doing that same thing with Smart Mobile Studio and we really have seen a lot of development and improvements. And we will see constant and good development in the future too.

When it comes to a roadmap, I've noticed that I'm really bad at making one. A software project is a moving target. A lot of features are being worked on. In the end, it's not clear when a feature will be finished and delivered. That's because priorities do change and sometimes (for example the new Grid) technology throws us a hard challenge that takes a very long time to solve.

At the moment our top priorities are:

  • Improve documentation, tutorials, demos.
  • Update internal browser to a newer version of Chromium.
  • Upgrade compiler to use a newer version of DWScript.
  • Improve IDE (Designer, Wizards)

On top of that we keep a keen eye on the needs and requests of our users and add new features/components to the RTL based on that.

@Czar Thanks for the tip about the events related bug in the IDE. I was able to reproduce it. There are restrictions on what the IDE can do at the moment. And some restrictions actually depend on what's the best way of developing for the browser. For example, it's a lot better to have fonts and font sizes in CSS instead of setting them in the Object Inspector.

@IElite Let me know what you want to see regarding mobile devices.

Link to post
Share on other sites
  • 2 weeks later...


Client  \ Server

A.) Example: Working with files? 

1.) SMS Program uses a file of data  (JSON) that is deployed with the program. But wants to update it if there is a newer version on the server.

2.) Client requests value from the file on the server / Client modifies the value on the server, 

B.) Example: CRUD on a Database? MongoDB?

1.) The client retrieves rows from Database
2.) Client Inserts a row in the database
3.) Client Edits row in the database
4.) Client Deletes row in the database


showing the example request (GET, POST, etc) calls from Client and the Server receiving, acting upon, and responding to these calls

Link to post
Share on other sites
  • Administrators

@IElite What you're asking for depends a lot on the design of your app and the server api. If you write both, then you yourself get to design how the server and the mobile app talk to each other.

A1. Your app makes a https get to your server to retrieve the latest JSON data. To see an example, have a look at how the StringGrid demo reads a local file. The difference between reading data from local or a remote address depends only on the url used. To make this very smooth, you can do this:

  1. App starts
  2. Make the https get to the remote server
  3. Make a call with TW3Dispatch with a 2 second delay to read the local json
  4. When you start receiving data from the remote server, cancel the local read (set a boolean or something)
  5. Which ever get-command received data, update the GUI based on the data

A2. Requesting a value from the server is a simple GET to your server software. You decide what the parameters are that the server needs to identify what data you're requesting. Modifying is a POST command. Again, you decide the parameters. Make sure to verify the parameters so that you're not creating a security hole.

B. I'd do this so that your server app is the only one that talks to the database. You just create a simple API for the discussion between your mobile app and the server. So in the end it's basically just your mobile app doing get- and post-calls.


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...