Showing posts sorted by relevance for query dialog designer. Sort by date Show all posts
Showing posts sorted by relevance for query dialog designer. Sort by date Show all posts

Tuesday, July 31, 2007

Magik Dialog Designer now available

Some time ago I posted about the Magik Dialog Designer and that it would be made freely available soon. Well I am happy to say that that day has come (actually was a couple of weeks ago) and it is now available on the Magik Components SourceForge page. Thank you to Graham Garlick for putting together such a useful tool!

This tool essentially lets you create GUIs in SWAF using drag-and-drop and then creates all the relevant Magik code (including module structures and XML files) to include that GUI in your product. It also stubs out any of the action methods associated with buttons.

For now you will have to browse the Magik Components source code tree yourself and find the module. You can follow the CVS connection instructions to setup CVS on your machine to check out the latest Magik Components code. If you are not interested in installing CVS you could e-mail Graham at graham [at] ifactorconsulting [dot] com and ask him for the Dialog Designer zip file. Tell him Alfred sent you :)

(The module should eventually make its way into the Download Magik Components section.)

Since our time together at Navigant/Smallworld/GE, I have always been a fan of Graham and his creative innovations with Magik. In my opinion, this Magik Dialog Designer is one of his greatest Magik achievements. Although his Raster Calculator was pretty cool too. But I ramble on... so please go download the Dialog Designer yourself and have fun.

Tuesday, May 1, 2007

Magik Dialog Designer

Under the heading of “cool and useful Magik stuff”…


I recently had the opportunity to meet with a friend of mine who showed me his latest creation -- Dialog Designer



It is a tool that allows you to graphically layout your new Magik GUI with many of the commonly-used widgets, menubar, statusbar, and docks. Once you have layed out the GUI graphically and applied appropriate properties to the components, the Dialog Designer will stub out all the required Magik files, classes, methods, shared constants and XML config/gui files and place them in a new module directory structure.


While it will not write the Magik behaviour behind the widgets – you still need to write Magik code that does something when the button is clicked – it goes a very long way to building your :build_gui() method for you. And the nice thing is that tricky tasks like resizing rowcols or other widgets is now done automatically for you.


As a long-time Magik developer, I have never been too excited about GUI design because it can be a bit complicated (and time consuming) in Magik. Using the Dialog Designer will make the GUI design considerably easier and definitely save you a number of hours per GUI in development time.


The company that my friend works for has said that they will release the Dialog Designer to the SourceForge MagikComponents community. Until they have done that, I will keep the name of the developer and his company to myself. Stay tuned for a press release from them (hopefully soon) announcing the availability of this very cool and useful tool for Magik developers.

Tuesday, March 15, 2011

Dialog Designer now has a forum

Graham's excellent Dialog Designer now has an online forum. You can join here.

If you are not familiar with Dialog Designer, you should try it out. It is a very slick tool that lets you build GUIs in Magik with a drag-and-drop interface. All the difficult GUI generation code is stubbed out for you and you can focus on building the engine/database behavior.

You can read sworldwatch blog posts about Dialog Designer here.

And it is open-sourced by iFactor Consulting so you have free access to the product! You can read more on the product page here.

Tuesday, October 23, 2007

Dialog Designer v1.3 available

Graham Garlick's latest update to Dialog Designer is now available as v1.3. You can find it on the Magik Components SourceForge project. Based on the dates of the releases, v1.3 is not yet in the packaged mclib release. But if you have a CVS connection to SourceForge you can update your source tree with his latest code. You can also visit iFactor Consulting's web site to download the code here.

This version has the following additional features
  • added style selection widget (place a gui element for selecting a style)
  • removed dependency on the path_select plugin
  • added file/directory selection widget (place a button that launches the file/directory selection dialog)
  • added plugin widget (embed an action from some other plugin or an entire other plugin)
  • added auto-generation of supplementary gui/framework & plugin files so developers can expand/customize produced GUI functionality in a place that the Dialog Designer won’t overwrite if the GUI layout is tweaked and re-built.
  • added FAQ section to the main documentation
  • de_de messages updated
  • fr_ca messages created

Saturday, January 2, 2010

Dialog Designer 2.0 now available

For some time I have been posting an update each time a new version of Dialog Designer has been released. Version 2.0 has now been released. You can find the announcement at the iFactor Consulting blog. From now on, if you want to be notified of Dialog Designer updates, please read or subscribe to the iFactor Consulting blog.

Happy New Year!

Friday, September 14, 2012

