ForeUI is an easy-to-use UI prototyping tool, designed to create mockup / wireframe / prototypes for any application or website you have in mind.

ForeUI Blog

Enjoy the New Website!

Dear friends, we are happy to announce that today our new website is online!

The new website is created with WordPress, which makes the management of website content much easier, and provides better experience. What’s more, we also upgraded the server hardware (increase memory and use SSD), and now it is really faster! We hope you will enjoy it.


Meanwhile we also created a new video to introduce ForeUI, and we hope this video can help new visitors to have a quick idea of what ForeUI could do and how good result it could achieve. The video is now embedded in the home page:

We will add some new tutorials and examples to the web site very soon, so please stay tuned :-)

Happy Easter! V3.70 is Released Today

Happy Easter! We hope you enjoy your Easter holiday. Today we are pleased to announce the release of ForeUI V3.70.

New Action to Call Javascript Code

You may want to integrate your ForeUI simulation with existing application, which may need to call Javascript function in your simulation. Although there are some workarounds to achieve this in previous versions, they are kind of hacking and doesn’t look good. Now we have a new action named “Call Javascript Snippet”, which allows you to write any Javascript code you want to be called, thus you can call any existing Javascript function in it.

Screen Shot 2014-04-21 at 11.32.49 AM

Remarks: just like the “Javascript Code” element, this new action is prepared for advanced users. You should know what you are doing when using it, calling incorrect Javascript may bring strange behavior to your HTML5 simulation, and sometimes even halts the entire simulation.

New Actions to Change Background for Basic Shapes

Now we have a new action for those “basic shape” elements to change their background color and opacity on the fly. Previously only the TextBox element supports the “Change Backround Color” and “Change Opacity” actions, now the Rectangle, Ellipse, Triangle and Polygon elements all support these two actions.

ChangeOpacityNo Need to Escape the Quotation Marks in Expression

There was an annoying issue when you use quotation marks in the expression: you simulation may not work if you didn’t escape the quotation marks (you can read this, this and this for more details). Now the problem has been solved and you don’t need to put something like “”good”” in your expression any more. If you have escaped quotation marks in your existing plot files, no worry and they will still work as they did.no_escape_quote

Other Changes

There are other enhancements and bug fixings in this version. Please read the list of all changes here.

ForeUI V3.60 is Released

ForeUI V3.60 is now released. This version brings you the official support of multi-threading simulation, new action for string processing and new option to show/hide non-current pages in the online view. Please read the details below:

Multi-Threading Simulation

You may already know that Javascript runs in single thread. If you write Javascript manually, you will pay extra efforts to simulate multi-threading. When your scenario becomes complicated, simulating parallel tasks will become more and more difficult, and sometimes even not doable. Before V3.60, we could use this workaround to simulate the multi-threading. Now we have the official solution: the new “Parallel Branching” flow control allows you to run multiple tasks parallelly.

Here is a video that demonstrate an HTML5 animation that uses this new feature. You may also run it on your own browser.

Text String Processing

When you store the custom property as string type, it will be converted to string variable during the simulation. So you can always use the Javascript built-in functions for string processing. However, not everyone is familiar with Javascript APIs, and some ForeUI users are not programers. An easier way for string processing will be very useful, so here it comes.

The new “Grab Value from Property” action provides what you want. You simply specify an property as input string, which could be a custom property, element property or system property; then you choose whether to trim the white characters and/or tags, and maybe specify the range of position so you just grab part of the string, finally save what you get in a custom property for future usage.

Instead of grabbing the content from input string, you can also take the length of content, just choose “Length of Content” from the “Grab Value” drop-down list.

This new action will be very useful for processing the result of “Get JSON Object” and “Get Remote Content” actions, since the data returned from Internet may contain white characters and tags, and you may want to check if it really contains what you want.

Show/Hide Non-Current Pages in Outline View

Outline view can show you what elements are stored in every page. However if your plot is complex, you may want to show only the current page content in the outline view. This could be achieved by turning on the new option on the bottom of the outline view:

