That's not a user story

6 February 2018 · Comments

I saw a user story that looked like this:

As a back-end service, I want to send the correct data about the widgets to the front-end, so the front-end displays the correct widget information.

Wait, when did a back-end service ever want do to anything? Has it gained sentience?

Now, user stories are great. They help us to build the right thing, by thinking about the user of our application and what they are trying to do.

Writing things down is also great. Despite it sounding strange, I’m glad that we have the user story about the back-end service, because it’s much better than not having any spec about what the back-end service should be doing for this feature, or indeed forgetting that somebody needed to do some work at all on the back-end.

But did it really need to be a user story? Will we write better software by feeling empathy for the machine? Our instincts should say no, because the user - the real end-user of our application - doesn’t care what about back-end services are doing. They only care about what they see on the device in their hand.

The purpose of a user story is to help us step back from a problem - before jumping into technical details, let’s work out what the user really needs, and then we can build only what is necessary to get us there. After writing user stories, we might send them to developers or business analysts to spec out a feature, to get a more detailed idea of how it should work.

The problem here has come from mixing things up - instead of working out what the user’s problem is (the user needs to see the right thing in the app), we have dived straight into a solution (the back-end service needs to provide some data to the app), and then put that solution within a template “As [user], I want [something], because [some reason]”. But if we’re writing a technical spec, we don’t need to fit this template - it is perfectly OK to write “the back-end service needs to send some data to the front-end”, because we should already have written some user stories about the real user. Real user stories might look like:

As a user who has not opted into the new widget feature, I should not see any widgets.

As a user who has chosen to have bells on my widget, I should see a bell button on every widget that is displayed.

This is not the first time I have seen things crowbarred into user stories. At a previous job I worked for a small consulting firm, and we would often get requests like this:

Please update the Gizmo table so that all entries processed after 18th January have a DoodadIdentifier of 5.

Somebody had obviously got the Agile religion, and decided that all client requests now needed to be in the form of user stories. No longer would we just be doing what the client told us to do! We would get real insight into their problems, so we could propose the most effective solution for their needs!

Of course, all that really happened is that requests would now come in looking like this instead:

As the client, please update the Gizmo table so that all entries processed after 18th January have a DoodadIdentifier of 5, because I want you to do it.


6 Companies That Get Employer Branding Right

24 January 2017

This was a webinar given at Stack Overflow on 24th January 2017.


Meet the new textadventures.co.uk team

11 January 2017

I announced last month that I was handing over textadventures.co.uk and Quest. Many thanks to everybody who got in touch to volunteer to help. I was really pleased that so many people want to see these projects continue into the future. I am now happy to announce that we have a new team in place!

Luis Felipe Morales will be taking over the textadventures.co.uk and ActiveLit websites, and also Squiffy. A programmer since the 1980s, Luis has been involved with the Spanish interactive fiction community since he was young. He has maintained and created several internet portals and now works as a freelancer.

Jay Nabonne and Andy a.k.a The Pixie will be taking over development of Quest. Both have been very active members of the forums for a long time. Jay is a lifelong programmer and game player who is interested in not only creating games but helping others to do the same. A California native, he now lives with his wife in the UK. Andy has been playing and creating text adventure games since the Eighties, has been using Quest for over five years and has written various guides and libraries for the system.

Greg Fenton and Nathan Clive Gerard will each be running servers for Quest’s WebPlayer and WebEditor. Greg is a developer who wrote his first text adventure in dBase III on an IBM PC back in the very late 1980s shortly after leaving high school. Nathan is a regular player of text adventures from the UK (currently living in the USA), who spends his days setting up and looking after web servers in the cloud.

I’ll be working with each of them over the coming months to ensure a smooth transition. Please welcome them aboard!


Developers needed for textadventures.co.uk and Quest

12 December 2016

This is a follow up to Looking for a new owner for textadventures.co.uk and Quest.

Thanks to all of you who have got in touch so far. A lot of people have asked about what would be involved in taking over and running textadventures.co.uk and/or Quest, so this post is to go into a bit more detail about how things are set up and how the work might be split up across different people.