@iFactor Consulting Presents Money-Saving Solutions at #SWUC

This blog post's title "iFactor Consulting Presents Money-Saving Solutions at #SWUC" was meant to give the post an air of respectability. In reality, it should have been titled...

 When You Leave Two Magik Hacks In Charge of the @ifactor #swuc Booth, This is What You Get

The GE Energy Americas Smart Grid Software Summit (formerly known as Smallworld Americas User Conference) is starting on Monday and I wanted to write a bit about what my company (iFactor Consulting) will be doing there. Graham Garlick and I will be staffing the booth with a cameo appearance by Brad Sileo.

Come see us at the booth and talk to us about all your Smart Grid questions. We might even be able to talk about Smallworld while we are at it :)

Here are some of the cool things we want to share with you...

Dialog Designer (DD)
Dialog Designer is the best Magik GUI design tool in the world! No one, not even GE, offers a tool like this that allows you to create SWAF-based GUIs with drag-n-drop ease. Each year Graham Garlick adds new functionality and language support so if you have not seen the product recently, please ask for a demo and we can show you the latest and greatest. And did I mention that it's free, courtesy of iFactor Consulting?

You can find out more about Dialog Designer here. You can even download your free copy from that site.

Vector Rubber Sheeter (VRS)
When you are ready to conflate your data to match a more accurate landbase (see WMC below), you will need to start some kind of data conflation program. Come talk to Graham about how VRS can automate some of the tedious control point creation tasks you have to do using your current conflation tool. With VRS, your conflation work flow is also improved with support for merging conflated data in different alternatives. Graham's the man to see about your data conflation needs.

You can find out more about VRS here.

Version Viewer (VV)
If you are a Smallworld administrator or super user, you will often need to know what is different between alternatives and then based on that you might want to copy data between alternatives. Version Viewer (VV) is a great graphical tool that every Smallworld super user should have in her toolkit to take full advantage of Smallworld's powerful core difference stream functionality.

Use Version Viewer to:
  • find out exactly what database changes your batch scripts are making
  • review work done by users in an alternative
  • recover "lost" data that has been deleted in an alternative but still exists behind an older alternative or checkpoint.
You can find out more about Version Viewer here

Google Charts API Magik client
The Google Charts API is a rich web-based API that allows you to create professional-looking charts, tables and other visualizations. With our Google Charts API Magik product, you can now embed those charts directly in a Magik canvas. But this is not just a simple image copy/paste. These charts in Magik also have hotspots enabled that allow a user to click on the various chart components and drill down to other detailed charts. It is some very cool Magik and you should take the time to see it at our booth this year.

Web Maps Connector (WMC)
WMC presents web-based tile and static maps as graphics layers in Smallworld. Our list of supported formats and functionality is growing every year.
  • World Wide
    • Bing Maps
    • Google Maps
    • OpenStreetMap Mapnik rendered tiles
    • MapQuest Open data
    • WeatherBug Lightning Strikes
    • ESRI ArcGIS Data Appliance
      • if your organization has an ArcGIS Data Appliance server within the firewall, we can configure WMC to let you view that data in a Smallworld client.
  • South Korea
    • Naver Maps
  • Thailand
    • Longdo Maps
  • Japan
    • NTT Geospace Imagery and Road Tile
  • USA
    • Digital Map Products showing lot parcel data nation-wide
    • WeatherBug Doppler Radar with 3 hour history
We also recently embedded Google Street View in Smallworld to give users that view of the world. Come see a demo of this new functionality.

We have customers that use the aerial/satellite imagery to digitize buildings and other facilities into their database.
We have customers that have permanently turned off their legacy landbase datasets and are using WMC exclusively to provide their land basemap.
WMC is product-agnostic and works equally well in PowerOn, PNI, Electric/Gas Office and all manner of custom CST environments.

Let WMC get you out of the landbase maintenance business and let you focus on your company's core business.

You can find out more about Web Maps Connector here.

Linking Smallworld With a True "Killer App"
At this conference you will likely see more than a few applications that show Smallworld maps on mobile devices. I think that is very cool. But what we would like to show you is how you can integrate your Smallworld data and processes with two of the all-time killer apps already out there: voice and SMS. It doesn't sound nearly as exciting as mobile apps, but when you have finished our interactive demo, you will see these true "killer apps" in a new light.

Scenario#1. Your field technician wants to attach a picture or a voice recording to an existing work order or service point in Smallworld, we can show you how he can do it without having any special software on his phone. And the image and voice attachments are available to the back-office Smallworld users within seconds of the technician sending them from the field. All without any complex configurations on your part.

