I’m a developer!

One of the things that I would like to shout on various occasions is: "I'm a developer! Not first line support!"
The downside for working for a small company is that all the phone calls and emails almost always get directly to me and the majority is first line support work (assign rights, explaining the user how to do something and on some terrible occasions I sometimes have to do the user his work for him). Now I don't the social part of my work, but I have always taken pride in what I do and that is developing, writing code et cetera. And when I'm doing that I don't want people calling me or except me to deliver support directly especially when it is something trivial like assigning rights. There is a perfectly fine right management system in the application, so please, ask your supervisor to grant you more rights instead of calling me.
As I said I don't mind the social part of my work, I even enjoy it, but my main task is to deliver the next quality product as soon as possible and for that I need silence and absolute focus. I always like to think that developers are similar to god. Where god, according to the bible, created the universe and everything in it, I create software. Now imagine how god would be if after the second day (his schedule of seven days) someone came up to him and said: "Well look here god, see that water?" as he pointed to the blue oceans, "Yes, well here is the problem, I don't like that color. Could you make it blue?". Personally I would throw a lighting bolt like Zeus does and ask him (post-mortem) to just send me a mail next time.
I just wish that some people would just send me a mail instead of calling me when it's not important. Now I'm really starting to dislike phones, in fact I'm afraid that each call might be for me
.
Image from: Peter Alfred Hess on flickr. The following rights apply on the image: Creative Commons Attribution 2.0 Generic
Release of 1.0.0.8 of Story Editor
Wait? What happend to 1.0.0.7? Did you skip it?
Well, truth be told it was released but a minute later i decided to pullback that release as there was a major bug with moving around the chapters and scenes (which was there also in the previous versions) and since that part of the code was next on my list of rewriting I have actually decided to rewrite it.
The version in front of you should work and the bugs with the outline are fixed.
Which brings me to another point. Rememeber me talking about how cool it would be if you could just keep track of al kinds of stuf? Well, you can now!
Just take a look under "View" and then "Manage" and you can create your own content types. So far the solution is rather bare bone, but then again it is only two days of work.
Because I have no achieved the minimum feature set I'm going to do some creative writing, after all that is why I created the application and see what other minor bugs and annoyances I can encounter. So don't expect any updates soon.
By the way: If you still haven't tried Story Editor, then you can download the installer and if for some reason you don't like it just uninstall it.
PS: There is a minor bug in the update checker of 1.0.0.6, it says it was unable to check, but in reality it did... Whoops
Story Editor V1.0.0.5 (Export and printing)
A week has passed so I'm releasing another version of my favorite story writer solution: Story Editor.
So what is added in this version?
- Exporting to multiple file types is now supported. Think PDF, docx, html, rtf, txt and a few others.
- The application now has print and print preview capabilities.
Because the previous version implemented update detection you don't even download the installer, or if you want to use it, you can download it from here.
The next version will implement a complete new feature, which is the creation of contexts. Explaining what "contexts" are is a bit hard, but basically you can create your own database. For the non-technical skilled that means that you can create the context "character" in which you say that every character has a name, age, et cetera. This was actually the primary reason for me to create Story Editor as some story editors already allow this but only for a few contexts like character, item, location. But what if you are writing a space opera and you want to keep track of the various spaceships? You don’t want to store that in "character" or "location".
Well, that is where context comes in to play. Just create a context, design what the context should contain and start filling in.
I hope that I can implement the most basic feature in a single day (I have only 8 hours available for story editor) but otherwise this functionality will take a bit longer.
Anyway enjoy the latest release and if you encounter any problems, please let me know.
Story Editor v 1.0.0.4 (installer and auto-update)
It took longer than I had hoped, but the very first version of Story Editor, my favorite creative story writing software, now has an installer. No longer you will need to move around files. Just launch the installer and you are set to go.
I have also spend a bit of time to ensure that you don't need to worry if you have the latest version, because Story Editor will check if there is a new release for you. Nothing too intrusive, of course, because you are writing and you don't want to grab the mouse to click away an annoying "please restart your system" while you are writing.
When you see this at the bottom, just click on it and it will ask if you want the update, say yes and while it is being downloaded you can continue writing.
Once the download is complete, hit it again and the new version will be installed.
So what will be in the next version? Well, I'm going a bit back to add some more text editing functionality and also exporting/printing.
Don't worry about checking the website or reading my blog. From now on you will be notified
Next version of Story editor
Quite a productive night, if I may say so.
Currently the new features are already worthy of a new release. It has an installer, it has file association and an update checker. Yep, now you can ignore my blog and still have the latest version of Story Editor.
However I have good news and bad news. The bad news is that you will have to wait untill it has been released. The good news is this release will most likely be done before the weekend. The reason for the delay is because a) it's late and b) I want to test the downloading mechanisme. Oh and of course, it needs to alert you when a new version is availabel. So I still got my work cut out for me for this week.
Releasing Story Editor V1.0.0.3
As promised I would release the next version of Story Editor a week later and well a week has past. For me it was a crazy week so I had decided to do some of the programming in the week instead of the weekend and this has paid off.
So what has changed?
First of all I have decided on an extension. You can still work using the old zip files, although I recommend you start using the sez format.
Second you can now reorder chapters and scenes, by selecting the chapter or scene in the outline and then use the green buttons.
Next week I will try to make the Story Editor installable with automatic updates, so that you don't have to download the whole package again.
Here is the link to my favorite creative story writing application: Story Editor V1.0.0.3.
Releasing first version of Story Editor
As you can read from the title, I'm releasing the very first version of story editor. If it's not working please let me know.
You can download Story Editor for free from here.
Just extract it where you want it and run StoryEditor. The application should explain itself but if you really need some guidance, just press ctrl+O and open "tutorial story" and if you wonder if you should open the zip file or not, then yes, it is the zip file. If have not yet decided on a extension, so until then it will remain to be zip file. Anyway the tutorial should explain a few things.
For now I'm going to bed and get some of those fairly rare Zzz's.
UPDATE: There has already been a bug found. If you remove anything but the last scene then the scene that is selected after that will contain what was in the old scene. So don't press remove: I will have this fixed tomorrow.
Story editor
The Story Editor is slowly but steady making progress. The reason why it goes so slow is because I'm trying to ensure that the GUI will be of high quality. So I take special care and you might have done one thing fairly different that most text editors or story writers: There is only a little bit of text.
The reason why I want so little text is because Dutch is my native language although the majority of the time I working in English. From time to time I also try to write English stories and I have noticed that when I see something in a foreign language I also start thinking in that language. That is cool except the fact that I'm trying to write a story in another language. "It's a huge pain in the ass wanneer je opeens in het Nederlands ga schrijven" (translated: It's a pain in the ass when you suddenly start to write in Dutch). So I take special care of that. I'm still not certain what to do with words like "Chapter" or "Scene", or even "File" but for some reason I don't find those not that intrusive. At the same time however I think that localization (L10n) will be implemented as soon as I'm able.
The other thing I take special care of is the outline editor (what you see on the right). I have experimented with various forms (Tree Lists, zooming in and out) but I found out that this method is most likely the best way to do it. Tree Lists didn't format nicely and zooming in and out would have mean you could only see one chapter at the time.
Also I have finally implemented the ability to load and save. I mean I can understand that you don't want to write your story completely in one go. Saving is also cool. For starters there are multiple files (each scene, chapter, character, location, item et cetera) is put in a different file. However I don't like multiple files. I like one file so what it does is combine everything in one zip archive. This is cool, because if you have a custom tool (spell checker for example) you can just extract the file and run the tool. No need for a propriety format. Although zipping things in can be rather slow. Microsoft Office 2007 docx files have that problem as well, although now that I think about, it remains fast enough and if need be I can always move it to a thread or allow it to be saved without zipping it in (thus a collection of folders and files).
The last thing I want to mention is skinning. Personally I don't really care about it, but I know people who like it, so I have added that as well. Thanks to DevExpress there are already 31 skins in it. And here are a few examples:
So what is left?
Well first of all the Outline (chapters and scenes) needs to be finished. I want to be able to add chapters and scenes, remove them as well. And the last thing is actually being able to write. Oh before I forget it again: I want to be able to output the entire story in one document.
Story editor
I like writing stories. They are a form of entertainment to me and as such I enjoy spending my time in writing something else then code. However I have never found a tool that met my requirements. In my opinion an application for creative story writing should be focused on allowing you to write as comfortable as possible without any distraction, which often means you turn off the automatic spell-checker and more.
Now Microsoft Word would have been a great tool were it not that I need to keep track of all kinds of things in my story. I used to do this with an Excel file but that didn't work. I have tried some of the creative story writing software out there (open-source, free and commercial) but they either provided too much, miss certain features or required me to work in a way I thought was cumbersome (I don't want a pop-up when I look at details of a person).
So I have decided to write my very own story editor.
A key feature will be that it uses a dynamic data format. In most applications you can add and edit your characters but then you only a few predefined fields available, like name, birthday, bio and notes. If you are writing a deep space story which involves many alien races you would need to define that for each character in the bio. In my story editor I want to be able to just add an extra field.
Another feature I'm going to put in for certain is that everything can have transient properties, which is fancy way of saying that some properties might not last forever. In the Lord of the Rings we see that the one ring switches quite a bit from owner. Having one field to track information about the owner would be insufficient as I want to know the owner of the ring at a certain point in time. Of course, this system is a bit cumbersome when you want to keep track of the owner of the a ball in a football match.
The first release will be when the editing of files and the outline editor fully works.
Comments
This part is almost straight from my programming style document.
This might sound stupid, but try to comment every other line (unless you have a lot of repeating or similar tasks). By doing so you get two advantages:
- Someone unskilled in programming or unfamiliar with what you are doing is able to read your code.
- You know what you are doing
The first advantage is important unless you are working alone and never expect to see your code again. In that case you should really ask yourself if you should even be writing that code.
The second one is important even if you have no trouble reading code. Let's take a look at the following example.
for(int index_person = 0; index_person < persons.size(); ++index_person)
{
for(int index_kids = 0; index_kids < persons[index_person].kids.size(); ++index_kids)
{
/* ... */
}
}
And then take a look at this example:
/* Iterating through the persons in the lists */
for(int index_person = 0; index_person < persons.size(); ++index_person)
{
/* Iterating through the kids of the persons in the list */
for(int index_kids = 0; index_kids < persons[index_person].kids.size(); ++index_kids)
{
/* checking if any of the persons in the list have a kid who is dead */
/* ... */
}
}
In the last example I only have to track back to the first comment prior to my line of code to know what I'm doing here. It's a pain to write so many comments but it makes code a whole lot easier to read.






