.NET & Funky Fresh

Syndication

News

  • <script type="text/javascript" src="http://ws.amazon.com/widgets/q?ServiceVersion=20070822&amp;MarketPlace=US&amp;ID=V20070822/US/bluspiconinc-20/8001/8b68bf4b-6724-40e7-99a5-a6decf6d8648"> </script>
Today….All Your Wildest Dreams Come True

If you fit into any one (or more) of these three categories…

  1. You like tabletop RPGs
  2. You build Xaml applications
  3. You build Html/JS applications

1. RPGWithMe

For some time I’ve been cranking away building my company’s first real product. I’m very excited to officially announce to you today that RPGWithMe is live!  RPGWithMe is a web-based platform centered around tabletop RPGs. If you play these games…you are going to like this a lot. RPGWithMe provides four main feature areas in its initial launch:

Character Sheets

The industry’s most beautiful character sheets, fully interactive and free: Use them at the gametable on your tablet or laptop. They’re also fully integrated into our play-by-post and virtual tabletop experience. It's as simple as uploading DDI or Hero Lab ® files. Custom character creation is coming soon…

Campaign Management

We provide gorgeous home pages for your campaigns. Use our live-previewing editor to write wiki articles and pin them to your home page. Chronicle your adventure and automatically have your content indexed for later. Plus, access our enormous, high quality art library for use in your wiki or upload your own art.

Play-by-Post

We’ve built our system from the ground up to support PbP. It fully integrates your player’s character sheets and your campaign wiki. It snapshots roll, magic, power and feat data and provides multiple views over your campaign’s activity feed with the ability to bookmark and integrate your character’s journals too.

Virtual Tabletop

Build maps, play out combat and track NPC stats. Our virtual table can be used to enhance PbP beyond anything you’ve seen. Of course, you can always use it as a realtime virtual table on it's own and feel the power of integrated character sheets, rich activity feeds and campaign management.

RPGWithMe Teaser

2. Caliburn.Micro WinRT

Thanks to the fantastic work of Nigel Sampson and Keith Patton we now have support for the full Caliburn.Micro feature set on WinRT. This is he initial port…and its not an official release yet, so there’s bound to be bugs. But if you want to use CM to build your WinRT app, please start using this code and help us iron out the kinks….and naturally start enjoying the CM way of building apps on WinRT.

3. Durandal

Durandal is the essence of Caliburn.Micro re-imagined for HTML and Javascript. A very early version of the code is now available on github. It is a very small amount of code built on top of three existing and established Javascript libraries: jQuery, Knockout and Require. Features include:

  • Fully modularize your html and js the same way you would when building Caliburn.Micro applications. ie. Shell.js automatically locates Shell.html, binds and gets composed into the dom. Naturally you can change the conventions…
  • Leverage promises everywhere as the API uses no callbacks, but has CommonJS promises plumbed throughout
  • Experience the first html/js framework where Composition is embraced at the very core. The view/view-model composition features of Durandal are even more powerful than Caliburn.Micro.
  • A simple app model provides you with an app start lifecycle, modal dialogs, message boxes and an event aggregator.

This is a pre-pre-pre-alpha version. There are no docs and just one sample at the moment. But, I wanted to get it out there so you could dig into the code, start playing with it and give me feedback. Of course I’ll add docs, more samples, tests, etc. Just in case you are wondering though, Durandal is already being used in production as the framework for RPGWithMe’s virtual tabletop. Various versions/pieces of it are being used by some of my clients…details not available right now, but I hope to share more later.

Things I would like to do with Durandal in the future:

  1. Remove the Knockout dependency. I don’t like how knockout bindings work in html and I don’t like how observables invade your model code. Both are ugly, tedious and obscure the readability of the code.  I have a plan to fix both of these, but it’s non-trivial. I chose to put together this initial version based on knockout since it was already in heavy use and it was quick and easy. In the future I hope we can improve on that.
  2. Remove the jQuery dependency. Durandal only uses a few features of jQuery. So, eventually, I’d like to have an alternate solution without an external dependency. You can always use jQuery if you want to, but in the long term, I don’t want to force it on developers.
  3. Create a component model for building reusable controls. This should work similar to Xaml in that controls should have a distinct view written in html which can be replaced globally or on a per use basis. Controls should also support templated parts with the same characteristics.

Ok. That’s enough news for today. Enjoy. Now…I’m going to rest for a bit.


Posted 08-02-2012 4:07 PM by Rob Eisenberg

[Advertisement]

Comments

sip wrote re: Today….All Your Wildest Dreams Come True
on 08-02-2012 5:01 PM

Durandal sounds interesting, but it would be very nice to have tight integration between Durandal and Caliburn Micro. For example, most of the view model business logic can be converted to JS by using jsil (see jsil.org). And at least initial HTML design can be acquired by converting from XAML. That way it will be possible to have semi mutual codebase for different type of applications, and C# developers can easily produce pure HTML/JS applications when it's needed.

Rob Eisenberg wrote re: Today….All Your Wildest Dreams Come True
on 08-02-2012 8:43 PM