Scenario#2. You have a storm situation and many out-of-state crews have arrived to help you restore power. You cannot deploy mobile data terminals to these crews but still want some type of automated tracking of crew statuses. See our demo for how you can use some paper and SMS/Voice-based technologies coupled with Smallworld applications to get the visiting crews hooked into your automated work flow with minimal cost.

Scenario#3. Your utility hasn't introduced automated meter reading yet and you are looking for a way to reduce meter reading costs. See our demo that shows how you can engage your customers using SMS text messages and have them assist you with some of the meter reads. Bring your phone with you and be part of the SMS/Voice demo.

HTML Rendering and JavaScript Support in Magik
Magik does not support HTML rendering or JavaScript support... but iFactor does! Based on some crazy skunk works R&D we are doing at iFactor Consulting, we can now show you an early release of our yet-to-be-named HTML rendering and JavaScript engine framework for Magik. Many years from now you can tell your children that you saw it here first!

FME Server Lite
I put this in here to see if the FME folks would read this far in the article :) There is no FME Server Lite. But I have been starting to dabble with node.js and various queuing technologies and it seems to me that it could be coupled with an existing FME Desktop session to give you a kind of poor man's FME Server. Come by to talk about new technologies and how you can use them to improve your Smallworld experience.

OK, now that I've written this post, I realize we have a ton of stuff to show you. So come early to get the best seats. And if you spend the entire day at our booth, that's OK.

Remember to tag your conference-related tweets with #swuc. I think Mark at FCSI might be offering some incentives for the person with the most #swuc tweets. I'm thinking we can exceed the 10+ tweets that were generated at last year's conference :)

Monday, October 19, 2009

Version Viewer

My colleague Graham Garlick has been working on a very cool Version Viewer application. It is essentially a GUI that allows you to view/compare two different versions of a dataset. It lets you compare geometries and attributes and determine what has changed between the two versions. Imagine Smallworld's conflict detector's Affected Objects Lister but the Version Viewer is easy for you to use in non-conflict situations.

What could you use the Version Viewer for?
- recovering attributes/records from data that is available in an older view
- analysing your data BEFORE a merge/post. You could build this into a pre-emptive conflict avoidance process
- selective merge/post by attribute
- data quality checks to see the who/what/when of changes in your data. Very helpful for investigating the inevitable question: "How/why did that data get changed and in what context were the changes made".

Graham also is responsible for the Dialog Designer. He used the Dialog Designer to build the complex Version Viewer GUI. As part of the Version Viewer demo, he can show you how you can dynamically change the GUI layout of that application using Dialog Designer.\

Please come by the iFactor Consulting booth at the conference and ask for a demo by Graham. If you are not able to make it to the booth, sent me a note at the contact information on the blog sidebar and I can arrange a demo.

Wednesday, February 6, 2008

Dialog Designer v1.5 now available

Graham Garlick over at iFactor Consulting has uploaded v1.5 of the open source Dialog Designer. You can get the latest version from the SourceForge Magik Components community or from a zip file at iFactor Consulting.

Here are the release notes:
  • updated Documentation file.
  • fixed issue with hanging plugin action selection gui when a raster image was missing in CORE.
  • fixed issue with non-refresh of Magik/XML code when first going to the Magik/XML tab
  • added input mechanism to add extra slots to dialog Base Class
  • added input mechanism for setting pragma statement code settings
  • added input mechanism for adding additional slots to the base gui class
  • added input mechanism for setting the package for the dialog
  • es_es language edited (thank you Alejandro CaƱas [alexcaas at gmail dot com])
  • added unit_text_item widget
  • fixed :select_directory (open_file_dir widget) incompatibility with SW4.
  • fixed internationalization issue with the :top_dock,:bottom_dock (etc.) messages
  • added date_time_input widget

Friday, October 23, 2009

Dialog Designer 1.9.5 now available

Graham Garlick at iFactor Consulting has uploaded v1.9.5 of the open source Dialog Designer. You can get the latest version by browsing to http://www.ifactorconsulting.com and clicking on the "Download Version 1.9.5 Now..." link.



Here are the release notes for 1.9.5:
- create additions/changes sub-source directories for core code modifications
- bug fix (statusbar progress indicator element XML generation/parsing)
- exposed :allow_filtering? attribute for a tabular_list
- fixed statusbar rendering of multiple springy panes
- fixed window_pane rendering

