Over the last several years, I’ve been fortunate to attend one to two information technology conferences each year. Each conference, whether they be focused on enterprise architecture, IT management, or software engineering, always tends to have topics that I’ve at least previously heard of the subject. As I pondered sessions to attend at this past September’s Strange Loop conference in St. Louis, one title immediately caught my attention: “Xiki: GUI and Text Interfaces are Converging.”
Well, outside this interesting name, “Xiki,” the headline certainly resonated with me. Reading on, the claim was that I could build new interfaces simply as text, immediately begin to use them as GUI menus, and scale them to create sophisticated user interfaces (https://thestrangeloop.com/sessions/xiki-gui-and-text-interfaces-are-converging). As someone who works frequently with clients and development teams, if I can quickly convey a shared vision with a real prototype, I’m certainly interested. So I decided to attend Craig Muth’s (@xiki) talk. I was sitting in the middle of a full room, and thinking to myself, this is really neat.
That was two months ago. This week I’ve finally made time to try Xiki, bounding my time by no more than two hours. I did the following:
Went to xiki.org and looked for a download page, the closest I could find was a github link so I went to github.com/trogdoro/xiki.
I scrolled down to the README.md file. I began reading the Summary. “Supported platforms: MacOS and Linux. Pair with me if you want to see Windows support.” I was working on a X1 Carbon running Windows 7. Just to see, I went to the Xiki Google Group, and nothing jumped out immediately at me for Windows support.
Not willing to give up, nor making the time to see if I really could get it to work on Windows, it was time to hop on a Linux virtual machine. Right after the Summary section, instructions were for Ubuntu, so Ubuntu it was.
So, now, I needed to figure out the quickest way to stand-up Ubuntu; which conceptually was not a problem as it’s a core competency of mine. So I searched Google for “VirtualBox Ubuntu images,” and came across this site: http://virtualboximages.com. I downloaded the Ubuntu 13.10 amd 64 version. It was a 997 MB appliance that came down as a RAR file. I went through the process of booting the appliance with the credentials described on the web site; it worked flawlessly.
So back to the task at hand, trying Xiki now via an Ubuntu 13.10 virtual machine. I followed the “Install Xiki” – “Install from github” instructions. To summarize, these small number of instructions involve installing the correct version of Ruby, cloning the Xiki repository, and running the appropriate Ruby scripts. Each command worked the first time.
After running xiki web/start, I was able to visit the Xiki web interface
I was up and running. So, could I do something similar to what I saw in the demonstration – using simple text files, make a user interface that I can show developers, designers, and clients for rapid feedback?
Initially skipping over the “Example Menus” and going directly to the “Getting Started” section, there was a choice for “create menus manually.” I clicked here followed by “txt file” underneath the “Simplest way to make a menu”.
I was then presented with:
So, that’s what I did:
Then, I followed the example as to how to make nested menus:
Which resulted in:
Clicking on the new snacks menu item in the browser resulted in:Notice how the menus were simply “just text indented by 2 spaces.” There were several more examples provided by Xiki.
To close, I wanted to try this option: “Make a simple menu with items that run code”
So after following the instructions and pressing the hello button in my browser:
It did execute the code:
I was with several Asynchronites at Strange Loop, and none of us had heard of Xiki before. Xiki provides a means to create menus backed by running code very quickly, visible in GUIs including a web browser. It was very easy to get up to speed. Potential next steps include following the instructions to get Xiki integrated into my editor, watching the several Screencasts, taking up the Xiki’s creator’s request to pair to get it running on Windows… well, for starters we’ll know that Xiki is another great tool in the arsenal.