For a smooth transition, I need to find people to fill these four roles:

  • One or more .NET web developers for textadventures.co.uk and/or ActiveLit, familiar with Azure and ASP.NET MVC and with front-end development using JavaScript and Bootstrap.
  • One or more JavaScript developers for Quest 6, Squiffy and/or QuestKit. Ideally familiar with back-end and front-end web development, and desktop development using Electron.
  • One or more .NET developers familiar with both desktop and web development for Quest 5. Ideally familiar with both C# and VB.NET.
  • A server admin to keep the current browser version of Quest alive (both the Player and the Editor). Needs to know how to run a Windows server. This is currently running on a VPS at OVH. (This is just for the online player and editor - running textadventures.co.uk itself will require a developer familiar with Azure. Eventually if both the Quest Player and Editor are rewritten to use JavaScript, the server admin role becomes redundant).

Of course any of these roles can be combined - after all, they’ve all been done by me up until now.

textadventures.co.uk and ActiveLit sites

textadventures.co.uk and ActiveLit run on the Azure App Service (formerly known as Azure Websites). Data is stored in Azure SQL and in Azure blob and table storage.

The web-accessible blobs (for game downloads, cover art etc.) are behind a Cloudflare CDN.

The code uses C# and ASP.NET MVC. The front-end uses Bootstrap, JQuery and a little bit of React.

ActiveLit runs alongside textadventures.co.uk on the same Azure infrastructure and talks to the same database.

Quest 5 & 6

There are two parts to Quest - the Player and the Editor. There are also two ways of using Quest - via the web, and via a downloadable Windows desktop application.

The current version is Quest 5, and I also made a start on Quest 6 which is architected quite differently. The new version rewrites the Player back-end to use JavaScript, which means the web version requires no server component (making it much faster, infinitely scalable, distributable on any website, and an end to time-outs while playing), and the desktop version will be cross-platform for the first time (packaged using Electron for Windows, Mac and Linux).

To take on Quest 6, I’m looking for a developer who has experience using the modern JavaScript ecosystem (npm, TypeScript, gulp, webpack and all of that kind of thing). I will work with this person to help get Quest 6 shipped. (It doesn’t make sense for me to continue working on this project without somebody to hand it over to, because it will of course need to be maintained after it is shipped). Quest 6 lives in the v6 branch on GitHub.

After Quest 6 is shipped, rewriting the Editor to use JavaScript would also be really useful. That would be a project for the new Quest 6 maintainer, or maybe even someone else. If Quest could be taken to the point where both the Player and the Editor were shipping as 100% JavaScript applications, that would be a massive simplification of the Quest architecture.

Quest’s long-term future lies with Quest 6, but it would be good if we can find somebody to maintain Quest 5 for the time being, not least because even if/when Quest 6 ships, it will still be using the same .NET-based Editor that Quest 5 uses.

I’ve updated the Developers documentation page on the Quest docs site to describe how the various projects that make up Quest 5 together. It is not an easy thing to pick up - there’s a lot of code there, and a mixture of languages and technologies reflecting my changing tastes and experience over time. It’s stable though, and it shouldn’t require big changes because if the Player and Editor both get rewritten using JavaScript then all of it will become obsolete.

Proposals

If you’re interested in taking on one or more of these roles, please email me at [email protected].

To reiterate, I am not looking for money. I want to hand these over to somebody (or a group of people) with a passion for IF and a vision for where these products could go in the future. That vision doesn’t necessarily have to agree with my vision (that’s what stepping back is about) - this is a massive opportunity for somebody to take over running a popular website and IF development system. textadventures.co.uk is the place people come when they search for text adventures on the web, so it’s a big gateway to the world of interactive fiction. Taking on the website doesn’t have to be about taking on Quest.

I’ve only got Alexa rankings to prove it (so take them with a pinch of salt) but the site appears to be bigger than other IF sites like IFDB, intfiction.org and Choice of Games. It’s how a lot of people start out making text adventures - in fact, it’s introduced a lot of people to programming in the first place. It’s used by schools to get children into coding and creative writing.

Thanks again for responses so far. If you can’t help out yourself, please help spread the word to somebody who might be able to take this on and ensure it has a future.


