The 20th Century was the century of broadcasting. It started with radio, then cinemas and finally TV. All one-way broadcast mediums. A read-only culture. They all have one restriction. They are based on a model of scarcity, i.e. program directors have to choose the program for you, since there are only finite number of channels and screens.
Television has not really changed very dramatically for many years. The only major upgrade was adding color until recently when TV got digital. Now TV is becoming a software platform distributed on the Internet. Youtube has become a TV channel and anybody can become a producer of content (including me, see below). We are now into read-write culture where program directors are not need, and being replaced by algorithms like Netflix recommendations.
In this lecture we look at how content viewing is changing and why the TV industry getting disrupted. We examing the long tail and how infinite shelf space of content has created new services.
Lecture L15 The Broadcast Century Part 1:
Lecture L15 The Broadcast Century Part 2:
The next edition of my New Technology course starts 13th of January 2014. This is a course that I have developed over the last few years. Despite the title, the course is not so much about the latest gadgets, iPhones and iPads, Google or Facebook, but about people and how they behave when using technology. Like previous years, the course is open to anyone, both online and attending lecture. If you decide to follow this course and even participate, here’s what the the 2014 edition will look like.
I want to change the way my students think about technology. We may take things for granted but the study of technology evolution is actually a fascinating one. So much are we depended on technology that we don’t even realise that our very existence is based on technology. In fact the definition of the term may be a surprise when you start to think about it.
Here is the official trailer for the 2014 edition of the course:
You are welcome to attend any lecture. They are in room M106
Creating an enterprise application involves many decisions. There are so many options, and with each decision, number of other options emerge. One way to reduce the scope to deal with is to organize the application into layers. For each layer in an application, there are different design considerations. These consideration and what impact each choice has, is one of the hardest tasks in architecturing enterprise software. Many things can be learned from textbooks although they are limited to a specific context, other things are learned from doing – experience. Sometimes hard and painful experience. While things look to be easy enough, when things start to operate with other things and scale, what sounded easy is actually not. In my 11th Lecture in the Design and Implementation of Software course, the goal is to look at the complete design from web layer to the database and how all the pieces come together, Application Architecture.
In the first section we look at the big picture and design consideration for each of the three principal layers. They are different concerns and considerations to think about. In the Web Layer its all about keeping the web presentation logic from the domain layer, and deciding what is on the gray area. We have to understand different client types. While back in them old ways people would run Windows native clients that accessed a server, today we have multiple of choices for clients. Sometimes we don’t even decide.
Then there is different type of content. Content is not just content. A web site may have static content, editable content and dynamic content. The static content is any graphical asset that you might get from an graphical designer. Examples are logos, backgrounds, themes and things like that. These are not edited frequently and could be done all at once, for example if the web site changes themes. Then there is editable content. This content that the operator wants to edit, possible frequently. If your web site has lots of editable content, consider using a Content Management System. The last category is dynamic content. This is the domain data that is provides by the data in the database and any domain specific logic that manipulates the data.
For the domain layer the main consideration are where to put the domain logic. Two choices are presented. First is using an application server that is just a container for code. Other systems can look of the code and call it. EJB contains is an example of this. Most application servers (at least in the Java world) have web servers built in, so they do not need to be distributed. Another way is to use lightweight container. An example of that is the Spring application context that we have used in the course.
The considerations of the data source layer depend partly on the domain. The key is to allow structured access to the database. In the lecture we look at table gateways, which is a very common choice in enterprise software. Other choices are using Object-Relational Mapper tools, like Hibernate. These tools are by now very stable and can actually improve the data access due to the optimization that has been built in.
The slides and lecture video can be found here: Lecture L11 Application Architecture
Cover image by: wagaboodlemum
Last week, the annual EL/WLA Sports Betting Seminar took place in Marrakesh, Morocco. Betware got the opportunity to speak and I did a lecture titled Opportunity knocks… The talk was.
At a the resent Nordic game conference in Malmö I noticed that not many people carried laptops. Instead they had tablets, mostly iPad. Few speakers also presented using a tablet..
Tech news over the Easter weekend were dominated by one device: the over-hyped iPad. Every major and not so major tech source has done a review of this thing. Opinions.
Image that you are looking for a restaurant and you go on the Internet to find a good place to eat. Go to any restaurant website and you will get.
It was the year of the iPad, social networks, Farmville, Android, and Wikileaks Social was the term to describe 2010. Social networking, social media, social gaming, social everything. As usual.