I did not do a post for 1.9 so here are those release notes as well:
- added messages tab (define messages to support user-written code)
- fix issue where module.def 'requires' section was not updating
- various bug fixes, all minor.
- added recordset_gui_component widget
- added numeric input widget
- added 6th example dialog to the Help Document

If you have not used this tool, I would highly recommend it. You can create your GUIs without using this tool, but there are so many parameters to be aware of. Using this tool essentially allows you to incorporate known (and sometimes unknown) tips, tricks, workarounds and best practices from one of the best Magik coders around and put it into your own application.

Tuesday, November 11, 2008

Dialog Designer v1.8 now available

Graham Garlick over at iFactor Consulting has uploaded v1.8 of the open source Dialog Designer. You can get the latest version from the SourceForge Magik Components community or from a zip file at iFactor Consulting.

Here are the release notes:
  • autosave a copy of current XML dialog description to the generated module.
  • dt_dt language added (thank you Frank Wolff @ GE)
  • added button to refresh of icon list, to capture newly loaded modules
  • expose the double_click_notifier attribute for tabular_list and tree_list

Friday, December 14, 2007

Dialog Designer v1.4 available

Graham Garlick's latest update to Dialog Designer is now available as v1.4. You can visit iFactor Consulting's web site to download the code here.

This version has the following additional features
  • bug fixes (tabular_list, element_editor, tree_list)
  • modified button_item icons/cursor
  • fr_ca language added (internet translation ... corrections likely)
  • es_es language added (internet translation ... corrections likely)
  • pt_pt language added (internet translation ... corrections likely)
  • ko_kr language added (thank you Heewook Park [heewook.park@ge.com] )

Friday, May 16, 2008

Dialog Designer v1.6 now available

Graham Garlick over at iFactor Consulting has uploaded v1.6 of the open source Dialog Designer. You can get the latest version from the SourceForge Magik Components community or from a zip file at iFactor Consulting.

Here are the release notes:
  • added outlookbar widget
  • support progress_bar pane type in statusbar
  • support dropdown image button groups within a toolbar
  • click on rendered menubar or statusbar to jump to its editing tab

Wednesday, March 3, 2010

Smallworld EMEAI 2010

I arrived at the conference venue today. Nice weather in Noordwijk (on the beach south east of Amsterdam).
My main purpose here this week is to demonstrate the Web Maps Connector (the iFactor Consulting product that lets you view Bing Maps as a dataset in your Smallworld applications). I am fortunate to be hosted by the team from Realworld. You can see my demos at the Realworld booth starting at the reception this evening.