BTW. No offense intended with regards to knockout. It's a great piece of work, very impressive and it gets the job done. It's just not inline with my long term vision and my opinions on code maintainability.

Graeme Christie wrote re: Today….All Your Wildest Dreams Come True
on 08-02-2012 10:27 PM

Wow Rob. Mind.Blown.

I've had a quick look at the Durandal source, and I can't say I've got my head around it (I think I need to do some more reading on requirejs and promises), but it looks super clean.

Appreciate you putting this pre-alpha out there.

Graeme Christie wrote re: Today….All Your Wildest Dreams Come True
on 08-02-2012 11:39 PM

Rob, have you had any thoughts around wiring something like history.js up to your navigation example to give you working browser history, deep linking etc. Are your real world apps already doing something like this ?

Graeme Christie wrote re: Today….All Your Wildest Dreams Come True
on 08-03-2012 12:09 AM

For anyone else looking at the source, this is where the penny dropped for me. In system.js aquire uses the requirejs text plugin (www.bennadel.com/.../2277-Using-the-Text-Plugin-With-RequireJS-To-Load-Remote-HTML-Templates.htm) to retrieve the html "View" documents from the server.

Rob - out of interest does this method play nice with HTML5 Manifests ?

Rob Eisenberg wrote re: Today….All Your Wildest Dreams Come True
on 08-03-2012 4:17 PM

I haven't wired it up with history.js, but I don't imagine it would be too hard to do. You would just pair up history values with module paths. When the history entry changes, resolve the module and make it the active screen; when the active screen changes, push it into the history. Eventually I will probably add screens/conductors which will make this easier, but it shouldn't be to hard to build something like that on top of the existing sample either. Regarding manifests, it should work fine. It's just a file pulled down with a get request. However, in a real application, you are likely to want to consider running the require.js optimizer so that you can combine and minify all your js modules along with your html into a single file. Then, you could reference that in the manifest.

tom wrote re: Today….All Your Wildest Dreams Come True
on 08-06-2012 7:54 AM

I have been programming in RPG for over 30 years! Report Program Generator, not Role Playing Games.

evan wrote re: Today….All Your Wildest Dreams Come True
on 08-06-2012 9:52 AM

oooooo, Durandal sounds interesting!  Can your next blog post be about how the composer works?  I would love to see what your plans are for Durandal.  I never used Caliburn before but I like what you've done so far w/ Durandal.

Before you go and remove your dependency from knockout, have you tried using the knockout mapping pluggin?

Joel wrote re: Today….All Your Wildest Dreams Come True
on 08-06-2012 6:18 PM

Mmmm, RPG on an AS-400... Nothing quite like a piece of software that will run until you explicitly tell it to stop!  And indicators, indicators, everywhere!

I love RPG on IBMs, and I love RPGs on table tops!

I am interested to see where this app goes.  I don't have time to muddle around in code like this these days, but it looks interesting.

tom wrote re: Today….All Your Wildest Dreams Come True
on 08-07-2012 6:10 PM

The full experience of D&D, as I remember, is too deep

to be quantified into something a computer can do.

d20 wrote re: Today….All Your Wildest Dreams Come True
on 08-09-2012 12:59 AM

I want to know what the song is on the "RPGWithMe Teaser".

Robert L Hamilton wrote re: Today….All Your Wildest Dreams Come True
on 08-14-2012 1:45 AM

I knew we would hit the wall on three letter acronyms.  RPG i.e. Report Program Generator has deeper meaning.

oem software wrote re: Today….All Your Wildest Dreams Come True
on 08-18-2012 1:04 AM

GMlKHg I really enjoy the article post.Much thanks again. Will read on...

bookmarking service wrote re: Today….All Your Wildest Dreams Come True
on 09-19-2012 12:01 PM

wx5AQL Im thankful for the post.Thanks Again. Want more.

bookmarking submission wrote re: Today….All Your Wildest Dreams Come True
on 09-19-2012 9:52 PM

KRWJwm I think this is a real great blog. Keep writing.

bookmarking service wrote re: Today….All Your Wildest Dreams Come True
on 09-20-2012 9:17 AM

KQLU0B Major thankies for the blog post. Really Cool.

bookmarking service wrote re: Today….All Your Wildest Dreams Come True
on 09-21-2012 7:31 AM

iUPqGS Say, you got a nice article. Cool.

il blog di Marco Amendola wrote Le Coroutine sono morte. Lunga vita alle Coroutine.
on 10-16-2012 6:10 PM

Le Coroutine sono morte. Lunga vita alle Coroutine.

crork wrote re: Today….All Your Wildest Dreams Come True
on 10-19-2012 12:43 PM

GwBDfH Appreciate you sharing, great blog post.Really looking forward to read more. Awesome.

bookmarking submission wrote re: Today….All Your Wildest Dreams Come True
on 10-19-2012 2:35 PM

W1BGGs A round of applause for your post.Really looking forward to read more. Fantastic.

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
Umbraco
NServiceBus
RavenDb
Web Sequence Diagrams
Ducksboard<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)