Error: Twitter did not respond. Please wait a few minutes and refresh this page.
Spanish for "the weather at sea". With bad punning, could be read as "the current state of the guy writing this blog"
Thanks to everybody attending my talk “Mobile, Microservices und Multichannel – warum Web-App-Architektur sich ändern muss” at the Mobile Tech Conference 2015 in Munich.
Feel free to download a PDF of the slides used in the talk:
MobileTech2015 – mobile, microservices, multichannel (images compressed)
Images are compressed to reduce the file size; if you’d like a high-res version, or just to talk about any of the topics mentioned, get in touch with me.
In the tradition of podcasts providing a list of links to things that were talked about, here’s a few pointers for further information about some of the topics I mentioned in my talk titled “Mobile, Microservices und Multichannel – warum Web-App-Architektur sich ändern muss” at the Mobile Tech Conference 2015.
Html5 browser support:
Twitter pedaling back on SPA
List of presentation slides from microxchg.io conference
Netflix on microservices:
The twelfe-factor app:
Dropbox APIs presentation from Nordicjs 2014
InnoQ on self-contained systems
Introduction of React native:
Facebook on Apache Thrift:
Twitter Zipkin https://blog.twitter.com/2012/distributed-systems-tracing-with-zipkin
Google dapper paper: http://research.google.com/pubs/pub36356.html
Hystrix circuit breaker:
Intro by Netflix: http://techblog.netflix.com/2012/11/hystrix.html
Tutorial by InnoQ: https://www.innoq.com/de/articles/2014/08/hystrix-artikel/
Netflix Chaosmonkey etc:
So the long-rumored acquisition of Beats by Apple has been confirmed, with press release and all. Which tells us precious little, except “Beats is awesome” and “Music is really important to us”.
So why did Apple buy Beats?
Let’s look at possible reasons why companies buy other companies, and see if the beats deal makes sense if looked at it this way, and makes sense specifically for Apple
Ben Thompson at Stratechery thinks that Apple’s share price can only be justified by growth, and they need to buy a cool line of high-margin accessories. Which is interesting, but in my not-so-humble opinion wrong:
Apple’s stock has a P/E ratio of 15 – i.e. the company is valued at 15 times their current annual profit. Which is not terribly low, but definitely not a level where you need crazy growth to justify it. For comparison: Google’s P/E is 30, Facebook is at 80, and Amazon is at a whopping 500. In other words: nobody would buy Facebook’s or Amazon’s stock if it promised to make as much profit as it’s making now forever. But Apple? They return a solid 6.7% of profit on the invested capital – that’s more than e.g. super-high-risk (that country that just went broke and stiffed it’s lenders, remember?) long-term greek government bonds . And Apple’s valuation is more in line with some steadily profitable, but not exactly growing, companies like IBM (P/E of 12.5 ) or Microsoft (P/E of 15). In other words, in order to justify its stock price, Apple has to grow as much as Microsoft. No need to buy a headphone maker for that.
If a company is up for sale at a good price, it can be worth buying it just to take advantage of the low price, and possibly sell or IPO it later.
Since beats was not a public company, i.e. not traded on a stock exchange, we don’t know how much other companies would have paid for it. Luckily there were some publicly announced financial transactions around Beats: HTC bought a significant stake in beats in August 2011 at a valuation of 600m, then sold half of that stake again in Jul 2013 at roughly same valuation, and sold the other half in September 2013 at a valuation about $1 billion. There’s also some quasi-official information about an investment by Vivendi in 2013 Vivendi which valued the beats company at $1.6 billion.
Which would point to a reasonable valuation somewhere around $2 billion – which means the beats aquisition was definitely not a bargain.
Gruber at daringfireball thinks it’s a straightforward combination of profits, assets and people. Let’s start with profits.
In 2011, beats had about $50 million of revenues. They “tripled revenue” in 2012, but while switching to manufacturing the headphones themselves (before that, beats was a pure brand – they did not actually make anything, just promoted the beats brand. The beats headphones were made and sold by Monster cable (yup, that company behind ridiculously overpriced cables), and Monster cable paid beats a percentage of sales for the right to put the beats logo on their headphones).
According to privco.com, in 2012 beats made a$67 million profit on $1.1 billion of revenue, which would point to a fair value somewhere around $1 billion. Fastcompany thinks they might have had $ 1.5 billion revenues in 2013 – good growth, but not the kind of exponential growth possible with software companies. Manufacturing means that growing revenues also require more capital, and lead to higher risks, so privco.com thinks beats was overvalued.
And the streaming service? It’sreally young – beats only bought it as “Mog” in 2012 for a price somewhere around $10 million, and apparently has only about 100,000 registered users, so it’s not a significant source of revenues or profits. Even if every single one of those subscribers was paying 10 bucks a month, and continue to do so for 10 years in the future, the total lifetime value would be less than 5% of the purchase price of beats.
Overall, the beats aquisition would have been expensive for anybody – and Apple definitely does not need the cash flow. Neither are they desperate to invest – they have shown to be quite happy sitting on a huge pile of cash.
Another possible reason to buy a company is to get into a new line of business, to buy instead of building your own.
Now Apple certainly does not need to enter the headphone business, and headphones make little sense as an adjacent business. In fact, with the ipod hi-fi, Apple has shown in the past that they are perfectly capable of making audio gear, but at the same time that it’s not a good business for them. And while Apple has frequently bought companies for their technology, skills or as add-ons to their existing business lines, they have never bought a company for their brand, or to get into a new business.
How about the streaming service?
Music streaming is booming, and the larger players like Spotify would probably be crazy expensive to take over at current tech valuations. On the high side, Beats is thought to have only 200.000 subscribers (compared to, say, Spotify’s 10 million), and most of those come from a marketing deal with a major provider. Which might still be a good base for another company wanting to get into the music streaming business.
But of all the world’s companies that might want to get into streaming, Apple is probably the least in need of buying an existing streaming service – they already have the tech tech experience, the distribution and the record label deals. Now a successful streaming service would probably have to support Android, and using the beats brand might be a convenient way to not have to support Android with anything Apple-branded – but Apple has shown in the past (think iTunes on windows) that they are perfectly willing to be on rival platforms if it makes business sense.
Another reason to buy a company is to get the founders on board, for their unique talent or connections. Now Dre and Jimmy Iovine certainly are industry insiders. But again, Apple does not need an in with the music industry. And an aqui-hire is usually something along the lines of “really large signing bonus”, not several billions. The deal is simply way too expensive to make sense this way.
Another common justification for a merger is “synergies” – i.e the combination of two companies being worth more together than separately. Which is usually about fixed cost overheads (needing e.g. only a single accounting department) or market power – not something that’s applicable to beats.
Are beats and Apples as a combined company worth more than separately? Maybe a little bit – there are opportunities for joit marketing, distribution integrated into apple stores, hardware bundles, and the like – but nothing you couldn’t do as a limited-area partnership without having to buy the company outright.
German site neumusik.com thinks it’s about industry contacts, the streaming service, and “wearables”. Again, those are nice things to have (except headphones as a prototype for wearable computer thingies? come on.), but nowhere close to being worth that much money.
Sometimes a deal seems to not make sense, until you notice some completely unrelated financial fundamentals. E.g. for a while Yahoo’s stake in Alibaba was worth more than the whole of Yahoo, or Pfizer wanting to buy AstraZeneca simply in order to invest money outside the US for tax reasons.
So maybe beats has better licensing deals with the music labels? That would certainly move the needle for Apple, seeing how they pay more than $3 billion a year to the record labels. If beats has a licensing deal that is only 10% cheaper, that would nicely amortize the purchase price. Well, it’s possible, but unlikely. It’s unlikely that the much smaller beats would get a better deal than Apple with its huge, market-dominating iTunes store. Plus, record labels have non-stupid lawyers – most likely any licensing deal beats has would have a takeover clause that voids exactly the advantages mentioned in the event of a sale.
It happens that a company is bought because it has something another company desperately needs at any price. Think e.g. Google having to buy the whole of Motorola just to get some ammunition for the mobile phone patent wars. Or Instagram threatening Facebook’s hold on its target demographic to the point where it safer to bascially throw money at them to make the threat go away.
The only thing like that beats has I can think of is “coolness with young people”. Apple is old, mainstream and established by now, and in danger of losing it’s counter-culture underdog coolness. Whereas beats has massive brand presence with teenagers.
That might be a factor, but I sorely hope it’s not. For me, beats represents everything negative Apple is frequently falsely accused of. Beats is a lifestyle fashion fad instead of offering premium products, is using distribution and advertising instead of making a better product. The beats brand is built on glamour and celebrities, rather than standing for something.
Now there are some signs that Apple is starting to think about the lifestyle, luxury and fashion aspects of its brand – things like hiring people from the fashion and luxury industry. But I’m hoping that that’s about some specific aspects, like the retail experience. Overall, if Apple should have bought beats in order to become more like beats, it would be a quite radical departure for them.
Sometimes mergers happen for the simple need to do something, and the inability to find any other good way to invest profits. But Apple management is simply too smart to throw money away just to do anything. And if they wanted to get rid of excess cash, all they’d have to do is increase dividens, or put more money into the already existing huge share buyback program (essentially distributing profits to the shareholders).
They do need a new product line – but compared to, say, reinventing the cell phone industry, headphones are boring, and not a big enough market to move the needle. And streaming? Well, it’s 2014 – it would be pretty crayz to want to get into the content distribution industry at a price tag of §3Billion
Usually there is one big reason for buying a company. In the case of Apple buying beats, I simply don’t see it. Forced to come up with a reason, I’d have to go with “for the cool brand” – but as previously mentioned, I would hate for that to be right. Or maybe there is some financial result that is worth more than 3 billion – I can’t see that, and if that should be the case, quite possible nobody outside Apple knows.
JS is a mess. So everybody clean it up and extends it in his own way. Until ES6, which might clean that up once it’s ratified and widely supported, some time in 2016 or 2017. In the meantime, you can use some ES6 features, and transpile to ES5 using Traceur. Or use Coffeescript and compile to JS. Or TypeScript, which is almost like some parts of ES6.
New Flavors of the month
So you found out that Jquery makes it really easy to add cool effects and do dynamic changes, and all was good. Then you added so many of them, that pages had several hundred lines of spaghetti code, and that was unmaintainable. So people came up with Backbone as a way to structure applications, and you rewrote your site, which was a lot of work, but was good. And then other people became more ambitious, and created Ember and Knockout and Angular, and now you’re tempted to throw away your 6 months old rewrite, and rewrite again.
(Post was inspired by somebody else’s decision to needlessly re-implement an existing, pretty conservative web application with AngularJS – something which the techie imp sitting on my left shoulder would just love to do, while the business imp sitting on my right shoulder cries…)
This is not an ipad review – there’s little doubt the ipad is the best tablet on the market.
Rather, I’m trying to answer the question “Do I need or want a tablet at all?”, a.k.a. “Is there really a gap between smartphone and laptop?”.
It’s the two-seater convertible sportscar of computers: It cannot do everything my laptop does, and there is nothing it does that the laptop could not. But the things it does do are just more fun with it.
Text entry is really annoying. Even if you split the keyboard, so you can actually reach all the keys with your thumbs while holding it at the edges. Forget answering emails; just entering a url when browsing the web is annoying enough that I use bookmarks heavily, something I don’t do on any other machine. I’m pretty sure I even type faster on my iphone. A note-taking machine the ipad is not, to the point of seriously considering getting a stylus and handwriting app.
It’s heavy (note: speaking of my ipad 3 here – the new air is much better in this regard), and has sharp edges, both of which makes it uncomfortable to hold for longer reading sessions. The screen size is nice for letter-sized pdfs, but it’s not a kindle replacement.
It’s unusable in direct sunlight. Well, not entirely unusable, but definitely unpleasant. Even on the highest brightness setting, the screen looks washed out in bright sunlight. Combined with the glare of the glass cover, forget about websurfing on the balcony.
It’s large, heavy, fragile and expensive. Not really a mobile device, in the sense of using it on the go. More like a mobile device in the sense of a computer that’s easy to take along to use somewhere else.
I expected to use it as a second display for my laptop, using the AirDisplay/DisplayPad app. Unfortunately, it’s a really cool idea, but it doesnt really work. The ipad display looks weird next to my Macbook pro, with different brightness and color temperature; the screen looks fuzzy at non-retina 1024×768 resolution, and it’s just small enough that I have to resize most windows before moving them over. And it’s relly laggy – I never expected to play video, but just dragging or scrolling a window is juttery and laggy to the point of being usable, but no fun.
File transfer sucks. I don’t want to open itunes and sync the ipad just to transfer a file from my laptop to an ipad app. It needs a usb port for transferring files from a usb stick yesterday. Unfortunately, apple’s philosophy of “never let the end user see the evil filesystem” guarantees that will never happen. App developers deal in two ways: either access the user’s dropbox account, or add an FTP-via-Wifi server mode to the app. Both works, but it feels hacky to jump through that kind of hoops just to transfer files from my laptop to the ipad lying next to it.
The display looks great. Really, really great. Photos look awesome, coming much closer to showing full details than a regular computer screen, and text looks perfectly sharp.
Battery life is long enough not to worry about it.
It retains the feeling of the iphone, of not being a computer, but an appliance that just works. No crashes, no spinning beach ball, no drivers, no installers, no nagging update messages.
It’s not a big iphone. The set of apps I use on the iphone and on the ipad barely overlaps. On the iphone it’s mostly real mobile apps – things you need quickly, use for a short moment, and that depend on your location – like finding the nearest ATM, looking up a subway timetable, or whiling away the train ride with a few quick levels of a puzzle game like cut the rope. On the ipad, it’s much more of a sit down and take your time mode, I’m more likely to edit the pictures from the latest trip in iphoto, or play monkey island for an hour.
It’s one of those products that computer-illiterate people somehow manage to use. To an IT professional, it’s a little more pleasant to use than Windows or Android. To a non-geek, it’s the difference between being able to use it instantly, and maybe being able to use it, with lots of learning and worrying. I couldn’t even say why, but some tech products just have that effect. Take facebook, for example – to me, it’s just another mediocre website, but to any airhead teenager it’s somehow possible to use facebook, while being lost on any other website. All I know is that if some random guest needs to access the internet at my place, they’ll be stumped by my mac, but be able to use the ipad. And even my father, who’s as far from a tech enthusiast as you can get, took naturally to swiping through an album of pictures, without even realizing that he was holding a computer.
So what is it actually good for?
A really mobile computer.
My MBP is more like a desktop – powerful, full-featured, but heavy, and cumbersome to pack or unpack, needing a power supply, mouse, etc. The ipad is something you just grab and go, and it’s small and light enough to just throw it into any bag you’re carrying, rather than needing a dedicated laptop bag. It’s great for taking along on trips, surfing at the local coffeeshop, keeping yourself entertained on train rides and the like.
A video player
The girlfriend and me like to watch tvshows at night, which we miss when, say, we’re on vacation in a foreign city, and looking to relax after a day of sightseeing. I’m not gonna pack a heavy, expensive laptop just for that, but an ipad is just fine. Note that if what you’re looking to watch is not on itunes, you’ll have to go against the grain of apple’s world. AvPlayer is really good at playing anything without having to re-encode it for ipad, and comes with it’s own ftp server, so you can upload any file directly without having to got the add to itunes library/add to files/sync/delete from library route.
A photo album
Want to show pictures to someone, without him having to be at his computer? The iphone screen is too small, a laptop to cumbersome, printing the pictures too annoying – the ipad is perfect as a photo screen.
A web appliance
Want to quickly look up the weather? It’s available the instant you open the cover, no booting necessary, or even sitting down. And wasting some time on hacker news is much more pleasant with an ipad on the couch, than a laptop at a table.
A games console
I didnt really want to get an ipad to play games – I really don’t need a new and better way to waste time. But it’s really great at playing games that are not just quick 5-minute-games as on the iphone. Genres that requires a joystick or d-pad still don’t work well (I really wonder why nobody has produced a gamepad accessory for the ipod connector?), but for adventures, RPGs or board games it’s pretty perfect. For someone like me, who does not like to play games sitting at the desk (feels too much like work), and doesnt own or want a dedicated console, it’s great to play the occasional game. Playing, e.g. a traditional RPG like Avadon using your fingers while sitting on the couch is pretty great.
An ereader for tech books
It’s too large, heavy and expensive to use it the way I use the kindle, i.e. the always-with-me library. But it’s great for reading letter-sized PDF files of tech books. O’reilly sells some cheap ebooks, but reading them on the screen is not so comfortable. On the ipad, I can now read them on the couch.
Anything that is basically a stack of paper can be replicated by the ipad. Think sheet music, real/fakebook for musicians, recipes, etc. So if you have the ipad with you, you’ll never again think “If only I had that with me”. It does not seem useful at first, but the advantage is that “paper” on the ipad takes up no space or weight, so if you have your ipad with you, you have all paper-pased resources with you. I remember a trip to Amsterdam to see friends, where we were sitting round a campfire, had a guitar, and felt like singing some songs, but nobody knew any by heart, and nobody had lyrics or chords with him. Now I have. It’s also great for board games. My girlfriend and me like to play boardgames, but since we don’t live together yet, it seems like the game we want to play is always at the other’s flat. If I take the ipad, I have Settlers, Chess and Carcassonne always with me. It’s not that it’s better to play there, it’s more like I’m gonna have the ipad with me anyway, so I’ll have Carcassonne with me too, without having to carry anything extra.
As mentioned, it’s too uncomfortable for reading novels, but it’s pretty much the perfect client for Instapaper. Or looking through that presentation from last week’s conference. Or even reviewing your own slides while on the subway to the venue where you’re about to give a talk.
To google something has become a verb. Google search is the overwhelmingly largest source of traffic for many sites. Google’s market share in most markets is higher than its competitors combined.
Google has brand identity, search quality, technological quality, and page speed down pat.
So how would you compete with Google search? (Not that google search is bad, but a little friendly competition is always a good thing, and it’s interesting from as a thought experiment).
Frontal assauls (doing the same thing as google, but trying to be better) like yahoo and MSN have hugely failed. In fact, dominant market positions are seldom eroded by frontat assaults, but rather by changes in market demand. The reason why Microsoft has lost so much influence to Apple is not that Macs have replaced windows (globally, Mac OS still has a tiny, if profitable, niche of the PC market), it’s that the market demand shifted so that the whole category of PCs became less relevant since the introduction of smartphones and tablets. Likewise, if ebay sales decline, it won’t be because somebody builds a better auction site (network effects are just too strong for that), but because somebody invents a better way to sell stuff than auctions (like the ability to sell used books back to amazon).
So what are Google’s weak points?
– google does not trust humans -> it cannot use e.g. a human-generated catalog
– google is the no.1 target for spammers, the same way windows is the no.1 target for malware -> a smaller rival might be unnoticed/not worthwhile for spammers, and therefor be able to offer better quality, at least for a while
– google sucks at / has no customer service. That is a good thing, cost-wise, but also keeps people away that require more hand-holding.
– google is run by engineers, so it under-values things like design, and other emotional, touchy-feely topics.
– google is huge, so serving small niches is not interesting.
– google does not understand multiple meanings of a word (for eample, “go” could mean the game, verb, or programming language) – although that is probably the kind of hard compsci problem that google is best at solving
Ideas for competition:
– give me LESS, not more, results (but probably not from a huge human-generated index – that idea failed with the first iteration of yahoo…). E.g. when searching for reviews, google gives me spam and shops (yuck) and reviews from the big newspapers, what I want is 5 blog posts from people like me who have bought and used it, or a link to a great site like kenrockwell or dpreview for cameras)
– serving a single, canonical result. A lot of times, when I search google, I’m looking for something specific – say, the download link for a certain program, or the website of a known organization. Google is pretty good at finding that, but also gives me a lot of results I do not want, which sometimes leads to unwanted results (for example, there were some cases where, due to clever SEO, people looking to download the VLC video player got sent to sites that charged for the download). Finding those canonical links would be labor-intensive, but maybe you could farm it out on the cheap on amazon’s mechanical turk?
– serve a niche very well (flight search or weather are separate category from general internet search, what else can be served by a non-general search site? (technorati for blogs failed…)
– do something sales/service-intensive, e.g. a service where you need to sign up local small businesses. Needs a large salesforce, and therefor large investment, but e.g. yelp has done that successfully.
– rank pages by reputation / social links. For example, when evaluating some product or technology, it would be great if, instead of wading through a sea of marketing drivel, I could get all the links posted by people who follow people who I also follow on twitter, or articles written by somebody whose writing I previously flattered or saved to instapaper. Sort of the holy grail of the internet, apart from being a massive privacy headache.
– better, complex tools for slicing and dicing data, not just finding facts (cf. Wolfram Alpha – which launched hugely mispositioned as a google search competitor, but is actually great at certain specialized tasks)
It spreads knowledge about the codebase
Since two people worked on the code, two people know intricately how it works, and can fix bugs in it without first having to spend time to learn the inner workings. Yeah, I know, in theory everybody should be familiar with everything, but in time-constrained practice you often have the same people fix bugs who wrote the code, keeping the others from getting to know the code of a feature. But even if only the people who wrote it know the code, if it was created by a pair, you already have two people who know it.
It spreads good practices
Even if you keep up with news about tools and practices, you can never know everything. Almost every time I pair, I learn something new – e.g. some eclipse keyboard shortcuts, a firefox add-ons for debugging, or a useful library class.
The code is better
You rarely write sloppy, “good enough for this one time” code – after all, the other guy will see what kind of code you write, and you don’t want to be embarrassed. And if you do, the other guy will point it out and correct it.
The design is better.
Two people have more ideas than a single person. If both are competent, they will agree to throw away the bad ideas, and combine only the good ideas of two people. As for APIs, two programmers think of different use cases, and make sure the API can handle them.
It avoids being stuck.
A lot of time is wasted when you’re stuck – situations where you’ve tried pretty much everything, and still can’t get your design or implementation to work. A second person will bring a fresh pair of eyes (and brain) and often think of exactly those things that you forgot. Or, in a case where you painted yourself into a corner, and have secretly felt that you should throw your efforts away as sunk costs and try a different approach, he will prod you to finally do just that.
I can program solo for long stretches of time, but when doing pair programming I usually take a break after two hours max. Paired sessions are much more intense, since they move faster, since (see above) you’re never stuck.
It’ only suitable for certain occasions
It’s a total waste to use two highly-qualified programmers to do simple, well-defined and understood tasks – examples: Defining a web form, setting up the base configuration for a project, or fixing selenium tests. It’s great, in short, for anything that is hard and new.
A pair of programmers does move faster than a single programmer, but not twice as fast, so you spend more programmer time on a piece of code when doing pair programming. You do gain all the advantages mentioned above, though – so if it’s worth it really depends on the kind of work you do. In my experience, it’s best for integrating new developers in a team, and for anything that involves designing/implementing an API.
It’s Oktoberfest season in Munich, so I´ve been getting a lot of couchsurfing requests lately, way more than I can, or want to, host.
Also, couchsurfing has gained a lot of popularity and attention lately, so there`s an influx of a huge number of cs newbies, which, unfortunately, leads to a rising percentage of lame requests.
So here’s some tips on how to get hosted – that is, hosted by me, according to my subjective critieria.
1) References, references, references. There’s no better way to show me that you’re a nice guest than having positive previous references. Of course, everybody has to start somewhere, with no references, that is – but why not host people at your place, before asking others to host you? If you have no references at all, I might still host you, but you’ll have to overcome pretty long odds.
2) Read my profile, and show me that you’ve done so. Usually you’ll have to send a few requests until you find a hosts, so it’s perfectly OK to copy-and-paste the same request to multiple hosts – but add a little something that refers to my profile, to show me that you’ve read it. This assures me both that you’ve read and understand what you’re getting into in terms of location, couch and “house rules”, and that you’re not only looking to save money, but also to make a local connection, which makes hosting you more fun for me.
3) Show me who you are. Again, references help a lot here. Getting verified is also good for showing me that you’re a safe guest. At the very least, have a few recognizable pictures, and fill out your profile in a way that shows me what kind of person you are, and what kind of things you like to do. A couchsurfing request that’s a bit longer than two lines also helps. For example, if you’re into good food, experiencing local culture, interested in art or history, or a science nerd, we’ll almost definitely find a common interest, whereas if you want to mostly go out and party, you’re much better off with a different host, because I’ll neither be interested in joing you, nor can I tell you which clubs are good to go to.
4) Show some interest in couchsurfing. I’m happy to help you save hotel money, but I don’t want to be used as a free hotel. Couchsurfing is based on reciprocity and making international connection. Not everybody has the space to host, and you don’t have to get terribly involved, but you should couchsurf because you want to support a good idea and community, not because you heard it’s cheaper than hostels.
Found a fascinating read: Jordan mechners development journal from 1986.
He spent most of a day trying to get vhs video (taken on a $2000 video camera) into the computer. He ended up photographing every single frame with a photo camera, waiting for the prints to be developed, and then scanning the stills.
Today: $150 Flip camcorder, 5 minute usb transfer, done.
Orignially, he planned to have no enemies in the game, since there wasnt enough memory for two figures with different animations.
The enemy was created by xor-ing the hero’s animation, so it was black with a white outline
When he started on it, nobody was sure if by the time it came out there would even be a video games market. Likewise, by the time he was about to finish, the original platform it ran on, the Apple II, was declining, so he needed to port to DOS immediately.
He alternated between goofing off for weeks, and doing nothing but work and sleep.
Back then, games were expected to sell for years, not weeks like now. That prince of persia only started to sell well a few months after its release was perfectly normal back then. By the time he made real money from it, he had already moved on to other projects, switched careers and written it off as a learning experience.
The iphone is still hot, the iPad is hot and established by now, plus now the mac app store gets Joe Sixpack buying applications on the mac. What’s news is that due to the success of the iphone, even large conservative companies are really starting to realize they need to “do something with mobile”.
The phones still suck, but it gets used on tablets, ebookreaders,and all kinds of other devices. Two years ago it was “cool, we have an iphone app”, last year it was “of course we have an iphone app”, now it’s increasingly “of course we also have an android app”.
Amazon Web Services
Spot instances, cheaper S3, beanstalk, aws for government – it’s hard to even keep track of all the innovations coming out of amazon. Most enterprises are still extremely suspicious of cloud hosting, but for a start-up it seems almost more unusual not to run on EC2.
Seriously. There’s a lot more to it than window.open, and libraries like jquery or extjs make it non-painful to use. It’s not like you have a choice when it comes to client-side scripting (except, more or less, for coffeescript). And the browser is only the most widely deployed platform in the world. Also: quasi-native mobile web apps. Also: node.js for js on the server. Also: Rhino, and, in Java7, invokedynamic, to run js on the JVM. Also: couchdb for js within databases.
Even Microsoft says Html5 is the future.
Duh. Kind of kept alive with government funds, but Nokia finally realized it’s dead.
Already pretty much killed by google by now. Too bad, I kinda liked it.
In the short run, not going anywhere. But what does the fact that Adobe published an animation tool for Html5 tell you about the long-term future chances of Flash?
A very long way from dead, since it’s used everywhere in the enterprise. But very few people would willingly use it over REST, and new deployments or standardizations on SOAP are rare. Strange for me to say, since I do a lot of work with Soap, but good riddance.
It looked like the next Rails for a moment in 2008 or so, then was not really heard from again. Rule of thumb: languages with weird-looking syntax rarely go mainstream (see also: Lisp). Also: really sucky string handling. But the concurrency stuff is still super neat.
Finally a Lisp that will spread beyond Lisp fans? I wouldn’t bet on it. Still too many parenthesis for my taste. But seems to gain a lot of traction lately.
Finally a new systems language. Too bad there’s not a whole lot of new OSs being written right now. But seems to spread into non-system applications, like AppEngine web apps.
Is there any web startup that does not use it? But it’s not clear yet if a single one, and which one, and which kind, will dominate.
By far the most prominent DVCS, and the most pure implementation of the DVCS concepts. There’s a lot of submarine projects, like single developers using it locally as a subverson proxy. But will a tool designed by and for kernel hackers go mainstream? I like Git, but it’s using up too much complexity-handling brainpower that I’d rather spend on the code itself.