Looking for a new owner for textadventures.co.uk and Quest

7 December 2016

I have been developing Quest and textadventures.co.uk for a long time. It started off as a summer coding project when I was a teenager and wanted to send stupid text adventure games to a friend. Over the last couple of decades it has turned into something far bigger than I could have imagined.

It has alternated between hobby and full-time job, and tinkering with it all these years has taught me huge amounts about writing software, helping turn me into the developer that I am today.

I’m proud of what I’ve built - various open source projects that have enabled hundreds of thousands of people to build games for the first time, and a website that has become the top hit on Google for “text adventures” and attracts 3,500 users per day, a number which continues to increase.

The software and community around it are in great shape, and I think they have a great future. But the time has come for somebody else to take charge - I want to focus my energy on new projects, and hand over what I’ve built to somebody else who has the passion to drive things forward.

I am looking for people interested in taking this on. There are quite a lot of different bits, and these wouldn’t all necessarily need to go to the same person or company - things could be split up if that looks like the best option. I am open to all suggestions and proposals - my main concern above all else is finding the best home (or homes) for the long-term future for these projects. I am not looking for money and I’m happy to do everything I can to ensure a smooth handover.

If you’re interested, please email me at [email protected].

What if new owners can't be found?

I really hope that people from the interactive fiction community will want to see Quest and textadventures.co.uk continue, so if you can possibly help then please get in touch. Do you want to keep textadventures.co.uk alive for the community that loves it? Could you take it forward to bigger and better things?

If no suitable new owners come forward by 28th February 2017, then sadly I will have to start the process of shutting down the website and forums. Initially they will become read-only, and I will look to export the data elsewhere (the IF Archive or the Internet Archive) before closing the sites completely.

Quest and Squiffy will remain accessible on GitHub but there will be no further updates. The software will still be able to be downloaded for offline use, but the online web-based versions would no longer be available. The GitHub repositories themselves would probably be transferred to the IFTF.

The different bits

  • Quest
  • Squiffy
  • QuestKit
  • textadventures.co.uk:
    • The site itself, where people can upload games (not just Quest and Squiffy games, but Inklewriter, Twine and Inform games too) and post reviews and comments
    • The forums
    • Online player and editor for Quest games
    • Online editor for Squiffy
  • ActiveLit
  • Social media accounts:
  • Various domain names:
    • textadventures.co.uk
    • textadventures.uk
    • textadventures.co
    • textadventures.net
    • textadventur.es
    • textadventure.co.uk
    • activelit.com
    • activelit.co.uk

Some numbers

textadventures.co.uk according to Google Analytics:

  • ~3,500 unique visitors/day
  • 83,986 unique visitors in November 2016 (a 14% increase on November 2015)
  • 428,119 page views in November 2016 (18% increase on November 2015)
  • Average session duration 03m 41s
  • 66% of sessions are from new users, 34% returning

Users:

  • 161,203 registered users (115,038 with confirmed email addresses)
  • In November 2016, new sign-ups from 4,746 users (3,190 with confirmed email addresses)

Games:

  • 13,582 games (8,216 are public) of which:
    • Quest games: 9,892
    • HTML (Twine, Squiffy etc.) and Inform games: 1,621
    • Inklewriter games: 1,321
    • External links (game listings from IFDB, Choice of Games etc): 757
  • In November 2016, 394 new games (136 are public)
  • 8,317 reviews and 13,414 comments
  • In November 2016, 197 new reviews and 336 new comments
  • 94,575 games started in Quest's online editor

Social Media:

  • @TextAdv on Twitter: 921 followers
  • textadventures on Facebook: 1076 likes

Income and Expenses:

AdSense earns about £50/month for the limited advertising which is currently on the site.

The main costs are for Azure at ~£70/month, and the VPS (hosted by OVH) which runs the Quest online player and editor at £13.59/month ex VAT.

(On Azure, I’ve been getting a £65/month free credit, so the actual amount billed averages only about £5. This means the total cost for running the site has been about £20/month, which has been entirely offset from the Adsense income.)


All Posts