Afterthoughts - Short Introduction to Metasystems

Today we had a small session with Joni Töyrylä about metasystems. We discussed a system he had developed in particular. While at it we tested Google Hangouts. Although planned we didn't end up recording the session. Instead I thought it might be a good idea to gather some thoughts.

A metasystem can be defined as a system that allows you to define systems. In this case the system made it possible to define models of the actual system. In addition the system allows to define a limited set of user interface related settings such as ordering and visibility of model attributes. All of this was possible through a user interface. The system generates actual code based on the definition.

One cool thing Joni had in place was the possibility to extend existing metamodels. In effect you could take something more abstract and then build your model on top of that avoiding some of the work required. Another thing that I took a note of was the fact that the system provided REST API for the models defined automatically.

This is something I've seen implemented before on Enginio. There are a lot of these BaaS services available these days. Firebase is likely one of the most hyped at least according to what I have seen. The primary advantage of these kind of services is that they remove one bit you have to implement anyway and take care of things like scaleability.

How about changes to data model (aka migrations)? Joni did not have a clear answer to that yet. There are some solutions definitely but which one to implement is another story. And using metamodels, such as Joni's, doesn't actually relieve you from defining your business logic and user interfaces.

In terms of business logic services such as Noflo could become very interesting. Combine that with web based IDEs such as Cloud9 and a service aimed for the user interface side, such as Jetstrap, and you might have something nice together. It would not surprise me a lot to see these kind of services (backend, logic, frontend) to meld together. With good enough integration developing web services on top of web itself using a web browser itself could become mainstream rather sooner than later.

I think the session with Joni gave us a small peek at the future. Historically systems such as these have been in use. They've never reached popularity in mainstream. This is something that just might change by the end of the decade.

In effect this would mean at least some level of commoditization on the segment of web development. In other words this would be yet another step towards a world where more people can develop and share their creations as the barrier of entry becomes lower. Services such as Yahoo! Pipes already give us some idea. Now just to wait for the solution that combines the critical bits together and provides us something to develop entire web services with.

GC v0.31 (Go programming language) on Wednesday October 2 (17:00-) @ Hemingways

Gopher (source : http://golang.org/)
According to http://golang.org/, Go is an open source programming environment that makes it easy to build simple, reliable, and efficient software.  It is supposed to be the new C, the simple C++, the typed
python and the Java without writer's cramp.

If you want to learn a new way of doing OO without inheritance, write multi-threaded code and unleash the power of the typed channel, come to Hemingways on Wednesday October 2 starting around 17:00.

We will shortly look at some of the language specific features and then try to implement some code to pass unit-tests.

People who think first class functions, multiple return values, and closures are not good for mental health should get eased by the fact that Go supports variable names in UTF-8; finally we can write käärme := "aaaaaah", but also 世界 := "world".

Go is easy to understand for anyone with some programming experience. You can try go at http://tour.golang.org/ .

If you're not convinced yet : did you know that Go has built-in complex64 and complex128 types, which surpass everyone's imagination?

Lean Coffee Jyväskylä III at Wilhelmiinan Konditorio on Wednesday 25.9, 9:00 am

Notice changed location!

Notice it's morning meeting this time.


Short introduction to metasystems

Short introduction to metasystems in Muurame on 27.9 (Friday). We will briefly explore a small scale metasystem project. 4 people max, transportation can be arranged.

Sign up at http://doodle.com/bmpac8ghkczxkvvw

Lean Coffee Jyväskylä part II on Wednesday 18.9 (17:00). at Hemingways

Another shot at Lean Coffee concept. At Hemingways, bring your own pen if you wish :)
Copyright © Geek Collision