Bifrost – A little background
In this past year at work, we’ve been in the process of developing a new platform from the bottom up with new functionality. One of the goals was to move away from an old unmaintainable solution to a new maintainable solution based on expected coding standards, and of course to meet the business’ needs about scalability and rapid feature development. With an overloaded domain, responsibilities were mingling with each other and business rules and validation was all over the place. Based on our needs, we felt it was that CQRS was the way to go. CQRS has been the talk in the DDD community for a while, and this pattern was something we could really relate to. In comes Bifrost!
Originally a helper-project for Einar Ingebrigtsen, we decided to leverage and contribute to Bifrost as an open sourced platform for web-app development. At it’s very heart Bifrost adheres to CQRS and is taking it “to the next level” by delivering a platform to deliver rich web applications.
Because of the way Bifrost as a platform was conceived, it has evolved in parallel with the product we are building. As project needs arise, amendments are made in Bifrost. This enables steady, controlled development on Bifrost without introducing features (too far) ahead of time. Though this is a good way of driving the project forward, it isn’t building out all the aspects of Bifrost. On the plus side, the platform is well-tested, thought through, and works well (with some known limitations and needed improvements).
On the web aspect of things Bifrost supports ASP.NET MVC and works well with the framework. Validation and binding of commands is something that just works, and I’m sure it’s something that people will appreciate. The next natural step is to actually not depend on MVC, and build out the client-side aspect of the platform. For this Knockoutjs comes in handy.
Knockoutjs is a JavaScript library that adheres to the MVVM pattern, which can be traced back to WPF and Silverlight. This allows the view (html) and viewModel (data, behaviour, commands) to be separate, sharable pieces of code. What this gives us is a clear way to bind our Query data from the server to a UI, and allow commands to be fired back into the system.
Bifrost has its implementation of CQRS quite well done already, and with it you can go in and whip up a great app with what’s there now, but you’re going to get little, to no help in regards to client-side features. There’s a clear focus on developing for the client-side aspect of things as well, which will enable Bifrost as an application platform. It’s a great convention-based platform that can solve many business needs, and its future looks bright :)
I hope to write more about the different aspects of Bifrost in the coming weeks. Until then, here’s some further reading:
2012, how about this year?
2011 has been hectic, to say the least. Full of enriching life-experiences (personal and professional). I had a few goals for the past year: my health, family, profession. Some things worked out quite well, other things…not so well (so what’s new?).
A friend of mine is going on about his big hairy goal. It’s intimidating and inspiring. Here are some things I’m hoping to dive into this coming year:
Not necessarily in that order.
ASP.NET MVC 3 RTM Released!
Here are the download links for ASP.NET MVC 3 RTM:
Be sure to read the release notes for the breaking changes since Release Candidate 2
JScript Editor Extensions for Visual Studio
Microsoft have done a really good job by giving developers a great environment to do their work in; namely the Visual Studio suite with all its variants. This IDE’s intellisense is one of its strongest points, but anyone that’s tried to write javascript code has probably felt a bit lost.
Intellisense, brace-highlighting, current variable highlighting, code comments…all gone….until now!
Microsoft Corp has just released JScript Editor Extensions, a Visual Studio extension that enables all of the above, along with code outlines. I admit it’s nothing revolutionary compared to other well-established web-IDE’s, but it’s still great to have extended tooling support within Visual Studio itself.
Here’s a look at what the IDE looks like with bracing support and outlining. Notice the collapsed ‘complete’ and ‘success’ functions
Head over to the Visual Studio Gallery and try out JScript Editor Extensions.
Interactive jQuery tester
Interactive jQuery tester
I dug this link up the other day, and thought I’d spread the love :)
If you’ve ever had debugging issues with your jQuery selectors. Or would like to experiment a bit then the Interactive jQuery tester is a great solution. You paste your HTML, then type in the selectors. The elements that are actually selected are then highlighted, which gives instant feedback.
Hope you find this as useful as I have in the past.
msdnlive oslo; Computer Jedi!
Computer Jedi..
.. is what greeted us when we registered for the MSDNLive event in oslo yesterday (21. October). With a focus on guiding and inspiring the attendees to unlock their potential, along the lines of Luke and Obi-Wan, the scene was set for the day’s sessions.
The show was opened by the Community Marketing Manager in Microsoft Norway; Petri Wilhelmsen and Microsoft Architect Børge Lund. Read more…
Microsoft PDC ’09 Videos
Some of you might know that Microsoft recently held its yearly Professional Developer Conference (PDC) in LA. They had an awesome lineup of “stars” lined up to talk about the latest microsft technologies, as well as shedding some light as to the direction in which the technology is progressing.
I wasn’t one of the lucky to be there, but I got to watch the live-stream of the keynotes and some of the Channel 9 live stuff. Also, another GREAT feature is that most (if not all) the talks are available for viewing on the PDC site.
Some of the big stuff that was released were:
- Office 2010 beta
- Visual Studio 2010 Beta 2
- Silverlight 4 Beta
- ASP.NET MVC 2 Beta
- Sharepoint 2010 Beta
So, lots of videos on exciting topics, including stuff on C# 4.0, Windows 7 and more… Check them out.
Google wave invites
So it seems that Google is spreading the fun and has spread around a couple of invites for Google Wave.
Drop me a line if you’re interested..it’s first come first serve so.. :)
Microsoft Facebook SDK now officially supported
The Microsoft SDK for Facebook Platform has reached version 3.0 and is now officially supported by the Facebook Development Team. The team recently announced this on their dev-blog, which is great news for all .NET developers wanting to develop applications against the Facebook Platform.
..This SDK contains rich social features and offers something for almost any kind of Facebook developer who is building with Microsoft technology, whether you’re implementing Facebook Connect or are building a Web-based or desktop application…
Microsoft has also supplied a great SDK Overview that will get you started with facebook development in technologies like Silverlight, WinForms, WebForms /ASP.Net, ASP.Net MVC. There are several examples along with the documentation that should be more than sufficient to get the ball rolling.
Share your url to Twitter
So, you’ve written that great article, you’ve shared it to your friends on facebook, and you’re looking to spread the word even further. Through Twittter, your url can reach entire diffrent audiences than Facebook sharing. Getting those first few important re-tweets on Twitter will start to spread your new blogpost like wildfire.
If Twitter is still a great mystery to you, I’d recommend Scott Hanselman’s introduction to twitter. You may also be interested in reading Twitter’s own brief “about us” page.
Time to get our hands dirty
It’s extremely simple to send an update to twitter using their public share url like so:
So now you know how to do it, there’s no reason not to just add a tweet this icon! 