Other Changes

In V3.60, we make a lot of efforts to optimize the performance of Table element (in simulation). We are happy to announce that we have accelerated the action for appending/inserting/deleting table row, and the speed to perform the same operation is increased for more than 500%! What’s more, selecting row/column/cell within the Table is also speed up for 300%+! So the Table in the HTML5 simulation is much more responsive now.

We also fixed some bugs in this update, please check out the update history for more details.

Christmas and New Year Special Offer: Save 20%

Dear friends, Christmas and New Year is coming.  We wish you a merry Christmas and happy New Year!

During the last few days in year 2013, we offer 20% discount for every one who are interested in purchasing ForeUI.  You can click here for more details.

Meanwhile we start to enter the “lite” working mode.  We still check emails and forum, so feel free to contact us if you have anything.

ForeUI V3.50: Many Useful New Features

ForeUI V3.50 is released today.  This version brings us a lot of new features.

Run Simulation on Touch Screen Device

One of the most interesting new feature is to get much better experience on running ForeUI simulation on touch screen device.

It is now possible to switch page by sliding the touch screen, which makes the simulation looks cool and is easier to play with when running on a touch screen device (smart phone, tablet, touch screen laptop etc.).  The tapping on touch screen could also be converted to normal mouse clicking.  To enable these features, you need to turn on two new options in settings window:

We also make some enhancements to make sure all elements could work well on touch screen device.  The video below shows how good it could be:

Embed Raw HTML/CSS/Javascript Code into Simulation

Since this version, ForeUI supports 3 new, special elements: Html, Css and Script.  They are special because they are not visible in HTML5 simulation, instead they insert their content (raw HTML, CSS or Javascript code) into the simulation.

That will be very cool as you could define and call your own Javascript function in ForeUI simulation, override some elements’ look by embedding a CSS block, or add new HTML content into ForeUI simulation.  These new elements give you the flexibility to do almost anything you want.  However please keep in mind that, embedding incorrect raw code may cause unexpected result in your simulation.  So please don’t use it until you think you have to, and you know how to do it correctly.

New “Get Remote Content” Action (Cross Domain)

ForeUI supports the “Get JSON Object” action since 3.0 version, which allows your simulation to retrieve data from remote server.  We have a blog post to introduce how to use it.  That action uses JSON-P technology to cross domain (work around “The Same Origin Policy“).  The limitation is that, the remote server need to provide the JSON-P API, which is not so common.  You will have to implement the JSONP API if you could not find one on the internet.

That’s why we introduce the new “Get Remote Content” action.  It actually uses YQL proxy to retrieve data from remote sever, and it doesn’t require the remote server to support JSONP API.  So this action could be used in much more scenarios.  The only limitation is that, it relays on YQL proxy server provided by Yahoo, so it could not work if YQL proxy is down.

New “Page Scrolled” and “Content Scrolled” Events

Now it is possible to define behavior for scrolling events.  “Page Scrolled” is a new event for page, which will be triggered when the page is scrolled.  “Content Scrolled” is a new event for the ScrollableContainer element, which will be triggered when the content of the ScrollableContainer is scrolled.

If you wish to know how many pixels are actually scrolled, you could get the “scrollLeft” and “scrollTop”values in the CURRENT_EVENT system property.

The CURRENT_EVENT a new system property, which is an object type property, and represents the current event that being handled.  This property may give you some useful information about the current processing event.  For example, the “scrollLeft” and “scrollTop” values means the number of pixels that actually scrolled horizontally and vertically.

Fixed Bugs

  • Bug_0432: If table is wider than its preferred size, each editing will reduce its actual width.
  • Bug_0433: The toolbar for table editor may not be display if the table is close to the top border.
  • Bug_0434: Open plot that has page behavior, with behavior filter turned on, the page behavior is not listed by default.
  • Bug_0435: Behavior entities may be hidden, after adding event or action in behavior editor.