aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2021-12-30-wap-mobile-web-before-the-web.md
diff options
context:
space:
mode:
authorMitja Felicijan <mitja.felicijan@gmail.com>2023-05-26 00:40:40 +0200
committerMitja Felicijan <mitja.felicijan@gmail.com>2023-05-26 00:40:40 +0200
commit43b0708769eb61392050045b881f8e6ba39c5b66 (patch)
tree3939579a13b8325325d5ebb8e05324a41ed78a6d /content/posts/2021-12-30-wap-mobile-web-before-the-web.md
parent49e7e7d555a6cd9810d81561fa3e98e3d64502be (diff)
downloadmitjafelicijan.com-43b0708769eb61392050045b881f8e6ba39c5b66.tar.gz
Massive update to posts, archetypes
Added a archetypes for creating notes and posts so it auto-populates fields. Fixed existing posts so they align with the rule of 80 columns now.
Diffstat (limited to 'content/posts/2021-12-30-wap-mobile-web-before-the-web.md')
-rw-r--r--content/posts/2021-12-30-wap-mobile-web-before-the-web.md79
1 files changed, 63 insertions, 16 deletions
diff --git a/content/posts/2021-12-30-wap-mobile-web-before-the-web.md b/content/posts/2021-12-30-wap-mobile-web-before-the-web.md
index 6664639..1ee82b5 100644
--- a/content/posts/2021-12-30-wap-mobile-web-before-the-web.md
+++ b/content/posts/2021-12-30-wap-mobile-web-before-the-web.md
@@ -1,15 +1,24 @@
1--- 1---
2title: Wireless Application Protocol and the mobile web before the web 2title: Wireless Application Protocol and the mobile web before the web
3url: wap-mobile-web-before-the-web.html 3url: wap-mobile-web-before-the-web.html
4date: 2021-12-30 4date: 2021-12-30T12:00:00+02:00
5draft: false 5draft: false
6--- 6---
7 7
8## A little stroll down the history lane 8## A little stroll down the history lane
9 9
10About two weeks ago, I watched this outstanding documentary on YouTube [Springboard: the secret history of the first real smartphone](https://www.youtube.com/watch?v=b9_Vh9h3Ohw) about the history of smartphones and phones in general. It brought back so many memories. I never had an actual smartphone before the Android. The closest to smartphone was [Sony Ericsson P1](https://www.gsmarena.com/sony_ericsson_p1-1982.php). A fantastic phone and I broke it in Prague after a party and that was one of those rare occasions where I was actually mad at myself. But nevertheless, after that phone, the next one was an Android one. 10About two weeks ago, I watched this outstanding documentary on YouTube
11[Springboard: the secret history of the first real smartphone](https://www.youtube.com/watch?v=b9_Vh9h3Ohw)
12about the history of smartphones and phones in general. It brought back so many
13memories. I never had an actual smartphone before the Android. The closest to
14smartphone was [Sony Ericsson P1](https://www.gsmarena.com/sony_ericsson_p1-1982.php).
15A fantastic phone and I broke it in Prague after a party and that was one of
16those rare occasions where I was actually mad at myself. But nevertheless,
17after that phone, the next one was an Android one.
11 18
12Before that, I only owned normal phones from Nokia and Siemens etc. Nothing special, actually. These are the phones we are talking about. Before 2007. Apple and Android phones didn't exist yet. 19Before that, I only owned normal phones from Nokia and Siemens etc. Nothing
20special, actually. These are the phones we are talking about. Before 2007.
21Apple and Android phones didn't exist yet.
13 22
14These phones were rocking: 23These phones were rocking:
15 24
@@ -25,19 +34,43 @@ Let's take a look at these beauties.
25 34
26## WAP - Wireless Application Protocol 35## WAP - Wireless Application Protocol
27 36
28Not that one! We are talking about Wireless Application Protocol and not Cardi B's song 😃 37Not that one! We are talking about Wireless Application Protocol and not
38Cardi B's song 😃
29 39
30WAP stands for Wireless Application Protocol. It is a protocol designed for micro-browsers, and it enables the access of internet in the mobile devices. It uses the mark-up language WML (Wireless Markup Language and not HTML), WML is defined as XML 1.0 application. Furthermore, it enables creating web applications for mobile devices. In 1998, WAP Forum was founded by Ericson, Motorola, Nokia and Unwired Planet whose aim was to standardize the various wireless technologies via protocols. [(source)](https://www.geeksforgeeks.org/wireless-application-protocol/) 40WAP stands for Wireless Application Protocol. It is a protocol designed for
41micro-browsers, and it enables the access of internet in the mobile devices.
42It uses the mark-up language WML (Wireless Markup Language and not HTML), WML
43is defined as XML 1.0 application. Furthermore, it enables creating web
44applications for mobile devices. In 1998, WAP Forum was founded by Ericson,
45Motorola, Nokia and Unwired Planet whose aim was to standardize the various
46wireless technologies via protocols.
47[(source)](https://www.geeksforgeeks.org/wireless-application-protocol/)
31 48
32WAP protocol was resulted by the joint efforts of the various members of WAP Forum. In 2002, WAP forum was merged with various other forums of the industry, resulting in the formation of Open Mobile Alliance (OMA). [(source)](https://www.geeksforgeeks.org/wireless-application-protocol/) 49WAP protocol was resulted by the joint efforts of the various members of WAP
50Forum. In 2002, WAP forum was merged with various other forums of the industry,
51resulting in the formation of Open Mobile Alliance (OMA).
52[(source)](https://www.geeksforgeeks.org/wireless-application-protocol/)
33 53
34These were some wild times. Devices had tiny screens and data transmission rates were abominable. But they were capable of rendering WML (Wireless Markup Language). This was very similar to HTML, actually. It is a markup language, after all. 54These were some wild times. Devices had tiny screens and data transmission rates
55were abominable. But they were capable of rendering WML (Wireless Markup
56Language). This was very similar to HTML, actually. It is a markup language,
57after all.
35 58
36These pages could be served by [Apache](https://apache.org/) and could be generated by CGI scripts on the backend. The only difference was the limited markup language. 59These pages could be served by [Apache](https://apache.org/) and could be
60generated by CGI scripts on the backend. The only difference was the limited
61markup language.
37 62
38## WML - Wireless Markup Language 63## WML - Wireless Markup Language
39 64
40Just like web browsers use HTML for content structure, older mobile device browsers use WML - if you need to support really old mobile phones using WML browsers, you will need to know about it. WML is XML-based (an XML vocabulary just like XHTML and MathML, but not HTML) and does not use the same metaphor as HTML. HTML is a single document with some metadata packed away in the head, and a body encapsulating the visible page. With WML, the metaphor does not envisage a page, but rather a deck of cards. A WML file might have several pages or cards contained within it. [(source)](https://www.w3.org/wiki/Introduction_to_mobile_web) 65Just like web browsers use HTML for content structure, older mobile device
66browsers use WML - if you need to support really old mobile phones using WML
67browsers, you will need to know about it. WML is XML-based (an XML vocabulary
68just like XHTML and MathML, but not HTML) and does not use the same metaphor
69as HTML. HTML is a single document with some metadata packed away in the head,
70and a body encapsulating the visible page. With WML, the metaphor does not
71envisage a page, but rather a deck of cards. A WML file might have several
72pages or cards contained within it.
73[(source)](https://www.w3.org/wiki/Introduction_to_mobile_web)
41 74
42```html 75```html
43<?xml version="1.0"?> 76<?xml version="1.0"?>
@@ -53,7 +86,10 @@ There is an amazing tutorial on [Tutorialpoint about WML](https://www.tutorialsp
53 86
54## Converting Digg to WML 87## Converting Digg to WML
55 88
56This task is completely useless and not really feasible nowadays, but I had to give it a try for old-time sake. Since the data is already there in a form of RSS feed, I could take this feed and parse it and create a WML version of the homepage. 89This task is completely useless and not really feasible nowadays, but I had to
90give it a try for old-time sake. Since the data is already there in a form of
91RSS feed, I could take this feed and parse it and create a WML version of the
92homepage.
57 93
58We will need: 94We will need:
59 95
@@ -130,17 +166,25 @@ with open('www/index.wml', 'w+') as fp:
130 fp.write(html) 166 fp.write(html)
131``` 167```
132 168
133This script will create a folder `www` and in the folder `www/images` for storing resized images. 169This script will create a folder `www` and in the folder `www/images` for
170storing resized images.
134 171
135> Be sure you don't use SSL and use just normal HTTP for serving the content. These old phones will have problems with TLS 1.3 etc. 172> Be sure you don't use SSL and use just normal HTTP for serving the content.
173> These old phones will have problems with TLS 1.3 etc.
136 174
137If you look at the python file, I convert all the images into tiny B&W images. They should be WBMP (Wireless BitMaP) but I choose JPEGs for this, and it seems to work properly. 175If you look at the python file, I convert all the images into tiny B&W images.
176They should be WBMP (Wireless BitMaP) but I choose JPEGs for this, and it
177seems to work properly.
138 178
139Because I currently don't have a phone old enough to test it on, I used an emulator. And it was really hard to find one. I found [WAP Proof](http://wap-proof.sharewarejunction.com/) on shareware junction, and it did the job well enough. I will try to find and actual device to test it on. 179Because I currently don't have a phone old enough to test it on, I used an
180emulator. And it was really hard to find one. I found [WAP Proof](http://wap-proof.sharewarejunction.com/)
181on shareware junction, and it did the job well enough. I will try to find and
182actual device to test it on.
140 183
141<video src="/assets/wap/emulator.mp4" controls></video> 184<video src="/assets/wap/emulator.mp4" controls></video>
142 185
143If you are using Nginx to serve the contents, add a directive to the hosts file that will automatically server `index.wml` file. 186If you are using Nginx to serve the contents, add a directive to the hosts file
187that will automatically server `index.wml` file.
144 188
145```nginx 189```nginx
146server { 190server {
@@ -150,4 +194,7 @@ server {
150 194
151## Conclusion 195## Conclusion
152 196
153Well, this was pointless, but very fun! I hope you enjoyed it as much as I did. I will try to find an old phone to test it on. If you have any questions, feel free to ask in the comments. 197Well, this was pointless, but very fun! I hope you enjoyed it as much as I did.
198I will try to find an old phone to test it on. If you have any questions,
199feel free to ask in the comments.
200