I also have interests in Smallworld/FME integration, visualization techniques, and any cool Magik code my colleague Graham has put together. (If you are a Magik GUI developer and you haven't tried his Dialog Designer you owe it to yourself to see a demo). Please stop by the booth and introduce yourself. I am very excited about being at this conference and look forward to meeting many of you.

Sunday, May 8, 2011

At Smallworld EMEAI 2011

I started my trip to the Smallworld EMEAI conference in Salzburg this morning. I'll be in Salzburg by Monday night and ready to conference the next day. According to @botezmi (http://twitter.com/botezmi), close to 800 delegates will be in attendance! No wonder it took some effort to find a reasonably priced hotel room near the conference venue. I imagine that the large delegate number is due to the inclusion of the SWUG annual meeting with the GE event.

I will be based at the Realworld booth and will be demonstrating some new Web Maps Connector features. Please come by to see how you can integrate Bing, OpenStreetMap, Google, DigitalGlobe, MapQuest, ArcGIS and various other region-specific data providers directly into your Smallworld environment.

If that doesn't interest you, my colleague Graham Garlick (author of the internationally popular Dialog Designer) has loaded me up with some of his latest cool products so ask about those and I can show you examples of how we are pushing Magik to the edge.

Finally, to all you tweeters out there, please tweet conference events on the hashtag #swuc.

Bis Dienstag!

Monday, September 8, 2008

Smallworld 2008 Americas Users Conference

I am looking forward to the upcoming Smallworld 2008 Americas Users Conference.  I will be there presenting and helping with a FME workshop and, of course, staffing the Red Planet Consulting booth.

I will be giving a presentation (Using FME as a Smallworld Spatial Analysis Tool) on Monday afternoon from 4:30-5:15.

I also wanted to mention that the author of Dialog Designer (now at v 1.7), Graham Garlick, will be presenting his very cool open-source Magik GUI development tool.  Unfortunately the agenda does not explicitly mention his name nor his topic, but you will find him presenting in the "Taming Graphics: Improving yourMagik draw, drop and drag" hands-on workshop on Tuesday morning from 8:30am-10:00am.

On Tuesday late morning (10:30am-noon) I will be in the "FME and Smallworld: Integrating and Distributing Spatial Data with New Server-based Spatial ETL" workshop.  Mark Stoakes from Safe Software will be leading the hands-on workshop allowing users to try their hand with the new FME Server product connected to the Smallworld Cambridge database.  I will be starting off the workshop by demonstrating using SIAS to download/upload data via the FME Server interface.

So, I hope I get to meet many of you at the conference.  Look for me at the Red Planet booth or in the conference sessions.  You will find me wearing one of those trademark Red Planet mechanics shirts.

Thursday, August 2, 2007

Magik HTTP requests; Open Source Magik; Reading RSS

Brad packaged a new release (in .zip file) of the Magik Components source tree here. Be sure to choose the latest version of "mclib CST 4.0 SWAF". This will include the dialog designer that I mentioned yesterday.

I wanted to highlight one of the cool components that I have found in this package. The module is called :mclib_http_interface. It provides a Magik interface to making HTTP requests to a server and then return the results back to you as a simple_xml_document. You can then use the API on simple_xml_document to parse information out.

To highlight the ease and power of this capability, I quickly hacked together some code that allows you to connect to the Yahoo!Weather RSS feed and get a weather forecast for your location. This is a simple example and you can clearly extend it to your heart's content.

Download the Magik Components product and register the accompanying product.def file in your curent image.

Load the :mclib_http_interface module (eg., sw_module_manager.load_module(:mclib_http_interface)

Now run the following block of code. As written, it will give you a weather forecast for Boulder, CO, USA in degrees Celsius. The example also shows how you can glean lat/long information from a feed and convert it to a Magik coordinate.

_block
# see http://developer.yahoo.com/weather/ for more information
# about the Weather RSS feed
_constant BASE_URL << "http://weather.yahooapis.com/forecastrss"
_constant QUERY_CHAR << %?
_constant QUERY << "p=80305&u=c" # forecast for USA ZipCode 80305 in Celsius
_constant URL << write_string(BASE_URL,QUERY_CHAR,QUERY)

_local hr << mclib:http_request.new_for_url(_unset,_unset,URL)
_local response << hr.connect()
_local a_xml_doc << response.smart_result()

_local rss_channel << a_doc.top_element.element_matching_name(:channel)

_local item << rss_channel.element_matching_name(:item)

_local long << item.element_matching_name("geo:long").elements[1].as_number()
_local lat << item.element_matching_name("geo:lat").elements[1].as_number()

write()
write(item.element_matching_name(:title).elements[1]," at ",coordinate.new(long,lat))


_local forecast_attributes

_for a_forecast _over item.elements_matching_name("yweather:forecast")
_loop
forecast_attributes << a_forecast.attributes

write(forecast_attributes[:day]," (",forecast_attributes[:date],") ",forecast_attributes[:text]," low=",forecast_attributes[:low]," high=",forecast_attributes[:high]," ")
_endloop
_endblock
$


Incidentally, you can get more information about the Yahoo!Weather API at http://developer.yahoo.com/weather

Where I think this http_interface could come in really handy is for you to write GeoRSS parsers that would allow you to show location events on a Smallworld map (maybe as a SOM or a post_render_set). Have a look at Direction Magazine's Fun with GeoRSS article if you are interested in other ideas for interfacing with other data sources in real time from Smallworld.

Sunday, January 23, 2011

Temporal Imagery Comparison Technique

I was recently made aware (thanks Minfeng) of a cool infographic put together by ABC News in Australia showing a slick interface for comparing two pictures of the same location. You can see the pages here and here. In this case they are using the overlay technique to allow users to evaluate the impact of the Brisbane flooding by comparing aerial imagery taken before and immediately after the flood event.

The imagery comparison technique was so compelling to me that I thought I would see if I could do it in Magik. My scenario was to use imagery available via Web Maps Connector to compare imagery supplied by Bing with imagery supplied by NearMap. What I came up with was a class called a canvas_comparer. It could be used to take two snapshots of the same canvas with different contents and then easily compare the two snapshots dynamically as sliding overlays.

This video demonstrates how it works. I'm wondering if there are other temporal-type applications that this might work for. (I threw this canvas_comparer together in about 1 hour using Graham's very cool Dialog Designer. If you haven't tried the tool yet, you should!!).